黑客攻击与防范技术目录一、背景介绍二、黑客攻击基本流程介绍三、黑客常见攻击方法和防范措施四、网络攻击演示与实践五、网络安全整体解决方案六、结束语网络中存在的安全威胁背景介绍什么是黑客黑客守则黑客守则黑客入侵和破坏的危险针对我国的几次主要黑客攻击事件2001年中美黑客大战这次事件中被利用的典型漏洞用户名泄露,缺省安装的系统用户名和密码Unicode编码可穿越Firewall,执行黑客指令ASP源代码泄露可远程连接的数据库用户名和密码SQLServer缺省安装Windows2000登录验证机制可被绕过基于Bind漏洞的Lion蠕虫拒绝服务(SYN-Flood,ping)这次事件中被利用的典型漏洞这次事件中被利用的典型漏洞PoizonB0x、pr0phet更改的网页中国网数据有限公司中国科学院心理研究所国内某大型商业网站国内某政府网站国内黑客组织更改的网站页面Internet上有超过30,000个黑客站点黑客攻击基本流程消除所有入侵脚印,以免被管理员发现典型的攻击步骤图解黑客常见攻击方法和防范措施1、预攻击探测2、漏洞扫描和攻击3、木马与后门攻击4、拒绝服务攻击5、欺骗攻击6、病毒蠕虫攻击7、其他攻击8、总结黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施主机扫描操作系统本身的ping工具,在windows安装光盘中有一个我们不太注意工具集(supertools)Windows平台Pinger、PingSweep、WS_PingProPackping工具:Pingerping工具:PingSweepPingSweep是基于ICMP协议的IP扫描,是网络扫描的较早期的工具,扫描速度比较慢。黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施网络结构发现尽可能多的获取对方网络拓扑信息分析对方网络结构为进一步入侵做准备Tracert命令用于路由跟踪,判断从你的主机到目标主机经过哪些路由器、跳计数、响应时间等等可以推测出网络物理布局判断出响应较慢的节点和数据包在路由过程中的跳数Tracert路由跟踪原理Tracert路由跟踪原理Tracert路由跟踪原理Tracert路由跟踪原理Tracert使用立体图形化路由跟踪工具VisualRoute黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施端口扫描基础TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。TCP的可靠性通过校验和、定时器、数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(这通常称作三阶段握手TCP/IP协议簇TCP三次握手机制TCP/IP相关问题一个TCP头包含6个标志位。它们的意义如下所述:SYN:标志为用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接;FIN:表示发送端已经没有数据要求传输了,希望释放连接;RST:用来复位一个连接。RST标志位置的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包;URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效;ACK:为确认标志位。如果为1,表示包中的确认号是有效的。否则,包中的确认号无效;PSH:如果置位,接受端应尽快把数据传送给应用层大部分TCP/IP遵循的原则(1)大部分TCP/IP遵循的原则(2)大部分TCP/IP遵循的原则(3)端口扫描原理端口扫描基础全TCP连接TCPSYN扫描TCPFIN扫描端口扫描工具(Windows平台)NetScanToolsWinScanSuperScanNmapNT端口扫描工具:NetScanTools端口扫描工具:WinScan端口扫描工具:SuperScan端口扫描工具:NmapNT黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施扫描基础利用IP协议项来探测主机使用哪些协议利用IP协议项来探测主机使用哪些协议利用组装超时ICMP错误消息探测协议高级扫描技术-慢速扫描高级扫描技术-乱序扫描普通的扫描器在扫描远程系统的端口时,对端口扫描的顺序是有序的,这种按照一定的顺序扫描端口的方式很容易被入侵检测系统发觉。乱序扫描的端口号的顺序是随机生产的,这种方式能有效的欺骗某些入侵检测系统而不会被入侵检测系统发觉黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施资源和用户信息扫描除前面介绍的ping扫射、端口扫描和操作类型扫描外,还有一类扫描和探测也非常重要,这就是资源扫描和用户扫描。这些扫描都是攻击目标系统的很有价值的信息,而Windows系统,特别是WindowsNT/2000在这些方面存在着严重的漏洞,很容易让非法入侵者获取到关于该目标系统的很多有用信息,如共享资源、Netbios名和用户组等。资源扫描:用户扫描网络资源和共享资源,如目标网络计算机名、域名和共享文件等等;用户扫描:用户扫描目标系统上合法用户的用户名和用户组名。•NetBIOS协议•CIFS/SMB协议•空会话资源扫描和查找NetViewwindows自带工具Nbtstatwindows自带工具NbtscanWindowsNT/2000资源工具箱Netview用户和用户组查找利用前面介绍的方法,可以很容易获取远程WindowsNT/2000主机的共享资源、NetBIOS名和所处的域信息等。但黑客和非法入侵者更感兴趣的是通过NetBIOS扫描,获取目标主机的用户名列表。如果知道了系统中的用户名(即账号)后,就可以对该账号对应的口令进行猜测攻击(有些口令往往很简单),从而对远程目标主机进行更深入的控制。在WindowsNT/2000的资源工具箱NTRK中提供了众多的工具用于显示远程主机用户名和组信息,如前面介绍的nbtstat和nbtscan,另外还有其他工具(后续介绍)黑客常见攻击方法和防范措施1、预攻击探测◆主机扫描◆网络结构发现◆端口和服务扫描◆操作系统识别◆资源和用户信息扫描◆防范措施针对预攻击探测的防范措施•Pingsweep安装防火墙或相关工具软件,禁止某些ICMPping,使用NAT隐藏内部网络结构Portscan安装防火墙或相关工具软件,禁止访问不该访问的服务端口OSfingerprint安装防火墙或相关工具软件,只允许访问少量服务端口,由于攻击者缺乏必要的信息,无法判断OS类型资源和用户扫描防范NetBIOS扫描的最直接方法就是不允许对TCP/UDP135到139端口的访问,如通过防火墙或路由器的配置等。另外,对单独的主机,可使用NetBIOSoverTCP/IP项失效或注册表配置来实现。黑客常见攻击方法和防范措施1、预攻击探测2、漏洞扫描和攻击3、木马与后门攻击4、拒绝服务攻击5、欺骗攻击6、病毒蠕虫攻击7、其他攻击8、总结漏洞扫描和攻击概述漏洞扫描是一种最常见的攻击模式,用于探测系统和网络漏洞,如获取系统和应用口令,嗅探敏感信息,利用缓存区溢出直接攻击等。我们可以从以下网站进行查询目前已经公布的漏洞信息:针对某一类型的漏洞,都有专门的攻击工具。另外,也有一些功能强大综合扫描工具,针对系统进行全面探测和漏洞扫描,如流光等。黑客常见攻击方法和防范措施漏洞扫描和攻击口令破解IPC$漏洞缓冲区溢出IIS漏洞综合漏洞扫描黑客常见攻击方法和防范措施口令破解弱口令扫描暴力穷举•完全取决于机器的运算速度字典破解•大大减少运算的次数,提高成功率密码监听•通过嗅探器监听网络中的数据包社交工程学木马和键盘记录程序黑客常见攻击方法和防范措施口令攻击演示:“*”密码查看黑客常见攻击方法和防范措施口令攻击演示:ZIP密码破解黑客常见攻击方法和防范措施口令攻击演示:XP/2000密码口令破解弱口令扫描流光CNIPCNT暴力穷举/字典破解LC4Fluxay5流光针对口令破解攻击的防范措施安装入侵检测系统,检测口令破解行为安装安全评估系统,先于入侵者进行模拟口令破解,以便及早发现弱口令并解决提高安全意识,避免弱口令使用检测工具Anti-Sniffer网络嗅探破解口令如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如Ethereal,SnifferPro,NetXray,tcpdump,Dsniff等就可以轻而易举地截取包括口令、帐号等敏感信息网络嗅探破解口令共享信道广播型以太网协议不加密口令明文传输混杂模式处于这种模式的网卡接受网络中所有数据包针对网络嗅探攻击的防范措施安装VPN网关,防止对网间网信道进行嗅探对内部网络通信采取加密处理采用交换设备进行网络分段采取技术手段发现处于混杂模式的主机,发掘“鼹鼠”漏洞扫描和攻击IPC$漏洞IPC$(InternetProcessConnection)是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表。漏洞扫描和攻击缓冲区溢出十年来最大的安全问题这是一种系统攻击手段,通过向程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权。缓冲区溢出基本原理受攻击程序vulnerable.cvoidmain(intargc,char*argv[]){charbuff[1024];if(argc1)strcpy(buff,argv[1]);}缓冲区溢出基本原理攻击程序exploit.c#includestdio.h#includeunistd.hvoidmain(){charstring[2000];for(i=0;i2000;i++)string[i]='A';execl(./vulnerable,vulnerable,string,0);}缓冲区溢出基本原理缓冲区溢出基本原理漏洞扫描和攻击IIS漏洞IIS漏洞Unicode解码目录遍历漏洞IIS4.0和IIS5.0存在着一个二次解码漏洞,它是一个奇怪的编码方式引起的:%ss%hh-(0xss-0xc0)*0x40+0xhh例如:%c1%1c按照上面的解码公式可解成:%c1%1c=(0xc1-0xc0)*0x40+0x1c=0x5c=“/”%c0%2f=(0xc0-0xc0)*0x40+0x2f=0x2f=“\”下面的