12.1.4恶意代码攻击技术 1)代码注入技术 代码注入技术就是攻击者将一段恶意的可执行代码插入 到其他程序地址空间中。大多数代码注入技术是利用目 标系统中已知的系统服务和网络服务的漏洞、缺陷来实 现的。一旦注入成功,以后每次启动该程序或服务时, 恶意代码都会自动被加载。常见的代码注入 式有两种: 第一种方式叫做模块注入,它是利用DLL重定位原理来 实现代码注入的。具体方法是将恶意代码封装在DLL文 件中,当进程第一次加载DLL文件时,会自动找到其主 函数DLLMain并执行恶意代码,这种技术普遍应用于木 马程序设计中。另一种注入方式是将恶意代码直接加入 到目标进程中,这里可以使用WriteProcess Memory函数 来实现。代码的执行需要利用溢出和远程线程等方法 这种注入方式比较简单,不过可移植性差并且不适合写 入较长的代码。 信息安全导论12 12
12.1.4 恶意代码攻击技术 1)代码注入技术 • 代码注入技术就是攻击者将一段恶意的可执行代码插入 到其他程序地址空间中。大多数代码注入技术是利用目 标系统中已知的系统服务和网络服务的漏洞、缺陷来实 现的。一旦注入成功,以后每次启动该程序或服务时, 恶意代码都会自动被加载。常见的代码注入方式有两种: 第一种方式叫做模块注入,它是利用DLL重定位原理来 实现代码注入的。具体方法是将恶意代码封装在DLL文 件中,当进程第一次加载DLL文件时,会自动找到其主 函数 DLLMain并执行恶意代码,这种技术普遍应用于木 马程序设计中。另一种注入方式是将恶意代码直接加入 到目标进程中,这里可以使用WriteProcess Memory函数 来实现。代码的执行需要利用溢出和远程线程等方法。 这种注入方式比较简单,不过可移植性差并且不适合写 入较长的代码。 信息安全导论12 12
2)缓冲区溢出攻击技术 利用缓冲区溢出漏洞来发动攻击是网络攻击中 最常角的手段之一。程序运行时,系统会为其 分配一定大小的缓冲区,如果这个程序被检测出 具有缓冲区溢出漏洞的话,攻击者可以设计一段 苻艮的字符事号入缓冲区中就会遥成缓冲这溢 溢出的字符串将会覆盖程序的堆栈数据,同时 变程序执行下一条指令的地址。一般情况下,. 这 个地址会指向一个无效地址或者随机地址,此时 将使得程序发生异常、系统不稳定甚至崩溃。更 级的做法是攻遙者还可女设置新的地址,将其 指向一段植入的可执行代码,这样程序接着就 执行攻击代码从而达到获取程序控制权和其他 信息安全导论12 13
2)缓冲区溢出攻击技术 • 利用缓冲区溢出漏洞来发动攻击是网络攻击中 最常用的手段之一。程序运行时,系统会为其 分配一定大小的缓冲区,如果这个程序被检测出 具有缓冲区溢出漏洞的话,攻击者可以设计一段 过长的字符串写入缓冲区中就会造成缓冲区溢出。 • 溢出的字符串将会覆盖程序的堆栈数据,同时改 变程序执行下一条指令的地址。一般情况下,这 个地址会指向一个无效地址或者随机地址,此时 将使得程序发生异常、系统不稳定甚至崩溃。更 高级的做法是攻击者还可以设置新的地址,将其 指向一段植入的可执行代码,这样程序接着就会 执行攻击代码从而达到获取程序控制权和其他目 的。 信息安全导论12 13
3)三线程技术 在Windows操作系统中,一个进程可以生成多个 线程。 三线程技术是利用多线程技术来实现的,恶意程 序执行时会同时建立三个线程,分别为主线 、 监视线程和守护线程。其中,主线程用来远程 控制目标主机,监视线程主要负责监视进程的状 态,检查恶意程序是否被关闭或者删除并向守护 线程发送消息。守护线程一般注入目标主机的其 他可执行文件内,一旦发现恶意程序进程被关闭, 将会强制重新启动该进程。 主线程、监视线程和守护线程分工合作,保证了 恶意程序的长期运行。 信息安全导论12 14
3)三线程技术 • 在Windows操作系统中,一个进程可以生成多个 线程。 • 三线程技术是利用多线程技术来实现的,恶意程 序执行时会同时建立三个线程,分别为主线程、 监视线程和守护线程。其中,主线程用来远程 控制目标主机,监视线程主要负责监视进程的状 态,检查恶意程序是否被关闭或者删除并向守护 线程发送消息。守护线程一般注入目标主机的其 他可执行文件内,一旦发现恶意程序进程被关闭, 将会强制重新启动该进程。 • 主线程、监视线程和守护线程分工合作,保证了 恶意程序的长期运行。 信息安全导论12 14
4)端口复用技术 端口复用技术是指恶意程序通过使用网络的常用 端口来发送或者接收数据,这样做的目的是防止 新开端口被防火墙等安全机制检测出来 。 端口复用技术的使用前提是保证该端口其他服务 能正常工作,所以这种攻击很难被检测,欺骗性 很好 。 ·广为所知的Executor木马就是采取了端口复用技 术来进行远程控制目标主机,它通过80端口来发 送控制命令和数据信息。当然,还有很多其他端 口可以使用,比如25、135和139。 信息安全导论12 15
4)端口复用技术 • 端口复用技术是指恶意程序通过使用网络的常用 端口来发送或者接收数据,这样做的目的是防止 新开端口被防火墙等安全机制检测出来。 • 端口复用技术的使用前提是保证该端口其他服务 能正常工作,所以这种攻击很难被检测,欺骗性 很好。 • 广为所知的Executor木马就是采取了端口复用技 术来进行远程控制目标主机,它通过80端口来发 送控制命令和数据信息。当然,还有很多其他端 口可以使用,比如25、135和139。 信息安全导论12 15
5)端口反向连接技术 端口反向连接是指被攻击者主动连接攻击者,通常 这里的被攻击者是服务器端,攻击者处于客户端。 这种技术利用的是防火墙控制策略,由于防火墙等 安全机制一般会对外网流进内网的数据进行严格检 查,而对于内部网络流出的数据不作限制。 ·Boinet木马是最先采取此技术实现攻击的。 因特网 攻击者 被攻的目标 木马服务端● 木马客户端 端口号:TCP80 连接到木马服务端 反弹端口型的木马 信息安全导论12 16
5)端口反向连接技术 信息安全导论12 16 • 端口反向连接是指被攻击者主动连接攻击者,通常 这里的被攻击者是服务器端,攻击者处于客户端。 这种技术利用的是防火墙控制策略,由于防火墙等 安全机制一般会对外网流进内网的数据进行严格检 查,而对于内部网络流出的数据不作限制。 • Boinet木马是最先采取此技术实现攻击的。 攻击者 被攻的目标 因特网 木马服务端 端口号:TCP 80 木马客户端 连接到木马服务端 反弹端口型的木马