Acid-Reloaded

总结:

  1. Knock敲门程序是CTF中比较常见的,我们需要在规定时间内按照指定顺序对端口进行SYN的请求才能开放具有突破口的端口服务
  2. Scapy模块可以灵活的构造数据包
  3. 对于可疑文件使用file binwalk strings等命令进行查看
  4. Foremost命令可以分离文件
  5. Nc –l port > x.x 用来接收文件
  6. 对于提权与渗透前期是一样的,都需要前期的信息收集,例如netstat查看当前开放的服务是否有机会提权,编辑器是否可以直接修改/etc/pass文件,.bash_history一些历史记录,var下面的emali文件夹是否存在有用的信息,sudo –l 那些命令可以不需要密码就可以以root权限执行以及内核漏洞等等。
  7. Linux提权可以使用提权检测脚本会比较方便,

发现目标主机

目标主机IP:192.168.49.148

Acid-Reloaded

探测端口以及banner信息

开放22端口ssh服务但是33447是未知的

Acid-Reloaded

我们先连接ssh端口查看下信息

在之前的靶机中遇到过knock程序,简单来讲就是在规定时间内按照顺序依次向指定端口发送SYN请求后就会开放某个端口,显然这里是让我们依次向3 2 1端口一次发送SYN请求包然后33447就会对我们开放。

Acid-Reloaded

发送SYN请求包方法有很多,nmap扫描器中使用-sS参数就是SYN扫描

nmap –sS –p 3,2,1 192.168.49.148

我们这里使用scapy模块自己构造数据包进行发送请求,这样子比较灵活一点。

sr1(IP(dst=”192.168.49.148”)/TCP(dport=3,flags=”S”))

sr1(IP(dst=”192.168.49.148”)/TCP(dport=2,flags=”S”))

sr1(IP(dst=”192.168.49.148”)/TCP(dport=1,flags=”S”))

Acid-Reloaded

再使用nmap进行端口服务的探测

此时33447端口对我们开放了

Acid-Reloaded

使用浏览器打开

Acid-Reloaded

惯例,查看源码有没有提示信息-----卒

使用dirb进行目录扫描,找到一些可能有突破点的目录

Acid-Reloaded

 

还有nikto对主机的端口开放进行扫描

Acid-Reloaded

这两次扫描都对/bin目录体现出来,访问/bin目录

Acid-Reloaded 

 

针对登录框,我尝试弱口令,前台验证,SQL注入等都没有成功,但是我们获取了他发送的目标页面

Acid-Reloaded

直接访问这个路径

http://192.168.49.148:33447/bin/includes/validation.php

Acid-Reloaded 

尝试dirb爆破出的其他路径

http://192.168.49.148:33447/bin/dashboard.php

Acid-ReloadedAcid-Reloaded

 

依然查看下源码有没有信息提供------卒

Acid-Reloaded

当我们点击login的时候他会跳转到登陆页面index.php

Acid-Reloaded

这里可能是我们在登陆页面成功后跳转到这个页面但是会提示登陆成功

看到bp的请求包中存在referer头是验证你从哪里来的

如果我们请求http://192.168.49.148:33447/bin/dashboard.php的时候附带erferer头信息表明我们是从登陆页面来的会不会提示登陆成功?但是这里我们要注意的是登陆页面的真实路径是http://192.168.49.148:33447/bin/includes/validation.php,抓登陆的请求包就可以看到也可以从登陆页面的前端中查看

Acid-Reloaded

进行erferer头的尝试

Referer:http://192.168.49.148:33447/bin/includes/validation.php

Acid-Reloaded

结果发现登陆成功

Acid-Reloaded

我们跳转到这个页面http://192.168.49.148:33447/bin/l33t_haxor.php

图片加载失败了

Acid-Reloaded

查看前端源码

 Acid-Reloaded

 

好家伙,是不是不把我sqlmap放在眼里

先看看有没有注入点,有的话直接sqlmap了

Acid-Reloaded

存在注入点

Acid-Reloaded

使用sqlmap的时候可以尝试添加tamper

 Acid-Reloaded

sqlmap --url="http://192.168.49.148:33447/bin/l33t_haxor.php?id=1" --tamper=space2comment.py --dbs -v

Acid-Reloaded

获取到数据库信息

Acid-Reloaded

继续获取secure_login数据库的表信息

sqlmap --url="http://192.168.49.148:33447/bin/l33t_haxor.php?id=1" --tamper=space2comment.py -D secure_login –tables

Acid-Reloaded

这里对我们提示UB3R/strcpy.exe路径下存在一个exe文件,下载下来进行查看

使用file命令以及binwalk命令查看文件类型以及文件是否存在捆绑

 Acid-Reloaded

 

是个rar的压缩包,我们使用unrar x 命令进行解压

获取到一个txt文件以及图片文件

Acid-Reloaded

Acid-Reloaded

 

我们再对图片进行格式的查看

Acid-Reloaded

图片中依然存在rar文件,再次进行解压

Acid-Reloaded

查看txt文件

我们获取到了连接文件

Acid-Reloaded

 

查看连接文件的内容

Acid-Reloaded

这里存在一个像是base64编码后的字符串

之前遇到过这种坑,有的作者喜欢把密码设置成酷似base64编码的字符串例如xxxx==实际上他就是明文密码但是我们非要解码后登陆就容易心态炸。

我们先base64解码一下

NooB@123

Acid-Reloaded

NooB@123这个应该就是密码了,我们从xml文件中的字符串设置为用户名字典,使用九头蛇进行ssh爆破

设置用户名字典

 Acid-Reloaded

 

使用九头蛇进行爆破

Acid-Reloaded

获取ssh登陆密码makke  NooB@123

连接主机

 Acid-Reloaded

 

开始进行提权

查看老旧版本内核

Acid-Reloaded

Acid-Reloaded

在本地开启python的http服务蛋疼的是靶机中居然没有wget

Acid-Reloaded

莫得关系,我们使用nc进行文件传输,nc要是没有我就CV工程。

靶机中我们设置监听9995端口并将之后传输的文件保存到1.c

nc –l 9995 > 1.c

Acid-Reloaded

Kali中我们使用nc传输37292.c文件

nc 目标ip  目标端口 < 要传输的文件

nc 192.168.49.148 9995 < 37292.c

Acid-Reloaded

传输到靶机中赋予权限后gcc编译

Acid-Reloaded

查找flag

 Acid-Reloaded

 Acid-Reloaded

 

上一篇:事务的四大特性(ACID)


下一篇:阿里大牛整理!java搭建区块链平台