作者:果胜
本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送!
投稿邮箱:paper@seebug.org

在SOC的实践中,对安全事件的跟踪以及威胁溯源是安全预警和防御的重要步骤。目前安全社区和白帽黑客建立了多种事件情报的分享渠道,其中社交媒体是非常重要的组成部分,有很多组织和个人通过各类社交APP发布恶意软件,安全事件,漏洞和利用工具的相关信息。故而目前许多安全人员都开始通过SOCMINT(社交媒体情报)来辅助威胁跟踪和预警工作。由于国内外的法律和文化不同,目前国内的微博更重于舆情、安全事件的发布,而推特更重于漏洞,恶意软件等技术信息的发布,在威胁跟踪时可以根据自身的具体需求选取,这里介绍一些twitter中进行威胁情报采集的方法。

twitter搜索语法

同google,github等平台的搜索功能类似,twitter也提供了搜索语法来进行高精度的搜索,这里是一些标准搜索语法:
- 搜索包含同时多个关键字的推文
keyword1 keyword2
- 精确搜索包含某一关键字的推文
"keyword"
- 并列搜索(包含一个或多个关键字)
keyword1 OR keyword2
- 搜索不包含某一关键字的推文
keyword1 -keyword2 (不包含keyword2) - 搜索某一hashtag的推文
keyword
- 搜索提到某一用户的推文
@keyword
- 搜索某一用户发布的推文
from:keyword
- 搜索发给某一用户的推文
to:keyword
- 使用指定过滤器进行搜索
keyword filter:{过滤器名称} (过滤器允许用户指定推文中是否包含视频/图片/链接等)
- 搜索包含关键字url的推文
keyword1 url:keyword2
- 搜索某一时刻之后发布的推文
keyword until:2020-01-01
- 搜索某一时刻之前发布的推文
keyword until:2020-01-01
- 搜索包含提问的推文
keyword ?
- 搜索积极/消极的推文
keyword :) keyword :(

在推特的企业级API和高级API中,还具备更多的搜索特性,例如可以基于地理位置和目标特性进行搜索,或将多个运算符连接为表达式进行复杂的搜索,具体可参见开发者中心的文档。

威胁情报搜索

在推特上目前已经形成了一些安全情报分享的特定账户和频道,结合推特搜索功能的语法,可以有效的汇总相关的信息,这里做一些介绍:

hashtag

电子取证
- DFIR
- digitalforensics
信息安全事件
- InfoSec - CyberSec
- cybersecurity
- Security
- infosec
- Cybersecurity
- NetworkSecurity - CyberIncident
- NetworkSec
- Infosec
- CISO
- CyberSafety
- Cyberattacks
安全运营
- SOC
- SecOps
恶意软件
- malware - ransomware
- MalwarePanelUpdate
- LokiBot
- DanaBot
- Quasar
- NanoCore
- njRAT
- Emotet
- Cerber
- AZORult - DarkComet
- Gh0st
数据泄漏
- opendir
- Login
- Credentials
- breach
- databreach
- Hacked
- PIIData
漏洞和补丁信息
- patches
- Exploit
- vulnerability
- 0day
- zeroday
- vulnerabilities
- CVE
暗网
- DarkWeb
- DEEPWEB
威胁情报 - IOC
- phishing
- Blueteam
- Honeypot
- DDoS
- threatintel
- threathunting
- threatdetection
- ThreatIntelligence
- botnet
- OSINT

推特支持多个hashtag的组合搜索,通过组合搜索可以用于处理一些hashtag的歧义(如#IOC)以进行对特定话题推文的定位。

基于关键字搜索推文

目前可以通过对已有的威胁情报文本资料建立词云来抽取搜索威胁情报所需的关键词。词云是通过对网络文本中出现频率较高的关键词进行统计产生的集合,python中的wordcloud库可以快速的完成词云的生成。

import wordcloud

txt = "文本信息"
w = wordcloud.WordCloud()
w.generate(txt)
w.to_file("wordcloud.png")

下图为一个简单的漏洞情报词云样例

此外,许多安全组织和会议也会对自身的资料生成词云并发布,可进行收集并作为关键词语料,如下:

通过对特定领域的漏洞文档和信息安全媒体报道进行词云提取,可以获取用于威胁情报收集所需的关键字,结合推特搜索语法进行组合搜索,即可通过推特采集各类威胁情报。

基于过滤器提取推文

受限与推特本身的文本长度限制,在推特上发布的信息中非常重要的部分为推文中包含的图片,视频,第三方链接等,对于包含此类信息的推文,可以通过搜索语法中的filter关键字实现精确搜索,如下:

  1. keyword filter:media 包含媒体报导的推文

  2. keyword filter:native_video 包含视频的推文

  3. keyword filter:images 包含图片的推文

  4. keyword filter:links 包含第三方链接的推文

对于一些与常见的威胁情报平台和网站相关的推文,可以基于url关键字进行精确搜索,如图:

获取了推文的内容后,即可利用iocextract等工具直接从推文中提取相应的IOC数据。

推特账户社交关系挖掘

推特也具有社交媒体的一般特征,即存在特定的用户群组联系,其中包含了关注,转发,点赞等常见操作。目前在github上存在许多twitter信息收集工具,例如tinfoleak等。此类工具通常通过web爬虫收集twitter数据,这种方法的优点在于不受api查询次数的限制,可以搜集大范围的用户群组数据,缺陷在于无法利用api的高级搜索能力精确定位特定的用户,在使用中可以根据自身实际需要适合的采集方式。利用networkX等库,可以对特定账户的社交关系进行网络建模和可视化处理,下图为对某个白帽黑客的推特关系网进行处理的结果:

在威胁情报的采集过程中,可以对特定目标递归的进行关系网的建立工作,从而建立一个重点关注的账户列表以高效的获取威胁情报,此外该方法也可以用于调查发送C&C指令的推特账户(不过由于国内的法律法规,此种用法较少)。

总结

本文简要叙述了目前应用在威胁情报收集中一些运用推特的方法和技术,其中的一些思路也可以应用在微博等类似的平台上,以提升安全人员在网络对抗中的情报能力。


Paper 本文由 Seebug Paper 发布,如需转载请注明来源。本文地址:https://paper.seebug.org/1231/