小小黑客之路
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

入门篇

第1回 我是黑客,我不是骇客

解黑客及黑客技术的发展可以拓宽你的视野,使你对黑客有一个更为全面的认识。

自从张飞和曹操相识,他们就结下了梁子,一来蜀营和曹营业务有些对立,二来曹操这厮总喜欢没事就捉弄下张飞,让张飞心中很是不爽。张飞也不是个讲理的主,一看曹操骑到了自家头上,那还得了!不过大家都是“文明人”,曹营也不是他随便能去的,于是张飞满腔怒火,左思来右想去:“这小子,不给他来个下马威,就当我是病猫!不行,一定要好好整整他。不过,不能打架,咱都是文化人啊。那怎么办呢?”翻来覆去一宿,张飞总算想出了一个万全的办法。“嘿嘿,曹操这小子肯定不知道现在流行黑客技术,据说神奇得很,来无影去无踪。而自家蜀营的军师兼好友诸葛亮就精通黑客攻防之道,可以跟他学习一下。”想罢,张飞一阵兴奋,立马从床上蹦起,前往诸葛亮的住处,决心要学习一些黑客攻防的技术,捉弄一下曹操!从此,张飞踏上了黑客攻防的学习之旅……

军师,俺最近饱受曹操欺负,却又无可奈何,特来向您求救啊!

你们两人之间的事情我又如何插手?

曹操那厮太过狡猾,几次与他交手都未能占到便宜,弄得我损兵折将,这可如何是好?

那你要我怎么帮你?

嘿嘿,军师当年在东吴黑战群儒,让俺崇拜得五体投地,不,六体、七体投地,俺想通了,就跟军师学黑客技术,以报一箭之仇,希望军师可以教我两招。

六体投地……那我先问你个问题,什么是黑客?

黑客不就是那种可以在网络世界里飞檐走壁,打家劫舍,进出别人电脑如自家后门的人么。

你这浑人,荒谬,我还是给你说说什么是真正的黑客吧。

1.1 什么是黑客

提起黑客,总能让人遐想。媒体的夸张描述、世界著名黑客的传奇人生更是将黑客的神秘推至一个无以复加的地步。正是由于这种片面的了解,主流社会将黑客单纯地定义为了“计算机罪犯”。事实并非如此!黑客,并不是人们眼中的计算机捣乱分子,他们不同于骇客,他们有自己的做事准则和文化。

原来是这样啊,看来我回去要多补补功课才行了。

1.1.1 黑客的兴起及发展

黑客(Hacker)一词源于英文动词Hack,意为“劈,砍”,可引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”一词有“恶作剧”之意,且特指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中对黑客有这样的定义:喜欢探索软件程序奥秘,并从中增长了其个人才干的人。因此,黑客事实上是一群热衷于追寻新技术的人,而“计算机罪犯”的恶名也只是近几年才产生的。当我们通览黑客的历史能发现:它的产生与发展是建立在时代的背景之上,且与计算机技术的发展紧密相连。因此,“黑客史”其实就是一部计算机发展的历史。

早在20世纪50年代,黑客就出现在了世界著名大学麻省理工学院的实验室中。所谓的“黑客”,是一群精力充沛且热衷于解决难题的年轻人。在60、70年代,“黑客”一词极被推崇,经常被用于指代那些好奇心极强、热衷于各种难题同时又智力超群、对计算机全身心投入的计算机迷。黑客的存在,事实上是对计算机最大潜力的一种探索,为计算机技术的发展做出了巨大贡献。也正是这些黑客,主导了一场个人计算机革命,他们是计算机发展史上的英雄。目前,黑客使用的侵入计算机系统的基本技巧,如破解口令(Password Cracking)、走后门(Backdoor)、安放特洛伊木马(Trojan Horse)等,都是在这一时期发明的。与此同时,黑客的经历也往往能成为一种很好的锻炼,苹果公司创始人之一乔布斯就是一个典型的例子。

在20世纪60年代,计算机还远未普及,因此也没有我们现在所谓的计算机犯罪事件。到了80、90年代,计算机在我们生活中扮演的角色越来越重要,但信息却越来越集中在少数人的手中。黑客们认为,当信息成为一种共享资源时,才是计算机真正融入日常生活的时候。于是他们将注意力转移到如何实现信息共享上。而此时,计算机空间已私有化,成为了一种私有财产,社会也不能再对黑客行为放任不管,必须利用法律等手段来进行控制,黑客活动受到了空前的打击。

我以前还听说过一个词,叫做“骇客”,这个又是怎么回事呢?它和黑客有什么区别呢?

黑客与骇客分属两个不同的族群。对一个黑客来说,成为黑客的过程是学习和提高自身的过程,学会入侵和破解是必要的,但最主要的是编程。毕竟,使用工具是体现别人的思路、依赖别人的表现,而只有自己的程序才是自己最真切的想法。很多安全软件公司的程序员本身就是高明的黑客,因此,黑客技术的发展能带来编程技术的发展和安全技术的进步。

但对于一个骇客来说,他们就没有如此烦琐的学习过程了。他们只追求入侵的快感,不在乎技术的高低精湛,他们不一定会编程,不一定知道入侵的具体细节,仅利用各种现成工具实现入侵的目的。因为骇客的进入门槛低,所以网络上出现了越来越多的骇客,良莠不齐的骇客们带来了基于各种各样目的的入侵甚至是破坏,这不仅无益于计算机技术的发展,还损害了网络的安全,给人们带来了巨大的经济和精神损失,造成了非常严重的社会影响。

普通人并不了解黑客与骇客的区别,常常错误地将二者等同起来。如今在人们眼中,黑客成了网上捣乱分子和犯罪分子的代名词,很大程度上是由于有些不法骇客以“黑客”之名自居。事实上,黑客(Hacker)和骇客(Cracker)是有天壤之别的。

一言以蔽之,黑客们建设,骇客们破坏!

听了军师一席话,我决定做一个懂建设的黑客,绝不像骇客那样乱搞破坏。不过对曹操那厮,嘿嘿~

孺子可教也,那我就再给你讲些黑客的文化。

黑客还有文化之说?军师快快道来。

1.1.2 黑客文化

黑客文化中最重要的是自由不羁的精神。他们在网络上自由驰骋,不喜欢受束缚,喜欢挑战任何技术制约和人为限制。黑客行为的核心,就是要突破对信息本身所加的各种限制,使信息共享。从事黑客活动就意味着对计算机的最大潜力进行自由探索,尽可能地努力使技术的应用和信息的获取达到完全的免费和公开。他们坚信完美的程序将成为解放人类头脑和精神的“救世主”。

同时,黑客文化也深深地受反传统、反权威、反集权精神的影响。这是对20世纪60年代反主流文化价值观的继承。黑客的反权威意识使他们蔑视现行计算机界的行为规则。他们认为这些规则不仅不能起到维持网络秩序和安全的作用,反而成为了为个人谋私利的工具,是不道德的。因此,黑客们为自己定制了一套行为准则。

你明白了吧,黑客文化有两个重要的组成部分:黑客守则和黑客精神。

哦?都是些什么内容呢?

黑客守则

1)不恶意破坏任何系统,否则只会给你带来麻烦。恶意破坏他人的软件将导致法律责任,如果你只是使用计算机,那仅为非法使用。注意,千万不要破坏别人的文件或数据。

2)不修改任何系统文件,如果你是为了要进入系统而修改它,请在达到目的后将它还原。

3)不要轻易将你要Hack的站点告诉你不信任的朋友。

4)不要在BBS/论坛上谈论关于你Hack的任何事情。

5)在Post文章的时候不要使用真名。

6)入侵期间,不要随意离开你的计算机。

7)不要破坏或攻击电信/政府机关的主机。

8)不在电话中谈论关于你Hack的任何事情。

9)将你的笔记放在安全的地方。

10)读遍所有关于系统安全或系统漏洞的文件!

11)已侵入计算机中的账号不得删除或修改。

12)不得修改系统文件,如果为了隐藏自己的侵入而做的修改则不在此限制内,但仍需维持原来系统的安全性,不能为得到系统的控制权而破坏原有的安全性。

13)不得将你已破解的账号分享给你的朋友。

啊,这么多,等我做下笔记。

这些你只记下来是不行的,在以后的黑客生涯中更是要认真遵守。

好的,那黑客精神又是什么内容呢?

黑客精神

1)这世上充满着等着被解决的迷人问题。

2)没有任何人必须一再地解决同一个问题。

3)无聊而单调的工作是有害的。

4)自由才好。

5)态度并非不等效于能力。

6)写免费的软件。

7)帮忙Test和Debug免费的软件。

8)公布有用的资讯。

9)帮忙维护一些简单的工作。

10)为Hacker文化而努力。

这个精神说得真好,让俺老张听得热血沸腾的。

这些规则都是黑客们进行网上活动时心照不宣的“江湖规矩”。几代黑客一直在为使计算机脱离集权化而抗争。他们为形成当今开放的计算机和网络体系结构做出了自己的贡献。黑客们认为通过自己从事的黑客活动,可以暴露网络的缺陷,提高人们对网络安全的重视——不过,被侵入者显然不这样认为。对于社会上的大多数人来说,黑客是社会的不安定分子。无论对黑客的行为如何评说,没有人能够否认黑客对计算机技术发展所做出的巨大贡献。现在,政府和公司的管理者越来越多地要求黑客传授给他们有关计算机安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的网络安全规程。不可否认,黑客正在对计算机安全防护技术的发展做出贡献。

我平时最羡慕武侠里描写的那些大侠,不知道在黑客世界里有没有?

这个当然,下面我就给你介绍两位世界级的黑客人物吧。

黑客界的传奇,第一位被FBI通缉的黑客——Kevin Mitnick。

波兰女黑客Joanna Rutkowska在2006年年初时召开的BlackHat大会上,展示了通过Rootkit感染Windows Vista的过程,因而声名大噪。

1.2 黑客工具简介

听了半天玄的,我还是不知道怎样成为黑客啊?

你也太着急了,作为一个黑客,他的行动从前期的目标锁定到信息的搜集,再到之后的入侵,这任何一步都离不开黑客工具的支持。因此,可以这样认为:学会了黑客工具的编程你就成为了一名黑客。

那好,军师你就赶快教我黑客工具编程。

别急,我先对一些著名且常用的黑客工具做简单的介绍。这些知名的黑客工具功能强大,设计精妙,方便使用的同时更是绝好的黑客工具编程的范本。而且这里介绍的黑客工具我以后都会教你如何编写,如端口扫描器、ARP欺骗工具、木马等。

木马我倒是听说过,但其他都是些啥东西啊?

嘿,不知道了吧,那就先来了解下。

1.端口扫描器

(1)简介

服务器上所开放的端口就是潜在的通信通道,也有可能成为一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息,而进行端口扫描的方法也很多,可以手动进行,也可以利用端口扫描软件进行相关扫描。扫描器一般通过选用远程TCP/IP的不同的端口的服务,并记录给予的回答。通过这种方法,本机可搜集到关于目标主机的各种有用信息,如远程系统是否支持匿名登录、是否存在可写的FTP目录等。

(2)原理

端口扫描器有多种不同的实现方式,包括TCP Connect扫描、TCP SYN扫描和TCP FIN扫描,它们各有优劣,但都利用TCP机制并使用Windows Socket。例如,TCP Connect扫描是调用系统提供的connect( )函数连接目标机器的端口得以实现的,其优点在于调用connect( )函数不需要任何权限,实现起来相对简单,但也有容易被目标机器察觉的缺点。而TCP SYN扫描的隐蔽性较好,但实现方式较为复杂。通过端口扫描技术,再结合线程的互斥和同步技术,可实现一个简单的端口扫描器。

图1.1

(3)常见的端口扫描器

1)X-Port

这是一个利用多线程方式扫描目标主机开放端口的著名端口扫描器(如图1.1所示)。扫描过程中,根据TCP/IP堆栈特征被动识别操作系统类型。它提供两种端口扫描方式:标准的TCP连接扫描和SYN方式扫描。其中,“SYN扫描”和“被动识别操作系统”功能均使用“Raw Socket”构造数据包,无须安装额外驱动,但必须运行于Windows 2000系统之上。

2)Port Scanner

Port Scanner是一个由StealthWasp编写的基于图形界面的端口扫描软件(如图1.2所示)。该扫描器简单易用,在Target IP栏填入目标IP,在Scan port栏填入扫描端口范围,单击“Scan”按钮开始扫描。

图1.2

3)SuperScan

SuperScan是一个集“端口扫描”、“ping”和“主机名解析”于一体的扫描器(如图1.3所示)。其功能强大,主要有:检测主机是否在线、IP和主机名之间的相互转换、通过TCP连接试探目标主机运行的服务、扫描指定范围的主机端口、支持使用文件列表来指定扫描主机范围等。

4)Nmap

Nmap(即Network Mapper)是一款免费的、开源的、著名的端口扫描器(如图1.4所示),在电影《黑客帝国》中也曾出现过它的身影。

图1.3

Nmap使用IP数据包来分析在网络中有哪些主机是可用的,这些主机正在提供什么服务,以及运行的操作系统是什么,使用了哪些类型的过滤器或防火墙等信息。它最初是在UNIX平台上的一个工具,后来被引入到其他操作系统中。

图1.4

2.嗅探器

(1)简介

嗅探器是一种监视网络数据运行的软件设备,嗅探器不仅能用于合法网络管理,也能用于窃取网络信息,如监视网络流量、分析数据包、监视网络资源利用、执行网络安全操作规则、鉴定分析网络数据以及诊断并修复网络问题等。由于它具有可随意插入且不会在入侵过程中留下痕迹的优点,嗅探器一直是黑客们钟爱的“攻击利器”。

(2)原理

嗅探器作为一种网络通信程序,是通过对网卡的编程来实现网络通信的。而对网卡的编程是使用通常的套接字(Socket)方式来进行的。但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,而对于其他形式的数据帧,比如已到达网络接口却不是发给此地址的数据帧,应用程序将无法收取到达的数据包。但网络嗅探器的目的恰恰在于从网卡接收所有流经的数据包,这些数据包既可以是发给它的,也可以是发往别处的。显然,要达到此目的,就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。常见的嗅探器开发方法有两种:基于WinPcap(LibPcap)开发包的实现方式和基于原始套接字捕获的实现方式。

(3)常见的嗅探器

1)Sniffer Pro

Sniffer Pro是一款由NAI公司推出的功能强大的协议分析软件(如图1.5所示),可以用于发现漏洞、病毒等异常数据,也可以生成网络基准线,提供网络质量趋势分析数据,还可以用于故障快速定位。

图1.5

2)Ethereal

Ethereal数据包监听器,是一套网管人员必备的超强嗅探工具(如图1.6所示),可用于网络故障排除、监听异常数据包等,甚至包含针对网络通信协议的教育训练。Ethereal可以从动态的网络撷取数据包,用户可同时浏览每一个数据包的撷取资料内容、检视概要及详细信息。Ethereal还有强大的过滤器语言显示、检视重建的TCP会话串流功能。

图1.6

3)TcpDump

TcpDump的特点在于它可以将网络中传送的数据包的“头”完全截获下来,以提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

TcpDump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。TcpDump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。

3. ARP欺骗工具

(1)简介

在局域网中,通过ARP协议能完成IP地址转换为物理地址(即MAC地址)的功能。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。利用ARP欺骗工具,黑客可以使局域网内某一台PC将所有本该发送到网关的数据包转而发送到自己的网卡上,再结合Sniffer技术,便可轻而易举地从被欺骗的PC发送的数据包中获取大量信息。

(2)原理

ARP欺骗的运作原理可简单地叙述为由攻击者发送假的ARP数据包到网络上,尤其是送到网关上,其目的是让数据包被送至攻击者所取代的地址。然后,攻击者可将这些流量另行转送至真正的地址(被动式封包嗅探,Passive Sni-ffing),或是篡改后再转送(中间人攻击,Man-in-the-middle Attack),也可将ARP数据包发送到不存在的MAC地址以达到阻断服务攻击的效果,如Netcut软件。

(3)常见的ARP欺骗工具

1)Cain

Cain & Abel是由Oxid.it开发的一个针对Microsoft操作系统的免费口令恢复工具。它的功能十分强大,号称穷人使用的L0phtcrack。它可以进行网络嗅探、网络欺骗、破解加密口令、显示口令框、显示缓存口令和分析路由协议,甚至还可以监听内网中他人使用VoIP拨打的电话。Abel是后台服务程序,使用较少,一般用户使用的是Cain部分。其中,ARP欺骗和嗅探是Cain中最常用的功能。

2)AntiArp

凡事有反必有正,有攻击的ARP欺骗工具,自然也有防御的ARP防火墙(AntiArp)。ARP防火墙是一个ARP欺骗攻击扫描、检测、清除与防御的工具(如图1.7所示)。ARP防火墙采用内核层拦截技术和主动防御技术,可自动检测拦截由病毒引起的本机对外的ARP攻击,拦截到攻击后,可看到病毒攻击的时间与病毒进程名。同时,可设置“智能防御模式”抵御ARP欺骗的攻击。

图1.7

4.注册表编辑器

(1)简介

Windows的注册表(Registry)实质上是一个庞大的数据库,它存储着关于软、硬件的有关配置和状态信息,计算机的整个系统的设置和各种信息。注册表编辑器是一个用来更改系统注册表设置的高级工具,它包含有关计算机的运行信息。除非绝对必要,否则不要编辑注册表。若注册表出错,则计算机可能无法工作。在黑客编程中,可利用注册表编辑器修改注册表以达到自启动、隐藏等效果。

(2)原理

Windows提供了一些API函数,方便编程人员对注册表进行操作,比如打开、新建、删除、枚举子键,读取、设置、删除、枚举键值等操作。只要合理地组织这些API,就可以实现注册表编辑器,以及利用注册表完成某些黑客攻击技术。

(3)常见的注册表编辑器

最为人所熟知的注册表编辑器莫过于Windows注册表编辑器了。注册表是Windows的灵魂。采用类似文件目录的树状层次结构(如图1.8所示),根键相当于根目录,系统预定义了6个根键,根键下面有子键,子键下面还有子键,每个子键又包含若干个键值项,这样能更好地管理注册表。

5.漏洞利用工具

(1)简介

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,它的存在使攻击者能够在未经允许的情况下访问或破坏对方系统。漏洞利用工具就是将系统或软件中的漏洞作为入侵的通道,以达到攻击目的的工具。

图1.8

(2)原理

漏洞的利用是一个知识综合应用的过程,而且根据漏洞的类型的不同而各不相同。以最常见的远程缓冲区溢出漏洞为例,漏洞利用工具会首先扫描目标机是否存在该漏洞,如果存在,则远程进行淹没返回地址、劫持进程控制权、跳转执行ShellCode等一系列操作,最终获得目标机器的控制权。

(3)常见的漏洞利用工具

1)MSF

Metasploit Framework(MSF)是2003年以开放源代码方式发布的,可自由获取的开发框架(如图1.9所示)。这个开发框架为渗透测试、ShellCode编写和漏洞研究提供了一个可靠的平台。它集成了各平台上常见的溢出漏洞和流行的ShellCode,并且不断更新。最新版本的MSF包含了180多种当前流行的操作系统和应用软件的漏洞利用工具,以及100多个ShellCode。作为安全工具,它在安全检测中起到不容忽视的作用,并为漏洞自动化探测和及时检测系统漏洞提供有力的保障。

图1.9

2)X-Scan

X-Scan是一款免费的、绿色的漏洞检测软件(如图1.10所示)。利用X-Scan可以对某个主机或者某一网段内的主机进行漏洞扫描。

图1.10

6.病毒

(1)简介

病毒是利用计算机软件与硬件的缺陷,破坏计算机数据并影响计算机正常工作的一组指令集或程序代码。鉴于病毒这种无孔不入的特点,学习简单病毒的编写能帮助你防患于未然。

(2)原理

计算机病毒是指编制或者插入在程序中的用于破坏计算机功能及数据、影响计算机使用,且可以自我复制的一组计算机指令或代码。病毒具有传染性、破坏性等特点,从而使病毒种类繁多。常见的病毒有U盘传播型病毒、文件感染型病毒等。

(3)常见的病毒

1)CIH(1998年)

CIH病毒是迄今为止破坏性最强的病毒之一,也是世界上首例破坏硬件的病毒。它发作时,不仅破坏硬盘的引导区和分区表,还会破坏计算机系统BIOS,导致主板损坏。此病毒是由台湾大学生陈盈豪研制的,据说他研制此病毒的目的是纪念1986年的灾难或是让反病毒软件难堪。

2)Melissa(1999年)

Melissa是最早通过电子邮件传播的病毒之一。当用户打开一封电子邮件的附件,病毒会自动将邮件发送到用户地址簿中的前50个地址,因此这个病毒在数小时之内传遍全球。

3)“红色代码”(2001年)

被认为是史上最昂贵的计算机病毒之一。这个自我复制的恶意代码“红色代码”利用了微软IIS服务器中的一个漏洞。该蠕虫病毒具有一个更恶毒的版本,被称作红色代码II。这两个病毒都除了可以对网站进行修改外,被感染的系统性能还会严重下降。

4)“冲击波”(2003年)

冲击波病毒的英文名称是Blaster,还被叫做Lovsan或Lovesan,它利用了微软软件中的一个缺陷,对系统端口进行疯狂攻击,可以导致系统崩溃。

5)“熊猫烧香”(2007年)

熊猫烧香会使所有程序图标变成熊猫烧香,并使它们不能应用。病毒发展到熊猫烧香时,已经不仅仅是用于破坏,开始有明显的利益特征了。

7.后门

(1)简介

后门是一种在机器启动时自动运行并强制打开某一端口进行通信的黑客程序,它可以绕过系统的安全性控制而达到访问远程系统的目的。后门和木马程序较为相似,但是后门更注重于自身的隐蔽性,它可能并不具备很多远程控制的功能,但是一定要隐藏得无迹可循。

(2)原理

后门有很多实现方法,最常见的为DLL后门,其原理是把一个实现了后门功能的代码写成一个DLL文件,然后插入到一个EXE文件当中,使其可以执行。这样做不需要占用进程,也就是没有相对应的PID进程号,就可以在任务管理器中隐藏。后门具体的功能是在实现隐蔽性的前提下,通过Winsock完成客户端与服务端之间的通信。

(3)常见的后门

Byshell是国内一款非常出色的后门程序,其早期版本就达到了无端口、无文件、无进程隐藏效果,而新版本更是达到了驱动防护的目的,它采用国际领先的技术,悄无声息地穿越了卡巴斯基、诺顿、瑞星等主动防御的巨网,避免了杀毒软件的追杀,成为新一代安全研究者的良好工具。而它的高级版本,更是所有安全软件的杀手!

8.远程控制木马

(1)简介

远程控制木马是指通过本地计算机对远程机器进行管理和控制的软件。远程控制木马有远程信息查看、远程进程管理、远程CMD、键盘监控、文件管理以及远程桌面捕获等诸多强大功能。

(2)原理

木马可以利用系统漏洞等一系列手段进入目标机器并执行,利用Winsock编程技巧实现通过TCP/IP或UDP连接到控制者电脑,并且使控制者获得系统权限。这样控制者即可像使用自己的电脑一样使用被控制的电脑。

(3)常见的远程控制木马

1)Radmin

Radmin(Remote Administrator)是一款屡获殊荣的远程控制软件(如图1.11所示),它将远程控制、外包服务组件以及网络监控结合到一个系统里,提供目前为止最快速、强健而安全的工具包。

图1.11

2)灰鸽子

灰鸽子是国内一款著名的远程控制木马(如图1.12所示)。灰鸽子变种木马运行后,会自我复制到Windows目录下,并自行将安装程序删除;修改注册表,将病毒文件注册为服务项实现开机自启。木马程序还会注入所有的进程中,隐藏自我,防止被杀毒软件查杀;自动开启IE浏览器,以便与外界进行通信,侦听黑客指令,在用户不知情的情况下连接黑客指定站点,盗取用户信息、下载其他特定程序等。

图1.12

3)Gh0st

Gh0st是一款功能强大的远程控制软件(如图1.13所示)。其控制端与服务端都采用Winsock IOCP模型,数据传输采用zlib压缩方式,稳定快速,上线数量无上限,可同时控制上万台主机。控制端自动检测CPU使用率调整自己的工作线程,稳定高效。

图1.13

9. SPI防火墙

(1)简介

SPI(Stateful Packet Inspection)全状态数据包检测型防火墙,是指通过对每个连接信息(包括套接字对,socket pairs:源地址、目的地址、源端口和目的端口;协议类型、TCP协议连接状态和超时时间等)进行检测,从而判断是否过滤数据包的防火墙。它除了能够完成简单的包过滤工作外,还能在自己的内存中维护一个跟踪连接状态的表,更具安全性。它在默认情况下拒绝所有来自外网的请求,并且对通过防火墙的发自内网请求的连接动态地维护所有通信的状态(连接),只有是对内网请求回复的连接并符合已建立的状态数据库的包才能通过防火墙进入内网。这种方案不仅可使网络用户访问Internet资源,同时又能防止Internet上的黑客访问内部网络资源。

(2)原理

SPI防火墙利用Winsock SPI技术来实现网络数据包的拦截以达到防火墙的目的。具体的实现原理是自定义一个服务提供者加载至服务链的最顶层,该服务提供者挂钩常利用Winsock API进行异常或正常分析,从而决定是否拦截,以达到系统安全防护的目的。

(3)常见的SPI防火墙

费尔个人防火墙专业版是费尔安全实验室最重要的产品之一(如图1.14所示),它不仅功能非常强大,而且简单易用,既能满足专业人士的需求,也可让一般用户很容易操控。它可以为你的计算机提供全方位的网络安全保护,而且免费、开源。值得一提的是,它的最初版本为SPI防火墙。

图1.14

军师……

不要用这种眼神看着我,我背上没有山。

我的意思是我还不是很懂。

在之后的学习中,我将详细介绍它们的编写和作用,这里你知道就行了。

1.3 黑客编程工具简介

工欲善其事,必先利其器。

这个俺知道,俺在家没事就磨那丈八蛇矛,现在都快成绣花针了。

……想要快速、方便地开发出优秀的黑客工具,必须拥有一套良好的开发工具。以后会为你专门介绍强大的Visual Studio 2008,但是在这之前,我还是先为你补充一些辅助的开发工具,日后配合上VS2008,会事半功倍。

1. Visual Assist X

Visual Assist X是一款非常好的Microsoft Visual Studio 2008插件(如图1.15所示),支持C/C++、C#、ASP、Visual Basic、Java和HTML等语言,能自动识别各种关键字、系统函数、成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误等,有助于提高开发过程的自动化和开发效率。它的出现有效地弥补了Visual Studio对C/C++语言的智能感知功能支持的不足,更多介绍请参考http://www.wholetomato.com/。

图1.15

2. UltraEdit

UltraEdit是能够满足你一切编辑需要的编辑器(如图1.16所示)。它是一套功能强大的文本编辑器,可以编辑文本、十六进制值、ASCII码。在黑客编程中,可以用其来查看和修改EXE或DLL文件的资源,以及十六进制值,更多介绍请参考http://www.idmcomp.com/。

图1.16

3. PEiD

PEiD是一款著名的查壳工具(如图1.17所示),其功能强大,几乎可以检测出所有的壳,更可贵的是PEiD的进程查看模块、HEX十六进制查看模块、反汇编模块在黑客编程中都应用广泛,例如,后面我们会使用它的进程查看模块来检测DLL模块是否已成功注入,更多介绍请参考http://www.peid.info/。

图1.17

4. OllyDBG

OllyDBG简称OD,号称当今最好的Ring3下的动态调试器。众所周知,很多黑客工具的调试是在没有源代码的情况下进行的,这种情况下,OD就有了用武之地,它可以很清晰地标识出代码中出现的Windows API调用、寄存器状态、堆栈状态等。OD还有改进版OllyICE(如图1.18所示),因为其出色的易用性而受到更广大用户的喜爱,更多介绍请参考http://www.ollydbg.de/。

图1.18

5.IDA

IDA Pro是目前最棒的一款静态反编译软件(如图1.19所示),是破解者不可缺少的利器。新版的IDA甚至可以直接把静态反汇编的代码还原成C语言的代码,更多介绍请参考http://www.datarescue.com/。

图1.19

1.4 茅庐对话

张飞看着自己记得满满几页的笔记,对诸葛亮说:

今天实在是不枉此行,跟着军师学习了这么多黑客相关的知识,希望我可以早日步入黑客之门。

那你倒是说说今天都学了什么?

今天您对黑客的发展史和黑客编程的原理,以及黑客工具做了简单介绍,纠正了大家眼中对黑客的负面印象。

真正的黑客并非人们眼中的破坏者,而是系统安全的建设者、网络发展的推动者。我们学习黑客编程,不仅仅在于学习各种黑客工具和技巧的实现,更重要的是学习黑客们对技术的无限热情和永无止境的追求。学海无涯,而无限的探索热情便是前进的动力。之后的黑客编程学习道路或许并非轻轻松松、一帆风顺,但贵在坚持,希望你能持之以恒,将黑客技术的学习进行到底!

今天军师还给俺介绍了不少好东西:常用黑客工具和黑客编程辅助工具。

那我就再给你布置个课外作业,你回去后,按上面附的所有工具的网址去对它们进行一个更为深入的了解吧。