【HTB系列】靶机Irked的渗透测试详解

  • 2019 年 10 月 6 日
  • 筆記

本文作者:是大方子(Ms08067实验室核心成员)

Kali: 10.10.13.32

靶机地址:10.10.10.117

先用nmap扫描下靶机

靶机开放了 22 80 111 端口

查看下靶机的80端口

我们用gobuster对网站的目录也进行一次爆破

访问下/manual,得到apache的文档页面没有可以利用的点

然后我们在根据页面上的显示”IRC is almost working!”

IRC(Internet Relay Chat的缩写,“因特网中继聊天”)是一种透过网络的即时聊天方式。其主要用于群体聊天,但同样也可以用于个人对个人的聊天。IRC使用的服务器端口有6667(明文传输,如irc://irc.freenode.net)、6697(SSL加密传输,如ircs://irc.freenode.net:6697)等

我们可以看到IRC监听的端口为6697和6667,那么说明我们的nmap探测是不完全的。所以我们对靶机的端口做一次全端口探测

这里我们看到6697端口是开放,这里我对6697进一步进行探测

我们搜索下是否存在相关的EXP

我们尝试用第一个 后门命令执行

得到shell之后利用python建立一个pty

然后我们通过find搜索下user.txt

我们进入/home/djmardov/Documents目录,发现User.txt不能读取,但是还有一个.backup的文件,我们读取下

它给了我们关于steg[Steganography]的提示,然后我们得到了类似密码的字符串:

UPupDOWNdownLRlrBAbaSSss

关于隐写术的工具资源:

https://0xrick.github.io/lists/stego/

我们之前在网页上看到一个表情,我们把那个表情图片下载回来看看里面是否藏着什么东西

我们用steghide –info来查下图片的是否包含隐藏数据,其中需要你输入刚刚得到的那串密码。

然后我们提取数据

得到密码:Kab6h+m+bbp2J:HG

那我们尝试登陆SSH,拿到FLAG

接下来就是提升ROOT的权限

这里我用LinEnum来检查靶机是否有可以用来提权的点

LinEnum:https://github.com/rebootuser/LinEnum

然后自己的Kali 用 python -m SimpleHTTPServer 开启HTTP服务

然后在靶机上的/dev/shm用wget下载

然后 bash LinEnum.sh 执行脚本

在SUID文件中我们发现这个文件的日期是在2018.5.16完成的跟其他文件有所不同它是最新生产的,我们去看看这个文件

这个文件似乎记录这访问过这个系统的用户,我们看到最后一行,这个程序在调用者/tmp/listusers这个文件

我们先把这个文件复制我们的kali中去调试它

先用把这个二进制文件用base64进行转换,-w0表示不换行输出

base64 -w0 /usr/bin/viewuser

然后将出现的一大堆数据进行复制

然后我们在自己的kali 创建一个名为userview.b64的文件并把刚刚得到的一大堆数据复制到里面去

然后我们在把文件解码输出为一个二进制文件

base64 -d viewuser.b64 > viewuser

然后我们用lstrace 对这个文件进行调试

ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用

如果自己的kali没有的话就apt-get install -y ltrace 安装下

我们可以看到这个二进制文件到最后会调用/tmp/listusers这个文件。

因为这个vieruser是root权限调用的,那么被调用的/tmp/listusers也将会root权限

那么我们直接编写个/tmp/listusers文件,同时要给它chmod +x

因为那个vieruser是监控在线登陆的用户的,所以它是不会不断的执行,你可以看到当我们写好这个文件并赋予执行权限的时候 它的拥有者变成了root

然后我们得到root flag

*后记,后来我发现我之前就变成了root的权限是因为之前别人做完了实验然没清理我执行了别人的listusers,所以我就被root了,但是get root的思路就是如上

这里我重新做了一次实验,现在是我刚写完listusers文件并加上执行权限

然后我运行viewusers,这里我们可以看到它调用了我们写的脚本然后我们得到了root shell

来源:Ms08067安全实验室