0x00、业务需求
伴随着数字化经济的兴起,业态的多样化,黑色产业链也在不断的进化。从传统的电商薅羊毛,到现在的在线视频流量欺诈,全民付费阅读(趣头条、头条、搜狐资讯等),从原来的DDoS攻击勒索,到现在的自动化挖矿,勒索软件。那么这些都离不开黑产中最基础的服务,抓肉鸡,特别是云服务器肉鸡。
那么如何更经济更快速的在互联网上自动化抓取大量的肉鸡呢?黑客攻击基础设施,弱点扫描系统浮出水面。
0x01、系统设计
一、模块设计
1、用户配置模块
· 输入各个云厂商ip地址段,以C类IP端为最小分割单元设置
· 网站域名批量导入,例如:政府网站监控设置
2、集群资源管理
· 通过Web API的方式对外提供服务。
· 支持分布式任务下发
· 扫描结果通过redis上传到elastic search中保存
· CPU、内存、网络状态监控API
3、扫描任务编排
【流程1】:资产指纹建立编排流程图:
【流程2】:定时主机批量扫描流程图:
【流程3】:定时Web批量扫描流程图:
【流程4】:人工触发扫描流程图:
4、可视化大屏
为监控漏洞挖掘的效果,提供了肉鸡总量、挖矿插件总量、DDoS攻击插件总量、勒索软件插件安装总量,薅羊毛插件部署总量。
同时提供分析漏洞分类,看看哪个漏洞目前最容易安装木马,现实环境中,redis未授权访问和thinkphpRCE是现在最火的两个漏洞。
还提供Top公有云资产数量统计,为扫描策略制定优先级。
最后,提供肉鸡可视化地图。
二、系统架构设计
要想构建这么复杂的系统,首先要满足分布式系统的架构,支持Web RestfulAPI架构,自然想到要使用微服务的架构。负载均衡、微服务Restful架构&RPC架构、分布式调度、服务注册发现、日志分析、服务监控/告警、APM、熔断器等。
添加扫描原子API:
package main import ("github.com/koding/kite" "encoding/json" "fmt" ) type Meta struct { System string `json:"system"` PathList []string `json:"pathlist"` FileList []string `json:"filelist"` PassList []string `json:"passlist"` } type Task struct { Type string `json:"type"` Netloc string `json:"netloc"` Target string `json:"target"` Meta Meta `json:"meta"` } type Greeter interface { Check(taskJSON string) []map[string]interface{} GetPlugins() []map[string]interface{} SetConfig(configJSON string) ShowLog() } func main() { // Create a kite k := kite.New("Scanner", "1.0.0") plug, err := plugin.Open("./kunpeng_go.so") kunpeng, ok := symGreeter.(Greeter) if !ok { fmt.Println("unexpected type from module symbol") return } // Add our handler method with the name "api_vulPoc" k.HandleFunc("api_vulPoc", func(r *kite.Request) (interface{}, error) { jsonBytes, _ := json.Marshal(r) result := kunpeng.Check(string(jsonBytes)) return result, nil // send back the result }).DisableAuthentication() k.Config.Port = 8024 k.Run() }
0x02、总结
本文只是抛砖引玉,向大家简单介绍一下黑客攻击基础设施建设的情况。伴随着黑产的不断进化,黑客攻击的专业化程度越来越高。