文章目录
靶机信息
靶机下载地址:https://www.vulnhub.com/entry/aqua-1,419/
靶机描述
一、锁定靶机地址
arp-scan -interface=eth1 --localnet
靶机地址为192.168.7.160
二、扫描靶机端口与服务
nmap -A 192.168.7.160 -p-
靶机开启了21、80、139、445端口,分别是ftp、http和smb相关服务,其中ftp被过滤
三、SMB信息搜集
靶机开启了SMB服务,可以使用enum4linux进行信息搜集
enum4linux -a -o 192.168.7.160
共享文件没有什么值得注意的地方,用户发现了aqua(阿库娅)和megumin(惠惠),看来是以素晴为主题的一个靶机
四、WEB渗透
1.网站目录扫描
gobuster dir -u http://192.168.7.160/ -w /root/dict/web.txt -x php,html,txt,bak
发现了许多页面内容,扫描到的网页有index.php、home.php、login.php、welcome.php、no.html和yes.html,扫描到的目录包括/images、/css、/manual、/deployment和/meow
对/deployment和/meow两个可疑目录进一步进行扫描
gobuster dir -u http://192.168.7.160/deployment -w /root/dict/web.txt -x php,html,txt,bak
gobuster dir -u http://192.168.7.160/meow -w /root/dict/web.txt -x php,html,txt,bak
/deployment目录下存在文件notes和hello.php,存在文件夹/production;/meow目录下存在index.php和/images文件夹
进一步扫描/deployment/production目录
gobuster dir -u http://192.168.7.160/deployment/production -w /root/dict/web.txt -x php,html,txt,bak
/deployment/production/目录下存在文件meow.txt
2.网页信息搜集
对网页进行访问
先去看下首页
蚌埠住了,一进来就看到阿库娅的蠢脸
下面的文本大意为笨蛋女神阿库娅被惠惠黑了,而且电脑密码丢了。阿库娅请求我们帮她黑回去,作为报酬可以告诉我们关于惠惠的任何事。
点击Sure, I’ll help即跳转到yes.html,并提供了惠惠的登录名和密码megumin:watashiwamegumin,但阿库娅不知道秘密的登录路径
返回首页,点击Nope, I’ll pass跳转到no.html,阿库娅看上去很沮丧的样子
访问下其他扫到的网页,先看看welcome.php
除去页面多了Meoww外对比首页无任何变化,点击按钮跳转也和首页一样
下一个,home.php
跳转到login.php的登录页面,下面是惠惠爆裂魔法的咒语,看来阿库娅给的用户名和密码就是用在这里的
输入用户名密码登录后跳转到home.php?showcase=index.php
原来惠惠喜欢猫吗,总之看网站URL猜测可能存在文件包含漏洞,先不管,还是继续看网页信息
登录后直接访问home.php页面内容为空,查看源码没有什么值得注意的点
/meow为几张图片,虽然裂了但根据目录名字结合之前home.php包含的页面,猜测那些猫猫图片就存在这个文件夹下,进一步访问/meow/images显示没权限
访问/deployment/notes文件,信息大意为黑客惠惠提醒不要删除/var/www/html/deployment/production文件夹
访问/deployment/hello.php页面,网页显示为空,源码信息与home.php相同
接着去访问下/deployment/production下的meow.txt,只有一声猫叫
3.文件包含漏洞
回到hello.php,尝试下能不能包含/etc/passwd
成功!确认存在文件包含漏洞,也发现了megumin和aqua用户(同SMB扫描结果),而且可以看到megumin的家目录在/var/www/html/deployment/
那么,一般而言存在文件包含漏洞时,想要获取webshell是通过包含apache或nginx的日志文件,并通过抓包修改请求写入木马实现的
然而,在尝试了apche、apache2和nginx的access.log和error.log后均失败,只能另寻方法
还有一种就是伪协议,利用data://或php://input也可以达到RCE的目的,但也失败了
在反复尝试了各种伪协议和过滤绕过方法后,我只能想想之前是不是漏了些什么,重新扫描了一遍靶机后,我注意到了之前一直没在意的点
被过滤的FTP服务
五、FTP服务渗透
1.knockd技术
port knock是一种端口过滤技术,通过进行配置对特定的服务进行过滤,访问者可以通过按一定的顺序knock指定的端口来开启被过滤的端口,也可以逆序进行knock重新关闭该端口
而knockd的配置文件,就在/etc/knockd.conf中
进行文件包含,成功读取到knockd.conf信息,端口knock顺序为1234、5678、9012
2.knock开启端口
不知为何,apt-get install安装不了knockd,github上的项目依赖包也装不上。我在这里尝试了各种替代的命令也没成功,最后发现是knockd.conf中有限制网卡为enps03,而我之前装靶机时把网卡改成了ens33
修改好knockd.conf文件后,重新尝试敲击
nc -z 192.168.7.160 1234 5678 9012
可以看到,此时ftp的端口不再被过滤且允许匿名登录
3.FTP上传反弹shell获取webshell
允许匿名登录,但登录上后发现啥都没有
花了这么大功夫,我不信这啥都没有,就算是爆也得给我登上去出点东西
放后台爆了一会,冷静了一下,FTP的利用点无非是信息泄露和文件上传。这里很明显马上就是获取用户权限的部分了,信息泄露的话一般是ssh的密码或者私钥,但这靶机压根没开ssh服务,那就只能是文件上传了。
既然是文件上传,那就肯定是能访问或包含到的页面且具有写的权限。包含是使用的网页,用户应该是www-data,其密码未知,而根据之前包含的/etc/passwd中的信息,megumin用户的家目录就在/var/www/html下,所以试着用之前网页上惠惠的用户名和密码登录
成功!而且这里的路径很明显是/var/www/html/deployment下,用户megumin对家目录production具有写的权限,上传反弹shell
开启nc,访问反弹shell后成功拿到webshell
六、后渗透提权
1.webshell到普通用户
先提升交互性
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python3 /tmp/asdf.py
根据之前FTP确认的信息,直接su到megumin
2.普通用户横向提权
sudo -l发现可以sudo执行aqua家目录下的backdoor命令
去看下这个命令是干啥的
backdoor是以aqua用户执行nc shell的命令,那就简单了,直接nc正向连接靶机1337端口即可
sudo /home/aqua/Desktop/backdoor (靶机)
nc 192.168.7.160 1337 (攻击机)
在aqua家目录下Desktop文件夹拿到flag1,还有个惠惠的点阵图版表情包
3.gdb提权到root
先提升下交互性
sudo -l看下
有三个可sudo命令,其中gdb可以直接提权
sudo gdb -nx -ex '!sh' -ex quit
拿到flag2,还附赠一张惠惠的点阵图
作者提示还有种方法可以提权到root,结合之前sudo -l看到的另外两个命令和gdb本身的作用,猜测是命令溢出漏洞的提权
尝试了一下后发现在靶机上调试太难了,而且与本地文件有关联功能,下载下来也不好调试,只能放弃了
总结
主要是kncokd技术和后续的溢出漏洞有难度,没有提示的情况下不太好想到knockd,最后还是暴露了逆向的技术掌握太弱的问题