为期20天的某行动终于结束,期间见识到不少攻方大佬的神仙操作,也从我方大佬学习到不少防守/应急方面的知识。为此我打算梳理下近期学习/感悟到的一些知识点。
资产整理阶段
- 资产整理
初期的资产整理相当重要,尤其需要联合企业对内网系统的(网站名/域名/ip/框架/脚本/中间件/版本号/系统/补丁情况)等一系列资产信息做成excel表,方便进入正式防守阶段的应急响应/问题定位速度。
高亮标注互联网资产,方便应对初期的外部攻击。
- 划分好内网情况
各个网段对应的办公区域
如:
10.1.2 对应开发部
10.1.3 对应营销部
防守阶段
提高防守效率
首先作为防守方,由于被动获取信息量太过庞大。为此我们只能通过查看apt、ips、ids、大数据等感知设备的告警方式,来识别攻击行为。但是在一家大企业里面,可能会用到多家公司的设备,那么频繁切换设备页面查看报警信息无疑会浪费大量时间。此时我们应当编写个整合apt/ips/大数据的报警信息的定时刷新脚本,来方便对告警信息监控(由于比较懒,就写了几个简易脚本分屏监控)。
ps:如果作为完整的监控一体化脚本的话推荐加入(误报去除/攻击ip地址聚合/ua等特征识别/ip频率统计)
1 | import requests |
提高攻击识别率
单看告警信息的话我们会忽略很多信息。比如处在第一步信息搜集阶段的目录扫描/域名扫描/账号变更的爆破尝试。
基于上述问题我在防守中想到的简单应对方式:
0x00 日志筛选。
如我们防守网站为java框架,日志访问信息中出现.php/.aspx文件访问请求,说明这些请求为目录扫描请求。
曾在防守时候见到一大串的.php文件扫描请求,根据导出日志进行筛选匹配,发现攻击者使用御剑进行目录扫描,由此我们可以在筛选中加入一些御剑里特有的目录进行防御。同时该类扫描会使用PUT请求来发送,在核实业务里面不存在该类请求方式后也可将PUT/DELETE…该类请求加入黑名单。
0x01 频率统计
攻击者可能在漏洞发现阶段对一个系统进行大量重复性的测试,而该类请求又不包含敏感操作,此时我们可以简单的对全天/指定时间段内日志进行导出,放入excel进行来源ip次数统计,统计数值大的可以认定为恶意ip。
同理可以对已知恶意ip做一个聚类分析,在防守阶段我们发现针对我们的攻击ip显著分布于北京/江苏地区,且大量ip来源于一个小众idc。
0x02 来源ip的反查
借助ip反查whois等网站接口实现自动的反查ip关联信息。
在防守中遇到有老哥使用自己的vps,同时vps上绑定过相关域名信息,此时可以通过获取到的相关邮箱等信息进行一波反向社工
0x03 ua的识别
有些使用脚本的老哥可能忘记在脚本里面加入ua导致默认请求里面包含python-request头。
或者这些老哥没有引入随机ua头,导致相关的攻击行为容易通过ua特征识别出来。
ps:这些攻击者特别喜欢使用mac os,见到mac的ua头可以留意一下
应急
终端主机发现问题:
- 先断网
- 保持开机
- 等待从业人员现场分析
如确定相关病毒文件后:
在线沙箱丢进去分析一下
先查看设备开放端口 netstat -ano | more
使用DNSQuerySniffer查看可疑的域名
借助LiveTcpUdpWatch将可疑域名与pid对应起来
安装sysmon 配置方式sysmon.exe -i -accepteula -h md5 -n -l
(ps:可以将sysmon名称和资源更改为qq等常用软件名字逃过恶意软件反侦察)
在事件查看器-应用程序和服务日志-\Microsoft\windows\sysmon 中打开optional查看进程创建相关。追溯到原始恶意文件
蜜罐的使用
蜜罐可采用内外双布局的方式,布局内网有效感知内网横向攻击行为。布局外网的话可以使用mysql反读文件/页面嵌入js调用各社交网站的api来获取攻击者的相关信息。
学到的攻击思路
0x00 针对钓鱼的思路
ps:被第一天的反钓思路秀到。
正常的钓鱼思路可以:
- 廉价的钓鱼
将exe或相关执行文件的图标伪造成excel,文件名.docx.exe 此方法无需相关0day漏洞及具有一定迷惑性。
- 在邮件中引入url
使用相似域名做钓鱼系统,具体参考:unicode相关编码伪造成与目标域名相类似的地址进行钓鱼
- 增加钓鱼成功率
钓鱼登录界面加入错误提示,用来收集多个用户密码
0x01 其他
某些防御设备会报爬虫行为,在开始信息搜集阶段,可以将ua伪造成google/360/sougou等搜索引擎爬虫,并混入正常流量,将扫描目录/子域名的行为伪装为爬虫所干。
弱口令命名格式:xx@年份 如:admin@2010 、 admin@2011.、Aalibaba123456、
绕过思路:
1. 请求头里面加命令 payload函数调用请求头绕waf
2. 和xss localtion 一个思路截取 ;后url来绕waf
github搜邮箱/各种搜邮箱猜解密码进去
CSDN搜索开发ID、邮箱、qq
没安装控件可能页面空白
webshell使用冰蝎
目录中查找相对于开发测试环境xxxx/v4/
0x02 其他大佬那看到的思路
该自动化就去自动。# 用nessus配置规则去识别资产信息,这个确实秀的我一脸,以前一直不太注意nessus,这次大佬用这个斩获了一个2000多分漏洞,滋滋滋 !get到了。
多注意边缘文件,越是端口号靠后的越要注意。1级目录不行那就2级,2级不行就3级,总会搞到点意外的东西。
在内网横向的时候,ICMP和广播地址结合来扫描局域网内的所有主机。 # 这个操作也是秀的我头皮发麻,详情可以去看看tcpping这个工具,使用的ICMP的特性,穿透防火墙/过滤。