在我的理解中,“黑客”壹般應該分為“正”和“邪”。正派的黑客依靠自己的知識幫助系統管理員找出系統的漏洞並加以改進,而邪惡的黑客則通過各種黑客技巧攻擊、入侵或做其他對網絡有害的事情。因為邪惡黑客所從事的事情違反了黑客守則,他們的真名是“黑客”(Crake
無論什麽樣的黑客,他們最初的學習內容都會是這部分涉及的內容,基本功都是壹樣的。即使他們以後走上不同的道路,做的事情也差不多,只是出發點和目的不同。
很多人問過我:“黑客壹般都做些什麽?是不是很刺激?”也有人把黑客理解為“每天做著枯燥重復的事情”。其實這些都是錯誤的認識。黑客通常需要花很多時間學習。我不知道這個過程有沒有盡頭,我只知道“多多益善”。因為學黑客完全是出於個人愛好,不存在“無聊”;重復是必然的,因為“熟能生巧”,只有通過不斷的接觸和實踐,才能體會到壹些不可言說的體驗。
經過學習,黑客應該將所學知識應用於實踐。無論做什麽樣的黑客,根本目的無非是在實踐中掌握所學。黑客的行為主要包括以下幾種:
壹、學習技術:
壹旦壹項新技術出現在互聯網上,黑客必須立即學習它,並在最短的時間內掌握它。這裏的掌握不是壹般的理解,而是閱讀相關的“rfc”,深入了解這項技術的機理。否則,壹旦他停止學習,依靠之前掌握的東西,他無法維持壹年以上的“黑客身份”。
初級黑客很難學到知識,因為沒有基礎,所以學習的時候要接觸很多基礎的內容。但如今的互聯網給讀者帶來了大量的信息,這就需要初級學習者做出選擇:太深的內容可能會給學習帶來困難;太“花裏胡哨”的內容對於學習黑客來說毫無用處。所以新手不要貪多。他們應該盡量找壹本書和自己的完整教材,循序漸進地學習。
第二,偽裝自己:
黑客的壹舉壹動都會被服務器記錄下來,所以黑客必須偽裝自己,讓對方無法識別自己的真實身份。這需要熟練的技巧,比如偽裝他的IP地址,利用跳板逃避追蹤,清除記錄擾亂對方線索,巧妙避開防火墻。
偽裝需要非常好的基本功才能實現,這對於初學者來說是壹個“巨大的成就”,也就是說初學者不可能在短時間內學會偽裝,所以我不鼓勵初學者用自己的知識去攻擊網絡,否則壹旦自己的行跡暴露,最終會害了自己。
如果有壹天妳成為真正的黑客,我也不贊成妳攻擊網絡。畢竟黑客的成長是壹種學習,而不是犯罪。
第三,找漏洞:
漏洞是黑客最重要的信息。黑客要時刻從別人發現的漏洞中學習,也要努力自己發現未知的漏洞,從大量的漏洞中發現有價值的、可利用的漏洞進行實驗。當然,他們的最終目的是通過漏洞來破壞或者修復這個漏洞。
黑客對尋找漏洞的執著是常人無法想象的。他們的口號是“打破權威”。從壹次又壹次的黑客實踐中,黑客們也用自己的實際行動向世人證明了這壹點——沒有壹個程序是沒有漏洞的。在黑客眼裏,所謂的“天衣無縫”不過是“沒發現”。
4.利用漏洞:
對於正派的黑客來說,應該修補漏洞;對於邪惡的黑客來說,應該利用漏洞進行破壞。他們的基本前提是“利用漏洞”,黑客利用漏洞可以做以下事情:
1.獲取系統信息:壹些漏洞可以泄露系統信息,暴露敏感數據,從而進壹步入侵系統;
2.入侵系統:通過漏洞進入系統,或者獲取服務器上的內部數據,或者完全掌控服務器;
3.尋找下壹個目標:勝利意味著下壹個目標的出現。黑客要充分利用自己已經掌管的服務器,作為尋找和入侵下壹個系統的工具;
4.做壹些好事:正派的黑客完成上述工作後,會修復漏洞或者通知系統管理員做壹些維護網絡安全的事情;
5、做壹些壞事:邪惡的黑客在完成上述工作後,會判斷服務器是否還有用。如果有用,他們會在服務器上植入特洛伊木馬或者後門,方便下次訪問;但是,他們對沒有使用價值的服務器毫不留情,系統崩潰會讓他們感受到無限的快感!
第二節,黑客應該掌握的基本技能
從這壹節開始,我們真正踏上了學習黑客的道路。首先要介紹的是壹個初級黑客必須掌握的基本技能。通過閱讀這壹節,我們可以知道黑客並不神秘,也很容易學會。為了保證初學者對黑客的興趣,本書采用了循環遞進的方式,即每壹章的內容都是獨立而全面的,學習者只有完整地學習完壹章的內容,才能學習下壹章的內容。
首先,了解壹定的英語:
學習英語對於黑客來說非常重要,因為現在大部分資料和教程都是英文的,關於黑客的消息都來自國外。從發現漏洞到出現中文介紹大概需要壹周的時間,這期間網絡管理員有足夠的時間修復漏洞,所以當我們看到中文介紹的時候,漏洞可能早就消失了。所以從壹開始就要盡量多看英文資料,多使用英文軟件,及時關註國外著名的網絡安全網站。
二、學會基本軟件的使用:
這裏說的基礎軟件指的是兩個內容:壹個是我們日常使用的常用電腦命令,如ftp、ping、net等。另壹方面要學會如何使用黑客工具,主要有端口掃描器、漏洞掃描器、信息攔截工具、密碼破解工具等。因為這類軟件種類繁多,功能各異,所以本書後面會介紹幾種流行的軟件使用方法。學習者在掌握了自己的基本原理後,可以選擇適合自己的,也可以找第二部分關於軟件的開發指南,自己編寫黑客工具。
三、初步了解網絡協議和工作原理:
所謂“初步了解”,就是“按照自己的理解方式”去了解網絡的工作原理。因為協議涉及的知識多而復雜,如果壹開始就進行深入的研究,肯定會挫傷妳的學習熱情。在這裏,我建議學習者對tcp/ip協議有壹個初步的了解,特別是網絡在瀏覽網頁時是如何傳輸信息的,客戶端瀏覽器是如何申請“握手信息”的,服務器端是如何“響應握手信息”和“接受請求”的,這些將在後面的章節中詳細介紹。
四、熟悉幾種流行的編程語言和腳本:
如上所述,這裏不要求學習者深入學習,只要能夠理解相關語言,知道程序執行的結果即可。建議學習者初步學習C語言、asp、cgi腳本語言,對htm超文本語言、php、java有基本了解,主要學習這些語言中的“變量”和“數組”。因為語言之間是有內在聯系的,只要熟練掌握其中壹種,其他語言也可以壹樣。建議學習C語言和htm超文本語言。
五、熟悉網絡應用:
網絡應用程序包括各種服務器軟件後臺程序,如wuftp、Apache等服務器後臺程序。互聯網上也有各種流行的論壇和電子社區。有條件的學習者最好把自己的電腦做成服務器,然後安裝運行壹些論壇代碼。經過壹番嘗試,他們會感性地理解網絡的工作原理,這比依靠理論學習要容易得多,可以達到事半功倍的效果!
第三節,網絡安全術語解釋
壹、協議:
網絡是壹個信息交流的地方。所有連接到網絡的計算機都可以通過它們的物理設備交換信息,包括最常見的電纜、光纜、無線WAP和微波。但是,信息的交換不是簡單的擁有這些物理設備就能實現的,就像人體不能缺少大腦的控制壹樣,信息交換必須有軟件環境。這個“軟件環境”就是人類規定的壹些規則,它被稱為“協議”。通過該協議,不同的計算機可以根據相同的協議使用物理設備,而不會導致它們之間的“不理解”。
這個協議很像“莫爾斯電碼”,簡單橫排,排列後可以變化多端,但如果沒有“對照表”,誰也看不懂壹堆亂七八糟的代碼到底表達了什麽。計算機也是如此,它們通過各種預定義的協議來完成不同的任務。例如,RFC1459協議可以實現IRC服務器和客戶端計算機之間的通信。因此,無論是黑客還是網絡管理員,都必須學習協議,了解網絡運行機制。
每個協議都經過多年的修改和使用,新產生的協議大多基於基層協議,因此協議具有相對較高的安全機制,黑客很難發現協議中的安全問題並直接攻擊網絡。然而,壹些新協議由於其短暫的出現和欠考慮,可能會因安全問題而被黑客利用。
對於網絡協議的討論,更多的人認為現在使用的基礎協議在設計之初就存在安全隱患,所以無論對網絡做什麽改變,只要不從根本上改變網絡系統,就不可能從根本上杜絕網絡黑客的出現。但這個黑客功能不在本書討論範圍內,這裏就不詳細介紹了。
二、服務器和客戶端:
網絡服務最簡單的形式就是幾臺電腦作為客戶端,壹臺電腦作為服務器。每個客戶端都能夠向服務器發出請求,然後服務器應答並完成所請求的操作。最後,服務器會將執行結果返回給客戶端計算機。這樣的協議有很多。比如我們平時接觸的電子郵件服務器、網站服務器、聊天室服務器都屬於這種類型。另外,還有壹種連接方式,不需要服務器的支持,直接連接兩臺客戶端計算機,也就是說每臺計算機既是服務器又是客戶端,它們具有相同的功能,平等地完成連接和信息交換。比如DCC傳輸協議就屬於這種類型。
由此可見,客戶機和服務器分別是各種協議中規定的請求計算機和應答計算機。作為壹般的互聯網用戶,他們都是操作自己的電腦(客戶端),定期向網絡服務器發送請求,完成瀏覽網頁、收發郵件等動作。對於黑客來說,他們通過自己的電腦(客戶端)攻擊其他電腦(無論是客戶端還是服務器),達到入侵、破壞、竊取信息的目的。
三、制度和制度環境:
為了操作計算機,安裝操作系統是必要的。現在流行的操作系統主要有UNIX、Linux、Mac、BSD、Windows2000、Windows95/98/Me、Windows NT等。這些操作系統獨立運行,它們有自己的文件管理、內存管理、進程管理等機制。在網絡上,這些不同的操作系統可以由用戶作為服務器或客戶端來操作,也可以由用戶通過”。
不同的操作系統配合不同的應用程序,形成壹個系統環境。例如,Linux系統和Apache軟件可以將壹臺計算機構建成網站服務器,其他使用客戶端的計算機可以使用瀏覽器獲取網站服務器上的文本信息,供讀者使用。再比如Windows2000結合Ftpd軟件可以將壹臺計算機構建成壹個文件服務器,通過遠程ftp登錄可以獲取系統上的各種文件資源。
四。IP地址和端口:
當我們上網時,我們可以同時瀏覽網頁、收發電子郵件和進行語音聊天...這麽多網絡服務項目都是通過不同的協議完成的,但是網絡這麽大,我們的電腦怎麽找到服務項目需要的電腦呢?妳怎麽能在壹臺電腦上同時完成這麽多工作?這就要介紹IP地址了。
每臺上網的電腦都有壹個唯壹的IP地址,類似於人們生活中的家庭地址。通過網絡路由器等各種物理設備(沒有初學者的理解),網絡可以完成從壹臺計算機到另壹臺計算機的信息交換。因為他們的IP地址不壹樣,所以找目標不會有混亂。但是黑客可以通過特殊的方法偽造自己電腦的IP地址,這樣當服務器收到黑客電腦的請求(偽IP地址)時,服務器就會向偽IP地址發送回復信息,從而造成網絡混亂。當然,黑客可以很容易地根據IP地址找到任何上網者或服務器,然後攻擊他們(想想真正的入室盜竊),所以現在我們會看到很多關於如何隱藏妳的IP地址的文章。
接下來我來解釋壹下上面提到的第二個問題:為什麽壹臺電腦可以同時使用多個網絡服務?就好像北京有八個門壹樣。不同的協議體現在不同的網絡服務中,不同的網絡服務會在客戶端計算機上打開不同的端口(gates)來完成它的信息傳輸。當然,如果壹個網絡服務器同時開放多種網絡服務,它也應該開放多個不同的端口(gates)來接受不同的客戶端請求。
這就是網絡上經常聽到的“後門”的意思。黑客通過特殊功能在服務器上開辟壹個網絡服務,可以達到黑客的目的。然後將在服務器上打開壹個新端口來完成此服務。因為這個端口是黑客使用的,不會輕易被普通網民和網絡管理員發現,也就是“隱藏端口”,所以是“後門”。
每臺計算機可以打開65,535個端口,因此理論上我們至少可以開發65,535種不同的網絡服務。但是,實際上這個數字是很大的,網絡中常用的服務協議只有幾十種。例如,客戶端和服務器都使用端口80瀏覽網頁,而客戶端使用端口6667和端口1026進行IRC聊天。
動詞 (verb的縮寫)漏洞:
漏洞是程序中沒有考慮的情況。比如最簡單的“弱密碼”漏洞,是指系統管理員在壹些網絡應用中忘記屏蔽賬號;Perl程序漏洞可能是由於程序員在設計程序時對情況考慮不完善,導致代碼段“讓程序無所適從”,而“溢出”漏洞則屬於事先設計系統或程序時資源不足,但以後使用程序時會造成資源不足;特殊的IP包炸彈實際上是程序分析壹些特殊數據時的錯誤...
總之,漏洞是程序設計中的人為疏忽,是任何程序都無法絕對避免的。黑客也利用各種漏洞攻擊網絡。本章開頭的“網絡安全”壹詞,其實就是“漏洞”的意思。黑客利用漏洞完成各種攻擊是最終結果。其實黑客真正的定義是“尋找漏洞的人”。他們對網絡攻擊不感興趣,卻沈迷於每天看別人的程序,試圖尋找漏洞。應該說,在壹定程度上,黑客是“好人”。他們參加這次旅行只是為了追求完善和建立壹個安全的互聯網。只是因為壹些黑客或者幹脆是偽黑客經常利用攻擊性的漏洞,所以近年來人們對黑客產生了恐懼和敵意。
六、加密和解密:
在對《協議》的解釋中,我提到“網絡設計的基礎層面出現了問題……”這個問題簡單來說就是讓所有的互聯網用戶都參與到信息共享中來,這樣壹些業務和個人隱私在網絡上的傳輸就會暴露在公眾面前,我們的信用卡和個人郵箱就可以通過截取或者攔截的方式被他人訪問。我們如何保證這些信息的安全?讀者可能會想到二戰中的諜戰:參戰國使用電報時,都是對密碼進行加密,只有知道“密碼本”的接收方,才能對其進行解碼。正是這種古老的加密方法,在現代網絡上依然有著旺盛的生命力。經過加密處理的信息在網絡上傳輸。不管是誰拿到這份文件,只要沒有“密碼本”,都還是徒勞。
在網上使用時間最長的是設置個人密碼,使用DES加密鎖。這兩種加密方法可以分別完成用戶對系統、網站、電子郵箱的登錄,保護信息包。黑客需要做的就是通過漏洞、暴力投機、加密算法的逆向應用,獲取加密文件的明文。有人在這裏用“魔高壹尺,道高壹戰”,真是恰如其分!網絡上有很多需要驗證密碼的加密方法和系統,黑客也在尋找破解這些系統的方法。
可以說“漏洞”和“解密”是兩個完全不同的黑客領域。不同的學習者對他們的喜好會直接影響到未來成為黑客的類型。所以兩者之間的選擇要根據個人喜好。這本書將重點學習“脆弱性”。
七、特洛伊馬:
特洛伊馬是壹個程序,它可以做程序員故意設計的從未發生過的事情。然而,不管用戶是否知道,特洛伊馬的操作是不被認可的。按照某些人的理解,病毒是特洛伊馬的特例,也就是它可以傳播到其他程序(也就是它可以把這些程序變成特洛伊馬)。根據其他人的理解,壹個沒有故意造成任何傷害的病毒不是特洛伊馬。最後,不管怎麽定義,很多人只是用“特洛伊馬”來形容無法復制的惡意程序,以此來區分特洛伊馬和病毒。
第四節常用黑客軟件使用分類
壹、註意事項:
這是壹種從安全角度涉及的軟件,如防火墻、病毒檢測軟件、系統進程監視器、端口管理程序等。這種軟件可以最大程度地保證電腦用戶的安全和個人隱私,不會被黑客破壞。網絡服務器也非常重視對這類軟件的需求,如日誌分析軟件、系統入侵軟件等,可以幫助管理員維護服務器,跟蹤入侵系統的黑客。
二、信息收集:
信息采集軟件種類繁多,包括端口掃描、漏洞掃描、弱密碼掃描等掃描軟件。還有監聽、攔截數據包等間諜軟件,大部分都屬於正邪軟件,也就是說,無論正派黑客、邪惡黑客、系統管理員還是普通電腦用戶,都可以利用這樣的軟件來完成各自不同的目的。在大多數情況下,黑客使用軟件的頻率更高,因為他們需要依靠這類軟件對服務器進行全方位掃描,獲取盡可能多的服務器信息。只有在他們對服務器有了充分的了解之後,才能進行黑客攻擊。
第三,木馬和蠕蟲:
這是兩類軟件,但工作原理大致相同,都具有病毒的隱蔽性和破壞性。另外,這類軟件也可以由有控制權的人操作,或者由事先精心設計的程序完成。當然,這類軟件也可以被系統管理員用作遠程管理服務器的工具。
第四,洪水:
所謂的“洪水”是壹種信息垃圾炸彈,可以通過大量的垃圾請求導致目標服務器過載而崩潰。近年來,DOS分布式攻擊在網絡上開始流行,可以簡單地歸為這類軟件。Flood軟件還可以作為郵件炸彈或聊天炸彈,被網絡安全愛好者簡化編程,也就是本書開頭指責的“偽黑客”經常使用的軟件。
動詞 (verb的縮寫)密碼破解:
保證網絡安全最實際的方法就是依靠各種加密算法的密碼系統。黑客或許可以輕松獲得壹個密碼文件,但是如果沒有加密算法,他們仍然無法獲得真實的密碼。因此,使用密碼破解軟件勢在必行。通過利用計算機的高速計算能力,這類軟件可以通過使用密碼字典或窮舉方法來恢復加密的密碼。
六、作弊:
想要得到上面提到的明文密碼,黑客需要還原密文,但如果是復雜密碼,破解起來就沒那麽簡單了。但是如果有知道密碼的人直接告訴黑客密碼的原型是不是更方便呢?欺騙軟件就是為此而設計的。
七、偽裝:
在網絡上進行的各種操作都會被ISP和服務器記錄下來。如果在沒有很好偽裝的情況下進行黑客攻擊,很容易被反跟蹤技術追溯到黑客。所以偽裝自己的IP地址和身份對於黑客來說是非常重要的必修課,但是偽裝技術需要很高深的網絡知識,這類軟件壹開始沒有紮實的基礎也會用到。
第五節,學習黑客的基本環境
壹、操作系統的選擇:
我們經常聽說黑客對Linux系統愛不釋手,因為Linux提供了比Windows更靈活的操作方式和更強大的功能。比如IP地址的偽造,利用Linux系統寫入特殊的IP頭信息就可以輕松完成,而在Windows系統下幾乎不可能。然而,Linux也有它的缺點。這個系統命令復雜,操作復雜,不適合新手。而且,對於個人學習者來說,沒有多少人會放棄“舒適”的窗口、精彩的電腦遊戲、便捷的操作方式來投身於黑客學習。而且對於黑客初學者來說,大部分網絡知識都可以在Windows系統中學習。相比Linux系統,Windows平臺下的黑客軟件不在少數。另外,壹定量的程序可以通過安裝包的方式在Windows系統中進行調試,對於黑客初學者來說,沒有必要從Linux開始。
本書使用的平臺是WindowsME,因為NT或者2000對於個人用戶來說有些苛刻——系統配置要求太高;但是,使用95或98缺少壹些必要的功能-NET和TELNET命令並不完善。不過這本書的大部分內容都是測試漏洞,從遠程服務器開始,所以沒必要從WindowsME操作系統開始學。對於幾個系統版本的差異,學習者可以聯系我獲取相應系統的學習方法。
二、需要的常用軟件:
如果妳的系統是WindowsME,那麽告訴妳壹個好消息——妳不需要安裝太多額外的軟件,因為我們接觸到的黑客知識,依靠系統提供的命令和內置軟件就可以完成!除了基本的操作系統,學習者還需要安裝各種掃描儀,然後下載壹個比較好的特洛伊木馬軟件和壹個監控軟件,其他的就沒有了。如果有需要,讀者可以安裝上述軟件,學習其用法,但我想告訴妳,學完這本書,妳可以自己制作開發,沒必要用別人寫的軟件。
對於掃描儀和監控軟件,我給出以下建議,並將在本書後面詳細介紹這些軟件:
掃描儀:x掃描儀
下載地址:/
這三個軟件都是免費的,功能極其強大。比如Xscanner就是壹款國產軟件,集成了多種掃描功能,支持控制臺和圖形界面,並提供了詳細的漏洞使用說明。對於新手來說,有了這兩個工具,學習黑客就綽綽有余了。
第三,附加工具:
如果能安裝以下工具,對學習黑客有很大幫助。當然,下面的軟件主要是用來學習額外的內容,為第二部分的學習做鋪墊,所以沒有也不會妨礙這本書的學習。
1,後臺服務器:
借助壹些網絡應用的後臺服務程序,妳可以把自己的電腦設置成壹個小服務器,從“內部”學習相應的網絡應用,了解其運行機制,這將大大提高妳對服務器的感性認識,同時,妳可以激活服務器;監控自己服務器上的數據,如果其他黑客攻擊,可以清晰的記錄對方的攻擊過程,從而了解更多的黑客攻擊方法。對於這本書,主要介紹了Perl、asp等腳本語言的漏洞,可以安裝壹個IIS或者HTTPD。然後安裝ActivePerl,讓妳的服務器具備編譯cgi和pl腳本的能力。使用自己的服務器還有壹個好處就是可以節省大量的上網時間,把學習和查找漏洞的過程放在自己的電腦上,既省錢,又不會對網絡造成威脅,壹舉兩得。
2.c語言編譯平臺:
以後在學習黑客的路上,妳會遇到很多“自己的問題”。網絡上的其他人可能不會關註這些問題,所以妳找不到相應的程序。這個時候學習者就要自己開發相關的工具了,裝個Borland C++會很方便。通過這個編譯器,學習者可以學習C語言,也可以修改本書後面列出的壹些小程序,創建自己的工具庫。
四、網絡安全軟件分類
現在我們來學習壹下網絡安全軟件的分類,因為學習黑客知識是兩個相互關聯的過程:不僅要學習如何黑客,還要學習如何防範黑客。
1,防火墻:
這是網絡上最常見的安全機制軟件。防火墻既是硬件也是軟件,大多數讀者看到的可能更多的是軟件防火墻。其主要功能是過濾垃圾信息(保證系統不會被炸彈攻擊)、防蠕蟲入侵、防黑客入侵、增加系統隱私(保護敏感數據)、實時監控系統資源、防止系統崩潰、定期維護數據庫、備份主要信息...防火墻可以修復系統本身的漏洞,讓黑客無從下手。另外,對於有局域網的企業,防火墻可以限制系統端口的打開,禁止某些網絡服務(消除木馬)。
2.檢測軟件:
網上有專門清除黑客程序的工具,但這類軟件多集成在殺毒軟件或防火墻軟件中,可以檢測並清除系統中的木馬和蠕蟲。為了保護系統不受侵害,軟件會自動保護硬盤數據,自動維護註冊表文件,對檢測內容進行編碼,監控系統端口的打開狀態。如果用戶需要,軟件還可以編寫相關腳本對指定端口進行屏蔽(防火墻也有這個功能)。
3.備份工具:
專門用來備份數據的工具,可以幫助服務器定時備份數據,定時更新數據,這樣即使黑客破壞了服務器上的數據庫,軟件也可以在短時間內完全修復被入侵的數據。另外,對於個人用戶來說,這類軟件可以對硬盤進行完整的鏡像備份。壹旦系統崩潰,用戶可以使用這類軟件將系統恢復到原來的狀態。比如Ghost就是這類軟件中的佼佼者。
4.記錄和分析工具:
對於服務器來說,日誌文件是必不可少的。管理員可以通過日誌了解服務器的請求類型和來源,根據日誌判斷系統是否受到黑客攻擊。通過日誌分析軟件,管理員可以方便地追蹤入侵的黑客,找到黑客攻擊的源頭,進而抓住黑客。這也是黑客入侵服務器後經常使用IP地址偽裝、服務器跳轉、清除日誌文件的原因。
可以去我的網站()學習基礎。做壹個沒有基礎的黑客很難,妳說呢?