零、绪论:

  水一篇,很小,只是一点思路记录,在工作中经常遇到的一类小问题。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后面的罪犯的更多相关文章

  1. 网络地址转换NAT的两种模式(概念浅析)& IP溯源

    由于全球IPv4地址越来越少.越来越贵,因此大到一个组织,小到一个家庭一个人都很难获得公网IP地址,所以只能使用内网地址,从而和别人共享一个公网IP地址.在这种情况下,NAT技术诞生. 翻译 NAT( ...

  2. 转发 通过NAT和防火墙特性和TCP穿透的测评(翻译)

    转自 http://blog.csdn.net/sjin_1314/article/details/18178329 原文:Characterization and Measurement of TC ...

  3. pycallgraph 追踪Python函数内部调用

    安装 安装pycallgraph 安装依赖 使用 待测脚本 追踪脚本 追踪结果 高级篇 隐藏私密函数 控制最大追踪深度 总结 GitHub上好代码真的是太多了,名副其实的一个宝藏.但是最近自己也反思了 ...

  4. 黑白之间的FastFlux

    DNS请求 通常我们对一个域名进行DNS请求,尤其是A记录,一般在一段时间内是不变的,其结果的异同也就是可能因地域而得到不同的结果.当然这个结果可能是个集合,也可能是一个IP地址.因为我们要考虑到CD ...

  5. CHIMA网络安全攻防大赛经验分享

    比赛模式 第一轮:20分钟基础知识赛(50道题) 安全运维,法律法规,linux操作系统等 第二轮:50分钟CTF夺旗(5道题) 题目涵盖 密码学 运用多种工具,如ASCII对照,古典密码,凯撒密码, ...

  6. 【ARTS】01_39_左耳听风-201900805~20190811

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 威胁快报|挖矿团伙8220进化,rootkit挖矿趋势兴起

    近日,阿里云安全团队发现8220挖矿团伙为了更持久的驻留主机以获得最大收益,开始使用rootkit技术来进行自我隐藏.这类隐藏技术的使用在watchdogs等挖矿蠕虫使用后开始出现逐渐扩散和进化的趋势 ...

  8. 【应急响应】Windows应急响应入门手册

    0x01 应急响应概述   首先我们来了解一下两个概念:应急响应和安全建设,这两者的区别就是应急响应是被动响应.安全建设是主动防御.  所谓有因才有果,既然是被动的,那么我们在应急响应的时候就得先了解 ...

  9. 带你读AI论文:NDSS2020 UNICORN: Runtime Provenance-Based Detector

    摘要:这篇文章将详细介绍NDSS2020的<UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats& ...

随机推荐

  1. android 屏幕上面画线

    作业如下:在android屏幕上面任意画线 package feng.f121.drawline;//本人创建的包名,每人有每人的不同的包 import java.security.PublicKey ...

  2. NPN/PNP和N沟道/P沟道负载的接法

    N沟道mos管和p沟道mos管负载的接法不一样,随意接的话导致VGS不满足条件:如下图N沟道接法,下拉电阻R2必须接,否则电路状态不稳定. 三极管原理类似如下图(满足三极管导通条件) NPN型三极管: ...

  3. unity, 欧拉角(euler angle)

    1,按ZXY顺序. 2,左手螺旋. 3,Z,X,Y旋转均应以未旋转前的坐标系为准.

  4. Python操作列表常用方法

    Python操作列表的常用方法. 列表常用的方法操作列表以及小例子: 1. Append 在列表末尾添加元素,需在列表末尾添加元素,需要注意几个点: A. append中添加的参数是作为一个整体 &g ...

  5. atitit.XML类库选型及object 对象bean 跟json转换方案

    atitit.XML类库选型及object 对象bean 跟json转换方案 1. XML类库可以分成2大类.标准的.这些类库通常接口和实现都是分开的 1 2. 常见的xml方面的方法 2 2.1.  ...

  6. delphi无边框可拖动窗体

    unit UFrmModless; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...

  7. 01、Windows Phone 套接字(Socket)实战之交互设计

    这个 Demo 主要使用 WP 中提供的 Socket 对象,来与 PC 端进行文字.文件的互相传输.因为在 WP 中系统 对存储的操作限制的比较多,例如,你把 .doc..txt..zip 等常见的 ...

  8. deb包的2种安装安装方法

    一.cydia重启自动安装:用ifunbox进入//var/root/Media/Cydia/AutoInstallCydia/AutoInstall 需要分别单独建立,注意大小写.然后把你要安装的d ...

  9. [转]hadoop,spark,storm,pig,hive,mahout等到底有什么区别和联系?

    摘自知乎大神的论述 作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有,转载请联系作 ...

  10. C++ 类的继承四(类继承中的重名成员)

    //类继承中的重名成员 #include<iostream> using namespace std; /* 自己猜想: 对于子类中的与父类重名的成员,c++编译器会单独为子类的这个成员变 ...