1、菜 鳥 變 黑 客 終 極 教 程 ! (轉 ) 首先,呵呵,說明一下,轉貼,適合菜鳥!這是菜鳥一定要學的最基礎知識!如果這個最基本你都不想看,腦子裏只想著刷 Q 幣賺錢,那你不要來看了,回家種田去吧! 記住了,不要看到這麼多的文字,就後退了,也許你剛開始滿懷激情,但看到一半受不了,沒有耐心和學習的欲望是永遠不成功的! 如果你看了眼睛痛,你可以把它複製下來,慢慢看!看完後,你收穫很大的! 好,開始 . 一 .駭客的分類和行為 以我的理解,“駭客”大體上應該分為“正” 、“邪”兩類,正派駭客依 *自己掌握的知識幫助系統管理員找出系統中的漏洞並加以完善,而邪派駭客則是通過各種駭客技能對系統進行攻擊
2、、入侵或者做其他一些有害於網路的事情,因為邪派駭客所從事的事情違背了駭客守則,所以他們真正的名字叫“駭客”( Cracker)而非“駭客”( Hacker),也就是我們平時經常聽說的“駭客”( Cacker)和“紅客”( Hacker)。 無論那類駭客,他們最初的學習內容都將是本部分所涉及的內容,而且掌握的基本技能也都是一樣的。即便日後他們各自走上了不同的道路,但是所做的事情也差不多 ,只不過出發點和目的不一樣而已。 很多人曾經飾遙骸白齪誑推絞倍甲鍪裁矗渴遣皇非常刺激?”也有人對駭客的理解是“天天做無聊且重複的事情”。實際上這些又是一個錯誤的認識,駭客平時需要用大量的時間學習,我不知道這個過程
3、有沒有終點,只知道“多多益善”。由於學習駭客完全出於個人愛好,所以無所謂“無聊”;重複是不可避免的,因為“熟能生巧”,只有經過不斷的聯繫、實踐,才可能自己體會出一些隻可意會、不可言傳的心得 ? 在學習之餘,駭客應該將自己所掌握的知識應用到實際當中,無論是哪種駭客做出來的事情,根本目的無非是在實 際中掌握自己所學習的內容。駭客的行為主要有以下幾種: 一、學習技術 互聯網上的新技術一旦出現,駭客就必須立刻學習,並用最短的時間掌握這項技術,這裏所說的掌握並不是一般的瞭解,而是閱讀有關的“協議”( rfc)、深入瞭解此技術的機理,否則一旦停止學習,那麼依 *他以前掌握的內容,並不能維持他的“駭客身份”
4、超過一年。 初級駭客要學習的知識是比較困難的,因為他們沒有基礎,所以學習起來要接觸非常多的基本內容,然而今天的互聯網給讀者帶來了很多的資訊,這就需要初級學習者進行選擇:太深的內容可能會給學習帶來困難;太 “花哨”的內容又對學習駭客沒有用處。所以初學者不能貪多,應該儘量尋找一本書和自己的完整教材、循序漸進的進行學習。 二、偽裝自己: 駭客的一舉一動都會被伺服器記錄下來,所以駭客必須偽裝自己使得對方無法辨別其真實身份,這需要有熟練的技巧,用來偽裝自己的 IP 位址、使用跳板逃避跟蹤、清理記錄擾亂對方線索、巧妙躲開防火牆等。 偽裝是需要非常過硬的基本功才能實現的,這對於初學者來說成的上“大成境界”了
5、,也就是說初學者不可能用短時間學會偽裝,所以我並不鼓勵初學者利用自己學習的知識對網路進行攻擊,否則一旦自己的行 跡敗露,最終害的害是自己。 如果有朝一日你成為了真正的駭客,我也同樣不贊成你對網路進行攻擊,畢竟駭客的成長是一種學習,而不是一種犯罪。 三、發現漏洞: 漏洞對駭客來說是最重要的資訊,駭客要經常學習別人發現的漏洞,並努力自己尋找未知漏洞,並從海量的漏洞中尋找有價值的、可被利用的漏洞進行試驗,當然他們最終的目的是通過漏洞進行破壞或著修補上這個漏洞。 駭客對尋找漏洞的執著是常人難以想像的,他們的口號說“打破權威”,從一次又一次的駭客實踐中,駭客也用自己的實際行動向世人印證了這一點 世界上沒
6、有“不存在 漏洞”的程式。在駭客眼中,所謂的“天衣無縫”不過是“沒有找到”而已。 四、利用漏洞: 對於正派駭客來說,漏洞要被修補;對於邪派駭客來說,漏洞要用來搞破壞。而他們的基本前提是“利用漏洞”,駭客利用漏洞可以做下面的事情: 1、獲得系統資訊:有些漏洞可以洩漏系統資訊,暴露敏感資料,從而進一步入侵系統; 2、入侵系統:通過漏洞進入系統內部,或取得伺服器上的內部資料、或完全掌管伺服器; 3、尋找下一個目標:一個勝利意味著下一個目標的出現,駭客應該充分利用自己已經掌管的伺服器作為工具,尋找並入侵下一個系統 ; 4、做一些好事:正派駭客在完成上面的工作後,就會修復漏洞或者通知系統管理員,做出一些
7、維護網路安全的事情; 5、做一些壞事:邪派駭客在完成上面的工作後,會判斷伺服器是否還有利用價值。如果有利用價值,他們會在伺服器上植入木馬或者後門,便於下一次來訪;而對沒有利用價值的伺服器他們決不留情,系統崩潰會讓他們感到無限的快感! = 二 .駭客應掌握的基本技能 從這一節開始,我們就真正踏上學習駭客的道路了, 首先要介紹的是作為一名初級駭客所必須掌握的基本技能,學習這可以通過這一節的閱讀瞭解到駭客並不神秘,而且學習起來很容易上手。為了保證初學者對駭客的興趣,所以本書採取了迴圈式進度,也就是說每一章節的內容都是獨立、全面的,學習者只有完整的學習過一章的內容,才能夠進而學習下一章的內容。 一、瞭
8、解一定量的英文: 學習英文對於駭客來說非常重要,因為現在大多數資料和教程都是英文版本,而且有關駭客的新聞也是從國外過來的,一個漏洞從發現到出現中文介紹,需要大約一個星期的時間,在這段時間內網路管理員就已經有足夠的時間修 補漏洞了,所以當我們看到中文介紹的時候,這個漏洞可能早就已經不存在了。因此學習駭客從一開始就要儘量閱讀英文資料、使用英文軟體、並且及時關注國外著名的網路安全網站。 二、學會基本軟體的使用: 這裏所說的基本軟體是指兩個內容:一個是我們日常使用的各種電腦常用命令,例如 ftp、ping、 net 等;另一方面還要學會有關駭客工具的使用,這主要包括埠掃描器、漏洞掃描器、資訊截獲工具和
9、密碼破解工具等。因為這些軟體品種多,功能各不相同,所以本書在後面將會介紹幾款流行的軟體使用方法,學習者在掌握其基本原理以後,既可以 選擇適合自己的,也可以在“第二部分”中找到有關軟體的開發指南,編寫自己的駭客工具。 三、初步瞭解網路協定和工作原理: 所謂“初步瞭解”就是“按照自己的理解方式”弄明白網路的工作原理,因為協議涉及的知識多且複雜,所以如果在一開始就進行深入研究,勢必會大大挫傷學習積極性。在這裏我建議學習者初步瞭解有關 tcp/ip 協議,尤其是流覽網頁的時候網路是如何傳遞資訊、用戶端流覽器如何申請“握手資訊”、伺服器端如何“應答握手資訊”並“接受請求”等內容,此部分內容將會在後面的章
10、節中進行具體介紹。 四、熟悉幾種流行 的編程語言和腳本: 同上面所述一樣,這裏也不要求學習者進行深入學習,只要能夠看懂有關語言、知道程式執行結果就可以了。建議學習者初步學習 C 語言、 asp 和 cgi 腳本語言,另外對於 htm 超文本語言和 php、 java 等做基本瞭解,主要學習這些語言中的“變數”和“陣列”部分,因為語言之間存在內在聯繫,所以只要熟練掌握其中一們,其他語言也可以一脈相同,建議學習 C語言和 htm 超文本語言。 五、熟悉網路應用程式: 網路應用程式包括各種伺服器軟體後臺程式,例如: wuftp、 Apache 等伺服器後臺;還有網上流行的 各種論壇、電子社區。有條件
11、的學習者最好將自己的電腦做成伺服器,然後安裝並運行一些論壇代碼,經過一番嘗試之後,將會感性的弄清楚網路工作原理,這比依 *理論學習要容易許多,能夠達到事半功倍的效果! = 網路安全術語解釋 一、協議: 網路是一個資訊交換的場所,所有接入網路的電腦都可以通過彼此之間的物理連設備行資訊交換,這種物理設備包括最常見的電纜、光纜、無線 WAP 和微波等,但是單純擁有這些物理設備並不能 實現資訊的交換,這就好像人類的身體不能缺少大腦的支配一樣,資訊交換還要具備軟體環境,這種“軟體環境”是人類實現規定好的一些規則,被稱作“協定”,有了協定,不同的電腦可以遵照相同的協定使用物理設備,並且不會造成相互之間的“
12、不理解”。 這種協議很類似於“摩爾斯電碼”,簡單的一點一橫,經過排列可以有萬般變化,但是假如沒有“對照表”,誰也無法理解一分雜亂無章的電碼所表述的內容是什麼。電腦也是一樣,它們通過各種預先規定的協議完成不同的使命,例如 RFC1459 協議可以實現 IRC 伺服器與用戶端電腦的通信。因此無論是駭 客還是網路管理員,都必須通過學習協定達到瞭解網路運作機理的目的。 每一個協議都是經過多年修改延續使用至今的,新產生的協議也大多是在基層協議基礎上建立的,因而協議相對來說具有較高的安全機制,駭客很難發現協議中存在的安全問題直接入手進行網路攻擊。但是對於某些新型協議,因為出現時間短、考慮欠周到,也可能會因
13、安全問題而被駭客利用。 對於網路協定的討論,更多人則認為:現今使用的基層協議在設計之初就存在安全隱患,因而無論網路進行什麼樣的改動,只要現今這種網路體系不進行根本變革,從根本上就無法杜絕網路駭客的出現。 但是這種駭客機能已經超出了本書的範圍,因而不在這裏詳細介紹。 二、伺服器與用戶端: 最簡單的網路服務形式是:若干台電腦做為用戶端,使用一台電腦當作伺服器,每一個用戶端都具有向伺服器提出請求的能力,而後由伺服器應答並完成請求的動作,最後伺服器會將執行結果返回給用戶端電腦。這樣的協議很多。例如我們平時接觸的電子郵件伺服器、網站伺服器、聊天室伺服器等都屬於這種類型。另外還有一種連接方式,它不需要伺服
14、器的支援,而是直接將兩個用戶端電腦進行連接,也就是說每一台電腦都既是伺服器、又是用戶端,它們之間具有相同的功 能,對等的完成連接和資訊交換工作。例如 DCC 傳輸協議即屬於此種類型。 從此看出,用戶端和伺服器分別是各種協議中規定的請求申請電腦和應答電腦。作為一般的上網用戶,都是操作著自己的電腦(用戶端),別且向網路服務器發出常規請求完成諸如流覽網頁、收發電子郵件等動作的,而對於駭客來說則是通過自己的電腦(用戶端)對其他電腦(有可能是用戶端,也有可能是伺服器)進行攻擊,以達到入侵、破壞、竊取資訊的目的。 三、系統與系統環境: 電腦要運作必須安裝作業系統,如今流行的作業系統主要由 UNIX、 Li
15、nux、 Mac、 BSD、Windows2000、 Windows95/98/Me、 Windows NT 等,這些作業系統各自獨立運行,它們有自己的檔管理、記憶體管理、進程管理等機制,在網路上,這些不同的作業系統既可以作為伺服器、也可以作為用戶端被使用者操作,它們之間通過“協定”來完成資訊的交換工作。 不同的作業系統配合不同的應用程式就構成了系統環境,例如 Linux 系統配合 Apache 軟體可以將電腦構設成一台網站伺服器,其他使用用戶端的電腦可以使用流覽器來獲得網站伺服器上供流覽者閱讀的文本資訊;再如 Windows2000 配合 Ftpd 軟體可以將電腦構設成一台檔伺服器,通過遠端
16、 ftp 登陸可以獲得系統上的各種檔資源等。 四、 IP 位址和埠: 我們上網,可能會同時流覽網頁、收發電子郵件、進行語音聊天如此多的網路服務專案,都是通過不同的協定完成的,然而網路如此之大,我們的電腦怎麼能夠找到服務專案所需要的電腦?如何在一台電腦上同時完成如此多的工作的呢?這裏就要介紹到 IP 地址了。 每一臺上網的電腦都具有獨一無二的 IP 位址,這個位址類似於生活中人們的家庭位址,通過網路路由器等多種物理設備(無需初級學習者理解),網路可以完成從一個電腦到 另一個電腦之間的資訊交換工作,因為他們的 IP 位址不同,所以不會出現找不到目標的混亂局面。但是駭客可以通過特殊的方法偽造自己電腦
17、的 IP 位址,這樣當伺服器接受到駭客電腦(偽IP 位址)的請求後,伺服器會將應答資訊傳送到偽 IP 位址上,從而造成網路的混亂。當然,駭客也可以根據 IP 位址輕易的找到任何上網者或伺服器,進而對他們進行攻擊(想想現實中的入室搶劫),因而如今我們會看到很多關於如何隱藏自己 IP 地址的文章。 接下來我解釋一下上面提到的第二個問題:一台電腦上為什麼能同時使用多種網路服務。這好像北京城有八個城門一 樣,不同的協定體現在不同的網路服務上,而不同的網路服務則會在用戶端電腦上開闢不同的埠(城門)來完成它的資訊傳送工作。當然,如果一台網路服務器同時開放了多種網路服務,那麼它也要開放多個不同的埠(城門)來
18、接納不同的用戶端請求。 網路上經常聽到的“後門”就是這個意思,駭客通過特殊機能在伺服器上開闢了一個網路服務,這個服務可以用來專門完成駭客的目的,那麼伺服器上就會被打開一個新的埠來完成這種服務,因為這個埠是供駭客使用的,因而輕易不會被一般上網用戶和網路管理員發現,即“隱藏的埠”,故“後門”。 每一台電腦都 可以打開 65535 個埠,因而理論上我們可以開發出至少 65535 種不同的網路服務,然而實際上這個數位非常大,網路經常用到的服務協定不過幾十個,例如流覽網頁用戶端和服務端都使用的是 80 號埠,進行 IRC 聊天則在服務端使用 6667 埠、用戶端使用 1026埠等。 五、漏洞: 漏洞就是
19、程式中沒有考慮到的情況,例如最簡單的“弱口令”漏洞是指系統管理員忘記遮罩某些網路應用程式中的帳號; Perl 程式漏洞則可能是由於程式師在設計程式的時候考慮情況不完善出現的“讓程式執行起來不知所措”的代碼段,“溢出”漏洞則屬於當初設計系 統或者程式的時候,沒有預先保留出足夠的資源,而在日後使用程式是造成的資源不足;特殊IP 包炸彈實際上是程式在分析某些特殊資料的時候出現錯誤等 總而言之,漏洞就是程式設計上的人為疏忽,這在任何程式中都無法絕對避免,駭客也正是利用種種漏洞對網路進行攻擊的,本章開始的字眼兒“網路安全”實際就是“漏洞”的意思。駭客利用漏洞完成各種攻擊是最終的結果,其實真正對駭客的定義
20、就是“尋找漏洞的人”,他們並不是以網路攻擊為樂趣,而是天天沉迷在閱讀他人的程式並力圖找到其中的漏洞。應該說,從某種程度上講,駭客都是“好人”,他 們為了追求完善、建立安全的互聯網才投身此行的,只不過因為有的駭客或者乾脆是偽駭客經常利用具有攻擊性的漏洞,近些年人們才對駭客有了畏懼和敵視的心理。 六、加密與解密: 在“協議”的講解中,我提到了“由於網路設計的基層存在問題”,簡單的說這一問題是允許所有上網者參與資訊共用,因而對某些商業、個人隱私在網路上的傳送,就會暴露在眾目睽睽之下,我們的信用卡、個人電子郵件等都可以通過監聽或者截獲的方式被他人的到,如何才能讓這些資訊安全呢?讀者也許想到了“二戰中”
21、的間諜戰:參戰國家在使用電報的時候,都對代碼進 行了加密處理,只有知道了“密碼薄”的接收者,才可以進行解碼工作。正是這種古老的加密方式,在現代化的網路上也依然存在它旺盛的生命力,通過加密處理的資訊在網路上傳送,無論誰拿到了這份檔,只要沒有“密碼薄”仍然是白費力氣的。 網路上最長使用的是設置個人密碼、使用 DES 加密鎖,這兩種加密方式分別可以完成用戶登陸系統、網站、電子郵件信箱和保護資訊包的工作,而駭客所要進行的工作,就是通過漏洞、暴力猜測、加密演算法反向應用等方式獲得加密檔案的明文,有人把“魔高一尺、道高一仗”用在這裏,的確是在恰當不過了!網路上的加密方 法和需要驗證密碼的系統層出不窮,駭客
22、也在尋找破解這些系統的種種辦法。 可以說,“漏洞”和“解密”是兩個完全不同的駭客領域,對於不同的學習者對他們的偏好,將會直接影響到今後將會成為的駭客類型,因而在二者之間的選擇,應根據個人喜好進行,本書將會側重學習“漏洞”方面的知識。 七、特洛伊木馬: 特洛伊木馬是一個程式,這個程式可以做程式設計者有意設計的未出現過的事情。但是對於特洛伊木馬所做的操作,不論是否用戶瞭解,都是不被贊同的。根據某些人的認識,病毒是特洛伊木馬的一個特例,即:能夠傳播到其他的程式當中( 也就是將這些程式也變成特洛伊木馬)。根據另外的人的理解,不是有意造成任何損壞的病毒不是特洛伊木馬。最終,不論如何定義,許多人僅僅用“特
23、洛伊木馬”來形容不能複製的帶有惡意的程式,以便將特洛伊木馬與病毒區分開。 = 四 .常用駭客軟體性質分類 一、掃描類軟體: 掃描是駭客的眼睛,通過掃描程式,駭客可以找到攻擊目標的 IP 位址、開放的埠號、伺服器運行的版本、程式中可能存在的漏洞等。因而根據不同的掃描目的, 掃描類軟體又分為位址掃描器、埠掃描器、漏洞掃描器三個類別。在很多人看來,這些掃描器獲得的資訊大多數都是沒有用處的,然而在駭客看來,掃描器好比駭客的眼睛,它可以讓駭客清楚的瞭解目標,有經驗的駭客則可以將目標“摸得一清二楚”,這對於攻擊來說是至關重要的。同時掃描器也是網路管理員的得力助手,網路管理員可以通過它既是瞭解自己系統的運行
24、狀態和可能存在的漏洞,在駭客“下手”之前將系統中的隱患清除,保證伺服器的安全穩定。 現在網路上很多掃描器在功能上都設計的非常強大,並且綜合了各種掃描需要,將各種功能集成於一身。這對 於初學網路安全的學習者來說無疑是個福音,因為只要學習者手中具備一款優秀的掃描器,就可以將資訊收集工作輕鬆完成,免去了很多繁瑣的工作。但是對於一個高級駭客來說,這些現成的工具是遠遠不能勝任的,他們使用的程式大多自己編寫開發,這樣在功能上將會完全符合個人意圖,而且可以針對新漏洞既是對掃描器進行修改,在第一時間獲得最寶貴的目標資料。本書此部分將會介紹掃描器的具體使用方法,而在第二部分中則會具體講述如何開發這些掃描器,請讀
25、者務必循序漸進,否則將會給自己的學習帶來很多不必要的煩惱。 二、遠端監控類軟體: 遠端 監控也叫做“木馬”,這種程式實際上是在伺服器上運行一個用戶端軟體,而在駭客的電腦中運行一個服務端軟體,如此一來,伺服器將會變成駭客的伺服器的“手下”,也就是說駭客將會利用木馬程式在伺服器上開一個埠,通過這種特殊的木馬功能對伺服器進行監視、控制。因此,只要學習者掌握了某個木馬的使用和操作方法,就可以輕易接管網路服務器或者其他上網者的電腦。 在控制了伺服器之後,駭客的攻擊行動也就接近尾聲了,然而在做這件事情之前,駭客必須想辦法讓伺服器運行自己木馬的那個“用戶端程式”,這就需要利用漏洞或者進行欺騙。欺騙最簡單 ,
26、就是想辦法讓操作伺服器的人(系統管理員之類)運行駭客的用戶端程式,而利用漏洞則要初學者閱讀完本書後面的內容才能夠做到了。 三、病毒和蠕蟲: 首先聲明一下:編寫病毒的做法並不屬於駭客。病毒只不過是一種可以隱藏、複製、傳播自己的程式,這種程式通常具有破壞作用,雖然病毒可以對互聯網造成威脅,然而它並沒有試圖尋找程式中的漏洞,所以製作病毒還有病毒本身對駭客的學習都沒有實際意義。 之所以提到病毒,是因為蠕蟲和病毒有很多相似性,如蟲也是一段程式,和病毒一樣具有隱藏、複製、船舶自己的功能。不同的是蠕蟲程式通 常會尋找特定的系統,利用其中的漏洞完成傳播自己和破壞系統的作用,另外蠕蟲程式可以將收到攻擊的系統中的
27、資料傳送到駭客手中,這要看蠕蟲設計者的意圖,因而蠕蟲是介於木馬和病毒之間的一類程式。 電腦蠕蟲是自包含的程式 (或是一套程式 ),它能傳播它自身功能的拷貝或它的某些部分到其他的電腦系統中 (通常是經過網路連接 )。蠕蟲的製造需要精深的網路知識,還要具備高超的編程水準,對於一個初學駭客的學習者來說,蠕蟲的製造和使用都是非常難理解的,並且大多數蠕蟲攻擊的物件是 Linux 系統,而本書所使用的學習平臺是 Windows 95/98 或 Windows NT/2000,因而我同樣建議初學者不要過多的涉及這部分內容,有關此部分內容也將會在攻學兼防的第二部分中有所介紹。 四、系統攻擊和密碼破解: 這類軟
28、體大多數都是由高級駭客編寫出來的,供初級駭客使用的現成軟體,軟體本身不需要使用者具備太多的知識,使用者只要按照軟體的說明操作就可以達到軟體的預期目的,因而這類軟體不具備學習駭客知識的功效。不過這類軟體對於駭客很重要,因為它可以大幅度減小駭客的某些繁瑣工作,使用者經過對軟體的設置就可以讓軟體自動完成重複的工作,或者由軟體完成大 量的猜測工作,充分利用剩餘時間繼續學習網路知識。 系統攻擊類軟體主要分為資訊炸彈和破壞炸彈。網路上常見的垃圾電子郵件就是這種軟體的“傑作”,還有聊天室中經常看到的“踢人”、“罵人”類軟體、論壇的垃圾灌水器、系統藍屏炸彈也都屬於此類軟體的變異形式。如果學習者能夠認真學習駭客
29、知識,最終可以自己編寫類似的工具,但如果某個人天天局限于應用此類軟體上,他將永遠是一個“偽駭客”。 密碼破解類軟體和上面的軟體一樣,完全依 *它將對學習駭客毫無幫助。對於真正的駭客來說,這種軟體可以幫助尋找系統登陸密碼,相對于利用漏洞, 暴力破解密碼要簡單許多,但是效率會非常低,但是真正的駭客無論是使用密碼破解軟體還是利用漏洞進入系統之後,都達到了自己入侵的目的,因此對於如何進入系統,對於某些溺愛系統攻擊的駭客來說無關緊要。值得一提的是:真正執著於漏洞分析的駭客是從來不使用這種軟體的,而我向來將分析漏洞作為至高無上的工作,所以也儘量不去接觸此類軟體。 五、監聽類軟體: 通過監聽,駭客可以截獲網
30、路的資訊包,之後對加密的資訊包進行破解,進而分析包內的資料,獲得有關系統的資訊;也可能截獲個人上網的資訊包,分析的到上網帳號、系統帳號、電子郵 件帳號等個人隱私資料。監聽類軟體最大的特點在於它是一個亦正亦邪的,因為網路資料大多經過加密,所以用它來獲得密碼比較艱難,因而在更多的情況下,這類軟體是提供給程式開發者或者網路管理員的,他們利用這類軟體進行程式的調試或伺服器的管理工作。 = 五 .常用駭客軟體用途分類 一、防範: 這是從安全的角度出發涉及的一類軟體,例如防火牆、查病毒軟體、系統進程監視器、埠管理程式等都屬於此類軟體。這類軟體可以在最 大程度上保證電腦使用者的安全和個人隱私,不被駭客破壞。
31、網路服務器對於此類軟體的需要也是十分重視的,如日誌分析軟體、系統入侵軟體等可以幫助管理員維護伺服器並對入侵系統的駭客進行追蹤。 二、資訊搜集: 資訊搜集軟體種類比較多,包括埠掃描、漏洞掃描、弱口令掃描等掃描類軟體;還有監聽、截獲資訊包等間諜類軟體,其大多數屬於亦正亦邪的軟體,也就是說無論正派駭客、邪派駭客、系統管理員還是一般的電腦使用者,都可以使用者類軟體完成各自不同的目的。在大多數情況下,駭客使用者類軟體的頻率更高,因為他們需要依 *此類軟體對伺 服器進行全方位的掃描,獲得盡可能多的關於伺服器的資訊,在對伺服器有了充分的瞭解之後,才能進行駭客動作。 三、木馬與蠕蟲: 這是兩種類型的軟體,不過
32、他們的工作原理大致相同,都具有病毒的隱藏性和破壞性,另外此類軟體還可以由擁有控制權的人進行操作,或由事先精心設計的程式完成一定的工作。當然這類軟體也可以被系統管理員利用,當作遠端管理伺服器的工具。 四、洪水: 所謂“洪水”即資訊垃圾炸彈,通過大量的垃圾請求可以導致目標伺服器負載超負荷而崩潰,近年來網路上又開始流行 DOS 分散式攻擊,簡單地說也可以將其 歸入此類軟體中。洪水軟體還可以用作郵件炸彈或者聊天式炸彈,這些都是經過簡化並由網路安全愛好者程式化的“傻瓜式”軟體,也就是本書一開始指責的“偽駭客”手中經常使用的軟體。 五、密碼破解: 網路安全得以保證的最實用方法是依 *各種加密演算法的密碼系
33、統,駭客也許可以很容易獲得一份暗文密碼檔,但是如果沒有加密演算法,它仍然無法獲得真正的密碼,因此使用密碼破解類軟體勢在必行,利用電腦的高速計算能力,此類軟體可以用密碼字典或者窮舉等方式還原經過加密的暗文。 六、欺騙: 如果希望獲得上面提到的明文密碼,駭客 需要對暗文進行加密演算法還原,但如果是一個複雜的密碼,破解起來就不是那麼簡單了。但如果讓知道密碼的人直接告訴駭客密碼的原型,是不是更加方便?欺騙類軟體就是為了完成這個目的而設計的。 七、偽裝: 網路上進行的各種操作都會被 ISP、伺服器記錄下來,如果沒有經過很好的偽裝就進行駭客動作,很容易就會被反跟蹤技術追查到駭客的所在,所以偽裝自己的 IP
34、 地址、身份是駭客非常重要的一節必修課,但是偽裝技術需要高深的網路知識,一開始沒有堅實的基礎就要用到這一類軟體了。 = 學習駭客的基本環境 一、作業系統的選擇: 我們經常聽說駭客酷愛 Linux 系統,這是因為 Linux 相對 Windows 提供了更加靈活的操作方式,更加強大的功能。例如對於 IP 位址的偽造工作,利用 Linux 系統編寫特殊的 IP 頭資訊可以輕鬆完成,然而在 Windows 系統下卻幾乎不可能做到。但是 Linux 也有它不足的一面,這個系統的命令龐雜、操作複雜,並不適合初學者使用,而且對於個人學習者,並沒有過多的人會放棄“舒適”的 Windows、放棄精彩的 電腦遊
35、戲和便捷的操作方式,去全心投入駭客學習中。而且對於初學駭客的學習者來說,大多數網路知識都可以在 Windows 系統中學習,相對 Linux 系統, Windows 平臺下的駭客軟體也並不在少數,另外通過安裝套裝程式,Windows 系統中也可以調試一定量的程式,因此初步學習駭客沒有必要從 Linux 入手。 本書使用的平臺 WindowsME,因為對於個人用戶來說, NT 或者 2000 多少有些苛刻 系統配置要求太高;然而使用 95 或者 98 又缺少某些必要的功能 NET、 TELNET 命令不完善。但是本書的大部分內容測試漏 洞,從遠端伺服器出發,所以也不是非要 WindowsME 作
36、業系統進行學習,對於少數系統版本之間的差異,學習者可以和我聯繫獲得相應系統的學習方法。 二、需要的常用軟體: 除了基本的作業系統以外,學習者還需要安裝各類掃描器,之後下載一個比較優秀的木馬軟體、一個監聽類軟體,除此以外別無它求。如果有必要,讀者可以自行安裝本文上述軟體,然後學習其用法,但是我要告訴你,對於各類炸彈、還有網路上各式各樣的駭客軟體,在學習完本書後,你都可以自己製作、自己開發,根本沒有必要使用他人編寫的軟體。 對於掃描器和監聽軟體, 我給出以下建議,並且在本書的後面還會對這幾個軟體進行詳細介紹: 掃描器: 監聽軟體: 木馬: 三、額外的工具: 如果可以安裝下面的工具,將會對學習駭客有
37、莫大的幫助,當然下面的軟體主要是學習額外內容並為“第二部分”學習作鋪墊用的,所以沒有也不會妨礙本書的學習。 1、後臺伺服器: 擁有某些網路應用的後臺服務程式,可以將自己的電腦設置成一個小型伺服器,用來學習相應的網路應用,從“內部”瞭解其運作機理,這將會大大提高自己對伺服器的感性認識,同時還能夠在啟動伺服器的時候;監測自己伺服器上的 資料,如果有其他駭客來攻擊,則可以清晰的記錄下對方的攻擊過程,從而學習到更多的駭客攻擊方法。對於本書而言,主要介紹網站的 Perl 和 asp 等腳本語言漏洞,所以可以安裝一個 IIS 或者 HTTPD。然後在安裝ActivePerl,使自己的伺服器具備編譯 cgi 和 pl 腳本的能力。使用自己的伺服器還有一個好處,可以節省大量的上網時間,將學習、尋找漏洞的過程放到自己的電腦上,既節省了金錢、有不會對網路構成威脅,一舉兩得。 2、 C 語言編譯平臺: