中文翻译:
环境准备:
在此处下载要进行渗透测试的 OVA 文件。
在 VirtualBox 中导入 OVA,并仅为其配置一个 仅主机(Host-Only) 网络适配器。启动虚拟机。
在你的 Kali 机器上,同样添加一个 仅主机(Host-Only) 网络适配器。启动 Kali 并检查是否有一个 IP 地址属于 192.168.56.0/24 网段的网络接口。这两台机器将在同一网络中。
挑战:
目标机器 M16_blackbox1 中隐藏了 7 个 flag,你的任务是找到尽可能多的 flag。
你需要使用 课堂上尚未介绍的工具和技术,因此需要根据测试结果进行 自主研究,探索可行的方法。
你可以 使用人工智能(AI) 来寻找新的工具和测试方法。但要取得好的结果,你需要仔细分析你获得的反馈,并基于这些信息给 AI 提供准确的指令。
挑战目标:
在 黑盒测试(Blackbox) 环境中应用已知的渗透工具
通过实战挑战 学习更多渗透测试工具
记录渗透测试的结果
享受挑战的乐趣!
目标机器 :192.168.56.101
FLAG1
使用nmap寻找内网服务:
sudo nmap 192.168.56.101
端口80是开放状态
打开浏览器然后局域网访问,由于http默认80的端口,所以输入ip即可
右键然后点击源代码
flag1就藏在后面
FLAG2
怀疑过是不是有没有其他隐藏的目录,所以使用 Gobuster 查找隐藏目录,输入以下命令:
gobuster dir -u http://192.168.56.102 -w /usr/share/wordlists/dirb/common.txt
有两个隐藏的活动目录,分别是/images和/hidden,依次在浏览器访问
images目录
图片1,CatsKills.jpg:
图片2,pedraforca.jpg
图片3,turo_home.jpg
hidden目录
list_words.txt:
words.txt:
以上所有出现的文件我们都用wget 下载并存放在pentest里面
输入binwalk 来检测图片里有什么隐藏的信息:
binwalk pedraforca.jpg CatsKills.jpg turo_home.jpg
可以看到只有pedraforca.jpg有额外的信息,有ZIP存档,里面还有一个目录和三个子目录,输入binwalk -e 来导出这个隐藏ZIP:
binwalk -e pedraforca.jpg
导出之后进入输出结果的目录,进入flag目录,就看到一个名为flag的文件,里面的内容就是flag2
FLAG3
在knock目录有个叫做url.txt的文件,这就是flag3的线索,我们复制过来,输入ip加上这条url
可以看到出现的界面就是turo_home.jpg的照片,怀疑跟pedraforca.jpg一样有隐藏的数据,使用 steghide 来检测有没有隐藏内容,结果显示需要密码,证明真的有隐藏内容,但奈何没有密码
密码在 word.txt里面,我们需要使用字典攻击一个一个测试猜到密码,创建一个脚本来寻找这个代码
这个脚本会:
创建 success_files 目录(如果不存在)。
读取 words.txt 里的密码列表。
遍历当前目录下的 .jpg 文件,尝试用密码解压。
如果找到正确密码,则复制该 .jpg 文件到 success_files 并停止执行。
密码是543216,我们再次输入steghide命令,输入正确的密码,导出了名为secret.txt的文件
输入cat命令即看到flag3和flag3的线索
FLAG4
复制secret.txt的url的链接
输入ip加url,来到一个login.php界面
在密码段输入' OR 1=1 -- sql 注入攻击来绕过登陆验证
在网页后面,就找到flag4了
FLAG5
我们返回 php 部分页面,什么也不要输入直接点击提交,界面会报错 error login,然后在上面复制整个url:http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=&pass=
打开sqlmap工具进行 SQL 注入测试,然后输入:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=&pass=" --batch --dbs
得到的结果是有一个名为public的数据库(照片忘记拍了)
各部分含义:
sqlmap:使用 SQL 注入自动化测试工具 sqlmap。
-u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass="
--batch:自动确认提示(避免手动输入)。
--dbs:如果漏洞存在,列出所有数据库。
接着输入:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass=" -D public --tables
各部分含义:
sqlmap:使用 SQL 注入自动化测试工具 sqlmap。
-u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass="
-u 指定目标 URL(这里是一个 login.php 登录页面)。
nombre=cat:在请求中提供 nombre 参数值为 cat。
pass=:pass 参数为空,sqlmap 可能会自动测试 SQL 注入点。
-D public:指定数据库 public,表示要在这个数据库中进行操作。
--tables:列出 public 数据库中的所有表名。
我们的得到的结果是有三个表,分别是flag,knock,products和users,我们使用此 sqlmap 命令从标志表列中提取flag表的信息:
sqlmap -u "http://192.168.56.101/7ecc6be80294a3baf0093e66c6cde772/login.php?nombre=cat&pass=" -D public -T flag --dump
结果
成功,flag5就在这里:
到目前为止,我已经找到了前五个 flag,但 flag6 和 flag7 还是没能搞定。文档的线索提到它们跟 SSH 和 Docker 有关,不过我尝试了好几次,还是没找到突破口,可能是这方面的技术还不够熟练。希望能再摸索一下,或者找到新的思路来解决
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com