内网安全巡航

就像是一个园丁,很没出息,就种出了一朵花,还是在火星上别人的花圃里种的,可你还是会忍不住会拿望远镜去看它不是,因为除此之外,你一无所有啊。

从第一天学Django到现在已经过去19天,在下班后夹缝里偷偷学了半套Django课程后,觉得可以试一试写一个开源的关于内网安全漏扫管理平台。

需求阶段

交互界面:B/S构架

需求说明:定期检测漏洞,数据可视化

概要设计:后端分两个模块,一个负责数据添加,另一个通过Xadmin管理数据,漏扫模块直接调用

服务对象:内网安全,除了WEB端还要对主机类,数据库类,中间件等进行定期安全检测

添加数据:除了手动添加网址ip之外,应该具备自动获取当前IP,然后自动扫描内网IP端口保存资产数据

扫描方式:使用celery做分布式处理,对漏洞进行异步扫描(其实也可以通过多线程实现,省下不少事)

方案阶段

前端技术栈:html,css,bootstrap

后端技术栈:python,django,redis,mysql,cerely

漏扫相关库:requests,socket,threading,multiprocessing,current.future,asyncio,aiohttp,aiofiles,re,python-nmap,python-docx后续

流程设计:用户通过点击自动获取内网服务或者手动添加内网IP后,自动开启异步漏扫功能,数据实时存储到数据库,在后台可以查看漏洞数据展示以及下载漏洞报告模板,提供选择报告模板的样式,具有定期自动漏扫验证功能,定期发现新资产等。

实施阶段

端口扫描

需要实现对存活主机扫描,开放端口和服务扫描

Nmap

优点:模块丰富,功能齐全,支持多种不同方式扫描端口,拥有完备的主机服务漏洞扫描插件

缺点:量级较重,迁移麻烦,不够灵活,插件适配性接口不方便维护

Masscan

优点:速度快,速度快,速度快

缺点:迁移麻烦,配置起来麻烦,总不能让用户安装一大堆的插件,一键安装部署才是最好的

自己写

优点:灵活,轻便,自定义功能

缺点:重复造轮子,速度和准确率相对较低,意味着不能吃到nmap提供的漏洞扫描红利

资产收集

需要识别主机安装的服务,中间件信息,或者使用的CMS,使用的数据库,这些可以把上文中的端口扫描归纳进来

需要收集大量的指纹,来源:github

主机漏洞

需要从资产收集中获取数据,需要实现对Windows/*inux系统高危漏洞扫描检测

  1. Nmap安装第三方插件vlunscan可以实现大量漏洞检测,但是不方便管理,并且还需要安装nmap
  2. 使用awvs接口实现高危检测,awvs安装是一回事,另外企业使用破解版将面临罚款
  3. 使用nessus,同上,量级更大
  4. 使用msf接口,量级大,不方便维护

只能自写脚本,脚本对象等级为高危,即可以直接提权或者造成系统严重危害。

来源:github,exploitdb

WEB端漏洞

需要从资产收集中获取数据,然后加载插件扫描,常见的比如

  1. sql
  2. xss
  3. xxe

这些都已经实现过插件化,直接调用修改接口即可

数据库端漏洞

需要从资产收集中获取数据,然后进行弱口令检测,未授权检测

这些都做过插件化,直接调用修改接口即可

消息队列

celery+redis

环境迁移

docker

引用资源

漏洞报告模板 1

中间件漏洞插件 1

中间件漏洞插件 2

CMS 漏洞插件 1

端口扫描Banner

坚持原创技术分享,您的支持将鼓励我继续创作!
------ 本文结束 ------

版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%