难度 中
目标 root权限 一个root.txt
kali 192.168.189.58 靶机 192.168.189.175
发现开启的端口
发现开启了 ftp 除了爆破ssh也可以考虑爆破ftp服务
另外浏览一下web服务
进入就是一个登录的页面
在contact页面有一些电话号码和邮箱,可以收集这些敏感的信息作为字典
使用diraseach扫描目录,发现了一个管理员登录的页面/admin_home.php 还扫描出一个readme.md文档。
打开文档发现里面写了一些网站的介绍,还有初始化的账号和密码,同时还有源码的地址,可以下载去审计也是思路。
通过admin password123 成功登录进入了后台
另外还一直提示有个net_banking.sql 数据库文件,于是尝试下载,发现真的可以下载下来,直接跟路径就可以下载。
数据库中保存了一些用户的信息,此时需要寻找可以突破边界的办法
看到有这么多的功能点,首先是有一个添加news的地方,想着是不是可以添加webshell到这个news页面中,然后尝试了一下发现了都转义了并不可以,然后尝试是否存在SQL注入的漏洞,发现存在宽字节注入,好吧是我搞错了,这里只是他的长度太长了l类型不一致导致报错,并没有宽字节注入。。。
后记:(没什么思路了看一下wp,后面发现确实存在SQL注入,不过是盲注,一个在 http://192.168.189.175/edit_customer.php?cust_id=1 or 1=1 一个是那个manage_customers.php的搜索框,手测的时候没有测出搜索框存在。。。并且这个网站应该是存在越权的,因为没有加cookie就可以测试这个id参数。
每次登录我的session也没有刷新,不过确实会隔一段时间就需要重新登录
后面打完使用sqlmap测试了一下参数,发现是dba的权限,但是无法写入shell,在源码里找到数据库的登录账号密码看了一下发现那个什么priv也开着,最后是哪个html的文件夹只有root才可以写入。。。难怪写不进去。)
回到这边继续
之前的前端里面有一点提示
在news中有个cgi-bin
我对这个不是很了解,也就没有想过顺手扫一扫这个目录
直接扫这个目录会扫出一个
如果加-f -e cgi,sh 参数 也就是将字典后缀改为这两个去跑还可以跑出 backup.cgi
这里涉及到的漏洞叫做cgi破壳漏洞,Bash Shellshock 一个CVE 2014 的老洞了,没见过。
使用nmap可以检测是否存在破壳漏洞
nmap -sV -p 80 --script http-shellshock --script-args uri=/cgi-bin/backup.cgi,cmd=ls 192.168.189.175
检测shell.sh也是一样存在漏洞
漏洞的利用方式可以直接在UA头输入 () { :; }; echo;echo;/bin/bash -c 'id' 就会直接执行id命令
也可以利用msf的模块进行攻击
按照options的提示设置一下选项
直接meterpreter反弹上线了
没想到突破边界用的是这样的方法
得到了一个www的用户权限这个时候就需要想办法进行提权的操作了
将linpeas.sh脚本上传后执行,然后翻看一下执行的结果
有一个无需密码就可以执行的thor的文件
为了方便可以使用
/bin/bash -i 或者SHELL=/bin/bash script -q /dev/null 或者 python3 -c 'import pty;pty.spawn("/bin/bash")' 变为交互式shell
这里最好用第二个,不开这种终端后面有地方看不到。
然后使用sudo -u thor 用thor的身份去执行这个hammer.sh文件,要输入两个值,第一个值是任意的密码,第二个值在多次尝试后发现是执行命令的地方,于是可以直接将bash弹出,并且提升为交互式shell。
提升后可以依然可以使用上传的脚本进行探测是否存在提权漏洞
这里最后任然是suid滥用的漏洞
sudo -l 发现service可以以root权限运行并且刚好也存在提权的方式
sudo service ../../bin/sh
总体看没有过多的难点,只是还是见识少了没有见过这个破壳漏洞,另外对交互式shell有了更深的理解。