小总结:
- 目录遍历漏洞常见的位置,例如在前端中看到某些image标签<img src=/images?file=png>,那么这里就可能存在任意文件读取漏洞。当时看到这个框架存在任意文件读取漏洞,我就在想如果没有其他漏洞可以进行组合利用,我如何最大化的利用任意文件读取?
那就是利用默认的配置路径进行配置信息的读取,尽可能多的获得配置信息。
所以在在即搭建网站的时候要修改默认的端口,默认的路径,默认的密码,这些都是潜在的危险。
判断中间件的版本信息然后根据对应版本信息的默认路径进行文件读取。
- 灵活使用ls和find 命令,find . –type f /xxxx可以在ls –lsa无法使用的情况下替代。
- 本次提权使用lxd提权
目标IP为192.168.49.159
本机IP为192.168.49.129
开始前期的端口探测,通常我们使用nmap或者御剑的端口扫描只会针对TCP端口但是有些靶机或者业务会使用UDP协议进行传输所以UDP不要遗忘。(本次靶机没有UDP端口只是提醒下自己不要把思维固定住。)
22端口在靶机中先放在后面,测试业务的时候可以使用九头蛇或者弱口令检测工具测试一波
针对80端口web服务器先查看首页,以及web是否使用cms。
Linux+php+apache
首页中提示输入username并且存在注册功能,对于这种用户交互先使用sqlmap针对sql注入进行测试,测试的同时跑一下目录。
无论是业务系统还是靶机,查看源码也是必要的,比如可以看到作者的提示信息以及业务系统的框架指纹。
找到一下这个提示:
芜湖,存在任意文件读取。
查看具体的利用方式,显然需要找到download这个文件才能利用,我这里没有直接找到注入的点,注册账号后进入页面。
注册1234进入后发现download页面,测试之后发现文件读取漏洞并没有被修复。
最大化的利用文件读取漏洞就是读取配置文件信息,当我尝试读取一些默认的配置文件时找到了一个默认路径下的文件里面存在被hash过登陆密码。
/etc/apache2/sites-enabled/000-default.conf
顺藤摸瓜,继续读取
获取hash值之后使用john进行爆破并根据做着提示使用github上的rockyou-45作为字典进行爆破。
https://github.com/danielmiessler/SecLists/blob/master/Passwords/Leaked-Databases/rockyou-45.txt
将rockyou-45字典放入1.txt 将hash值放入2.txt
获得用户名以及密码,但是无法登陆ssh,也就是说这个密码不是ssh的那么就是网页端的密码登陆,查看到刚才跑的目录中存在webadmin需要认证,输入后进入页面。
aiweb2admin:c.ronaldo
虽然说翻译过来是没有什么信息但是要知道robots.txt文件时存放不允许爬虫爬取的目录列表,访问后发现两个目录。
依次访问看看有没有可以利用的,芜湖?
好家伙,靶中靶,套娃,这不就是RCE了嘛
开始nc监听拿个反弹shell回来,结果发现使用nc python bash以及php的反弹shell回不来,我尝试使用echo写入一句话尝试正向连接。卒
反弹shell和写入都不行,而且ls –lsa无法使用-las查看隐藏文件所以我先把目光放在另一个目录下看看有没有信息。
这里也是扫描不出路径下的文件,所以我使用find命令+路径拼接起来查看S0mextras文件夹下面到底有什么?
目录为:/var/www/html/webadmin/S0mextras
使用find命令:|| find . -type f /var/www/html/webadmin/S0mextras
找到了ssh的登陆凭证,cat查看
|| cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt
User: n0nr00tuser
Cred: zxowieoi4sdsadpEClDws1sf
登陆ssh
登陆成功我发现在ubuntu这个系统上存在lxd容器,这个容器时存在提权漏洞的,不是吧,这么顺利?
直接kali里面sear一下
使用python3 –m http.server搭建简易的服务器
在靶机的tmp目录下使用wget进行下载46978.sh
还需要其他的文件,打开这个.sh看看具体内容。
还需要下载alpine,根据步骤来就行,直接使用wget之后显示报错,我直接打开了这个连接复制到kali中执行sh
执行sh,等待下载
下载完成后就会出现一个压缩文件,还是利用http服务传到tmp文件夹里面去
下载完成后,使用-f命令进行提权
./46978.sh -f alpine-v3.14-x86_64-20210808_1044.tar.gz
Find一下flag的路径