场景
-
已知组织找最新存活的IOC资产(我们主动的找某APT组织去拓线,如海莲花组织,则针对性的根据海莲花组织获取最新活跃的样本) -
已知IOC拓线找该IOC对应组织最新存活资产(若是未知组织的IP,则直接跳到步骤二去确认组织归属。若是能确认组织,则可以直接去确认组织相关信息;若是未知组织或组织未被命名,则直接进行拓线)
样本获取渠道
一、情报网站
-
360APT全景雷达
-
天际友盟威胁情报中心_情报查询_情报订阅
-
奇安信威胁情报中心
-
安全星图平台
二、GitHub开源项目
https://github.com/stamparm/maltrailhttps://github.com/blackorbird/APT_REPORT
三、公众号APT组织分析文章
-
360威胁情报中心 -
腾讯安全威胁情报中心 -
奇安信威胁情报中心 -
绿盟科技威胁情报 -
安恒威胁情报中心 -
安天AVL威胁情报中心 -
威胁猎人Threat Hunter -
国家网络威胁情报共享开放平台 -
ThreatPage全球威胁情报
四、Twitter公开情报
-
Yogesh Londhe:https://x.com/suyog41 -
Cyber Team:https://x.com/Cyberteam008 -
Group-IB Threat Intelligence:https://x.com/GroupIB_TI -
Chris Duggan:https://x.com/TLP_R3D
https://bazaar.abuse.ch/browse/
https://app.any.run/
https://ata.360.net/
https://www.virustotal.com/gui/
https://s.threatbook.com/
▌确认IOC归属组织及组织相关信息
确认归属组织
一般优先选择将IP/域名在各个威胁情报平台查找,看是否有打威胁组织标签。另外,还提供一种辅助方法为直接Google搜索,此方法需人工验证。
常见威胁情报社区
获取组织的相关信息
-
组织名称:确定并记录APT组织的正式或别名。 -
来源:了解该组织的起源地、资助方等信息。 -
主要影响国家/地区:识别受影响最严重的地理位置。 -
影响行业:确定被攻击的主要领域,如政府、金融、能源等。 -
组织活跃时间:明确该组织的历史活动时期及其当前状态。 -
攻击方式:研究APT使用的特定技术和战术,如钓鱼邮件、零日漏洞利用、恶意软件等
▌拓线(IOC共同特征提取)
哪些字段可用于拓线
fid(FOFA聚合多个关键特征形成的唯一标识符。通过FID,用户可以快速找到具有相似特征的网站资产
)jarm(JARM 是一个活动的传输层安全 (TLS)服务器指纹识别工具)header_hash(FOFA的header_hash特征是指HTTP响应头信息的哈希值)body_hash (HTML正文计算的hash值)banner(协议banner信息)cert(证书)header(HTTP头信息)server(网站server)port(开放端口)icon_hash(标识设备的图标哈希值)certs_issuer_org(证书颁发者组织)certs_issuer_cn(证书颁发者通用名称)certs_subject_org(证书持有者组织)certs_subject_cn( 证书持有者通用名称)lastupdatetime(FOFA最后更新时间)tls_ja3s(JA3S 用于 SSL/TLS 通信的服务器端,指纹是使用 ServerHello 数据包中的属性 SSL 版本、密码和 SSLExtension生成的)tls_version(TLS 协议版本)
特征选取
特征的选取通常基于以下几个因素:
- 唯一性:选择那些能够独特标识APT组织活动的特征,以减少误报和提高准确性。
- 稳定性:选择那些不易频繁变化的特征,如某些特定的技术栈或服务配置。
- 可探测性:选择那些可以通过网络扫描或情报收集轻易探测到的特征。
- 相关性:选择与APT组织行为模式紧密相关联的特征。
-
证书特征:首先优先选取证书特征,因为证书信息相对稳定,不易频繁变化,可以作为APT组织资产识别的重要特征。证书提供了关于服务器身份的详细信息,包括颁发者、有效期、公钥等。证书的某些属性,如颁发机构(Issuer)和主题(Subject)中的组织名称,可以作为识别APT组织资产的重要线索。 -
TLS指纹:其次,选取TLS指纹,如JARM或JA3S指纹。这些指纹基于TLS握手过程中的详细信息,可以唯一标识一个服务器的TLS配置。TLS指纹可以帮助识别即使在IP地址或域名变化的情况下,仍然保持相同TLS配置的APT资产。 -
HTTP响应头特征:HTTP响应头特征,如Server头、Content-Type、Content-Length等。这些特征可以提供关于服务器软件、页面内容和响应大小的信息。通过分析这些特征,可以识别出与APT组织相关的特定服务器配置或行为模式并且这些信息相对稳定,易于通过网络扫描探测到。 -
HTTP响应Banner特征:Banner特征,如HTTP响应中的服务版本信息,也可以作为识别APT资产的线索。这些信息可能在APT组织的攻击基础设施中保持一致,从而帮助识别相关的资产。
1. 基于证书的指纹关联
-
Issuer (证书的发布机构) -
Valid from , Valid to (证书的有效期) -
Public key (公钥) -
Subject (证书所有者) -
Signature algorithm (签名所使用的算法) -
Thumbprint, Thumbprint algorithm (指纹以及指纹算法)
2. 基于TLS指纹关联
-
JA3方法用于收集Client Hello数据包中以下字段的十进制字节值:版本、可接受的密码、扩展列表、椭圆曲线密码和椭圆曲线密码格式,有助于识别客户端。JA3/S方法用于 SSL/TLS 通信的服务器端,指纹是使用 ServerHello 数据包中的属性 SSL 版本、密码和 SSLExtension生成的。JA3、JA3/S主要基于流量,服务器面对不同客户端产生不同的JA3S指纹。 -
JARM则是完全主动的扫描并生成指纹,服务器可以生产唯一的JARM指纹。是一个活动的传输层安全 (TLS)服务器指纹识别工具,可以快速验证组中的所有服务器是否具有相同的 TLS 配置。
3. 基于Header的指纹关联
-
Content-Type:代表内容的媒体类型和编码格式。 -
Content-Length:表示传输的请求/响应的Body的长度。 -
Server:用于返回服务器相关的软件信息。 -
header_hash:将HTTP或HTTPS响应头信息去掉value值后生成一个hash值。
HEDnsExtractor -target 206.188.196.37-silent | httpx -title -tech-detect -location -radom-agent -silentHEDnsExtractor -target 206.188.196.37-silent 针对目标ip206.188.196.37获取与该 IP 地址相关联的域名信息,同时减少输出的冗余信息。httpx -title -tech-detect -location -radom-agent -silent 识别刚刚所得域名的标题、网站指纹、重定向位置,同时随机化User-agent模拟正常的用户行为。-title 显示网站标题-tech-detect 显示基于wappalyzer的探测网站指纹-location 显示重定向的location头-radom-agent 代理-silent 简洁模式
http://hmaajijghahmhij.top [http://www.google.com] [Nginx 1.18.0,Ubuntu]http://mjjagccfegadkej.top [http://www.google.com] [Nginx 1.18.0,Ubuntu]
组织均为“BLNWX”http响应的重定向位置均为"Location: http://www.google.com"server均为nginx/1.18.0 (Ubuntu)域名不为空
org="BLNWX" && header="Location: http://www.google.com" && header="Server: nginx/1.18.0 (Ubuntu)" && domain!=""
4. 基于Banner的指纹关联
5. 基于端口的指纹关联
icon_hash="-1438236046"
目标上开放22端口banner中含有"SSH-2.0-OpenSSH_6.7p2"
fofa search -i 1.txt --template"ip={} && port=22 && banner=SSH-2.0-OpenSSH_6.7p2" -o 2.csv## -i 批量搜索的ip文件##-template 批量搜索## -o 输出文件
通用思路
IOC:
neger[.]site
semain[.]tech
HTTP/1.1 404 Not Found
Content-Type: text/html
jarm="3fd3fd0003fd3fd21c3fd3fd3fd3fd703dc1bf20eb9604decefea997eabff7"
jarm="3fd3fd0003fd3fd21c3fd3fd3fd3fd703dc1bf20eb9604decefea997eabff7" && header="HTTP/1.1 404 Not Found" && header="Server: nginx" && header="Content-Type: text/html" && (header="Content-Length: 183" || header="Content-Length: 535")
误报情况判断
1. 数据量过大
2. 存在明显误报
国内的IP
3. 拓线结果与组织活跃时间差距大
4. 情报社区覆盖低或无覆盖
去除误报
1. 重新调整FOFA字段或取交集
C2:45.133.216[.]15:3000
banner="x15x03x03x00x02x022" && port="3000"
banner="x15x03x03x00x02x022" && port="3000" && cert="Internet Widgits Pty Ltd"
cert="Internet Widgits Pty Ltd" && cert="2023-06-23 15:59 UTC"
banner="x15x03x03x00x02x022" && port="3000" && cert="Internet Widgits Pty Ltd" && cert="2023-06-23 15:59 UTC"
2. 路径碰撞
IP138.201.8[.]186FOFA语法header="404 Not Found" && header="Transfer-Encoding: chunked" && header="Server: Microsoft-IIS" && icon_hash="" && title="" && header_hash="-324809210"
fofax -q 'header="404 Not Found" && header="Transfer-Encoding: chunked" && header="Server: Microsoft-IIS" && icon_hash="" && title="" && header_hash="-324809210"' -fs 10000 | httpx -path /api/check -sc -cl -mc 200 --ml 355#-fs 返回结果数量#-path 要探测的路径#-sc 显示响应的状态码#-cl 显示响应从内容长度#-mc 匹配具有指定状态码的响应#-ml 匹配具有指定内容长度的响应
3. 逆向分析
跳到声明GConfig.PT_PACKAGE_NAME的地方,PT_PACKAGE_NAME字段通过拼接的方式获取最终包名,经过拼接显示该包名为com.video.graphics,因此该应用会检测是否安装了另一个app,如果没有安装则提示更新为用户下载com.video.graphics并安装,行为模式一致,所以不用做进一步的分析了。
4. 其他情况
▌验证拓线结果
统计学
banner="HTTP/1.1 404 Not Found" && banner="Server: nginx" && (port="4443" || port="8443") && banner="Content-Length: 146" && banner="Content-Type: text/html; charset=utf-8" && jarm="21d19d00021d21d00042d43d0000005ad20eceaf7f71ae0887d2ff117bf97f" && country!="CN"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
▌总结
▌References
-
https://ti.qianxin.com/blog/articles/new%20-trend-in-msi-file-abuse-new-oceanlotus-group-first-to-use-mst-files-to-deliver-special-trojan-cn/ -
https://mobile.x.com/Cyberteam008/status/1789156897318207976 -
https://github.com/projectdiscovery/nuclei-templates/tree/main/network/jarm/c2 -
https://github.com/FofaInfo/GoFOFA -
FOFA资产拓线实战系列:响尾蛇APT组织 -
FOFA资产拓线实战系列:COLDRIVER -
FOFA资产拓线实战系列:Ducktail犯罪组织 -
FOFA资产拓线实战系列:APT-C-23 Android端
原文始发于微信公众号(扫地僧的茶饭日常):APT拓线学习路线
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论