Skip to content

xinali/AssetsDiscovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AssetsDiscovery

开发目的

公司经常有游离在资产管理平台的设备,由于在平台之外,无法做有效的安全检查和安全管理,成为了公司安全方向一个很大的缺口。 有的人会推荐使用巡风,巡风一直在使用,真的很棒,但是很多东西有自己的需求,直接改巡风又觉得太麻烦,所以自己动手了。 这个系统是我从我另一个开源项目penework中抠出来的一个模块,所以功能特别简单。 其中公司使用的仅仅只是资产发现的功能。 在使用过程中,为了发挥系统的功能又添加了一个可定制的简单应急响应的解决方法。代码放在AssetsDiscovery/EmergencyHandler下,现在只是一个雏形, 更加完善的功能正在开发中。由于penework也在一步步完善,所以bug修复可能会慢一点,实在有点忙不过来。

实现功能

定期对公司的所有资产进行扫描,并存入mongodb数据库中。将扫描结果和公司的资产管理平台进行对比,如果发现了新增资产或是不在管理平台中的资产就发邮件通知。因为定期扫描,在出现紧急漏洞时,可以利用mongodb中的数据做简单迅速的应急处理。

系统结构

│  docker-compose.yml # docker-compose 部署文件
|  assets.py  # 总处理代码
|  cron  # 定期扫描
|  Dockerfile
│  
├─AssetsDiscovery
│  │  
|  |
│  │
│  ├─lib
|  |  |---core
│  │  |    |--config.py # 配置文件
│  │  |    |--db.py     # 数据库相关
│  │  |    |--log.py    # 日志处理
│  │  |    |--threads.py # 线程处理
│  │  |    
│  │  |---utils 主要放的是邮件处理函数 # 没上传,可以自己写
|  |  |    
|  |  |--findassets.py   # 资产比较与处理核心函数
|  |  |--scan.py         # masscan 扫描处理
|  |
|  |-EmergencyHandle
|  |      |
|  |      | handle.py # 应急处理文件
|  |      | poc.py    # 漏洞poc 
│  |      | exp.py    # 漏洞exp
| 
|-logs # 存储运行中的各种log文件
|
├─mongodb
│  │  
│  │--scripts
│  │    |--run.sh # 运行容器设置 
│  │    |--set_password # mongo auth 设置
│  │  
│  │--Dockerfile  
|

总结

国内大部分好东西都是藏着掖着不放出来,但是还是有少部分人在坚持着开源,比如同程。开源这个系统完全是受到了同程的影响。 一个人开发好几个东西,再加上工作,有点忙不过来,有兴趣的可以合作开发,目前系统还在不断完善中,功能比较简单。

鸣谢

特别感谢巡风,pocsuite等开源项目的部分代码和激励!