最初计划写EasyPen这个工具,是因为笔者认为
单机性能已经非常强大,哪怕是在家庭网络下,发包速率也非常可观
一般漏洞的应急,在已具备资产发现能力的情况下,写十几行代码扫全网,应该可以非常快,几分钟或者几十分钟就可以完成上万服务的扫描
提供一个简单的图形化工具,给白帽子或者安全团队内部同事使用。平时本机验证一下漏洞比较方便,不用各个脚本切来切去
EasyPen是使用Python + wxPython编写、提供简洁图形界面、支持跨平台的安全扫描工具,可用于企业内外网巡检、应急响应。
项目地址:https://github.com/lijiejie/EasyPen
在线文档:https://easypen.lijiejie.com
它的主要功能包括:
资产发现:域名、IP、端口、服务等
漏洞扫描:基于AsyncIO实现的扫描框架,内置超过100个漏洞检测插件,支持调度Hydra/Medusa/Ncrack等工具扫描常见弱口令
应急响应:高危漏洞爆发后,依托框架和现成资产库,通常只需要编写十余行检测逻辑代码,就可以在几分钟内完成对数千目标的扫描
集成了多个漏洞利用工具
扫描界面
漏洞工具界面
功能特性
本工具使用AsyncIO实现了高并发扫描,扫描核心是单线程的,并发扫描任务可超过1000个
本工具优化了DNS Log 检测方法,扫描器维护域名映射关系表,因此,无论扫描过程中投递过多少个子域名,最终都只需要最多2个HTTP请求验证。另外,由于DNS Log在传递链路上的触发需要一定时间,因此,把查询验证放到最后,也消除了不必要的等待,降低漏报的可能性
本工具提供易用的图形界面,通过关键词筛选目标(例如服务、端口号、IP等),即可立即发起大范围扫描
本工具支持多种输入格式,支持输入 10.1.1.1/16 10.1.1.2/10:80 www.lijiejie.com/31 等目标发起检测
安装使用
笔者同时使用了 Windows / CentOS / Ubuntu 作为开发环境进行测试。目前测试覆盖不全,应该还有一些坑。请大家在Github上创建Issue反馈。
对于熟悉python的高级用户而言,建议抓取代码后pip install
如果是Windows用户,并且希望绕过繁琐的安装步骤。则可以下载笔者已经生成的exe文件。下载直接运行其中的 EasyPen.exe 即可
https://github.com/lijiejie/EasyPen/releases/tag/alpha1.0.0
为了能够完整使用扫描器,还需要配置好DNS Log地址,域名列表等。请参考用户文档。
开发计划
目前Alpha 1.0 只完成了基础的框架,待开发完善的功能
适配支持各种类型的DNSLog平台
集成web指纹识别功能,标签功能(Server / Shiro / PHP / Java 等),可视化预览
维护预置扫描模板(插件集合名称)
添加第三方插件的执行支持,如:python / YAML 插件,支持复用其他开源项目插件
简易插件编辑和调试功能
漏洞查看界面一键复核验证功能(漏洞依然存在则高亮显示)
优化暴力破解相关,包括字典维护
BBScan插件的集成
扫描性能持续提升
重构代码便于其他贡献者增加工具、插件
欢迎大家参与到这个工具的开发中。:)
在这里感谢CEO Lake2的监督指导,下方是他的公众号。关注有钱人的公众号,窥探上流社会的思潮和生活,就在 "朴实无华lake2"。