黑客攻防技术剖析.ppt
介绍,网络攻击防御与安全管理技术高级培训信息产业部信息化专家、督导 王宝会W,第三章黑客攻防技术剖析,什么是黑客,黑客是英文“hacker”的音译。指技术上的行家或热衷于解决问题克服限制的人。有人也把hacker的特质发挥在其它领域,例如:电子或者音乐方面。事实上你会发现,在任何一种科学或艺术的最高境界,你都可以发现热衷于解决问题克服限制的特质。软件 hacker 们认为,那些类似的精神也都可以称为黑客。,黑客道德规范,黑客的道德规范包括黑客准则、黑客道德以及黑客精神,通过这三方面的特征分析,就能判断一个人属于哪个类型的黑客。,黑客准则,1.不恶意破坏任何的系统,这样作只会给你带来麻烦。恶意破坏它人的软体将导致法律刑责,如果你只是使用电脑,那仅为非法使用!注意:千万不要破坏别人的软件或资料!2.不修改任何的系统文档,如果你是为了要进入系统而修改它,请在答到目的后将它改回原状。3.不要轻易地将你要 Hack 的站点告诉你不信任的朋友。4.不要在 bbs 上谈论你 Hack 的任何事情。5.在 Post 文章的时候不要使用真名。6.正在入侵的时候,不要随意离开你的电脑。,黑客准则(续),7.不要侵入或破坏政府机关的主机。8.不在电话中谈论你 Hack 的任何事情。9.将你的笔记放在安全的地方。10.想要成为 Hacker 就要真正的 Hacking,读遍所有有关系统安全或系统漏洞的文件!11.已侵入电脑中的账号不得清除或修改。12.不得修改系统档案,如果为了隐藏自己的侵入而作的修改则不在此限,但仍须维持原来系统的安全性,不得因得到系统的控制权而将门户大开!13.不将你已破解的帐号分享与你的朋友。,黑客道德,1.每一个领域都有许多迷人的问题等待解决,而且永远有新的问题出现。为了解决问题人们要不断学习,要专心致志以贯之,即使在你不知道学习什么才能够解决问题的时候也要坚持。2不要把时间浪费到已经解决了的问题上。3无聊、单调重复的工作是有害的。4自由的工作。任何一个给你命令的人都能给你一个独裁式的工作,并且可以给你一些笨得可以的理由,以至停止你解决任何吸引着你的问题。专制在监察和保密上是很有效的方法,这些行使专制的人并不相信自愿性质的合作和资讯共享,他们只相信在他们控制之下的合作关系。,黑客精神,“Free”(自由、免费)的精神探索与创新的精神反传统的精神合作的精神,Hacker与Cracker,l、不随便攻击个人用户及站点2、多编写一些有用的软件3、帮助别的黑客测试与调试软件4、义务做一些力所能及的事5、洁身自好,不与“怪客”混在一起,黑客行为研究,热衷挑战,如果能发现大公司机构或安全公司的问题,当然就能证明自己的能力。崇尚自由,这是从国外黑客的角度来说的。这种自由是一种无限的自由,可以说是自由主义者、无政府主义的理念,是在美国六十年代的反主流的文化中形成的。主张信息的共享。过去,我们所提的共产主义是生产资料的共产主义,主要是生产工具的共产主义,现在看来,这种不太可能,但到了二十一世纪,生产资料的形式将发生转移,不再是生产汽车生产石油的工具,信息将会成为新的生产资料,最有价值的生产资料是信息,生产工具的公有可能是很困难的,但信息的共享是可能的。反叛精神,年轻人的最大特点之一就是富有反叛精神,他们藐视传统与权威,有热情,又有冲劲。,黑客历史介绍,早在1878年,贝尔电话公司成立的消息已经迅速引来一群爱戏弄人的少年,他们用自制的交换机中断电话或者胡乱接驳线路来欺骗电话公司,自称“电话飞客”(phone phreaK)。最早的黑客出现于60年代初的麻省理工学院的人工智能实验室,包括贝尔实验室都有。60年代中后期北美大学生运动的领袖,西海岸反越战活动的积极分子,争民权的斗士渐渐参加了黑客队伍。70年代可以说是黑客的少年时期,技艺日渐成熟 80年代初,黑客的代表是包括比尔盖茨在内的为个人电脑设计出了各种应用软件的软件设计师 90年代,黑客的活动日益频繁,计算机犯罪以100%的速度增加 网上攻击事件每年以10倍速度增涨 银行的电子购物账户密码曝光事件增多 2000年2月7日攻击美国知名网站案件:损失$12亿,影响百万网民 Yahoo、Amazon、CNN、Buy、eBay、E-Trade、ZDNet 网上勒索、诈骗不断:用户信用卡被曝光 美国网络安全造成损失$170亿/年 美国金融界计算机犯罪损失$100亿/年,网上犯罪形势不容乐观,国外网络安全大案,Morris Internet蠕虫案Citibank巨额资金失窃案NASA喷气推进技术失密案Intel奔腾芯片设计失密案NSA密码设计失密案CIA,DOJ Web主页涂污案美国空军网络被侵案美国国防部网络被侵案,1、某银行系统 巨额资金损失案2、某互联网络 人事档案公开案3、某高等院校 人为网络攻击案4、某科研院所 网络黑客恶作剧5、某公用网络 反标涂改网页案6、国际出入口 恶意攻击防火墙7、我国人权站点,证监委站点等,国内网络安全大案,冒名顶替,废物搜寻,身份识别错误,不安全服务,配置,初始化,乘虚而入,代码炸弹,病毒,更新或下载,特洛伊木马,间谍行为,拨号进入,算法考虑不周,随意口令,口令破解,口令圈套,窃听,偷窃,网络安全威胁,线缆连接,身份鉴别,编程,系统漏洞,物理威胁,网络安全威胁的几种类型,1980,1985,1990,1995,2000,密码猜测,可自动复制的代码,密码破解,利用已知的漏洞,破坏审计系统,后门,会话劫持,擦除痕迹,嗅探,包欺骗,GUI远程控制,自动探测扫描,拒绝服务,www 攻击,工具,攻击者,入侵者水平,攻击手法,半开放隐蔽扫描,控制台入侵,检测网络管理,DDOS 攻击,2002,高,入侵技术的发展,采用漏洞扫描工具,选择会用的方式入侵,获取系统一定权限,提升为最高权限,安装系统后门,获取敏感信息或者其他攻击目的,入侵系统的常用步骤,端口判断,判断系统,选择最简方式入侵,分析可能有漏洞的服务,获取系统一定权限,提升为最高权限,安装多个系统后门,清除入侵脚印,攻击其他系统,获取敏感信息,作为其他用途,较高明的入侵步骤,黑客攻防技术剖析,踩点及其对策扫描技术与查点嗅探技术及其对策,收集信息实施攻击扫尾工作,破坏性攻击获取访问权攻击特权提升攻击,消除痕迹技术后门技术,什么是网络攻击,任何以干扰、破坏网络系统为目的的非授权行为都称之为网络攻击法律上对网络攻击的定义的两种观点 入侵者对网络发起攻击是多种形式的,黒客攻击技术,入侵系统类攻击 信息窃听 Sniffer 口令攻击 John漏洞攻击 WIN/IIS、RPC缓冲区溢出攻击 获取ROOT口令欺骗类攻击拒绝服务攻击 DDOS拒绝服务攻击分布式拒绝服务攻击对防火墙等安全设备的攻击利用病毒攻击木马程序攻击后门攻击,按网络服务分:E-Mail、FTP、Telnet、R服务、IIS 按技术途径分:口令攻击、Dos攻击、种植木马 按攻击目的分:数据窃取、伪造滥用资源、篡改数据,黒客攻击技术,1.Dos:使目标系统或网络无法提供正常服务 网络Flooding:syn flooding、ping flooding、DDos 系统Crash:Ping of death、泪滴、land、WinNuke 应用Crash/Overload:利用应用程序缺陷,如长邮件 2.扫描探测:系统弱点探察 SATAN、ISS、Cybercop Scanner、ping(嗅探加 密口令,口令文件),十大攻击手段,3.口令攻击:弱口令口令窃取:嗅探器、偷窥、社会工程(垃圾、便条、伪装查询)口令猜测:常用字无法获得加密的口令-强力攻击口令Crack:字典猜测、字典攻击可获得加密的口令(嗅探加密口令,口令文件)4.获取权限,提升权限(root/administrator)猜/crack root口令、缓冲区溢出、利用NT注册表、访问和利用高权限控制台、利用启动文件、利用系统或应用Bugs 5.插入恶意代码:病毒、特洛伊木马(BO)、后门、恶意Applet,十大攻击手段,6.网络破坏:主页篡改、文件删除、毁坏OS、格式化磁盘7.数据窃取:敏感数据拷贝、监听敏感数据传输-共享媒介/服务器监听/远程监听RMON 8.伪造、浪费与滥用资源:违规使用 9.篡改审计数据:删除、修改、权限改变、使审计进程失效 10.安全基础攻击:防火墙、路由、帐户修改,文件权限修改。,十大攻击手段,易遭受攻击的资源,信息收集,1.信息搜集可能的内容:获取初始信息获取网络的地址范围获取活动主机获取开放端口和入口点确认操作系统弄清每个端口运行的是哪种服务画出网络图,2.利用嗅探器直接获取网络上所需信息:共享LAN与交换LAN,信息收集,初始信息:IP地址或域名,域名IP地址方法:公开信息源,公司或个人公布的,来自互联网的等等工具:Whois,Nslookup,Ping,Nbtstat,.地址范围:集中精力对付一个网络方法与工具:(ARIN)whois_ America Registry for Internet Numbers,Traceroute,信息收集,活动机器:区分工作站和服务器,服务器时常在线;方法与工具:Ping;ping sweeping_同时ping多台机器;Nmap_多用途工具,主要是一个端口扫描仪开放端口:开放的端口是攻击的入口点方法与工具:端口扫描(TCP 的正常连接扫描,SYN、FIN和ACK扫描)_nmap,superscan,Xscan等;War Dialing_查找网络上的modem,了解公司的电话号码段,使用WarDialing程序尝试连接,信息收集,OS类型:主机运行哪种操作系统,根据各种操作系统已知漏洞可以有针对性实现攻击方法与工具:向主机发送RFC没有列出的不平常的或者没有意义的数据包,不同操作系统对它们的处理方法不同(所谓指纹),通过解析输出,能够知设备和OS类型。Queso和Nmap开放端口对应的服务:了解1024以下端口与服务对应表,及大于1024的常见网络服务;使用扫描工具自动解析如Nmap,Xscan等等使用Telnet,返回的信息常揭露了对端使用的是哪种应用程序,如图,Telnet探测实例,从返回结果可知对端为一提供了IMS网关的Exchange服务器,并且版本为5.5。于是可根据MS Exchange5.5的漏洞进行攻击,信息收集,查点_Windows:找到windows有关系统信息Net 命令系列,net view查看共享资源,net use 连接资源,.;Nbtstat,获取当前主机名及登录用户;使用Windows光盘自携工具,如nltest用于查看域控制器等等,信息收集,查点_Unix:比windows基于Netbios泄露过多信息情况要好,但仍可利用一些工具进行Unix查点:ShowmountNFS信息:showmount e ip;Finger远程系统的用户信息:finger l ip/域名;Tftp获取远程系统文件(if tftp srv exist):tftp ip;get/etc/passwd,信息收集,网络图:画出网络图,获得被攻击者整个或部分的网络环境,以找到最好的入侵方法。方法与工具:Traceroute/Tracert_源到目的地路径;Visual Ping_显示经过的系统及系统的地理位置;Cheops自动地画出网络图。,Nslookup伪装,可以伪装成为secondary DNS服务器获得有用数据使用此DNS服务器做域名解析到所有主机名和IP地址的映射情况公司使用的网络和子网情况主机在网络中用途(带有描述性的主机名),如:和,Traceroute跟踪,用于路由跟踪,判断从你的主机到目标主机经过哪些路由器、跳计数、响应时间等等可以推测出网络物理布局判断出响应较慢的节点和数据包在路由过程中的跳数Traceroute 或者使用极少被其它程序使用的高端UDP端口,或者使用PING数据包,Traceroute 路由跟踪原理,?TTL-10,A,B,Traceroute 路由跟踪原理,A,B,B,Traceroute 路由跟踪原理,A,?TTL-10,我知道路由器B存在于这个路径上,路由器B的IP地址,B,Traceroute 路由跟踪原理,A,我知道路由器B存在于这个路径上,路由器B的IP地址,我到达了目的地,基于traceroute的Firewalking攻击,使用类似于路由跟踪的IP数据包分析方法来测定一个特殊的数据包能否从攻击者传送到位于数据包过滤设备后的主机用于探测网关上打开(open)或允许通过(pass through)端口能构测定带有各种控制信息的数据包能否通过给定的网关能够探测位于数据包过滤设备后的路由器,使用ICMP的Traceroute攻击,由于防火墙一般不进行内容检查,我们可以将探测数据包到达防火墙时端口为其接受的端口,就可以绕过防火墙到达目标主机。起始端口号计算公式起始端口号=(目标端口-两机间的跳数*探测数据包数)-1,例:防火墙允许FTP数据包通过,即开放了21号端口,两机间跳数为2 起始端口号(ftp端口两机间的跳数*默认的每轮跳数)1(212*3)-1 151 14,代理扫描,Ftp服务器 F,扫描目标 T,扫描机 S,S与F建立一个会话,使用port命令声明一个选择的端口作为代理传输需要的被动端口,P,使用一个LIST命令尝试启动一个到pT的数据传输,代理扫描,Ftp服务器 F,扫描目标 T,扫描机 S,S与F建立一个会话,使用port命令声明一个选择的端口作为代理传输需要的被动端口,P,ICMP扫描技术,如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉提出的要求,从而接收不到任何回应,我们可以使用非常大的协议数字来作为IP头部的协议内容,而且这个协议数字至少在今天还没有被使用,主机应该会返回Unreachable,如果没有Unreachable的ICMP数据报返回错误提示,那么就说明被防火墙或者其他设备过滤了,可以用这个办法来探测是否有防火墙或者其他过滤设备存在。,利用组装超时ICMP错误消息探测协议,一段时间后,NMAP穿透防火墙,NMAP穿透防火墙的一种方法是利用碎片扫描技术(fragment scans),你可以发送隐秘的FIN包(-sF),Xmas tree包(-sX)或NULL包(-sN)。这些选项允许你将TCP查询分割成片断从而绕过防火墙规则。这种策略对很多流行的防火墙产品都很有效对网络的侦查十分有效它具有非常灵活的TCP/IP堆栈指纹引擎 它可以穿透网络边缘的安全设备,收集信息小结,利用公开的协议或工具,也可以利用其它一切可以获得的情报,收集目标网络系统中的各个主机系统的相关信息(域名/IP/Addr Scope/OS Type/Ports/Services)外网可用工具:usenet,whois,nslookup,traceroute,SNMP协议 HTTP、FTP、SMTP及Telnet等网络服务可能会暴露操作系统类型和版本等信息;内网可用工具:nbtstat,WHOIS协议、DNS服务器及NetBIOS协议等可能会给出目标主机名称等信息 不同OS TCP/IP协议的实现(RFC无定义/严格要求)会产生不同的“指纹”,可用于判断目标主机所使用的操作系统。使用集成工具:Nmap,Xscan,SuperScan,Nessus等,踩点及扫描,一次信息收集过程实例(1),1.通过媒体得到网址:,一次信息收集过程实例(2),2.使用whois查询该网站的注册信息,一次信息收集过程实例(3),3.使用nslookup探测该公司所有域名记录,包括MX等,一次信息收集过程实例(4),用ping检测记录中的你感兴趣的主机是否存活或直接用扫描软件如Xscan等对它进行扫描,获取端口、开放的服务、OS类型及是否存在漏洞等,一次信息收集过程实例(5),由扫描软件Xscan对存活主机进行扫描,发现该主机有SQL服务,并且SA管理员密码为空,一次信息收集过程实例(6),其它可做工作:使用tracert/traceroute或Cheops获得该公司部分网络拓扑,至少可以知道它经过了几跳到达internet,可利用的信息包括前面通过nslookup获知的主机记录横跨的网段。,网络嗅探,正常情况下,以太网在进行信息传输时,会把网络帧送到各个网络节点(共享LAN),节点主机网卡检测到包含与自已物理地址匹配的网络帧才会接收。但网卡可以被设置成所谓混杂模式,在这种模式下,主机网卡可以接收到本网段传输的所有网络帧,不管这些信息的发送方和接收方是谁。这样,可以设计相应的网络程序将网卡设置成混杂模式,然后对所获得的所有网络帧进行分析,这称之为网络嗅探/监听。,网络嗅探器,完成以上网络嗅探/监听工作的程序叫网络嗅探器。嗅探器可以帮助网管人员查找网络漏洞和检测网络性能、可以分析网络的流量,找出网络中潜在的问题。嗅探器如果为黑客所利用来获取有价值的信息,如各种明文传输的消息包括未加密的帐号密码等,黑客便可以借此发动对网络的进一步攻击。,常见嗅探器,Sniffer pro,NAI公司出品的当前最好网络协议分析软件之一,常见嗅探器,CommView,TamoSoft公司出品,能检验每个单独的数据包并对底层协议进行全面分析,常见嗅探器,Ethereal,是一个免费的网络协议分析器,支持unix 和 windows,共享LAN与交换LAN的监听,两种形式的以太网:共享与交换。共享LAN将网络帧传送给LAN内每一个节点。任何一节点上的主机可以通过设置网卡为混杂模式来监听整个LAN上的网络数据;交换LAN中,因交换机使用MAC地址表来传送网络帧,网络帧不会在整个LAN中传播,此称为网络端口到端口的通信。因此交换环境下如果要时行网络监听,除了网卡必须一样设置成混杂模式,同时还必须保证将不同端口通信的网络帧同时送一份到混杂模式网卡所连接的交换机端口,此称为端口镜像。,共享LAN监听示意图,交换LAN监听示意图,CISCO交换机端口监听配置,interface FastEthernet0/1port monitor FastEthernet0/2port monitor FastEthernet0/5port monitor VLAN1interface FastEthernet0/2interface FastEthernet0/3switchport access vlan 2interface FastEthernet0/4port monitor FastEthernet0/3port monitor FastEthernet0/6switchport access vlan 2interface FastEthernet0/5interface FastEthernet0/6switchport access vlan 2interface VLAN1ip address 10.200.8.136 255.255.252.0.,检测网络监听,网络监很难被发现被动,无信息交换可能的方法:检查进程ps-ef或者ps-aux,taskmgr用正确的IP地址和错误的物理地址去ping它,这样正在运行的监听程序就会做出响应的向网上发大量不存在的物理地址的包,而监听程序往往就会将这些包进行处理,这样就会导致机器性能下降,你可以用icmp echo delay来判断和比较它Ifstatus的运行在Unix下的工具网卡模式,防范网络监听,加密:口令,帐号工具:SSH or Others熟悉自已的网络拓扑,关键路径上做防范工作,网络攻击,破坏性攻击拒绝服务攻击DoS分布式拒绝服务攻击DDoS 获取访问权攻击口令攻击 欺骗攻击 会话劫持攻击 缓冲区溢出攻击 输入验证攻击特权提升攻击,拒绝服务攻击DoS,最悠久也是最常见的攻击形式不是某一种具体的攻击方式,是攻击所表现出来的结果,目标因遭受攻击不能继续提供正常的服务,包括系统的瘫痪或崩溃两种基本类型:1.一步到位,使系统或网络瘫痪,最具破坏力;2.连续攻击,向系统或网络发送大量信息,使系统或网络不能响应。,拒绝服务攻击DoS,Ping of Death:大于64K的包Teardrop:第一个包的偏移量为0,长度为N,第二个包的偏移量小于N,收到这些包重合并时,TCP/IP堆栈会耗费巨大资源,使系统响应变慢甚至重新启动Land:将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。Smurf:向一个子网的广播地址发一个带有特定请求(如ICMP回应请求)的包,并且将源地址伪装成想要攻击的主机地址。子网上所有主机都回应广播包请求而向被攻击主机发包,使该主机受到攻击。,拒绝服务攻击DoS,SYN flood:以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。CPU Hog:耗尽系统资源使运行NT的计算机瘫痪的拒绝服务攻击,利用Windows NT排定当前运行程序的方式所进行的攻击Win Nuke:攻击者向被攻击的主机端口139发送大量的数据使其死机RPC Locator:通过telnet连接到受害者机器的端口135上,发送数据,导致CPU资源完全耗尽,拒绝服务攻击DOS,TCP连接建立过程,拒绝服务攻击DOS,SYN-flood攻击示意图,解剖SYN Flood攻击,不断发送大量伪造的TCP SYN分段,最多可打开的半开连接数量,超时等待时间,等待期内的重试次数,对SYN Flood攻击的防御,确定遭受SYN Flood攻击的方法对SYN Flood攻击的几种简单解决方法缩短SYN Timeout时间 SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值等于SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间 设置SYN Cookie 给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃,增强Windows 2000对SYN Flood的防御,打开regedit,找到HKEY_LOCAL_MACHINESystem CurrentControlSetServicesTcpipParameters增加一个SynAttackProtect的键值,类型为REG_DWORD,取值范围是0-2,这个值决定了系统受到SYN攻击时采取的保护措施,包括减少系统SYN+ACK的重试的次数等,默认值是0(没有任何保护措施),推荐设置是2,增强Windows 2000对SYN Flood的防御,增加一个TcpMaxHalfOpen的键值,类型为REG_DWORD,取值范围是100-0 xFFFF,这个值是系统允许同时打开的半连接,默认情况下WIN2K PRO和SERVER是100,ADVANCED SERVER是500,这个值取决于服务器TCP负荷的状况和可能受到的攻击强度增加一个TcpMaxHalfOpenRetried的键值,类型为REG_DWORD,取值范围是80-0 xFFFF,默认情况下WIN2K PRO和SERVER是80,ADVANCED SERVER是400,这个值决定了在什么情况下系统会打开SYN攻击保护,Telnet的拒绝服务攻击,Windows 2000中Telnet在守护其进程时,在已经被初始化的会话还未被复位的情况下很容易受到一种普通的拒绝服务攻击,Telnet的拒绝服务攻击,对该连接不进行复位,因为此时Telnet的客户连接数的最大值是1,Microsoft Windows Workstation allows only 1 Telnet Client LicenseServer has closed connection,Smurf攻击,Smurf攻击示意图,分析Smurf攻击,攻击者,被攻击者,放大网络,源IP=被攻击者的IP目的IP=指向网络或子网的广播,防范Smurf攻击,分别在源站点、反弹站点和目标站点三个方面采取步骤,以限制Smurf攻击的影响:阻塞Smurf攻击的源头可以使用路由路的访问保证内部网络中发出的所有传输信息都具有合法的源地址,防止这种攻击阻塞Smurf的反弹站点 简单地阻塞所有入站echo请求 关闭广播包的转发设置 防止Smurf攻击目标站点 使用动态分组过滤技术,或者使用防火墙,Fraggle攻击,发送畸形UDP碎片,使得被攻击者在重组过程中发生未加预料的错误典型的Fraggle攻击碎片偏移位的错乱强制发送超大数据包纯粹的资源消耗,如何阻止IP碎片攻击,Windows系统请打上最新的Service Pack,目前的Linux内核已经不受影响。如果可能,在网络边界上禁止碎片包通过,或者用iptables限制每秒通过碎片包的数目。如果防火墙有重组碎片的功能,请确保自身的算法没有问题,否则DoS就会影响整个网络Windows 2000系统中,自定义IP安全策略,设置“碎片检查”,DoS实例,使用Sniffer发起Smurf攻击,分布式拒绝服务 DDOS,经常采用而且难以防范的、在DOS基础上产生的一类攻击方式,用更多的傀儡机以更大的规模攻击目标主机互联网的高速发展方便了更大范围发起的DDOSDDOS体系结构:攻击者所在机 控制机(控制傀儡机)傀儡机 目标主机,DDOS示意图,DDOS示意图,DOS&DDOS常用工具,TargaTFN2KTrinooStacheldraht,TFN,由主控端程序和代理端程序两部分组成 主要采取的攻击方法 SYN风暴Ping风暴UDP炸弹Smurf 具有伪造数据包的能力TFN DDoS 攻击基本特性,Stacheldraht,Stacheldraht攻击类型UDP 冲击TCP SYN 冲击ICMP 回音应答冲击ICMP广播,Trinoo,攻击方法是向被攻击目标主机的随机端口发出全0的4字节UDP包 通讯端口攻击者主机到主控端主机:27665/TCP主控端主机到代理端主机:27444/UDP代理端主机到主服务器主机:31335/UDP,Trinoo的特征,master程序与代理程序通讯中使用UDP协议监听端口是27655,一般通过TCP连接到master程序所在计算机所有从master程序到代理程序的通讯都包含字符串l44,并且被引导到代理的UDP 端口27444 Master和代理之间通讯受到口令的保护,Trinoo的反安装,在代理daemon上使用“strings”命令,将master的IP地址暴露出来 与所有作为trinoo master的机器管理者联系,通知它们这一事件 在master计算机上,识别含有代理IP地址列表的文件(默认名“.”),得到这些计算机的IP地址列表向代理发送一个伪造“trinoo”命令来禁止代理 检查master程序的活动TCP连接找到多个UDP信息包,l来自同一IP地址、源端口、去往同一目的IP地址、但不同的目的端口,口令破解,破译用户的口令作为攻击的开始通过用户的口令,进一步获得机器或者网络的访问权,访问到用户能访问到的任何资源前提:必须先得到主机上的合法用户的帐号,然后再进行合法用户口令的破译.获取帐号方法:Finger、电子邮件地址等获取口令方法:网络嗅探、强行破解、系统管理员的失误等,口令攻击类型,字典攻击构造可能的字符、数字等组合的字典文件,利用获得的帐号猜测用户口令强行攻击尝试字母、数字、特殊字符所有的组合,利用高性能的计算机进行运算,最终破解所有的口令。*回顾密码技术关于hash加密,密码无法反演其他攻击社会工程学,偷窥,垃圾,口令攻击工具,UNIX下常用工具:John the Ripper,Crack,XIT,SlurpieWindows下常用工具:NTCrack,NTSweep,L0phtcrack,PWDump2,NAT网络嗅探器,比较局限,口令攻击实例1,利用NAT工具破解windows2K帐号密码,口令攻击实例2,使用John the ripper破解linux用户口令,欺骗攻击,类型:IP欺骗,用于基于IP地址的安全机制环境下MAC欺骗,用于基于Mac地址的安全环境下Email欺骗,Email发送方地址的欺骗WEB欺骗,假冒网站如前段时间出现的工商银行网站套取信用卡密码非技术类欺骗,社会工程学,*IP欺骗,IP欺骗是在服务器不存在任何漏洞的情况下,通过利用TCP/IP协议本身存在的一些缺陷进行攻击的方法。基本地址欺骗非常低级的手段,直接修改本机的网络设置,使用别人的IP地址。返回信息会发给被假冒机。又叫单向攻击。适用于特定类型的拒绝服务攻击,使用单个包,或使用UDP(无连接)源路由攻击源路由指定一条数据包必须经过的路径,发送端指定了到达目的地址的源路由,那么目的机器能够自动地使用源路由返回到发送端,电子邮件欺骗,基本方法:相似的电子邮件地址修改邮件客户远程登录到端口25,相似的电子邮件地址,在电子邮件的别名字段填入被冒充者的名字。用户收到邮件后,因不注意检查同样别名的真实地址并不一样而直接回复,攻击者由此达到欺骗止的。特别有时是管理员名字的场合。,相似的电子邮件地址,修改邮件客户,在类似outlook的邮件客户端,攻击者能够指定他想出现在发件人中的所有地址,远程登录到端口25,攻击者连接到邮件服务器25端口,装作是一台邮件服务器,然后写一个信息,发送出去。防止:不允许邮件转发;配置邮件服务器只发送或者接受一个指定域名或者公司的邮件。,远程登录到端口25,Helo Mail froam:Rcpt to:DataSublect:Read meImportance:highMIME-Version:1.0Content-type:text/html;charset=us-asciiContent-Transfer-Encoding:7bitHi!.quit,通过下列命令执行:Type mail.txt|telnet IP 25,WEB欺骗,Web服务器,口令直接明文传输隐患:sniffer、中间代理、假冒的服务器,WEB欺骗,基本的网站欺骗注册一个非常类似需要假冒的网站的有欺骗性的域名。如:或网站首页与真实网站完全一样,如此用户键误进入后会在交互页面上泄露重要信息。典型的例子是假冒金融机构,偷盗客户的信用卡信息。,WEB欺骗,URL重写攻击者可以将自已的Web地址加在所有URL地址的前面利用信息排盖技术,一般 用JavaScript程序来重写浏览器的地址栏和状态栏,以达到其掩盖欺骗的目的。*相信大家有过类似如浏览器被强行指向某个网站的经历,DNS欺骗,为中间人攻击方式的一种DNS欺骗,攻击者先攻破欲冒充网站的DNS服务器,将相关记录指向攻击者控制的主机,外界与目标机交互的所有信息由攻击者控制的主机转发,攻击者可以任意窃听甚至修改数据流里的数据,收集到大量的信息,实现中间人攻击。,DNS欺骗,D,B,A(提供rlogin服务),DNS服务器,Internet,主机B IPB,主机C IPC,针对FTP的攻击,FTP跳转攻击无访问控制密码截获端口盗用,ftp攻击,FTP服务通常被攻击者上传后门程序文件到主机,然后通过种种方式转移成为激活的后门,Solaris 操作系统FTP漏洞,该方法利用了Solaris 操作系统中FTPD的一个BUG,使得用户可以获得该机的口令文件。具体过程如下:1.通过 ftp 正常登录到目的主机上 2.输入如下命令序列:ftp user root wrongpasswd ftp quote pasv 3.这时,ftpd会报错退出,同时会在当前目录下生成一个core,口令文件就包含在这个core中。4.再次进入FTP get core,针对TS的攻击,密码猜测攻击风险(TSGrinder)权限提升风险(PipeUpAdmin、GetAdmin)IME攻击风险RDP DoS攻击风险,会话劫持攻击,会话劫持(Session Hijack)嗅探+欺骗技术基于TCP/IP的工作原理:攻击者通过嗅探先获知正在通信的两台主机之间传送的报文,得到报文的源IP、源TCP端口号、目的IP、目的TCP端号,进而可知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求,并按此要求向被攻击机发送报文,使被攻击机与攻击者建立了会话。特点:避开被攻击主机对访问者的身份验证和安全认证,攻击者直接进入对被攻击主机的的访问状态,因此对系统安全构成的威胁比较严重。,会话劫持攻击程序,Juggernaut可用来进行TCP会话劫持攻击的sniffer程序行于LINUX上以设置值、暗号或标志三种方式来设定对网络流量进行观察Hunt听取、截取和劫持网络上的活动会话的程序IP Watcher商用的会话劫持工具,允许监视会话并且获得积极的反会话劫持方法,可以监视整个网络TTY Watcher免费程序,可监视并劫持一台单一主机上的连接,IP欺骗和劫持,建立信任关系 Non-blind spoofing 和Blind spoofing先决条件一个包嗅探器一个能够同时终止TCP连接、产生另一个TCP连接、进行IP 伪装的程序,序列号生成方法与劫持过程的约定,X,T,S,客户端,服务端,入侵者,被冒充的可信节点,序列号生成方法与劫持过程,T必须要在第三步中给出ISNs,问题是ISNs在第二步中发给了T(X当然很难截取到)幸运的是,TCP协议有一个约定:ISN变量每秒增加250,000次,这个增加值在许多版本比较旧的操作系统中都是一个常量,在FreeBSD4.3中是125000次每秒,这就给X一个可乘之机,ISNs相关问题,TCP的初始序列号并没有提供防范连接攻击的相应措施解决方法使用IPSEC使用RFC1948其它一些方法,使用IPSEC,提供了一种加密技术,使系统能验证一个包是否属于一个特定的流能同时应付着两种攻击(包攻击和连接攻击)实现IPSec非常复杂,而且需要客户机支持,使用RFC1948,ISN=M+F(sip,sport,dip,dport,),ISN 32位的初始序列号M 单调增加的计数器F 单向散列哈希函数(例如 MD4 or MD5)sip 源IP地址sport 源端口dip 目的IP地址dport 目的端口 哈希函数可选部分,使远程攻击者更难猜到ISN,其它一些方法,完全随机方法简单地选取一些随机数作为ISN,指定ISN=R(t)结合完全随机方法和RFC 1948解决方案 ISN=(PRNG(t)16)+R(t)PRNG(t)是一组随机指定的连续的16位数字R(t)是16位随机数生成器有效地生成了一组在给定时间内的不会重复的ISN的值 太依赖于系统时钟,对TCP ISN生成器构造方法安全性评估,ISN与PRNGs(伪随机数生成器)Spoofing 集合,缓冲区溢出攻击,又称堆栈溢出。缓冲区溢出攻击可以导致程序运行失败、系统崩溃。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。第一个缓冲区溢出攻击-Morris蠕虫,造成了全世界6000多台网络服务器瘫痪。原因1:C(与其后代 C+)本质就是不安全的,没有边界来检查数组和指针的引用,除此,存在一些不安全的标准函数:strcpy()、sprintf()、gets()等原因2:每个程序运行的需要:放置数据的空间。覆盖缓冲区的数据经过“黑客”精心设计的入侵代码的话,黑客就获取了程序的控制权。,缓冲区溢出,利用缓冲长度界限向程序中输入超出其常规长度的内容,造成缓冲区的溢出从而破坏程序的堆栈,使程序运行出现特殊的问题转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数,属于程序开发过程考虑不周到的结果。缓冲区溢出成为远程攻击的主要手段。原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代