在我们的测试中,可能在对大型目标进行探测时,人手不足就会显得特别无力。这时候,使用机器代替人工进行一些重复性工作,就显得尤为重要。咱们在这儿来谈谈,如何开发和部署APT渗透系统的架构。
web扫描系统
在web扫描框架上,我们可以这样设计:
- 信息探测模块:通过指定URL,自动获取该网站的基本信息。
- 资产发现模块:收集子域名,并对主机IP资产进行梳理。
- 基础扫描模块:对网站进行路径探测,对系统进行端口探测。
- 弱口令核查模块:对主机系统和常用CMS网站进行默认/弱口令检测。
- 漏洞扫描模块:以体系内域名URL为入口点,可以只单独探测该URL的web漏洞;也可以根据该入口点,进行自动化资产发现和检测,再统一对获得的资产进行扫描。
- 社工搜集模块:从多个搜索引擎和接口中,提取有需要的信息,供给其他模块使用。
- 第三方扫描模块:可集成第三方扫描器,通过接口进行模块化整合。
口令核查系统
在web扫描系统里,本来是集成了弱口令核查模块。但其中仅仅对常用的CMS和系统服务进行了核查,而且力度比较有限。
此处对口令核查系统的设计,旨在对特定的系统服务或者后台进行爆破,功能大概如下:
- 定制化社工字典,拥有生成选项。
- 可以破解简单验证码。
- 可附加验证码绕过、明文提取选项。
- 集成扫描框架的爆破脚本。
- 集成Hydra和Medusa以及某些工具,供给调用。
漏洞分储系统
在这个系统上,鄙人将它设计为漏洞库,提供api给第三方调用。
其中,需要注意以下几点:
- 部分提供poc调用,无poc的提供详情。
- 前端提供搜索和查看功能。
- 提供API调用。
漏洞验证系统
这个功能本来想和漏洞分储系统相结合的,但后来为了耦合性,还是分离了出来。
- 支持单条和批量验证。
- 搜索选取漏洞exp。
- 采用中间件来传递消息。
- 延时结果记录。
- 不做数据记录。
域名采集系统
最初的版本只做了域名采集的爬虫,但后来考虑到实用性,后期会集成市面上已有的一些域名采集技术。 另外,这里会支持分布式/命令行运行,提供api给第三方调用。管控中心可以一键发送执行。功能如下:
- 域名爬虫。
- 其他域名采集技术。
至于细节,可以参加之前撰写的博文《域名采集爬虫》。
渗透方案查询
这是在某产品经理启发下的产物,在渗透中常常在进行到某一步时,会遇到卡壳的时候。
这时候我们就需要一个可查阅的清单或者wiki,甚至能给出完整的建设性方案。后来大概考虑了下,大概可以这样构建:
- 知名系统获取shell建议(扫描有限制)
- 提权流程列表
- 横向和后渗透命令清单
- 复杂系统获取权限详情
- powershell脚本功能查询
- 武器库列表
渗透报告管理
当然,在渗透后可能会有报告输出。也有可能需要上传和填写报告,本系统可能会要求几个点:
- 拥有固定格式,可以导出pdf、word等格式。
- 自动整理可能获取权限的机器和敏感IP段。
- 上传报告时,需要填写固定几个要点,比如IP和主机名以及网段,然后再填写细节。
核管控中心
一套完整的APT渗透框架,总是需要核心管控的,这样方便管理,也能方便全局统筹的需求。 大体功能,可能有以下几点:
- 系统机器上线和下线控制。
- 可以API命令调用各系统。
- 以IP或者域名为入口,对所有现存系统数据库进行检索。
- 配置全局参数,不定期更新,对各系统推送。
总结
直至撰稿之日,鄙人已经完成了一部分工作。但由于研究方向有变,再加上一些其他不可抗拒的原因,可能开发工作会停滞一段时间。
在以后恢复开发工作时,应该会有更多的思路更新,与诸君共勉!