620 likes | 986 Views
什么是木马( Trojan ). 木马( Trojan )这个名字来源于 古希腊 传说 ( 荷马史诗 中 木马计 的故事 ,Trojan 一词的本意是 特洛伊 的 , 即代指 特洛伊木马 , 也就是木马计的故事 ) 。. 什么是木马( Trojan ). 它是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。. 据最新一份市场调查报告,在 8 月到 9 月份中,全球范围恶意软件的数量增长了 15% 。.
E N D
什么是木马(Trojan) • 木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。
什么是木马(Trojan) • 它是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。
据最新一份市场调查报告,在8月到9月份中,全球范围恶意软件的数量增长了15%。 • 该调查报告出自Panda安全公司,据悉全球范围平均被恶意广告攻击过的电脑比率达到了59%,创历史最高点。在所有29个国家和地区中,美国排名第九,比率为58%。与此同时,台湾排名第一,感染率为69%,与此同时挪威只有39%,位列最后。数据表明,美国恶意软件中,木马和恶意广告为最主要的两个类型。 參考:中国互联网网络安全报告 P12
木马与病毒、远程控制的区别 • 病毒程序是以自发性的败坏为目的 • 木马程序是依照黑客的命令来运作,主要目的是偷取文件、机密数据、个人隐私等行为。 • 木马工作原理和一般的远程控制软件相似,区别在于其隐蔽、危害性、非授权性。
木马的工作原理 • 实际就是一个C/S模式的程序(里应外合) 被植入木马的PC(server程序) 控制端 端口 操作系统 TCP/IP协议 TCP/IP协议 操作系统 端口 端口处于监听状态 控制木马的PC(client程序)
木马的分类 1.远程访问型 2.键盘记录型 3.密码发送型 4.破坏型 5.代理型 6.FTP型
木马的种类 • 网络游戏木马 • 网络游戏木马通常采用记录用户键盘输入等方法获取用户的密码和帐号。 • 窃取到的信息一般通过发送电子邮件或向远程脚本程序提交的方式发送给木马作者。 • 网络游戏木马的种类和数量,在国产木马病毒中都首屈一指。大量的木马生成器和黑客网站的公开销售也是网游木马泛滥的原因之一。
木马的种类 • 网银木马 • 网银木马是针对网上交易系统编写的木马病毒,其目的是盗取用户的卡号、密码,甚至安全证书。 • 此类木马种类数量虽然比不上网游木马,但它的危害更加直接,受害用户的损失更加惨重。 • 网银木马通常针对性较强,木马作者可能首先对某银行的网上交易系统进行仔细分析,然后针对安全薄弱环节编写病毒程序。
木马的种类 • 网银木马 • 如2004年的“网银大盗”病毒,在用户进入工行网银登录页面时,会自动把页面换成安全性能较差、但依然能够运转的老版页面,然后记录用户在此页面上填写的卡号和密码;“网银大盗3”利用招行网银专业版的备份安全证书功能,可以盗取安全证书;2005年的“新网银大盗”,采用API Hook等技术干扰网银登录安全控件的运行。
木马的种类 • 即时通讯软件木马 • 发送消息型。 • 通过即时通讯软件自动发送含有恶意网址的消息。此类病毒常用技术是搜索聊天窗口,进而控制该窗口自动发送文本内容。 • 发送消息型木马常常充当网游木马的广告,如“武汉男生2005”木马,可以通过MSN、QQ、UC等多种聊天软件发送带毒网址,其主要功能是盗取传奇游戏的帐号和密码。
木马的种类 • 盗号型。 • 主要目标在于即时通讯软件的登录帐号和密码。 • 工作原理和网游木马类似。盗得他人帐号后,可能偷窥聊天记录等隐私内容,或将帐号卖掉。 • 传播自身型。 • 2005年初,“MSN性感鸡”等通过MSN传播的蠕虫泛滥了一阵之后,MSN推出新版本,禁止用户传送可执行文件。 • 2005年上半年,“QQ龟”和“QQ爱虫”这两个国产病毒通过QQ聊天软件发送自身进行传播,感染用户数量极大,在江民公司统计的2005年上半年十大病毒排行榜上分列第一和第四名。
木马的种类 • 网页点击类木马 • 网页点击类木马会恶意模拟用户点击广告等动作,在短时间内可以产生数以万计的点击量。病毒作者的编写目的一般是为了赚取高额的广告推广费用。此类病毒的技术简单,一般只是向服务器发送HTTP GET请求。 • 下载类木马 • 这种木马程序的体积一般很小,其功能是从网络上下载其他病毒程序或安装广告软件。由于体积很小,下载类木马更容易传播,传播速度也更快。通常功能强大、体积也很大的后门类病毒,如“灰鸽子”、“黑洞”等,传播时都单独编写一个小巧的下载型木马,用户中毒后会把后门主程序下载到本机运行。
木马的种类 • 代理类木马 • 用户感染代理类木马后,会在本机开启HTTP、SOCKS等代理服务功能。黑客把受感染计算机作为跳板,以被感染用户的身份进行黑客活动,达到隐藏自己的目的。
木马实施攻击的步骤 1.配置木马 木马伪装: 采用各种手段隐藏自己 信息反馈: 对信息反馈的方式或地址进行设置 2.传播木马 通过emial附件的形式 通过软件下载的形式
木马实施攻击的步骤 3.启动木马 被动地等待木马或者是捆绑木马的程序被执行 自动拷贝到windows系统文件下中,并修改系统注册表启动项 4.建立连接 服务器端安装了木马 双方均在线 5.远程控制 最终的目的
课堂演练一:冰河木马的使用 服务器端程序:G-server.exe 客户端程序: G-client.exe 进行服务器配置 远程控制 如何清除?
课堂演练二:灰鸽子的使用 反弹端口类型的木马 服务器的配置 服务器的工作方式 远程控制 如何清除?
请求连接 Client 攻击者 Server被攻击者 响应请求 反弹端口类型的木马 • 普通木马 • 反弹端口类型的木马 请求连接 Client 攻击者 Server被攻击者 响应请求
一般木马的工作过程 • 其过程可用 VB 实现如下:(Horse_Server 和Horse_Client 均为 Winsock控件) :服务端:Horse_Server. LocalPort = 31339 (打开一个特定的网络端口)Horse_Server.Listen(监听客户端的连接)客户端Horse_Client . RemoteHost = RemotelP (设远端地址为服务器端IP地址)Horse_Client . RemotePort = 31339(设远程端口为服务端程序起动的特定端口)Horsec_Client . Connect (连接服务端计算机)一旦服务端接到客户端的连接请求 ConnectionRequest ,就接受连接。客户机端用 Horse_Client . SendData 发送命令 ,而服务器在 Horse_Server_DataArrive事件中接受并执行命令(如:修改注册表、删除文件等) 。如果客户断开连接 ,则服务端连接并重新监听端口:
反弹端口型木马的工作原理 一般木马服务端运行后,会用邮件、ICQ 等方式发出信息通知入侵者,同时在本机打开一个网络端口监听客户端的连接(时刻等待着客户端的连接) 。。 目前,由于大部分防火墙对于连入的连接往往会进行非常严格的过滤,能对非法端口的IP包进行有效的过滤,非法连接被拦在墙外,客户端主动连接的木马,现已很难穿过防火墙。 与一般的软件相反,反弹端口型木马是把客户端的信息存于有固定IP的第三方FTP服务器上,服务端从 FTP 服务器上取得信息后计算出客户端的IP和端口,然后主动连接客户端。另外,网络神偷的服务端与客户端在进行通信 ,是用合法端口,把数据包含在像HTTP或FTP的报文中,这就是黑客们所谓的“隧道”技术。
反弹端口型木马的工作原理 服务端:Horse_Server. RemoteHost = RemotelP(设远端地址为从指定FTP服务器取得的客户端IP地址)Horse_Server. RemotePort = RemotePort (设远程端口为客户端程序起动的特定端口,如:80、21等)Horse_Server. Connect (连接客户端计算机) 客户端:Horse_Client . LocalPort = LocalPort (打开一个特定的网络端口,如:80、21等)一旦客户端接到服务端的连接请求 ConnectionRequest ,就接受连接。 • Horse_Client .Listen(监听客户端的连接)客户机端用Horse_Client . SendData 发送命令,而服务器在 Horse_Server DataArrive事件中接受并执行命令。如果客户断开连接,则服务器端关闭连接:
查杀方法 (1)关掉所有的网络连接程序(如:IE浏览器、FTP服务等) ,转入命令行状态用netstat -a命令,netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运行。(2)用网络监视软件,如:sniffer、IParmor 等查一下自己怀疑的端口是否被侦听。如在(1)中发现类似TCP local address :1026 foreign address :HTTP ESTABLISHED(或者是类似TCP local address :1045 foreign address:FTPESTABLISHED)的情况或在(2)中发现怀疑的端口被侦听,有可能中了此类木马。 目前发现的反弹端口型木马有网络神偷和灰鸽子两种
C:>netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:80 0.0.0.0:0 LISTENING TCP 0.0.0.0:21 0.0.0.0:0 LISTENING TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING UDP 0.0.0.0:445 0.0.0.0:0 UDP 0.0.0.0:1046 0.0.0.0:0 UDP 0.0.0.0:1047 0.0.0.0:0 • 这台机器的7626端口已经开放,而且正在监听等待连接,像这样的情况极有可能是已经感染了木马。这时就需要先断开网络,然后立即用杀毒软件查杀
Netstat命令用法 • Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一用于检验本机各端口的网络连接情况。 • netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以 用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。
Netstat命令用法 • netstat -e——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 netstat -r——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。 netstat -a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。 netstat -n——显示所有已建立的有效连接。
木马文件的隐藏和伪装 (1)文件的位置 (2)文件的属性 (3)捆绑到其他文件上 (4)文件的名字 (5)文件的扩展名 (6)文件的图标
木马运行中的隐藏与伪装 • (1)在任务栏里隐藏 • (2)在任务管理器里隐藏 • (3)隐藏端口 • 防火墙对于连入的链接往往会进行非常严格的过滤,但是对于连出的链接却疏于防范。反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口,木马定时监测控制端的存在,发现控制端上线立即弹出端口主动连结控制端打开的主动端口,为了隐蔽起见,控制端的被动端口一般开在80,这样,即使用户使用端口扫描软件检查自己的端口,稍微疏忽一点你就会以为是自己在浏览网页。
木马启动方式 • win.ini • win.ini 是早期windows系统的配置文件。win98及以后的系统都没有用这个,而是用一个叫“注册表”的数据库来配系统。但保留了对win.ini的加载。也就是在启动时,还是会读取里面的配置。一些病毒也利用这一点。把自己的地址放到里面的:load 项里,全能在启动时自动运行。 • system.ini • 包含Windows初始配置信息的重要文件,其中的配置语句较复杂且对Windows用户十分重要 • 包含整个系统的信息(如显示卡驱动程序等),是存放Windows启动时所需要的重要配置信息的文件
木马启动方式 • 启动组 • 注册表 • 捆绑方式启动 : • 伪装在普通文件中 • 设置在超级连接中
木马的检测 • 系统的异常情况 • 打开文件,没有任何反应 • 查看打开的端口 • 检查注册表 • 查看进程
防御 • 发现木马:检查系统文件、注册表、端口 • 不要轻易使用来历不明的软件 • 不熟悉的E-MAIL不打开 • 常用杀毒软件并及时升级 • 合理使用防火墙 • 在安装新的软件之前,请先备份注册表,在安装完软件以后,立即用杀毒软件查杀Windows文件夹和所安装的软件的所在文件夹。如果杀毒软件报告有病毒,这时请将它杀掉,杀毒完成后,重新启动计算机。
木马传播方式 主动与被动: • 主动种入 • 通过E-mail • 文件下载 • 浏览网页
流行木马简介 • 冰 河 • back orifice • Subseven • 网络公牛(Netbull) • 网络神偷(Nethief) • 广外男生(是广外女生的一个变种) • Netspy(网络精灵)
拒绝服务攻击(DoS) • DoS--Denial of Service:现在一般指导致服务器不能正常提供服务的攻击。 • DoS攻击的事件 : ◎2000年2月份的Yahoo、亚马逊、CNN被DoS攻击。 ◎2002年10月全世界13台DNS服务器同时受到了DDoS(分布式拒绝服务)攻击。 ◎2003年1月25日的“2003蠕虫王”病毒。 ◎2004年8月,共同社报道:日本近期共有上百网站遭到黑客袭击。
DoS 攻击的分类 • 以消耗目标主机的可用资源为目的(例如:死亡之ping、SYN攻击、Land攻击、泪珠攻击等) • 以消耗服务器链路的有效带宽为目的(例如:蠕虫)
死亡之Ping • 对目标IP不停地Ping探测从而致使目标主机网络瘫痪。常见工具有蜗牛炸弹、AhBomb等。 • 由于在早期的阶段,路由器对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机。
ping -t -l 65500 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
如何防御 • 对防火墙进行配置,阻断ICMP以及任何未知协议,都讲防止此类攻击
ACK SYN SYN/ACK SYN攻击的原理(1) 攻击者 目标主机 等待应答 SYN:同步 SYN/ACK:同步/确认 ACK:确认
. . . . . . . . . SYN SYN SYN SYN SYN/ACK SYN/ACK SYN/ACK SYN/ACK SYN/ACK SYN/ACK SYN/ACK SYN/ACK . . . . . . . . SYN攻击的原理(2) 目标主机 攻击者 不应答 1 等待ACK应答 不应答 重新发送 n
课堂演练——SYN攻击 • synkiller(图形界面工具) • syn等(DOS界面工具) 【攻击效果】可通过抓包和查看CPU的利用率来观看攻击效果
行行色色的DOS攻击 • 死亡之ping • SYN Flood • Land攻击 • 泪珠(Teardrop)攻击
DDoS (分布式拒绝服务)攻击(1) 代理程序 安置代理 各种客户主机 目标系统 攻击者 攻击准备: 1)攻击者攻击诸客户主机以求分析他们的安全水平和脆弱性。 2)攻击者进入其已经发现的最弱的客户主机之内(“肉鸡”),并且秘密地安置一个其可远程控制的代理程序(端口监督程序demon)。
DDoS (分布式拒绝服务)攻击(2) 攻击的代理程序 虚假的连接请求 指令 攻击者 目标系统 发起攻击: 3)攻击者使他的全部代理程序同时发送由残缺的数字包构成的连接请求送至目标系统。 4)包括虚假的连接请求在内的大量残缺的数字包攻击目标系统,最终将导致它因通信淤塞而崩溃。
视频教学 • 自行观看视频教学录像——“独裁者DDoS动画教程” • 进一步理解DDoS攻击的过程和效果。
自我传播的电子邮件e-mail病毒 按指数率增长 一个病毒被发给许多的客户。只要他们打开并且启动该病毒,... ...该病毒将再继续传播,传送它本身到别的客户,诸如此类(病毒感染呈指数增长)。
缓冲区溢出(buffer overflow) 从一个对话框说起……
认识缓冲区溢出 【引例】把1升的水注入容量为0.5升的容量中…… • 第一次大规模的缓冲区溢出攻击是发生在1988年的Morris蠕虫,它造成了6000多台机器被瘫痪,损失在$100 000至$10 000 000之间,利用的攻击方法之一就是fingerd的缓冲区溢出。 • 缓冲区溢出攻击已经占了网络攻击的绝大多数,据统计,大约80%的安全事件与缓冲区溢出攻击有关。
缓冲区溢出的基本原理(1) • 缓冲区溢出源于程序执行时需要存放数据的空间,也即我们所说的缓冲区。 • 缓冲区的大小是程序执行时固定申请的。然而,某些时候,在缓冲区内装载的数据大小是用户输入的数据决定的。程序开发人员偶尔疏忽了对用户输入的这些数据作长度检查,由于用户非法操作或者错误操作,输入的数据占满了缓冲区的所有空间,且超越了缓冲区边界延伸到缓冲区以外的空间。我们称这个动作为缓冲区溢出。 • 往往缓冲区溢出会覆盖了其他在内存空间中的数据。如果被缓冲区溢出所覆盖的数据是一些程序执行时所必须的固定值的数据,例如函数的返回地址,那么该程序执行过程必定会发生改变,严重的甚至会导致程序、系统崩溃。