AssassinGo是一款使用Golang开发,集成了信息收集、基础攻击探测、Google-Hacking域名搜索和PoC批量检测等功能的Web渗透框架,并且有着基于Vue的WebGUI,前后端交互主要采用WebSocket,结果实时显示在前台。并且扩展性强,实现各模块接口即可添加功能。

网站地址:https://assassin-go.ink

github地址:https://github.com/AmyangXYZ/AssassinGo

0×00 主要功能

1.信息收集部分a) 检查HTTP安全头

b) CMS版本识别

c) 蜜罐概率检测

d) CloudFlare绕过

e) 路由节点跟踪并标记在googlemap上

f) 端口扫描

g) 目录爆破和可视化的sitemap

h) Whois信息

2. 基础攻击部分

a) 整站爬虫

b) SQLi检测

c) 反射型xss

d) Burp的Intruder功能

e) SSH爆破

下个版本会将爬虫和XSS检测也升级成headless-chrome版本

3. Google-Hacking

后端调用Headless-Chrome爬取google或bing搜索结果,完全支持google-hacking语法,而且不会被反爬虫检测。

4. PoC检测

选择PoC进行单个或批量检测。

0×01 概要设计

后端实现选用了组合模式,

信息收集接口Gatherer、基本攻击接口Attacker、漏洞PoC验证接口基本相同,均包含下列三种方法:

a)  Set(…interface{}):设置本函数或PoC所必需的参数,如目标、端口、并发数量等等。

b) Run():函数启动入口。

c) Report() map[string]interface{}:返回执行结果,为后续生成报告准备。

而PoC接口还需要额外实现Info() string方法,返回该漏洞的基本信息。

当添加新的功能或更新PoC时仅需编写一个新的.go文件并实现对应接口的方法。

例如当新公布出一个远程代码执行漏洞的PoC时,我们可直接新建一个xx-rce.go文件(参考已写好的几个PoC),实现上述接口,重新编译整个项目之后(Go语言的编译时间仅为数秒)即可在前台调用该PoC去检测目标。

0×02 项目进度

基本功能已开发完,部署了一个demo版本,

由于服务器性能有限,并未开放注册,大家想体验可以联系我手动注册(amyang.xyz@gmail.com),

或者在自己本地搭建,必要的shell脚本和docker-compose已写好。

由于团队人手十分有限,很多地方不是很完善,PoC也没有积攒几个,希望大家体谅。

*本文原创作者:Amyang