服务器可以做为靶机吗_【HTB系列】靶机Irked的渗透测试详解

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

2fa9b47d1d35412d57dac1208969a584.png

Kali: 10.10.13.32

靶机地址:10.10.10.117

先用nmap扫描下靶机

cdeac690d1af7304bf5d5de3f7ede3d5.png

靶机开放了 22 80 111 端口

查看下靶机的80端口

f6a42c0ddf947c94250d89cab1aa0bed.png

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

fff0099f5ab3a092151ce7547d8ac750.png

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

11e8250cccc02beddf4cb59a91363a0f.png

然后我们在根据页面上的显示”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探测是不完全的。所以我们对靶机的端口做一次全端口探测

5ef81b08f58e532f826eac6d7f0f398d.png

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

5dc7228f7b3efd95dc6bc48192a40a89.png

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

3a2d16d27aa2afd5b3821666c2bdfe33.png

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

f7f7f6b2f9a5511673a1caf10a57a751.png

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

9f09e00cf7ef16be9150ab20586b59ec.png

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

0ba7b7cf9dc88d626b512638e10d4513.png

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

06c420061cc030f77001bb427af9963c.png

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

UPupDOWNdownLRlrBAbaSSss

关于隐写术的工具资源:

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

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

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

d4b71f8d2580b8f63e184abb59228018.png

然后我们提取数据

dba4b92ebde392b989db8f6c7935bbca.png

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

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

318212aefbdcc67521544cd55248e8c4.png

接下来就是提升ROOT的权限

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

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

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

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

3136babda5d6012eedc0f012a1406abf.png

然后 bash LinEnum.sh   执行脚本

305d293e961020d0591c4d48bff8daf8.png

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

3b6b8bcfe718e0f451d6070324f13de5.png

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

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

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

base64 -w0 /usr/bin/viewuser

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

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

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

base64 -d viewuser.b64 > viewuser

d40e3c2f109713ea03526ffa93109dd0.png

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

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

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

1dbbd163809902071fea3a7a8a48c377.png

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

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

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

28c50d4fef7c0b4cfe83eed9a7a47d9f.png

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

003e2792fe405c28c373b9d918694554.png

然后我们得到root flag

e9e5f458dd348802f64eb2277679c98a.png

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

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

3cab30aa0bb168ca900432d1fd3a1728.png

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

30be66010a2f7e059b35c5a13ac7fd58.png

c9dda877691d9847376bf8463237591f.png

来源:Ms08067安全实验室

70ca043ad59dfe1eefee0230cf612e4a.png

界世的你当

作你的肩膀

f0714c9fef45c6c0238bfde097b93328.png 9d26e0ee7f2a246ee1fc107e846f2b22.png

 ms08067安全实验室

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值