17bdwhtml
从乙方威胁情报角度经过漏扫探测C2主机指纹,结合内部威胁情报作数据关联,能够找出更多的样本,分析样本找到网络特征和主机特征。而一套探测过程对于渗透测试来讲来讲每每提到的就是高危端口暴露,信息收集。数据库
针对某些特定网段作同源确实会有威胁情报挖掘的价值。参考《那些和185.244.25.0/24网段有关的Botnet》安全
经过收集特定网段的端口信息结合当前掌握C2主机信息。资产收集的做用以下:服务器
情报搜集:ip段搜索存活主机,域名、ip是否与apt组织活动有关联网络
情报关联:经过关联的ip、域名开放的端口与掌握的数据进行匹配判断C2主机实际做用app
数据挖掘:经过内部威胁情报数据挖掘受控主机范围、样本数据dom
数据关联:分析样本,关联样本与主机的关系。入库主机的远程端口开放规则、已经掌握的远控端口、端口banner、SSL证书。数据库设计
不少扫描器均可以作资产收集,经过大数据作收集的平台也开始增长起来。post
可是这些平台多少会有查询数量的限制。若是能够仿照一个技术信息库,把资产按照标签收集起来,每当出现一个漏洞就能够很容易检索出特定标签的网站了。
为了测试,扫描的目标最初从几个地方收集而来,中文网站总排名、补天、hackerone。从排名顶端的src大神常挖的目标抠出来关键字去百度搜索。最初以为目标收集越多越好,还尝试从被黑统计zone-h收集被黑过的站点。后来发现范围太广反而容易把本身淹没,把原先目标给忘掉。
数据库表设计头疼了一段时间,如下是数据库表设计的最第一版。分别为目标站点表、二级域名搜集、IP、端口。
存储目标的数据,id主键,type标签类型,domain或ip;建立时间和修改时间是为了关注目标状态改变的时间。
id int // 主键自增加ID source varchar // 资产来源 yys varchar // 运营商 domain varchar // 运营商域名 ioc_domain varchar // ioc域名 ioc_ip varchar // ioc ip dq varchar // 地区 type varchar // 保存的是IP仍是domain target varchar // 目标组织 create_time datetime // 建立时间 update_time datetime // 更新时间
存储子域名数据
id int // 主键自增加ID host varchar // ip作主要索引 title varchar // 网站标题 ip varchar // ip domain varchar // 运营商域名 port varchar // 当前域名访问的端口 country varchar // 国家代码 province varchar // 省份 city varchar // 城市 country_name varchar // 国家名字 header varchar // 网络回显 cert varchar // 证书信息 isp varchar // ISP信息 as_number varchar as_organization varchar data_source varchar // 数据来源 app_name varchar // app指纹识别 create_time datetime // 建立时间 update_time datetime // 更新时间
把域名中的IP提炼出来,批量扫描ip。
id int // 主键自增加ID taskid int // 任务ID create_time datetime // 建立时间 update_time datetime // 更新时间 domain varchar // 域名 address varchar // IP地址 is_up varchar // 存活状态 os varchar // 操做系统版本
采用多任务扫描
id int // 主键自增加ID taskid int // 任务ID create_time datetime // 建立时间 update_time datetime // 更新时间 address varchar // IP地址 port int // IP开放的端口 service varchar // 服务 state varchar // 状态 protocol varchar // 协议 scripts_results varchar // 脚本扫描结果
入库整理是有一段进步的,最开始Excel作初始数据库整理。
后来数据量增大改用MySQL,Python2的第三方库是使用的MySQLdb。再而后弃用Python2改用Python3操做MySQL代码全改选用PyMySQL。
对于威胁情报收集来讲必定不可避免会遇到以下问题。
请求网络包的频率、数量,对网络和应用形成影响,交换机/路由器可能所以宕机,引起连锁反应,QPS太高可能超出服务的性能极限,致使业务中断;
业务没法正确处理请求包里的特殊输入,引起异常宕机,好比一个私有协议的服务也许只是碰巧监听在了TCP 80端口,收到一个HTTP Get请求就直接挂了;
请求公网的业务时,每个URL的探测,均可能形成一个40x或者50x的错误日志。而业务的正常监控逻辑正是用Access Log里的状态码来进行的。不作任何处理的话,忽然40x猛增,业务的SRE和RD必然要进行响应
不一样于执法机构,安全公司是没有权力去入侵网站来获取流量和服务器权限的。可是对于情报挖掘来讲,不入侵不等同于不探测,必需要经过人肉挖掘和分析的方式判断C2主机而后尝试关联攻击事件,内部数据库收集样本。
对于合法组织,业务受损害
对于安全公司,容易惹上没必要要争论
信息探测对于威胁情报挖掘也是必要引入的手段之一,经过流量还原大量PE,经过PE结构获取到C2,经过C2扩展信息。可是能够结合规则调整扫描策略。
变动计划: 扫描的时间、IP/URL/端口范围、QPS、测试用例集(有DoS的测试用例选择、有Delete/Update相关的资产选择、有POST隐蔽接口的选择)
变动风险评估:交换机路由器的流量和容量、业务的QPS、业务/网络挂掉的最极端风险评估
变动知会:业务的管理者、RD、SRE、DBA、QA甚至网络维护方、有关部门,是否知道上述全部关键信息,并受权赞成进行扫描
回滚计划:若是出了问题,怎么最快速的中止扫描和恢复业务(有些动做要上面的变动知情范围的关键干系人配合)
变动观察:执行扫描的时候,判断业务是否正常,判断APT组织的警戒性,以便在出问题的第一时间响应;
变动总结:灰度执行过程当中总结不到位的地方,在下一次工做中改进
漏洞扫描的一些运营常识
https://zhuanlan.zhihu.com/p/85736793
资产收集