黑客到底是什么东西 !! 那位大哥能详细的告诉我
提起黑客,总是那么神秘莫测。在人们眼中,黑客是一群聪明绝顶,精力旺盛的年轻人,一门心思地破译各种密码,以便偷偷地、未经允许地打入政府、企业或他人的计算机系统,窥视他人的隐私。那么,什么是黑客呢?
黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个人才干的人。他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。
另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。
一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。
在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。
但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。
2,黑客攻击
一些黑客往往回采取一些几种方法,但是我很想说的是,一个优秀的黑客绝不会随便攻击别人的。
1)、获取口令
这又有三种方法:一是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。此方法在所有方法中危害最大,因为它不需要像第二种方法那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、666666、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。
2)、放置特洛伊木马程序
特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。
3)、WWW的欺骗技术
在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。
4)、电子邮件攻击
电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的网络管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该方法提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。
5)、通过一个节点来攻击其他节点
黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。
6)、网络监听
网络监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXray for windows 95/98/nt,sniffit for linux 、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。
7)、寻找系统漏洞
许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配置错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。
8)、利用帐号进行攻击
有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。
9)、偷取特权
利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个网络的绝对控制权。这种攻击手段,一旦奏效,危害性极大。
腾讯的点击验证码是什么原理
对于伪造网络请求的攻击方面,还有很多技术细节,篇幅有限,如果感兴趣可以看一下我的这篇博客,讲的就是有关验证码方面的一些技术细节:
CSRF漏洞的原理
如果提到的哪个专业术语我没有做通俗的解释,请在下方回复。
如果觉得长,想要直入主题的话可以直接找到 ---重要内容分割线---,看那部分其实是这套验证码最核心的安全机制。
目前web前端的验证码主要分几类:
1 看到图形,肉眼识别后输入字符;
2 根据界面图形,进行鼠标、手指(移动端)交互操作;
3 短信、电话、邮箱验证。
其中第3条,很多时候往往会与第1条相结合起来,以防止CSRF漏洞造成的短信炸弹攻击。
包括用户无感知的人机检验方式(简单地如前端token+referrer判断,这个待会儿再讲)在内,
以上所说的所有手段,终究目的是一个,那就是检查当前访问者究竟是一个“人”,还是一台“机器”。
这在计算机研究领域被称为图灵测试,图灵是一位计算机科学家,他提出对于“人工智能”的定义是:如果把一台电脑放在一个与外界隔绝的房间里,同时把一个人放在一个一模一样的房间里,同时对人和电脑进行各种各样的提问、测试,如果两者做出的反应基本一致(总会有差异,哪怕人与人之间也会有不同),那么认为这台电脑的算法水平已经达到了“人工智能”的级别。
说了这么多,想表达的还是一点,对于“让机器模拟人的行为”或者说“把自己伪装成一个人”,这样的事情在专业领域是有很多研究的。现在网络上存在着诸多验证码、安全校验等等东西,很多人不理解,认为这种东西增加了人们对于软件的正常使用的成本。其实这些安全手段,都是为了防止黑客以各种各样的技术手段,伪造网络请求,假冒真实用户的身份去“刷”网站的各个接口。
下面回到主题,来谈一谈题主所提到的这个腾讯的验证码页面的技术实现。
粗略地翻了一下这个页面的源代码(对于web领域,页面程序的源代码是完全裸奔的,这一点与客户端程序不同,所以如果想要研究对方的代码,对于web开发者来说是一件比较容易的事情,换句话说web前端代码里边是没有太多秘密可言的,因此web的安全性也相对差一些),这个页面在我见过的一些验证码系统中是很常见的一种,就是前面提到的那第1种,看图识别输入字符的验证码形式。下面上代码:
先来看看在UI层面,就是最常见的,通过javascript在DOM上绑定的监听事件触发回调,如图所示,如果我把右边红圈中的click监听remove掉,点击按钮之后就什么反应都没有了,所以基本确定它验证码的逻辑都卸载了这个CT_btn_trigger的回调函数中。然后看看点击后弹出的layer:
全都是用DOM实现的,我在代码中没有发现任何flash object的痕迹(为什么提flash,这个也放在后边说),输入验证码之后监听网络数据包,找到了发送验证码的那个接口:
服务端的接受验证码的接口为 而我们刚刚输入的一条验证码,query字段名称是ans。这里的这一条网络请求是https协议传输的,包括整个qq安全中心的页面也都是上了https的,https协议与我们熟知的http协议最大的不同就是,通过加密手段规避掉了网络中间层对数据包的截获,这一点对于这套验证码来说还是值得肯定的,目前的很多验证码系统对于传输验证码的网络请求都没有上https。
昨晚看的仓促,刚刚又翻了一下发现了这一套验证码系统的核心部分,其实就是上面截图中的collect字段,感谢 @李默然 的提醒,这部分其实也就是我在前文中所提到的那个token,从collect这个字段命名不难猜出这个token是一个前端拼装起来的东西。具体如何拼装,在这里我就不一一扒代码了,考虑到毕竟是一个安全中心的页面,把技术细节在这里讲的太透了,普通用户也不那么关心,反倒是替别有用心的人省了点儿事。所以就不给腾讯的前端同学找麻烦了,在这里简单述说说吧。
collect参数,在用户点击这个按钮的那一刻,就会从服务端传过来一个collect参数,这时的collect参数中做了一些组装和软加密处理,拿到的是密文,明文中的内容不难猜测一定包裹了验证码所需的那张图片的url。
当输入验证码完成后,从客户端发往服务器的那条请求中,虽然ans字段中的验证码是明文,但是还依然带了一个collect字段,而这时的collect字段和上一个collect字段内容是不同的,显然也是一个加密后的结果,推测可知这个collect字段在服务端解密后拿到的明文中,至少也要包含用户本地操作的一些数据,这数据中就包括,他输入的那段验证码所对应的图片究竟是哪张。也许存了图片的url,也许是服务端记录图片的某一组key值,但这个对应关系是一定要有的。
以上提到的collect字段,其实是整个这套验证码系统最为关键的一点,黑客如果要破译这层csrf防御,首先需要搞明白两处collect字段是如何加密的。如果放在其他系统客户端的角度来说,破译这层加密的难度不小,但是由于web客户端的代码是裸奔的,这个天然的劣势导致,黑客不一定要以数学的方法去解出这套加密机制,而是可以直接翻看源代码,看明白collect字段是怎么拼装的,然后只要结合起图片识别模块就可以对这个接口进行强刷了。由于验证码本身是最简单的图片6位验证码,所以图像处理方面识别难度不是很大。
总的来讲,这一套验证码体系属于中规中矩,可能因为并不涉及到金额安全问题,所以也并没有十分重视。
如何优雅地屏蔽百度广告推广
下面简单讲讲刚才翻源码过程中遇到的几个技术细节,值得了解一下:
1 这样的验证码安全吗?
很遗憾,我是个喜欢讲实话的人。这样的验证码,不是绝对安全的。
2 什么是CSRF漏洞?
CSRF简单地说就是伪造的网络请求,黑客以这种手段,用脚本写出一些自动化程序,非正常地使用正常用户在访问网页时调用的http接口,从而达到其他目的(盗号,刷接口,甚至将服务器拖库)。这也正是网页加入验证码的根本原因,提高了黑客去做CSRF攻击的成本,因为他的自动化脚本可以发送任何用户相关的数据,但却很难猜出每次都随机出现的图形验证码中的字符。
3 这样的验证码存在哪些安全隐患?
简单地图形验证码现在已经不算是安全的了,因为以如今的图像识别技术,黑客可以构造一套自动化脚本,首先获取验证码的那张图片,然后把图片交由专门做图像识别的程序模块进行识别处理,返回一个识别结果,再把识别的结果像正常用户填写验证码一样回填到http请求的参数中去。我们看到,他在http请求的参数中,是直接把验证码的字符放在里边,而没有对字符做任何md5、AES一类的处理,所以黑客可以很容易的知道这个参数是什么,并构造上述的一个自动化渗透工具。来对服务器进行攻击。他的图像识别算法的能力不需要达到90% 80%这么高,哪怕有10%的精度,黑客可以把这样的一套脚本攻击程序分布式地放在各个机房的机器上,对服务器造成一定的攻击。对于你所看到的这个qq安全中心的页面是否安全的问题,真的没有是和否的区别,只有值得与否的区别。毕竟构造一套上述的自动化攻击程序以目前的技术,成本还是很高的。但不是不可能。这也解释了,为什么春节抢票期间,12306出台了那么一套变态的验证码,就是因为抢票的这个利益太大了,如果有人能够破译它的验证码系统,损失是铁路部门无法接受的,所以宁可让验证码把普通用户难到骂娘,也绝对不能给黑客的自动化攻击程序留下可乘之机。
4 为什么我要提到flash?
flash作为软件行业中被诸多安全漏洞缠身的一项技术,在web领域,某种意义上却能算是银弹了,至少我是这样认为的。为什么这么说?就像我刚才说的,软件行业,客户端代码其实都是没有什么秘密可言的,你真的想把一些安全级别非常高的代码逻辑保护起来,那只有放到服务端里才可靠,这就是为什么大家申请网银卡的时候都会配给一块U盾,因为软件客户端永远是不安全的,或者说相对于这样大额度交易的利益来讲,在黑客们面前他不够安全。所以要依靠U盾的硬件加密手段,把一些重要的加密逻辑焊死在芯片中进行固化保护。那么话说回来,为什么又要说flash在web领域是安全的呢?因为web太不安全了,作为一个客户端来说,它的一切代码都是裸奔的,任何打包、编译都没有,(有人可能要提到如今的webpack等打包工具,但那些东西实际意义并不在于打包而在于模块化),通俗的解释就是,任何一个懂前端js代码的工程师,都可以很低的成本,读懂其他网站前端代码中做了一些什么事情,这相比其他平台的客户端开发来说是非常可怕的。
真是因此,很多web网站都会把一些不希望别人“轻易偷走”的数据,写到一个flash客户端中,然后再把flash编译后打包的swf作为一个静态资源加载到页面中(因为现代浏览器都是支持flash的),让flash和用户交互。想要把flash反汇编出来,搞懂他里边做了什么,对于同样从事flash的AS开发工作的工程师与从事web前端开发工作的工程师,这本身从实现成本上就比web前端的html和javascript代码要高很多。
另外,如今的绝大多数web工程师,都不太熟悉flash代码,所以把flash作为web系统某些安全隐患上面的银弹,还是有一定道理的。这里我可以举一个目前线上的例子,酷狗音乐就是通过flash播放器,解码一种acc格式(特殊的音频格式,普通浏览器和播放器无法直接播放)的音频文件,来实现音乐歌曲的防盗版。因为你前端就算把他音频文件的url拿到了,下载下来,你也不好直接播放。
对于这部分,就不再扯远了。
如何全面掌控session
使用WebSocket跨站劫持的在线测试工具
打开需要测试的WEB应用登入其中,然后在同一浏览器中开一个新选项卡,(模拟的黑客网站),输入该WebSocket的URL地址,然后点击网页上的Connect按钮。一旦建立连接,你就可以通过这个页面向WebSocket的服务器发送消息。我们需要通过重放有效session发送过的消息,然后查看服务器的回应包。
如果服务端的回应与前面有效session发送的正常包相同,那就说明该应用可能存在WebSocket跨站劫持漏洞。
使用IronWASP
IronWASP可以做到更多,即使是最基础的检测也能提供自动化脚本检查。
使用IronWASP的WebSocket客户端
以上测试Origin的方法的使用的服务端,如果你想要更加灵活地设置Origin值,你可以使用IronWASP的客户端功能。它允许你自定义Origin值来测试WebSocket连接。
在以下环境下可能会用到客户端功能:
1.应用允许来自开放的Origin的WebSocket连接
2.应用允许来自localhost和内网IP的Origin字段值
这种做法是为了方便开发者和应用的内部测试。通过使用IronWASP的客户端,你可以尝试内网IP或者localhost作为Origin是否能够生效。如果可以的话,那没准儿你可以耍一点小手段,在真实环境下利用这个漏洞。比如,如果某个应用允许http:/127.0.0.1:8080作为Origin字段,那我们就可以这样做:若受害者正好有个在本地8080端口运行的WEB应用,而且其存在跨站脚本漏洞。如果满足这些条件,黑客可以先在该WEB应用上进行跨站攻击,然后再向目标应用服务端建立WebSocket连接:
使用IronWASP的WebSocket API进行自动化检测
如果你需要利用localhost或者内网IP进行测试Origin头,使用客户端脚本进行自动化检测会让你的行动更加轻松。IronWASP允许你使用Python或者Ruby进行实现自定义脚本编写。
下面这个脚本可以单独检测Origin头里填充的内网IP地址,测试服务端对此是否认可
通常说的“网络黑客”具体是什么概念?
黑客就是在网络上,能为所欲为,俱有破坏力,神秘的网络高手
利用,网络安全的脆弱性及网上漏洞,有网上进行诸如修改网页、非法进入主机破坏程序,串入银行网络转移金额、进行电子邮件骚扰以及阻塞用户和窃取密码等行为。
什么是网络黑客?
以现在人们对黑客一词定义,就是在网络上,能为所欲为,俱有破坏力,神秘的网络高手。如果以大小来分的话,则“大黑客”能入侵美国五角大楼,任意修改大网站主页......次之“小黑客”,也许是跟网友利益关系得比较密切的一群,这些小黑客们“可以把你从QQ上轰下线来,盗取你的QQ,E-MAIL,BBS的ID等等的密码,甚至进入你的电脑,盗取上网帐号,盗取你硬盘上的任何文件,偷偷地格式化你的硬盘,监视你的屏幕,静静地看着你一举一动,像幽灵般窥视着你......要以年龄来分大多数小黑客们都在12,3岁到17,8岁之间,“大黑客”以10几岁到20多岁的在校大学生和年青的与电脑网络有关的工作者为多。
黑客常用手段
1、网络扫描--在Internet上进行广泛搜索,以找出特定计算机或软件中的弱点。
2、网络嗅探程序--偷偷查看通过I网络的数据包,以捕获口令或全部内容。通过安装侦听器程序来监视网络数据流,从而获取连接网络系统时用户键入的用户名和口令。
3、拒绝服务攻击 -通过反复向某个Web站点的设备发送过多的信息请求,黑客可以有效地堵塞该站点上的系统,导致无法完成应有的网络服务项目(例如电子邮件系统或联机功能),称为“拒绝服务”问题。
4、欺骗用户--伪造电子邮件地址或Web页地址,从用户处骗得口令、信用卡号码等。欺骗是用来骗取目标系统,使之认为信息是来自或发向其所相信的人的过程。欺骗可在IP层及之上发生(地址解析欺骗、IP源地址欺骗、电子邮件欺骗等)。当一台主机的IP地址假定为有效,并为Tcp和Udp服务所相信。利用IP地址的源路由,一个攻击者的主机可以被伪装成一个被信任的主机或客户。
5、特洛伊木马--一种用户察觉不到的程序,其中含有可利用一些软件中已知弱点的指令。
6、后门--为防原来的进入点被探测到,留几个隐藏的路径以方便再次进入。
7、恶意小程序--微型程序,修改硬盘上的文件,发送虚假电子邮件或窃取口令。
8、竞争拨号程序--能自动拨成千上万个电话号码以寻找进入调制解调器连接的路径。逻辑炸弹计算机程序中的一条指令,能触发恶意操作。
9、缓冲器溢出-- 向计算机内存缓冲器发送过多的数据,以摧毁计算机控制系统或获得计算机控制权。
10、口令破译--用软件猜出口令。通常的做法是通过监视通信信道上的口令数据包,破解口令的加密形式。
11、社交工程--与公司雇员谈话,套出有价值的信息。
12、垃圾桶潜水--仔细检查公司的垃圾,以发现能帮助进入公司计算机的信息。
金山网镖为什么要反黑客网站?
不良黑客利用网络安全的脆弱性,把网上任何漏洞和缺陷作为“靶子”,在网上进行诸如修改网页、非法进入主机破坏程序、串入银行网络转移金额、窃取网上信息兴风作浪、进行电子邮件骚扰以及阻塞用户和窃取密码等行为。政府、军事和金融网络更是他们攻击的主要目标。美国司法部主页被纳粹标志所取代,美国空军站点由于黑客攻击不得不暂时关闭,美国金融界由于计算机犯罪造成的金额损失每年计近百亿美元。
目前国内这种形式的犯罪正呈现增长趋势,如果没有有效的防护方法,后果将不堪设想。为保障广大网民的利益免受侵犯,金山网镖增加反黑客网站功能。
黑客攻击的方法
1、隐藏黑客的位置
典型的黑客会使用如下技术隐藏他们真实的IP地址:
利用被侵入的主机作为跳板;
在安装Windows 的计算机内利用Wingate 软件作为跳板;利用配置不当的Proxy作为跳板。
更老练的黑客会使用电话转接技术隐蔽自己。他们常用的手法有:利用800 号电话的私人转接服务联接ISP, 然后再盗用他人的账号上网;通过电话联接一台主机,再经由主机进入Internet。
使用这种在电话网络上的"三级跳"方式进入Internet 特别难于跟踪。理论上,黑客可能来自世界任何一个角落。如果黑客使用800号拨号上网,他更不用担心上网费用。
2、网络探测和资料收集
黑客利用以下的手段得知位于内部网和外部网的主机名。
使用nslookup 程序的ls命令;
通过访问公司主页找到其他主机;
阅读FTP服务器上的文挡;
联接至mailserver 并发送 expn请求;
Finger 外部主机上的用户名。
在寻找漏洞之前,黑客会试图搜集足够的信息以勾勒出整个网络的布局。利用上述操作得到的信息,黑客很容易列出所有的主机,并猜测它们之间的关系。
3、找出被信任的主机
黑客总是寻找那些被信任的主机。这些主机可能是管理员使用的机器,或是一台被认为是很安全的服务器。
第一步,他会检查所有运行nfsd或mountd的主机的NFS输出。往往这些主机的一些关键目录(如/usr/bin、/etc和/home)可以被那台被信任的主机mount。
Finger daemon 也可以被用来寻找被信任的主机和用户,因为用户经常从某台特定的主机上登录。
黑客还会检查其他方式的信任关系。比如,他可以利用CGI 的漏洞,读取/etc/hosts.allow 文件等等。
分析完上述的各种检查结果,就可以大致了解主机间的信任关系。下一步, 就是探测这些被信任的主机哪些存在漏洞,可以被远程侵入。
4、找出有漏洞的网络成员
当黑客得到公司内外部主机的清单后,他就可以用一些Linux 扫描器程序寻找这些主机的漏洞。黑客一般寻找网络速度很快的Linux 主机运行这些扫描程序。
所有这些扫描程序都会进行下列检查:
TCP 端口扫描;
RPC 服务列表;
NFS 输出列表;
共享(如samba、netbiox)列表;
缺省账号检查;
Sendmail、IMAP、POP3、RPC status 和RPC mountd 有缺陷版本检测。
进行完这些扫描,黑客对哪些主机有机可乘已胸有成竹了。
如果路由器兼容SNMP协议,有经验的黑客还会采用攻击性的SNMP 扫描程序进行尝试, 或者使用"蛮力式"程序去猜测这些设备的公共和私有community strings。
5、利用漏洞
现在,黑客找到了所有被信任的外部主机,也已经找到了外部主机所有可能存在的漏洞。下一步就该开始动手入侵主机了。
黑客会选择一台被信任的外部主机进行尝试。一旦成功侵入,黑客将从这里出发,设法进入公司内部的网络。但这种方法是否成功要看公司内部主机和外部主机间的过滤策略了。攻击外部主机时,黑客一般是运行某个程序,利用外部主机上运行的有漏洞的daemon窃取控制权。有漏洞的daemon包括Sendmail、IMAP、POP3各个漏洞的版本,以及RPC服务中诸如statd、mountd、pcnfsd等。有时,那些攻击程序必须在与被攻击主机相同的平台上进行编译。
6、获得控制权
黑客利用daemon的漏洞进入系统后会做两件事:清除记录和留下后门。
他会安装一些后门程序,以便以后可以不被察觉地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用,甚至于新文件的大小都和原有文件一样。黑客一般会使用rcp 传递这些文件,以便不留下FTP记录。
一旦确认自己是安全的,黑客就开始侵袭公司的整个内部网
7.窃取网络资源和特权
黑客找到攻击目标后,会继续下一步的攻击,步骤如下:
(1)下载敏感信息
如果黑客的目的是从某机构内部的FTP或WWW服务器上下载敏感信息,他可以利用已经被侵入的某台外部主机轻而易举地得到这些资料。
(2)攻击其他被信任的主机和网络
大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。 那些希望从关键服务器上下载数据的黑客,常常不会满足于以一种方式进入关键服务器。他们会费尽心机找出被关键服务器信任的主机,安排好几条备用通道。
(3)安装sniffers
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer" 程序。 黑客会使用上面各节提到的方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。
(4)瘫痪网络
如果黑客已经侵入了运行数据库、网络操作系统等关键应用程序的服务器,使网络瘫痪一段时间是轻而易举的事。 如果黑客已经进入了公司的内部网,他可以利用许多路由器的弱点重新启动、甚至关闭路由器。如果他们能够找到最关键的几个路由器的漏洞,则可以使公司的网络彻底瘫痪一段时间
码等。欺骗是用来骗取目标系统,使之认为信息是来自或发向其所相信的人的过程。欺骗可在IP层及之上发生(地址解析欺骗、IP源地址欺骗、电子邮件欺骗等)。当一台主机的IP地址假定为有效,并为Tcp和Udp服务所相信。
在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用"sniffer" 程序。 黑客会使用上面各节提到的方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。 (4)瘫痪网络 如果黑客已经侵入了运行数据库、网络操作系统等关键
的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。 另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重