当前位置:文档之家› 木马信息窃取技术

木马信息窃取技术


是网络安全攻防技术中很重要的一种。

嗅探器(Sniffer)作为嗅探技术的一种技术实现,最初是网络管理员 检测网络通信的一种工具,是利用计算机的网络接口截获目的地
为其它计算机的数据报文的一种工作。

一个装载了嗅探器的木马,无异于有着灵敏嗅觉的猎犬,通过对 获得数据的分析处理,可以获得整个网络的网络状态、数据流动
从其原理和实现方式两角度讲解,讲解木
马是如何获得它们感兴趣的信息。
2
本次课程学习目标
学习完本次课程,您应该能够掌握:
木马信息窃取技术的嗅探技术 木马信息窃取技术的信息采集技术 木马信息窃取技术的行为采集技术
3
木马信息窃取技术
嗅探技术
信息采集技术
行为采集技术
4
嗅探技术
嗅探技术,是一种常用的收集有用数据信息的网络监听方法,
首先获得一个特定列表的快照。CreateToolhelp32Snapshot()函数提 供了该功能,函数声明如下: HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID);
22
信息采集技术
其中dwFlags表示快照类型为进程信息、进程线程信息、堆栈信息、 线程信息还是模块信息。th32ProcessID表示进程 ID号,当查询线程 信息、堆栈信息和模块信息时有效。 获得一个快照后,就可以从快照中查询。获得快照中信息的函数都很
6
嗅探技术

ARP协议 IP地址是主机在网络层中的地址。数据链路层是不能够识 别IP地址的,但网卡、交换机等都工作在数据链路层,所以如 果要想将网络层中的数据报交给目的主机,必须要在数据链路 层封装为有 MAC 地址的帧后才能发送。但是 32bit 的 IP 地址和 48bit的MAC地址之间没有简单的映射关系。
交换机,并且没有采用其它策略。
15
嗅探技术
嗅探技术的实现
设计Sniffer的基本思想就是:置网卡于混杂模式、捕获数据 包、分析数据包。一般来讲,Windows 环境下编程实现网络监
听有三种方案可供选择:

NDIS(Network Driver Interface Specification) , 由 Microsoft 和 3Com 公司联合开发,是 Windows 中“通信协议程序”和“网络
情况和个人主机的帐户等敏感信息,为后续的攻击做好充分的准
备。
5
嗅探技术
嗅探技术原理

以太网
计算机与局域网的连接是通过主机机箱内的网卡。网卡向下 负责打包数据报为帧(数据传输的最小单位)发送到局域网,向
上接收正确的帧并交付网络层处理。
以太网网卡一般具有四种接收工作模式:
广播(Broadcast )模式,可以接收局域网内目的地址为广播地址( 全1地址)的所有数据报; 多播(Multicast)模式,可以接收目的地址为多播地址的所有数据报 ; 直接( Directory )模式,也就是单播( Unicast )模式,只接收目的 地址为本机MAC地址的所有数据报; 混杂(Promiscuous)模式,能够接收通过网卡的所有数据报。
类似,或者以First结尾,或者以Next结尾,分别表示快照中的第一个
信息和下一个信息。表 3中列举了常用的获得快照信息的函数.
例如,获得一个系统中所有进程的快照后,用Process32First() 取出快照中的第一个进程信息,之后循环使用Process32Next()获 得快照中的下一个进程信息。最后使用CloseHandle()销毁快照, Process32First等相关API函数的详细用法请参见MSDN文档。
得信息为攻击目的的。
Windows为我们提供一系列获得和设置系统信息的 API接口, 通过调用这些API函数,我们可以获得系统的各种信息,表 2列 出了其中的几个常用函数。获取信息可以有多种途径,例如要 获取操作系统信息可以通过 GetVersionEx() 直接获取,也可以 通过注册表得到相关信息。
要不断地向主机A和主机B发送伪造的ARP应答包。
修改本地MAC地址 也可以通过修改本地MAC地址为目标主机MAC地址来实现嗅探。把主机C的 MAC地址修改为目标主机B的MAC地址,交换机会将MACB和端口c对应起来。 在以后收到目的地址为MACB的数据报后,交换机会将包从端口c发送出去。这 样就达到了监听的目的。但同样地,这种方法只适用于动态生成地址映射表的
A和B要进行通信,发送数据帧1给主机B,但主机B和嗅探主机C 都可以收到,所以我们只要想办法使主机C的网卡接收这些数据帧就 可以了。而网卡也恰好提供了这样一种工作模式——混杂模式。在 混杂模式下,网卡会接收流经本地主机的所有数据帧。
10
嗅探技术

交换式网络的嗅探技术 交换机维护一张地址映射表,地址映射表记录网络节点与 MAC地址的对应关系,当需要向目的地址发送数据时,交换机 在地址映射表中查找这个MAC地址的节点位置,然后直接向这 个位置的节点发送;如果没有找到匹配项,交换机可能会向除 接收端口外的所有端口发送该数据报。在交换机的每个端口, 都需要足够的缓存来记忆这些MAC地址。
表2 系统信息函数列表
21
信息采集技术
这里我们介绍三种获得进程信息的方法:

ToolHelp32 Tool Help函数为我们提供了获得进程、线程、模块和堆栈信
息的方法。快照(Snapshot)是Tool Help函数的核心。一个快照
是系统内存中进程、线程、模块或堆栈当前状态的只读拷贝。所 以,当我们使用快照查询进程信息时,并没有直接进入操作系统 内部,也不具有长久性(只是进行查询一瞬间的状态)。 使用快照可以分为三个步骤:
计算机共享带宽,并且需要处理网段内的所有数据报。
9
嗅探技术
集线器
源 地 的 址 地 : 帧 址 M 1 : A M CA A , C B , IP A IP B
帧1 帧1
主机A IP地址:IPA MAC:MACA

主机B IP地址:IPB MAC:MACB
主机C,嗅探主机 IP地址:IPC MAC:MACC
样以广播方式处理数据报。这种方法不适合采用静态地址映射表的交换机,
而且也不是所有交换机都采用这种转发处理方式。
13
嗅探技术
上述方法属于对交换机的DDoS攻击。还可以采取欺骗的方法修改交换机 的地址映射表。主机C 可以发送源地址为主机B 的伪造包,让交换机修改地 址映射表,将MACB和端口c对应起来,就可以对主机B的通信进行监听了。
对于第三层交换机,地址映射表中存储的不仅仅是MAC地 址了,而是MAC地址与IP地址的地址映射表。交换机在对一个 数据流进行路由后,将会产生一个MAC地址和IP地址的地址映 射。 11
嗅探技术
MACB在哪 个端口? MACB在 端口b „„ MACA—端口a MACB—端口b MACC—端口c „„
20
信息采集技术
函数名 GetComputerName( SetComputerName) GetComputerNameEx( SetComputerNameEx) GetKeyboardType GetWindowsDirectory GetUserName( GetUserNameEx) GetVersionEx GetAdaptersInfo GlobalMemoryStatus 描述 获取(设置)本地主机的NetBIOS名字 获取(设置)本地主机的NetBIOS名或者 DNS名 获得当前键盘信息 获得Windows目录 获得(以某种格式获得)当前登陆用户名 获得当前运行的操作系统版本信息 获得主机网卡相关信息 获取系统内存相关信息
8
嗅探技术

共享式网络的嗅探技术 以太网的共享特性决定了嗅探能够成功。由于以太网是基 于广播方式传送数据的,所有数据报都会被传送到每一个主机节 点,当网卡被设置成混杂模式时,无论监听到的数据帧目的地址 如何,网卡都能予以接收。在局域网中,集线器是一种共享介 质采用单工数据操作的网络设备,工作在物理层。集线器对接 收到的数据包采用广播的方式进行转发,即连接到集线器上的
设备驱动器”之间通信的规范,它为协议通讯程序操作网络设备
提供标准的接口,支持计算机通过不同的协议栈与网络相连。
16
嗅探技术

Raw Socket(原始套接字),起初是Unix上最流行的网络编程接口 之一,后来微软将它引入到Windows中并得以实现。

Packet32和WinPcap (windows packet capture)都是免费的基于 Windows 平台下的网络接口, 为Win32 应用程序提供访问网络 底层的能力,并且它们工作于驱动层,效率很高。前者是微软的 一个实现版本,后者是UNIX 下的Libpcap移植到Windows下的产 物。
主机C,嗅探主机 IP地址:IPC MAC:MACC
12
嗅探技术
在交换式网络环境下,要想达到嗅探的目的,可以有三个攻击 点,一是交换机,二是目标主机,再有就是改变自己了。
发送大量虚假MAC地址数据报 交换机虽然可以维护一张端口-MAC的地址映射表,但是由于交换机内存 有限,地址映射表的大小也就有限。如果主机C发送大量虚假MAC地址的数 据报,快速填满地址映射表。交换机在地址映射表被填满后,就会像HUB一
17
嗅探技术
方法
Raw Socket
优点
实现简单 可以对网卡进行 任意操作,可以 抓取原始数据包 提供应用程序接 口,复杂的内部 操作由DLL完成
缺点
只能抓到IP包, 对与IP同层(如 ARP)的其它数 据包无能为力 驱动程序开发代 价大 实现的Sniffer需 要安装相应的链 接库才能运行
补充
只能获得数据包 的一份拷贝 可截断数据流, 不仅仅获得一份 拷贝 只能获得数据包 的一份拷贝
相关主题