实验靶场:6Days_Lab-v1.0.1
下载地址:https://www.vulnhub.com/entry/6days-lab-11%2C156/
导入虚拟机,我这里把网络模式改成了nat,虚机ip地址段为192.168.158.0/24
0x00 目标探测
这里先通过nmap探测目标主机网段的存活ip,发现143为目标主机ip
继续扫描开启的端口等,主要有22,80,8080三个端口
0x01 漏洞挖掘
访问目标的80端口,大致意思是一个购买商品,让我们输入折扣代码,获取折扣
提交给的折扣码发现过期,抓取http包说不定有时间相关的数据发到服务器上,然而除了一个get传输的折扣码,并没有... 但是有参数传递的地方就可能有漏洞,说不定有注入,随手测了一下发现会被ips拦截掉,测了一下没找突破口
回到主页发现源码中还有另一个php文件,并且其接收的参数为一个文件
猜测image.php可能有文件读取,SSRF,文件包含的漏洞。
传入它自己,果然有收获,简单审计一下发现它通过readfile()函数来读取传入文件的内容,并未做任何安全措施,试一试其他文件,比如刚刚感觉可能有注入的checkpromo.php文件,passwd文件查看一下存在的用户
因为是linux服务器,所以当前位置应该为var/www/html/,可以通过../../../目标 来探测其他文件
继续探测其他文件,网站配置config.php文件,passwd文件,服务器配置文件等,都可以作为信息搜集的目标
这里搜集apache配置文件时因为对apache了解不深,以为配置文件都是在/etc/httpd/conf/httpd.conf
百度许久,发现Ubuntu默认配置文件为/etc/apache2/sites-available/default,而且真正的根目录是var/www/
网站实际监听的端口是8080,并且通过配置文件末尾处看到Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
只能通过本地访问。
汇总一下现在的收获
1.image.php存在文件读取漏洞
2.checkpromo.php可能有注入
3.服务器在8080上运行,只能通过本地才能访问
4.一些服务器的用户名
这时候意识到如果image.php存在ssrf的话就可以通过ssrf+sql注入,利用服务端本地来攻击服务器,获取到用户账户密码
经过几次尝试,发现可以使用doubleurlencode技术来绕过防护,且有两个字段,我们可以通过union查询来查询数据。
用户名:andrea
密码:SayNoToPentests
登录后发现输入命令都没有回显,可能是数据回传有问题,用nc反弹shell
0x02 权限提升
拿到shell后最后一步当然是提权,可以使用信息搜集的脚本,查看目标主机可能存在的提权漏洞
wget http://www.securitysift.com/download/linuxprivchecker.py
登录ssh时显示了系统版本,这里直接在exploit-db里面搜索一下
https://www.exploit-db.com/exploits/37292
gcc编译并执行exp,可以看到已经获取root权限
网友评论