10月第一个工作日,先祝大家开工大吉
~前两个月度过的格外疲乏,Vulhub的进展也稍有迟缓,好在有社区的同学贡献了不少内容,所以整体还是稳步推进中。
今天就来给Vulhub这两个月的进展做个总结。这篇总结首发在网安社区(https://www.wangan.com/articles/1089)中,公众号内有些链接无法点击,大家可以通过阅读原文跳转到原文中进行阅读。
总结一下这两个月做的事情:
- 为Vulhub增加自动化测试相关的内容
- 增加Struts2新漏洞S2-059
- 修复Samba CVE-2017-7494漏洞无法复现的问题
- 尝试在Docker中进行宝塔面板的部署,与PMA未授权访问漏洞的复现
接下来详细说一下这些事情。
为Vulhub增加自动化测试相关的内容
这是这两个月以及后面至少到年底以前的重点工作,为什么要做这个工作呢?
8月13号收到Docker Hub官方发送的更新TOS条款相关的邮件,具体内容我在《喷一喷Docker Hub的改版》这篇文章里说的比较详细了,核心就是Docker镜像在不活跃的情况下会被官方删除。
这一改版至少对我们Vulhub有如下影响:
- Vulhub现在绝大多数镜像都是存储在Docker Hub中,包括一些不太活跃的漏洞环境,这些环境可能会被删除
- Vulhub中有的镜像依赖了第三方镜像,这些镜像的旧版本长时间不活跃也会被删除,可能导致Vulhub镜像编译失败
为应对这一改版,我们正在做如下代码上的改进:
- 借助Github Action编写定期的自动化测试,以保证我们Vulhub中所有原始镜像在未来均可正常编译
- 检测Docker Hub中的镜像是否有被删除,即使被删除,也可以重新进行编译
- 定期拉取Vulhub镜像和一些依赖的第三方镜像,尽量避免被删除
- 自动化测试的过程中发现了一些已经无法编译的环境,同时进行了修复
计划在年底完成这一系列内容。
增加Struts2新漏洞S2-059
8月下旬Struts2修复了新的漏洞s2-059,Vulhub也在9月初拥有了相应环境:https://github.com/vulhub/vulhub/tree/master/struts2/s2-059
这里感谢@buptchk 和 @xinhaiyucheng 两个同学对此漏洞环境的贡献,开源社区因为你们变得更好。
修复CVE-2017-7494无法复现的问题
@scmanjarrez 在#224 中提交了一个Bug,Samba的远程命令执行漏洞CVE-2017-7494无法复现了。
经过测试,发现的确存在这个问题。经过研究,发现原因可能与新版本的metasploit有关(准确来说,可能是ruby_smb
)。我们在#226修复了这个问题。
尝试搭建宝塔PMA未授权访问漏洞环境
宝塔面板在8月底出现了phpmyadmin未授权访问漏洞,详情可以参考我写的《宝塔面板phpMyAdmin未授权访问漏洞是个低级错误吗?》。因为该漏洞影响较大,Vulhub应该不能缺席的,所以新开了baota-phpmyadmin-unauthenication分支,尝试在Vulhub中引入这个漏洞。
不过最终还是没成功做完这个环境,原因是,宝塔面板不支持离线安装,旧版本代码也不太透明,导致出现了不少小问题。要兼容这些问题可能需要花大量时间,所以就没继续做了。
如果社区有同学感兴趣,可以接着往下做一做。
后续
Vulhub后续的短期计划是:
- 继续完善自动化测试相关的工作
- 增加HW期间出现的一些开源软件漏洞
- Struts2和Weblogic相关的一些漏洞补齐
之后每段时间,Vulhub都会发布一次总结在网安社区(wangan.com),对项目内容有疑问、想要分享相关文章的同学也可以在社区中发帖。