追踪溯源--抓住隐藏在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& ...
随机推荐
- android 屏幕上面画线
作业如下:在android屏幕上面任意画线 package feng.f121.drawline;//本人创建的包名,每人有每人的不同的包 import java.security.PublicKey ...
- NPN/PNP和N沟道/P沟道负载的接法
N沟道mos管和p沟道mos管负载的接法不一样,随意接的话导致VGS不满足条件:如下图N沟道接法,下拉电阻R2必须接,否则电路状态不稳定. 三极管原理类似如下图(满足三极管导通条件) NPN型三极管: ...
- unity, 欧拉角(euler angle)
1,按ZXY顺序. 2,左手螺旋. 3,Z,X,Y旋转均应以未旋转前的坐标系为准.
- Python操作列表常用方法
Python操作列表的常用方法. 列表常用的方法操作列表以及小例子: 1. Append 在列表末尾添加元素,需在列表末尾添加元素,需要注意几个点: A. append中添加的参数是作为一个整体 &g ...
- atitit.XML类库选型及object 对象bean 跟json转换方案
atitit.XML类库选型及object 对象bean 跟json转换方案 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的 1 2. 常见的xml方面的方法 2 2.1. ...
- delphi无边框可拖动窗体
unit UFrmModless; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...
- 01、Windows Phone 套接字(Socket)实战之交互设计
这个 Demo 主要使用 WP 中提供的 Socket 对象,来与 PC 端进行文字.文件的互相传输.因为在 WP 中系统 对存储的操作限制的比较多,例如,你把 .doc..txt..zip 等常见的 ...
- deb包的2种安装安装方法
一.cydia重启自动安装:用ifunbox进入//var/root/Media/Cydia/AutoInstallCydia/AutoInstall 需要分别单独建立,注意大小写.然后把你要安装的d ...
- [转]hadoop,spark,storm,pig,hive,mahout等到底有什么区别和联系?
摘自知乎大神的论述 作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有,转载请联系作 ...
- C++ 类的继承四(类继承中的重名成员)
//类继承中的重名成员 #include<iostream> using namespace std; /* 自己猜想: 对于子类中的与父类重名的成员,c++编译器会单独为子类的这个成员变 ...