如何防止溯源以及反溯源

温故而知新。

  • 资料均来自互联网以及个人整理,仅用作学习用途,禁止非法利用,详情《网络安全法》。
  • 如有侵权,联系删除,感谢!

溯源

网络攻击溯源技术通过综合利用各种手段主动地追踪网络攻击发起者、定位攻击源,结合网络取证和威胁情报,有针对性地减缓或反制网络攻击,争取在造成破坏之前消除隐患,在网络安全领域具有非常重要的现实意义。

攻击溯源技术,国外又被称为“Threat Hunting”,是为了应对外部APT攻击者和内部利益驱动的员工威胁而提出的一种解决方案。威胁狩猎[4]技术不被动地等待与响应,而是通过持续性监测技术,更早、更快地检测和发现威胁,并追踪威胁的源头。威胁狩猎技术强调用攻击者的视角来检测攻击,减少攻击者驻留时间,从而显著地改善组织的安全状况。放眼世界,包括FireEye等为代表的厂商以及越来越多的大型组织也开始进行威胁狩猎。

工具

安全分析师需要检查系统和网络上发生的历史操作记录和当前状态详细信息,因此需要依靠多种工具和数据源来协助溯源分析,常用的工具包括:

  1. 安全监控工具:安全分析师使用不同来源的监控数据,例如防火墙、终端防护、网络入侵检测、内部威胁检测以及其他安全工具的监控数据,用以描绘驻留在网络中的攻击者所进行的活动。

  2. 可视化分析工具:帮助安全分析师通过使用交互式仪表板来实现复杂关系数据可视化,发现不同数据集之间的隐藏关联关系。

  3. SIEM解决方案:SIEM解决方案从网络环境中的各种来源收集结构化日志数据,提供对数据的实时分析并向相关部门发出安全警报。SIEM解决方案可帮助安全分析师自动收集并利用来自安全监视工具和其他来源的大量日志数据,从而识别潜在安全威胁。

  4. 网络威胁情报:威胁情报提高了分析人员识别相关威胁并及时做出响应的能力,通过开源的威胁情报库实现信息交换,得到威胁分析所需的恶意IP地址、恶意软件哈希值等信息。

  5. 其他工具:一些特定功能的分析工具对攻击溯源也有很好的帮助,例如检查PDF操作、PowerShell操作等。


上面的说的太官方了,贴一个比较通俗易懂的。

被攻击后溯源:

出现异常的时间点(非常重要)、异常服务器的主要业务情况、大致的一个网络拓扑是不是在DMZ区、是否可以公网访问、开放了那些端口、是否有打补丁、使用了怎么样的一个web技术、最近是否做过什么变更、有没有什么安全设备之类的。

根据收集到的信息,往往可以得出了几种可能。一个web服务器公网可以访问出现了被挂黑链的事件使用了s2框架,那么初步可以怀疑是s2-045 s2-046之类的命令执行漏洞了;如果一台公网服务器没有安装补丁又没有防火墙防护,administrator的密码为[email protected]那么有很大的可能性是被暴力破解成功;后面的工作主要就是收集各种资料证明这一猜想即可。

攻击源捕获

安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等
日志与流量分析,异常的通讯流量、攻击源与攻击目标等
服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等
邮件钓鱼,获取恶意文件样本、钓鱼网站URL等
蜜罐系统,获取攻击者行为、意图的相关信

基于日志的溯源(Web 系统被攻击)

使用路由器、主机等设备记录网络传输的数据流中的关键信息(时间、源地址、目的地址),追踪时基于日志查询做反向追踪。

这种方式的优点在于兼容性强、支持事后追溯、网络开销较小。但是同时该方法也受性能、空间和隐私保护等的限制,考虑到以上的因素,可以限制记录的数据特征和数据数量。另外可以使用流量镜像等技术来减小对网络性能的影响。

常见几个中间件的日志如下:

1.apache的日志路径一般配置在httpd.conf的目录下或者位于/var/log/http

2.IIS的日志默认在系统目录下的Logfiles下的目录当中

3.tomcat 一般位于tomcat安装目录下的一个logs文件夹下面

4.Nginx日志一般配置在nginx.conf或者vhost的conf文件中

日志一般以日期命名,方便后续审计与安全人员进行分析。

主机系统、数据库系统

Linux:

/var/log/auth.log 包含系统授权信息,包括用户登录和使用的权限机制等信息

/var/log/lastlog 记录登录的用户,可以使用命令lastlog查看

/var/log/secure 记录大多数应用输入的账号与密码,登录成功与否

/var/log/cron 记录crontab命令是否被正确的执行

Windows:

Windows平台下面的溯源就相对容易一些当然主要还是依靠windows的日志一般用 eventvwr命令打开事件查看器。默认分为三类:l应用程序、安全、性统 以evt文件形式存储%systemroot%\system32\config目录:

合理使用筛选器往往可以帮助我们更好的排查日志,比如怀疑是暴力破解入侵的筛选事件ID == 4625审核失败的日志,后续通过对时间的排查、以及源IP地址、类型与请求的频率进行分析来判断是否是来源于内网的暴力破解。

通过系统内部的日志来判断是否是恶意进程的运行状态。

如下图是一个典型的SMB认证失败的情况:

然后就是Windows 补丁了。

路由输入调试技术

在攻击持续发送数据,且特性较为稳定的场景下,可以使用路由器的输入调试技术,在匹配到攻击流量时动态的向上追踪。这种方式在DDoS攻击追溯中比较有效,且网络开销较小。

分析模型——杀伤链模型&钻石模型

杀伤链这个概念源自军事领域,它是一个描述攻击环节的模型。一般杀伤链有认为侦查跟踪(Reconnaissance)、武器构建(Weaponization)、载荷投递(Delivery)、漏洞利用(Exploitation)、安装植入(Installation)、通信控制(Command&Control)、达成目标(Actions on Objective)等几个阶段。

钻石模型由网络情报分析与威胁研究中心(The Center for Cyber Intelligence Anaysis and Threat Research,CCIATR)机构的Sergio Catagirone等人在2013年提出。

该模型把所有的安全事件(Event)分为四个核心元素,即敌手(Adversary),能力(Capability),基础设施(Infrastructure)和受害者(Victim),以菱形连线代表它们之间的关系,因而命名为“钻石模型”。

杀伤链模型的特点是可说明攻击线路和攻击的进程,而钻石模型的特点是可说明攻击者在单个事件中的攻击目的和所使用攻击手法。

关联分析方法

关联分析用于把多个不同的攻击样本结合起来。

文档类(比如钓鱼,附件等。

  • hash
  • ssdeep
  • 版本信息(公司/作者/最后修改作者/创建时间/最后修改时间)

行为分析

基于网络行为,类似的交互方式

可执行文件相似性分析

  • 特殊端口
  • 特殊字符串/密钥
  • PDB文件路径
    • 相似的文件夹
  • 代码复用
    • 相似的代码片段

案例

bypass 师傅博客

案例一:邮件钓鱼攻击溯源

1
2
3
攻防场景:攻击者利用社会工程学技巧伪造正常邮件内容,绕过邮件网关的查杀,成功投递到目标邮箱,诱骗用户点击邮件链接或下载附件文件。
信息收集: 通过查看邮件原文,获取发送方IP地址、域名后缀邮箱、钓鱼网站或恶意附件样本等信息。
溯源方式:第一种,可以通过相关联的域名/IP进行追踪;第二种,对钓鱼网站进行反向渗透获取权限,进一步收集攻击者信息;第三种,通过对邮件恶意附件进行分析,利用威胁情报数据平台寻找同源样本获取信息,也能进一步对攻击者的画像进行勾勒。

案例二:Web入侵溯源

1
2
3
攻防场景:攻击者通过NDAY和0DAY漏洞渗入服务器网段,Webshell 触发安全预警或者威胁检测阻断了C&C域名的通讯。
溯源方式:隔离webshell样本,使用Web日志还原攻击路径,找到安全漏洞位置进行漏洞修复,从日志可以找到攻击者的IP地址,但攻击者一般都会使用代理服务器或匿名网络(例如Tor)来掩盖其真实的IP地址。
在入侵过程中,使用反弹shell、远程下载恶意文件、端口远程转发等方式,也容易触发威胁阻断,而这个域名/IP,提供一个反向信息收集和渗透测试的路径。

案例三:蜜罐溯源

1
2
攻防场景:在企业内网部署蜜罐去模拟各种常见的应用服务,诱导攻击者攻击。
溯源方式:在攻击者入侵蜜罐时,蜜罐可以记录攻击者的入侵行为,获取攻击者的主机信息、浏览器信息、甚至是真实 IP及社交信息。

阿里云安全中心的案例

(其实是一个产品,不过这个图片思路值得学习)

  • 蠕虫传播事件

下图描述了蠕虫传播源(例如:185.234.*.*)通过SSH暴力破解成功登录到服务器,并通过bash执行curl指令从远端下载挖矿程序并在服务器中执行该挖矿程序。

  • Web漏洞入侵事件

下图描述了黑客通过服务器(例如:202.144.*.*)发起攻击,通过Web漏洞向Linux服务器植入恶意shell脚本和挖矿程序,同时将代码写入计划任务(crond)实现攻击持久化。您可以通过溯源页面的节点信息,清晰地了解这一过程。此外,还可以观察到攻击者的多个IP及恶意下载源URL信息。

由WebShell 溯源攻击者的入侵途径

https://www.sec-un.org/by-webshell-intrusion-way-to-trace-the-attacker/

反溯源(溯源反制)

ip 定位技术

1
2
根据IP定位物理地址—代理IP
溯源案例:通过IP端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息

id 追踪

1
2
ID追踪术,搜索引擎、社交平台、技术论坛、社工库匹配
溯源案例:利用ID从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息

网站url

1
2
域名Whois查询—注册人姓名、地址、电话和邮箱。—域名隐私保护
溯源案例:通过攻击IP历史解析记录/域名,对域名注册信息进行溯源分析

但是一般技术人员应该都是静态博客吧,hexo 这些。

恶意样本

1
2
提取样本特征、用户名、ID、邮箱、C2服务器等信息—同源分析
溯源案例:样本分析过程中,发现攻击者的个人ID和QQ,成功定位到攻击者。

社交账号

1
2
基于JSONP跨域,获取攻击者的主机信息、浏览器信息、真实 IP及社交信息等
利用条件:可以找到相关社交网站的jsonp接口泄露敏感信息,相关网站登录未注销

攻击者画像

攻击路径

1
2
3
攻击目的:拿到权限、窃取数据、获取利益、DDOS等
网络代理:代理IP、跳板机、C2服务器等
攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等

攻击者身份画像

1
2
3
4
虚拟身份:ID、昵称、网名
真实身份:姓名、物理位置
联系方式:手机号、qq/微信、邮箱
组织情况:单位名称、职位信息

案例

社工

钓鱼邮件

防守组织架构

1、已知漏洞:演习之前,我们做了众测、红蓝对抗,发现了一些安全问题。相信这些问题,可能提前被某些攻击者已经掌握,于是将计就计,我们把这类漏洞做成诱饵。例如 shiro漏洞,springboot 的 actuator 监控等。

2、热门漏洞:今年演习一波三折,第一天爆出了几十个0day,何不将计就计?利用这些漏洞来做诱饵呢,配上一些历史域名、欺骗域名服用,效果更佳。例如用 vpn.b.cn 运行某服 VPN 程序。

3、产品特性:蜜罐厂家都有各自的特色。比如 A 家有Mysql 反制蜜罐,B家有RDP反制蜜罐,这些都可以合理搭配使用。

溯源反制总结

参考:https://www.secrss.com/articles/27611

如何防止溯源(红队角度)

前面两点都是蓝队角度。说说红队如何防止被溯源吧。

任何需要认证的地方,不用自己真实的,也不用任何和公司有关的名词。

任何需要交互操作的地方,都需要挂上全局代理,尽量不用暴露自己的真实ip,其次,警惕蜜罐,就那种看起来都多漏洞的站点,直接访问跳到后台,然后admin、123456就进去这种,稍微注意一下。

任何服务器,C2、文件服务器,扫描器,都要特殊用途特殊操作。

不开无用端口。

即:匿名性、专业性、精细化


别信所谓的绝对无后门,只不过是你发现不了。

很多神器没有办法自己开发也只能将就着用

所以我们为了避免信息泄露重

要文件绝对不能放在攻击机上。

(1)所有工作均在虚拟机进行

(2)流量统一经网关走VPN进出

(3)不同需求分配不同虚拟机

(4)文件独立

(5)全盘加密&拒绝弱密码

VPN

真实APT的话,那肯定是高匿名性的。但是作为演习,一般就行了。

  1. 线路匿名

(1)网络接入点匿名

(2)途径节点匿名且加密

(3)使用的公网服务器匿名

  1. 网络接入点匿名

安全操作恶习

(1)图省事物理机连VPN直接搞

这种情况基本意味着你没啥匿名可言

而且一般这么做的人

各种黑客软件也是直接在物理机运行。

妥妥的成别人肉鸡,还是会自觉上线的那种。

简直萌萌哒

(2)账户混用

比如在项目A中用了一个匿名邮箱

或者其他什么账户。

在项目B中继续使用。

这样的话有关机构很容易

根据这个邮箱把你的足迹关联起来

由B挖出A,可能你在B项目中其他都做得很好

没给别人机会追查你,但是

项目A由于是你早期做的项目

漏洞百出,给了他们追查你的机会。

(3)公私不分

最常见的就是随手把项目截图之类的东西

经由私人账户发到QQ微信

此外还有用私人邮箱,

手机号发送文件和信息。接收验证码之类。

(4)留特征值,这点多见于自写工具

(5)电脑不关机就离开

(6)黑页

(7)密码通用

(8)早期目标调研的时候用真实IP去访问

反蜜罐

有插件、也可以自己判断是否为蜜罐。

最好的方式是把浏览器中的登录记录给删点。或者是在虚拟机中操作。

清除日志方式

  • kill <bash process ID> 不会存储
  • set +o history 不写入历史记录
  • unset HISTFILE 清除历史记录的环境变量

还有更多。

参考

https://help.aliyun.com/document_detail/99611.html

https://www.secrss.com/articles/26264

https://www.cnblogs.com/xiaozi/p/13817637.html

https://websec.readthedocs.io/zh/latest/defense/forensic.html

https://www.freebuf.com/articles/network/202168.html

https://www.sec-un.org/by-webshell-intrusion-way-to-trace-the-attacker/

https://zhuanlan.zhihu.com/p/26217643

https://www.anquanke.com/post/id/197104

https://www.secrss.com/articles/27611

https://x.threatbook.cn/

Author: m0nk3y
Link: https://hack-for.fun/49b7.html
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.