盤點那些經典的黑客入門教程
來源:用戶上傳
作者:
“黑客”大體上應該分為“正”“邪”兩類,正派黑客依靠自己掌握的知識幫助系統管理員找出系統中的漏洞并加以完善;而邪派黑客則是通過各種黑客技能對系統進行攻擊、入侵或者做其他一些有害于網絡的事情。因為邪派黑客所從事的事情違背了《黑客守則》,所以他們真正的名字叫“駭客”(Cracker)而非“黑客”(Hacker),也就是我們平時經常聽說的“黑客”(Cacker)和“紅客”(Hacker)。
黑客的行為主要有以下幾種:
學習技術
互聯網上的新技術一旦出現,黑客就必須立刻學習,并用最短的時間掌握這項技術,這里所說的掌握并不是一般的了解,而是閱讀有關的“協議”(rfc),深入了解此技術的機理,否則一旦停止學習,那么依靠他以前掌握的內容,并不能維持他的“黑客身份”超過一年。
初級黑客要學習的知識比較困難,因為他們沒有基礎,所以學習起來要接觸非常多的基本內容,然而今天的互聯網給讀者帶來了很多信息,這就需要初級學習者進行選擇:太深的內容可能會給學習帶來困難;太“花哨”的內容又對黑客沒有用處。所以初學者不能貪多,應該盡量尋找一本書和適合自己的完整教材,循序漸進地進行學習。
偽裝自己
黑客的一舉一動都會被服務器記錄下來,所以黑客必須偽裝自己使對方無法辨別其真實身份,這需要有熟練的技巧,用來偽裝自己的IP地址、使用跳板逃避跟蹤、清理記錄擾亂對方線索以及巧妙躲開防火墻等。
偽裝需要非常過硬的基本功才能實現,這對于初學者來說算得上“大成境界”了,也就是說初學者不可能用短時間學會偽裝,所以并不鼓勵初學者利用自己學習的知識對網絡進行攻擊,否則一旦自己的行跡敗露,最終害的還是自己。
發現漏洞
漏洞對黑客來說是最重要的信息,黑客要經常學習別人發現的漏洞,并自己努力尋找未知漏洞,并從海量的漏洞中尋找有價值的、可被利用的漏洞進行試驗,當然他們最終的目的是通過漏洞進行破壞或者修補上這個漏洞。
黑客對尋找漏洞的執著是常人難以想象的,他們的口號是“打破權威”,從一次又一次的黑客實踐中,黑客用自己的實際行動向世人印證了這一點,世界上沒有“不存在漏洞”的程序。在黑客眼中,所謂的“天衣無縫”不過是“還沒找到”而已。
利用漏洞
對于正派黑客來說,漏洞要被修補;對于邪派黑客來說,漏洞要用來搞破壞。而他們的基本前提是“利用漏洞”,黑客利用漏洞可以做以下事情:
1.獲得系統信息:有些漏洞可以泄漏系統信息,暴露敏感資料,從而進一步入侵系統;
2.入侵系統:通過漏洞進入系統內部,或取得服務器上的內部資料或完全掌管服務器;
3.尋找下一個目標:一個勝利意味著下一個目標的出現,黑客應該充分利用自己已經掌管的服務器作為工具,尋找并入侵下一個系統。
黑客應掌握的基本技能
從這一節開始,我們就真正踏上學習黑客的道路了,首先要介紹的是作為一名初級黑客所必須掌握的基本技能,通過這一節的閱讀了解到黑客并不神秘,而且學習起來很容易上手。為了保證初學者對黑客的興趣,采取了循環式進度,也就是說每一章節的內容都是獨立、全面的,學習者只有完整學習過一章的內容,才能夠學習下一章的內容。
1.了解一定量的英文
學習英文對于黑客來說非常重要,因為現在大多數資料和教程都是英文版本,而且有關黑客的新聞也是從國外來的,一個漏洞從發現到出現中文介紹,需要大約一個星期的時間,在這段時間內網絡管理員已經有足夠的時間修補漏洞,所以當我們看到中文介紹的時候,這個漏洞可能早已經不存在了。因此學習黑客從一開始就要盡量閱讀英文資料、使用英文軟件并及時關注國外著名的網絡安全網站。
2.學會基本軟件的使用
這里所說的基本軟件是指兩個內容:一個是我們日常使用的各種電腦常用命令,例如ftp,ping,net;另一方面還要學會有關黑客工具的使用,這主要包括端口掃描器、漏洞掃描器、信息截獲工具和密碼破解工具等。因為這些軟件品種多,功能各不相同,所以本書在后面將會介紹幾款流行的軟件使用方法,學習者在掌握其基本原理后,既可以選擇適合自己的,也可以在“第二部分”中找到有關軟件的開發指南,編寫自己的黑客工具。
3.初步了解網絡協議和工作原理
所謂“初步了解”就是“按照自己的理解方式”弄明白網絡的工作原理,因為協議涉及的知識多且復雜,所以如果在一開始就進行深入研究,勢必會大大挫傷學習積極性。在這里我建議學習者初步了解有關TCP/IP協議,尤其是瀏覽網頁時網絡是如何傳遞信息,客戶端瀏覽器如何申請“握手信息”,服務器端如何“應答握手信息”并“接受請求”等內容。
4.熟悉幾種流行的編程語言和腳本
如上所述,這里也不要求學習者進行深入學習,只要能夠看懂有關語言、知道程序執行結果就可以。建議學習者初步學習C語言、asp和CGI腳本語言,另外對于HTM超文本語言和php,Java等做基本了解,主要學習這些語言中的“變量”“數組”部分,因為語言之間存在內在聯系,所以只要熟練掌握其中一門,其他語言也可以一脈相通,建議學習C語言和HTM超文本語言。
基本網絡安全術語解釋
1.協議
網絡是一個信息交換的場所,所有接入網絡的計算機都可以通過彼此間的物理連接設備進行信息交換。這種物理設備包括最常見的電纜、光纜、無線WAP和微波等,但是單純擁有這些物理設備并不能實現信息的交換,這就好像人類的身體不能缺少大腦的支配一樣,信息交換還要具備軟件環境,這種“軟件環境”是人類實現規定好的一些規則,被稱作“協議”,有了協議,不同的電腦可以遵照相同的協議使用物理設備,并且不會造成相互之間的“不理解”。
這種協議類似于“摩爾斯電碼”,簡單的一點一橫,經過排列可以有萬般變化,但是假如沒有“對照表”,誰也無法理解一份雜亂無章的電碼所表述的內容是什么。電腦也一樣,它們通過各種預先規定的協議完成不同的使命,例如RFC1459協議可以實現IRC服務器與客戶端電腦的通信。因此無論是黑客還是網絡管理員,都必須通過學習協議達到了解網絡運作機理的目的。 每一個協議都是經過多年修改延續使用至今的,新產生的協議也大多是在基層協議基礎上建立的,因而協議相對來說具有較高的安全機制,黑客很難發現協議中存在的安全問題直接入手進行網絡攻擊。但是對于某些新型協議,因為出現時間短、考慮欠周到,也可能會因安全問題而被黑客利用。
2.服務器與客戶端
最簡單的網絡服務形式是:若干臺電腦作為客戶端,使用一臺電腦當作服務器,每一個客戶端都具有向服務器提出請求的能力,而后由服務器應答并完成請求的動作,最后服務器會將執行結果返回給客戶端電腦。這樣的協議很多,例如我們平時接觸的電子郵件服務器、網站服務器和聊天室服務器等都屬于這種類型。另外還有一種連接方式,它不需要服務器的支持,而是直接將兩個客戶端電腦進行連接,每一臺電腦都既是服務器又是客戶端,它們之間具有相同的功能,對等的完成連接和信息交換工作。例如DCC傳輸協議即屬于此種類型。
由此看出,客戶端和服務器分別是各種協議中規定的請求申請電腦和應答電腦。作為一般的上網用戶,都是操作自己的電腦(客戶端),并且向網絡服務器發出常規請求完成諸如瀏覽網頁及收發電子郵件等動作;而對于黑客來說則是通過自己的電腦(客戶端)對其他電腦(有可能是客戶端,也有可能是服務器)進行攻擊,以達到入侵、破壞和竊取信息的目的。
3.系統與系統環境
電腦要運行必須安裝操作系統,如今流行的操作系統主要由UNIX,Linux,Mac,BSD,Windows系列等,這些操作系統各自獨立運行,它們有自己的文件管理、內存管理及進程管理等機制。在網絡上,這些不同的操作系統既可以作為服務器、也可以作為客戶端被使用者操作,它們之間通過“協議”來完成信息的交換工作。
4. IP地址和端口
上網可能會同時瀏覽網頁、收發電子郵件及進行語音聊天等,如此多的網絡服務項目,都是通過不同的協議完成,然而網絡如此之大,我們的電腦怎么能夠找到服務項目所需要的電腦?如何在一臺電腦上同時完成如此多的工作?這里就要介紹到IP地址了。
每一臺上網的電腦都具有獨一無二的IP地址,這個地址類似于生活中人們的家庭地址,通過網絡路由器等多種物理設備(無需初級學習者理解),網絡可以完成從一個電腦到另一個電腦之間的信息交換工作,因為他們的IP地址不同,所以不會出現找不到目標的混亂局面。但是黑客可以通過特殊方法偽造自己電腦的IP地址,當服務器接受到黑客電腦(偽IP地址)的請求后,服務器會將應答信息傳送到偽IP地址上,從而造成網絡混亂。當然,黑客也可以根據IP地址輕易找到任何上網者或服務器,進而對他們進行攻擊(想想現實中的入室搶劫),因而如今我們會看到很多關于“如何隱藏自己IP地址”的文章。
接下來解釋一下上面提到的第二個問題:一臺電腦上為什么能同時使用多種網絡服務。這好像北京城有八個城門一樣,不同的協議體現在不同的網絡服務上,而不同的網絡服務會在客戶端電腦上開辟不同的端口(城門)來完成它的信息傳送工作。當然,如果一臺網絡服務器同時開放了多種網絡服務,那么它也要開放多個不同的端口(城門)來接納不同的客戶端請求。
大家在網絡上經常聽到的“后門”就是這個意思,黑客通過特殊機能在服務器上開辟了一個網絡服務,這個服務可以用來專門完成黑客的目的,服務器上會被打開一個新的端口完成這種服務,因為這個端口是供黑客使用的,因而輕易不會被一般上網用戶和網絡管理員發現,即“隱藏的端口”,故稱“后門”。
每一臺電腦都可以打開65 535個端口,因而理論上可以開發出至少65 535種不同的網絡服務。然而實際上這個數字非常大,網絡經常用到的服務協議不過幾十個,例如瀏覽網頁客戶端和服務端使用的都是80號端口,進行IRC聊天則在服務端使用6667端口、客戶端使用1026端口等。
常用黑客軟件用途分類
1.防范
這是從安全角度出發的一類軟件,例如防火墻、查病毒軟件、系統進程監視器和端口管理程序等都屬于此類軟件。這類軟件可以在最大程度上保證電腦使用者的安全和個人隱私,不被黑客破壞。網絡服務器對于此類軟件的需要也十分重視,如日志分析軟件及系統入侵軟件等可以幫助管理員維護服務器并對入侵系統的黑客進行追蹤。
2.信息搜集
信息搜集軟件種類繁多,包括端口掃描、漏洞掃描及弱口令掃描等掃描類軟件;還有監聽及截獲信息包等間諜類軟件,其大多數屬于亦正亦邪的軟件,也就是說無論正派黑客、邪派黑客、系統管理員還是一般的電腦使用者,都可以使用這類軟件完成各自不同的目的。在大多數情況下,黑客使用這類軟件的頻率更高,因為他們需要依靠此類軟件對服務器進行全方位掃描,獲得盡可能多的關于服務器的信息,在對服務器有了充分的了解之后,才能進行黑客動作。
3.木馬與蠕蟲
這是2種類型的軟件,不過他們的工作原理大致相同,都具有病毒的隱藏性和破壞性,另外此類軟件還可以由擁有控制權的人進行操作,或由事先精心設計的程序完成一定的工作。當然這類軟件也可以被系統管理員利用,當作遠程管理服務器的工具。
4.洪水
所謂“洪水”即信息垃圾炸彈,通過大量的垃圾請求可以導致目標服務器負載超負荷而崩潰,近年來網絡上又開始流行DOS分散式攻擊,簡單地說也可以將其歸入此類軟件中。洪水軟件還可以用作郵件炸彈或者聊天式炸彈,這些都是經過簡化并由網絡安全愛好者程序化的“傻瓜式”軟件,也是本書一開始指責的“偽黑客”手中經常使用的軟件。
5.密碼破解
網絡安全得以保證的最實用方法是依靠各種加密算法的密碼系統,黑客也許可以很容易獲得一份暗文密碼文件,但是如果沒有加密算法,它仍然無法獲得真正的密碼,因此使用密碼破解類軟件勢在必行,利用電腦的高速計算能力,此類軟件可以用密碼字典或者窮舉等方式還原經過加密的暗文。 6.欺騙
如果希望獲得上面提到的明文密碼,黑客需要對暗文進行加密算法還原,但如果是一個復雜的密碼,破解起來就不是那么簡單了。但如果讓知道密碼的人直接告訴黑客密碼的原型,是不是更加方便?欺騙類軟件就是為了完成這個目的而設計的。
7.偽裝
網絡上進行的各種操作都會被ISP、服務器記錄下來,如果沒有經過很好地偽裝就進行黑客動作,很容易會被反跟蹤技術追查到黑客的所在,所以偽裝自己的IP地址、身份是黑客非常重要的一節必修課,但是偽裝技術需要高深的網絡知識,一開始沒有堅實的基礎就要用到這一類軟件。
學習黑客的基本環境
1.操作系統的選擇
我們經常聽說黑客酷愛Linux系統,這是因為Linux相對Windows提供了更加靈活的操作方式以及更加強大的功能。例如對于IP地址的偽造工作,利用Linux系統編寫特殊的IP頭信息可以輕松完成,然而在Windows系統下卻幾乎不可能做到。但是Linux也有它不足的一面,這個系統的命令龐雜、操作復雜,并不適合初學者使用,對于個人學習者,并沒有過多的人會放棄“舒適”的Windows、放棄精彩的電腦游戲和便捷的操作方式,去全心投入黑客學習中。而且對于初學黑客的學習者來說,大多數網絡知識都可以在Windows系統中學習,相對Linux系統,Windows平臺下的黑客軟件也并不在少數,另外通過安裝程序包,Windows系統也可以調試一定量的程序,因此初步學習黑客沒有必要從Linux入手。
2.需要的常用軟件
如果你的系統是WindowsME,那么告訴你一個好消息———你沒有必要安裝過多的額外軟件,因為我們接觸的黑客知識依靠系統提供的命令和內置軟件就足可以完成!除了基本的操作系統以外,學習者還需要安裝各類掃描器,之后下載一個比較優秀的木馬軟件和一個監聽類軟件,除此以外別無它求。如果有必要,讀者可以自行安裝本文上述軟件,然后學習其用法,但是我要告訴你,對于各類炸彈,還有網絡上各式各樣的黑客軟件,在學習完本書后,你都可以自己制作、自己開發,根本沒有必要使用他人編寫的軟件。
對于掃描器和監聽軟件,我給出以下建議,并且在本書的后面還會對這幾個軟件進行詳細介紹。
這3個軟件都是免費的,而且功能異常強大。像xscanner是國產軟件,它集成多種掃描功能于一身,并且同時支持控制臺和圖形界面2種操作方式,另外提供了詳細的漏洞使用說明。對于初學者來說,具備了這2個工具,學習黑客已經綽綽有余。
3.額外的工具
如果可以安裝下面的工具,將會對學習黑客有莫大的幫助,當然下面的軟件主要是學習額外內容并為“第二部分”學習作鋪墊,沒有也不會妨礙本書的學習。
擁有某些網絡應用的后臺服務程序,可以將自己的電腦設置成一個小型服務器,用來學習相應的網絡應用,從“內部”了解其運作機理,這將會大大提高自己對服務器的感性認識;同時還能在激活服務器的時候,監測自己服務器上的數據,如果有其它黑客來攻擊,則可以清晰記錄下對方的攻擊過程,從而學習到更多的黑客攻擊方法。對于本書而言,主要介紹網站的Perl,ASP等腳本語言漏洞,所以可以安裝一個IIS或者HTTPD,然后再安裝ActivePerl,使自己的服務器具備編譯cgi,pl腳本的能力。使用自己的服務器還有一個好處,可以節省大量的上網時間,將學習、尋找漏洞的過程放到自己的電腦上,既節省了金錢,又不會對網絡構成威脅,一舉兩得。
4. C語言編譯平臺
今后在學習黑客的路途中,將會遇到很多“屬于自己的問題”,這些問題網絡上的其他人可能不會注意,所以無法找到相應的程序,這個時候學習者就要自己動手開發有關的工具,安裝一個Borland C++將會非常便捷,通過這個編譯器,學習者既可以學習C語言,也能夠修改本書后面列出的一些小程序,打造一個屬于自己的工具庫。
轉載注明來源:http://www.hailuomaifang.com/1/view-14822921.htm