VulnHub Red进行渗透测试的总结与过程
主机发现
用arp-scan工具进行内网同网段段主机发现。
Arp-scan简介:单一目标扫描,也可以进行批量扫描(对于目标主机可以指定IP地址或主机名,可以是一个网段,指定一个地址方位,指定主机和子网掩码)。批量扫描的时候,用户可以通过CIDR地址范围或者列表文件的方式指定
我使用arp-scan -l:查看网段所有的主机
漏洞扫描
使用nmap扫描发现一下端口打开 据此参数详见nmap使用手册
渗透思路
发现开放了 22,80 端口,且存在 robots.txt 文件和wp-admin目录
访问 /robots.txt
通过查看robots.txt文件,
访问wp-admin目录发现得使用域名进行访问,添加hosts文件
访问域名
这个页面已经被红队攻击了,还说永远找不到网站的后门。说明网站已经存在后门了
查看源码发现有一串英文
翻译
Still Looking For It? Maybe you should ask Mr. Miessler for help, not that it matters, you won’t be able to read anything with it anyway
还在找吗?也许你应该找米斯勒先生帮忙,但这并不重要,反正你用它什么也看不懂
叫我们找Mr.Miessler帮忙,我查找了一下,发现是一个seclists工具
发现是有后门的,并且是wordpress搭建的,我们可以尝试用刚刚找到的工具的字典来爆破一下后门
使用ffuz工具扫描
发现一个可疑文件 NetworkFileManagerPHP.php
可以访问的,但是空白,通常后门文件利用都是利用传参,再结合HTTP状态码500,所以猜测一下这里可能有LFI(本地文件包含漏洞),这样的话就得猜测一下传参
我们使用fuzz工具爆破一下传参,同样用刚刚工具的字典
爆破出了参数为“key” 注意爆破时间比较长,靶机容易挂掉,可以直接使用我爆破的参数进行下一步学习
尝试利用 php 伪协议读取源码
修改参数使用php伪协议读取后门源码,源码被 base64 编码过
利用这个后门可以进行任意文件读取,这里能想到的文件有:本身这个后门文件、wp网站的配置文件、/etc/passwd,先都读一遍
读取passwd文件
读取后门文件
解密
有发现一个base64加密,继续解密
这里提到了hashcat,应该是没有什么用了这里的信息
读取网站的配置文件 wp-config.php
解密发现了数据库的用户名和密码
尝试使用获取的账号密码进行登录ssh,发现登录不上
根据前面的提示,利用hashcat对密码使用hashcat规则处理后再进行破解
只有那个密码是不能帮助你的,hashcat说的规则才是规则?
大概意思应该就是 只有这个密码还不够,还需要hashcat的规则破解
hashcat进行hash碰撞
hashcat具体参数参数 hashcat教程
用户密码爆破
使用刚刚生成的密码,使用工具hydra爆破ssh的密码
获取shell
使用爆破出的密码进行登录,发现登录成功
提权
在john的家目录下发现一个文件
cat查看文件,发现是vi格式打开,结合文件内容,猜测应该是vi和cat互换了
Sudo提权
输入sudo -l
发现 无需密码 就可以以 ippsec 用户权限 执行time命令
去这个网站搜索这个程序,去这个网站查找 https://gtfobins.github.io/
可以使用,切换到ippsec用户
在 /home/ippsec 目录下 发现 user.txt 内容如下
是没一会就会自动登出,重新爆破发现密码变了,猜测是会定期修改密码将john用户踢出
由于连接过一段时间就会断开,所以这里进行一下权限维持
权限维持
首先向攻击机反弹一个shell
可以看到右边的链接都挂掉了,左边的shell权限没有丢。
获取root权限
查找一下ippsec账户下有权限的文件
在.git目录发现奇怪文件
发现是一个定时弹出的脚本
可以将这个文件的内容进行一下替换,替换为反弹shell的脚本,这样就可以弹回root权限的shell了应该
首先把当前目录下的rev文件和supersecretfileuc.c文件删除
制作一个反弹c语言的shell,可以用一个在线生成shell的平台
https://www.ddosi.org/shell
在kali上面启动一个http服务
使用靶机wget命令下载文件
然后就不需要手动执行了,这里会生成一个新的rev文件,这个rev文件会驱动supersecretfileuc.c的执行,即它会自动执行,在攻击机上监听对应端口就可以了
成功拿到root目录下的文件
本靶机的渗透流程
靶机已经被挂黑页了,用给出的字典,枚举网站的后门文件,使用工具得到后门利用参数,通过php 伪协议读取源码,根据后门提示,用hashcat规则解出密码,使用密码爆破工具解出john用户的密码 ,登录到john用户,发现可以使用sudo 提权到另一个用户上面 ippsec用户 ,权限维持ippsec的shell,ippsec账户下有权限的文件,发现了一个定时弹出的脚本,把脚本替换为c语言反弹shell,监听就能获取到靶机的root权限