01 案例概述
这篇文章来自微信公众号“迪哥讲事”,记录的某师傅通过外网信息收集,发现并利用了一个单位docker配置的信息泄露,包括redis、mysql等组件的配置信息。通过这些泄露的信息获取服务器权限,进一步访问和控制禅道系统,并导出用户数据。此外,师傅还利用gitlab的开放注册功能进行账户破解,获取到了大量项目源码和配置文件。
02 攻击路径
从攻击者视角了解攻击的全过程,以下为攻击过程:
(1)发现数据泄露:攻击者的突破点是docker配置文件信息泄露,通过外网信息收集发现目标单位所属IP的9000端口泄露了大量的docker配置文件数据,具体涉及redis、mysql、禅道、gitlab等组件的配置信息。
(2)利用泄露数据:攻击者利用泄露的redis密码信息成功连接redis后,通过写计划任务成功获取到了该主机的服务器权限。利用docker ui中泄露的mysql密码成功连接数据库,在数据库中找到禅道相关的数据库,md5解密密码后成功登录系统,批量导出禅道系统上的用户名。
(3)扩大攻击成果:由于gitlab开放了注册功能,攻击者利用通过用户注册接口进行用户名的遍历,发现存在已注册用户。然后通过收集到的密码进行密码爆破,成功破解出一系统账户信息登陆gitlab。成功登录系统后,成功获取许多相关的项目源码信息以及配置文件。
03 防方思路
站在防守单位的角度需吸取本案例的经验教训:
(1)强化密码管理:强化账户管理,禁止使用缺省密码设置的方式登录系统。默认设置的账号密码不可使用弱口令,建议采用复杂且随机的密码,并设置账号锁定策略和验证码等措施来增加登录安全性。对VPN加强密码策略,要求用户使用强密码,并定期提示用户更新密码。
(2)加固内网安全:加强内网设备和系统的安全配置,及时更新和修补已知的漏洞。做好弱口令的管理和监控,确保所有设备和系统都使用复杂的密码。同时,加强网络设备的访问控制,限制仅允许授权人员访问和管理设备。对内网进行定期漏洞扫描和安全评估,及时修复发现的漏洞。
(3)提高安全意识:定期组织安全培训,向单位人员传授网络安全基础知识和最佳实践,教育他们如何创建和管理安全的密码、如何警惕钓鱼攻击和社交工程等常见网络攻击手法。同时,提醒所有用户定期更新密码,不轻易共享账号和密码,以及报告任何可疑的活动和安全漏洞给安全团队。