追踪溯源--抓住隐藏在NAT后面的罪犯
零、绪论:
水一篇,很小,只是一点思路记录,在工作中经常遇到的一类小问题。NAT后面的地址如何追查下去,推动网络整改不现实,总还要有一些手段来确认。
一、背景:
全球IPv4地址越来越少,也越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址。在这种情况下,NAT技术诞生,传统NAT将内网发其的请求报文原地址转换成自己发往远端服务器,对回来的响应报文做反向处理,看起来有点类似于一个网络层的代理。当然也有把内网服务端口映射在公网出口地址上的,称作DNAT。这类技术在方便我们使用,节约成本,网络互联互通方面做了很多贡献。但是也带来一个严重的问题,就是追踪溯源难度变大,一旦藏在NAT后面,就是一个大的黑洞。
二、追踪溯源:
一般的溯源思路是,收到了监控告警或设备服务异常引发应急排查。首先确定攻击IP,一般Linux系统日志和WEB日志都能查到尝试攻击的IP。如果日志没有,也可以通过netstat或者抓包异常进程连接,确定对端IP(当然这个IP很可能经过多次NAT)。以上内容一般属于应急响应的范畴,主要目的是保障业务损失最小(定损止损),保留证据以便于后续进一步溯源。根据IP、域名等信息查询对端物理地址或具体攻击者、攻击组织是溯源的目标。除了使用威胁情报、DNS记录等手段做安全分析之外,对IP追踪就是一个大的问题。这里主要讲解如何查询NAT后面的真实IP。
三、技术手段:
1、直接证据类:
这个没办法,唯一的直接证据就是可信的NAT网络设备的日志,例如cisco的NAT映射关系:
#show ip nat translation
图片引自互联网
这是铁证,五元组齐全标明一条会话,源地址、源端口、目的地址、目的端口、协议。有了这个证据查询到转换的原始IP,继续追踪就可以了。
2、间接证据:
没有如此详细的日志记录,没有直接证据怎么办。还是有一些其他办法找到一些关联证据:
(1)例如看他还访问过其他的内部服务没有,是否有记录个人特征指纹数据的,例如同一时间段访问过QQ、邮箱、或其他带有身份验证的系统,去取下相关的身份信息。当然这需要内部其他多种安全防护和审计设备的配合与支持。这类主要针对内网或者内部人员发起的攻击比较有效,因为他的其他访问行为也可以被监控记录下来。
(2)观察时间段和频率,虽然没有对应映射关系,但是网络设备可能记录了类似一些日志信息。根据频率时间点吻合或相似的都具有较大的嫌疑。例如通过13:43:21.137发起了6次请求,同样的虽然NAT设备没有具体记录,但是在这个时间点前后,只有一个原始IP连续在极短时间内发起六次请求,那这个原始IP就有重大嫌疑。
(3)反向证据链:分析攻击手法,例如access-log显示user-agent或者其他一些cookie的值、或者扫描器、样本、域名特征啊等等。也可以帮助追查,缩小嫌疑人范围,反推攻击流程,再和仅有的NAT日志匹配。
追踪溯源--抓住隐藏在NAT后面的罪犯的更多相关文章
- 网络地址转换NAT的两种模式(概念浅析)& IP溯源
由于全球IPv4地址越来越少.越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址.在这种情况下,NAT技术诞生. 翻译 NAT( ...
- 转发 通过NAT和防火墙特性和TCP穿透的测评(翻译)
转自 http://blog.csdn.net/sjin_1314/article/details/18178329 原文:Characterization and Measurement of TC ...
- pycallgraph 追踪Python函数内部调用
安装 安装pycallgraph 安装依赖 使用 待测脚本 追踪脚本 追踪结果 高级篇 隐藏私密函数 控制最大追踪深度 总结 GitHub上好代码真的是太多了,名副其实的一个宝藏.但是最近自己也反思了 ...
- 黑白之间的FastFlux
DNS请求 通常我们对一个域名进行DNS请求,尤其是A记录,一般在一段时间内是不变的,其结果的异同也就是可能因地域而得到不同的结果.当然这个结果可能是个集合,也可能是一个IP地址.因为我们要考虑到CD ...
- CHIMA网络安全攻防大赛经验分享
比赛模式 第一轮:20分钟基础知识赛(50道题) 安全运维,法律法规,linux操作系统等 第二轮:50分钟CTF夺旗(5道题) 题目涵盖 密码学 运用多种工具,如ASCII对照,古典密码,凯撒密码, ...
- 【ARTS】01_39_左耳听风-201900805~20190811
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起
近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...
- 【应急响应】Windows应急响应入门手册
0x01 应急响应概述 首先我们来了解一下两个概念:应急响应和安全建设,这两者的区别就是应急响应是被动响应.安全建设是主动防御. 所谓有因才有果,既然是被动的,那么我们在应急响应的时候就得先了解 ...
- 带你读AI论文:NDSS2020 UNICORN: Runtime Provenance-Based Detector
摘要:这篇文章将详细介绍NDSS2020的<UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats& ...
随机推荐
- Spring Cloud 模块简介
Spring Cloud Netflix对微服务的支持还有: Hystrix: 断路器和资源隔离 Feign: 声明式HTTP REST请求客户端 Ribbon: 与Eureka结合实现软负载均衡 Z ...
- mysql innodb的重要组件
innodb包涵如下几个组件 一.innodb_buffer_pool: 1 它主要用来缓存数据与索引(准确的讲由于innodb中的表是由聚集索引组织的,所以数据只不是过主键这个索引的叶子结点). 二 ...
- Go语言核心之美 4.3-多返回值
在Go语言中.函数能够有多个返回值,这个特性我们已经在之前的样例见过非常多,非常多标准库函数都会返回两个值,一个是期望得到的函数执行结果,另外一个是函数出错时的错误值. 以下的程序是findlinks ...
- 【iOS开发之Objective-C】书签管理器项目
1.项目 新建一个书签管理器的项目,能够存储书签的网址.中文名.星级.訪问量和权限信息.具有增.删.改.查和排序的功能. 2.找对象,抽象类 书签管理器,书签管理器.书签管理器-- 多读几次书是不是 ...
- Eclipse发布安卓APK包无图标的解决方法
算是一个Bug,清空项目都不行. 解决方法是卸载掉项目,重新导入.
- Quartus调用Modelsim SE避免重复编译Altera器件库的方法
最近用Quartus 15.0配合Modelsim SE 10.4的64位版本,简直就是闪电一般的仿真速度.但是众所周知,SE版本最大的问题就是每次由Quartus自动调用时,都要重新编译所使用的器件 ...
- commit
git blame -L 260, 270 a.xml no permissions fastbootsudo chown root:root fastbootsudo chmod +s fast ...
- homebrew 无法安装,提示不能在根目录下使用
sudo chown -R $(whoami) /usr/local 把/use/local的owner換成自己,就有write權限了 whoami就是一個命令,會echo當前登錄用戶的名字.當然你知 ...
- Android——初学
- Unix domain socket IPC
UNIX Domain socket 虽然网络socket也可用于同一台主机的进程间通讯(通过lo地址127.0.0.1),但是unix domain socket用于IPC更有效率:不需要经过网络协 ...