一、事件起因

客户向公司反映使用IDS设备捕获到木马上线域名需要处理,虽然是逆向岗但还是有预感未来应急响应的工作只会越来越多。所以作为新人的我选择了跟带头BOSS去现场学习,并且将自己参与应急响应中的工作和思路进行记录。

二、前置知识

  • 1)动态域名解析

    用户每一次上网时运营商都会随机分配一个IP地址。安装在用户主机里的动态域名软件会把这个IP地址发送到动态域名解析服务器。Internet上的主机要访问这个域名时动态域名解析服务器会返回当前用户主机IP地址给它。 这就叫动态域名解析。

  • 2)木马类型

    木马控制就是开启一个端口,双方主机建立网络连接成功后,传送控制命令实现控制受害者主机的目的。其中有两个概念:正向连接和反向连接。

正向连接:恶意程序在受害者的主机上监听个端口,而攻击者通过这个端口去连接受害者的主机。这要求受害者IP不变的情况下,才能够连接他。

反向连接:在攻击者主机上监听个端口,然后由受害者主机来访问攻击者主机。就算受害者主机的IP怎么改变,也可以达到控制的目的。

  • 3) 木马上线连接方式

    当前木马为了增加隐蔽性和反追踪能力,上线方式会采用第三方域名进行通信。

    被控制端首先访问动态域名,动态域名中指向控制端的真实IP。使被受害主机与攻击者主机连接,再由控制端发送控制命令。

常见上线方式:HTTP、FTP、DNS、第三方网站(Qzone、csdn等)、IP

上线的流程是被控端访问动态域名获取控制端主机真实IP,建立连接后控制端可向被控端发送控制命令。(被控端指的是受害者的主机,控制端指的是攻击者主机)

图1 木马上线简图

三、处理过程

经过与客户单位负责人沟通中得知这几个月IDS断断续续的时间里捕获到f33**88.3322.org这个域名,而这个域名被IDS设备报为木马动态域名。

但由于受攻击单位的主机是统一配置DNS服务器(10.0.0.13)进行解析上网的,所以IDS抓到的发包主机IP其实是DNS服务器的IP(10.0.0.13)。

期间因为攻击者的木马动态域名一直没有解析过,所以IDS无法查出到底是哪台主机中了木马。

图2 木马动态域名无法解析

客户单位负责人希望我们能够定位到内网中毒的主机IP,还有对木马的行为做分析,确定业务受影响的情况。

经过交流后我们决定采用两种方式对中毒主机的IP进行定位。

  • 1.导出IDS设备的回显日志,定位中毒主机位置

  • 2.在单位中的DNS服务器抓取数据包

2.1 导出IDS设备的回显日志,定位中毒主机位置

因为中毒主机向外发送数据一定会经过DNS服务器,流程如下:

中毒主机向外发送请求 ---> DNS服务器  ---> 域名所在服务器
中毒主机向外发送请求 <--- DNS服务器 <--- 域名所在服务器

这里遇到的麻烦就是IDS设备捕获的数据包日志过大时查询功能很慢,由于f33**88.3322.org这个域名一直没有解析成功,通过IDS设备只能根据回显数据包才可以查询到通讯成功的内网主机IP。

所以我们借助了ThreatBook、VirusTotal这两个网站。首先查询ThreatBook上关于这个域名的网络。

图3 ThreatBook 查询动态域名

然后查询这两条HASH值对应的网络活动,查看是否有其他的上线域名。

图4 ThreatBook 网络活动

取出【b35878a825daceeb2de5602fb6268da80c32a908ec646bcf035b0bce792b7747】

、【4dc695732112e2552f6bc67a38aefa406ac7201de6994a48f134c96301dbf8ef】这两条hash值在virustotal.com这个网站上查询得到另外一个通讯的域名。【ilo.br*nz.pl】



图5 ilo.br*nz.pl

这一次的难点在于 ilo.br*nz.pl这个域名的确是与内网主机成功进行过通讯,可是在取样后进行分析时却发现取出来的病毒跟我们预计的行为不符合,说明我们误打误撞又发现了新的病毒。

于是我们就又回到f33**88.3322.org这个域名无法被正常解析的问题上。

通过思考然后我们又决定借助内网的上网行为管理、流量控制、IPS等设备进行捕获。增加一条TCP访问策略监控访问f33**88.3322.org这个域名任意端口的内网主机IP。而管理上网行为管理的运维人员此时告诉我们如果域名解析不到IP是无法增加策略的。

最后通过在出口DNS服务器上增加解析策略,将f3322**.3322.org木马动态域名解析到我们公司官网的IP,解决了这个上网行为管理设备增加策略的问题。在后续的分析中找到中毒的主机。

2.2 在单位中的DNS服务器抓取数据包

考虑过可以使用Wireshark、TCPdump这两类抓包工具在DNS服务器上进行数据包的捕获,但是全单位的上网访问都是通过这台DNS服务器的情况下。抓包数据有可能很庞大不利于查看就没有采取这样的方式。

四、个人总结

重心点:在这次的事件中感受到应急响应中,很多情况都是WEB方面的日志查询。但对于内网中了木马病毒,我们需要做的工作会始终重点围绕着定位、取样、分析。

全局观:而应急响应工作也非常需要建立全局观。了解网络拓扑并结合业务,知道出了问题的主机中存在什么应用。这个应用涉及多少台主机,采用何种方式进行管理(域控或是工作组)是否为主机群。中毒主机属于哪块网络区域。

影响度:判断业务受损状态,检查应用是否存在安全隐患,网络区域内的主机是否被横向入侵或是被种植了远程控制。网络影响程度。

定位内网中毒主机IP经历小记的更多相关文章

  1. 简单的内网存活主机ip扫描

    @echo offset /a ti = 1:startif %ti% == 10 goto endping 192.168.1.%ti% -n 1 -w 20set /a ti = ti + 1go ...

  2. NAT ------ 内网的主机如何通过路由器与外网的主机通信

    内网主机A,路由器B,外网主机C 使用了两个协议: 路由:位于网络层,为数据包提供一个寻径的算法,不改变数据包的源IP和目的IP,但是会修改源MAC和目的MAC,只在同个网段的进行数据的转发 NAT: ...

  3. hadoop hdfs 有内网、公网ip后,本地调试访问不了集群解决

    问题背景: 使用云上的虚拟环境搭建测试集群,导入一些数据,在本地idea做些debug调试,但是发现本地idea连接不上测试环境 集群内部配置hosts映射是内网映射(内网ip与主机名映射),本地只能 ...

  4. 公司内网搭建代理DNS使用内网域名代替ip地址

    企业场景 一般在企业内部,开发.测试以及预生产都会有一套供开发以及测试人员使用的网络环境.运维人员会为每套环境的相关项目配置单独的Tomcat,然后开放一个端口,以 IP+Port 的形式访问.然而随 ...

  5. 【docker】【Gitlab】gitlab中clone项目时,IP地址是一串数字(内网Gitlab的IP地址不正确)的问题解决

    首次在内网搭建Gitlab环境,在成功后在Gitlab上新建了一个项目. 然而在IDEA上clone项目时发现,项目地址如下: git@0096ce63c43f:root/jump.git 或者这样 ...

  6. 扫描内网活跃的ip

    网段内活跃的ip:nmap -sP 10.10.30.0/24|grep for|awk '{print $5}'

  7. 查看局域网内在线的主机ip和mac地址

    ]# nmap -sP Starting Nmap 5.51 ( http://nmap.org ) at 2016-12-12 22:43 CST Nmap scan report for 192. ...

  8. [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  9. 解决内网主机ping不通网关能ping内网

    有一台笔记本电脑可以自动获取IP,可以和内网其他主机互相PING通,就是PING 不通网关,只能上内网,不能上外网,IP换到其他主机上也可以上外网,说明路由器上没什么限制.路由器也查了,电脑也重装了, ...

随机推荐

  1. Java 入门进阶

    Java 入门进阶 發表於 2015-04-16 http://xielong.me/2015/04/16/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%B7%A5%E7%A8%8B% ...

  2. 【LightOJ 1136】Division by 3(简单数学)

    BUPT2017 wintertraining(16) #5 C HDU - 1021 题意 1, 12, 123, 1234, ..., 12345678910, ... 问第a到第b个数(incl ...

  3. 【Luogu4630】【APIO2018】 Duathlon 铁人两项 (圆方树)

    Description ​ 给你一张\(~n~\)个点\(~m~\)条边的无向图,求有多少个三元组\(~(x, ~y, ~z)~\)满足存在一条从\(~x~\)到\(~z~\)并且经过\(~y~\)的 ...

  4. 洛谷P4035 [JSOI2008]球形空间产生器(高斯消元)

    洛谷题目传送门 球啊球 @xzz_233 qaq 高斯消元模板题,关键在于将已知条件转化为方程组. 可以发现题目要求的未知量有\(n\)个,题目却给了我们\(n+1\)个点的坐标,这其中必有玄机. 由 ...

  5. Android recording 录音功能 简单使用小实例

    package com.app.recordingtest; import java.io.File; import java.io.IOException; import android.app.A ...

  6. 代码实战之AdaBoost

    尝试用sklearn进行adaboost实战 & SAMME.R算法流程,博客地址 初试AdaBoost SAMME.R算法流程 sklearn之AdaBoostClassifier类 完整实 ...

  7. git中如何切换分支,拉取分支,合并分支

    idea中如何使用git来做分支的切换合并: https://blog.csdn.net/autfish/article/details/52513465 本地分支与远程分支: https://seg ...

  8. spring校验注解

    @Null   被注释的元素必须为 null @NotNull    被注释的元素必须不为 null @AssertTrue     被注释的元素必须为 true @AssertFalse    被注 ...

  9. CM记录-CDH故障修复处理记录

    CDH大数据集群修复记录 1)cm web打不开,查看监听7180端口产生了很多进程,于是kill进程:重启cloudera-cmf-server服务,几秒钟就挂了,查看cloudera-scm-se ...

  10. JAVA记录-Web系统AJAX异步传递路径写法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...