vulnhub靶场 --> Red: 1
靶机下载地址
Red: 1 << 点我
开始打靶
IP发现
nmap扫描网段发现靶机ip:192.168.111.142
端口发现
对靶机进行常规端口扫描
访问网站
到处点击发现存在一个可疑域名
修改hosts文件,在hosts文件底部添加:192.168.111.142 redrocks.win 即可,添加完成后刷新页面就可以了,查看页面源码,发现了一串注释。
翻译一下:还在找吗?也许你应该找麦斯勒先生帮忙,不过没关系,反正你用它什么也看不懂。
注释中提到了麦斯勒先生,也就是Mr.Miessler,百度一下看看到底是何方神圣,百度搜出了一个github链接。
是一个字典,大概能猜到提示的意思,就是让我们用这个字典找到红队藏在靶机里面的后门,下载下来,用wfuzz进行目录扫描。
wfuzz大致的用法是:wfuzz -c -z file,字典 --hc 需要过滤的响应码 http://redrocks.win/FUZZ
发现有个响应码为500的php,浏览器访问,发现连接超时,说明该页面是存在的,根据wfuzz得到的响应码500,猜测应该是缺少个参数,继续用wfuzz来fuzz参数
1 wfuzz -c -z file,/usr/share/wordlists/SecLists/Discovery/Web-Content/burp-parameter-names.txt --hc 404 http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=test
在一堆500中得到一个200响应码
通过对传参值进行FUZZ:http://redrocks.win/NetworkFileManagerPHP.php?key=FUZZ
在一堆200中找到与众不同的,访问得知是文件包含漏洞:http://redrocks.win/NetworkFileManagerPHP.php?key=/etc/passwd
尝试包含后门文件:
哦豁,响应500诶,加上伪协议再次尝试:
还是500了,使用base64编码再次尝试:http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=NetworkFileManagerPHP.php
得到一串base64,解码得到源码
可以看到注释有一串可疑的base64,继续解码,得到一个提示:
提示中提到了hashcat的规则,根据文件包含的base64和源码中的base64,大概可以猜到,hashcat的规则应该是指base64编码,目前我们还没拿到账号密码,不过已经知道有文件包含,而且是一个wp的站点,拿到账号密码还不简单??利用文件包含查看配置文件:
http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=wp-config.php
解码得到数据库账号密码,猜测账号密码复用,但是上面提到hashcat的规则,那我们就使用hashcat的base64规则对密码进行处理,将数据库密码保存在文本文档中,然后运行命令:
ssh连接
切换用户
python3 -c 'import pty;pty.spawn("/bin/bash")' export TERM=xterm # ctrl + z 退出 nc
stty raw -echo;fg # 然后输出 reset 回车 stty rows 46 columns 188
发现 ippsec 用户目录下有一个txt文件,打开:
进入tmp目录下载pspy64,网传很好用,我来试试
赋予权限,运行,发现有个C语言的代码文件:
什么,你问我咋结束的。。。我也不知道,我直接ctrl+c了。
提权
检查 supersecretfileuc.c 文件
发现是一直弹出来打扰我清静的代码,是个定时任务,这就很easy了,替换 supersecretfileuc.c 文件:
删除 supersecretfileuc.c 和 rev 文件,然后编写 C语言的shell,然后上传到目标主机
等待反弹:
反弹成功。
查看root.txt
这是flag???网上都说是,那就是吧。
至此,渗透结束!
知识点总结
1、端口扫描
2、hosts文件
3、FUZZ
4、文件包含漏洞
5、hashcat 的 rule 使用
6、hydra ssh密码爆破
7、定时任务 反弹shell 提权