倍可親

回復: 0
列印 上一主題 下一主題

黑客入門教材

[複製鏈接]

781

主題

5982

帖子

1888

積分

有過貢獻的斑竹

倍可親智囊會員(十八級)

Rank: 3Rank: 3

積分
1888
跳轉到指定樓層
樓主
菲機 發表於 2006-4-23 19:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
第一節、黑客的種類和行為
以我的理解,「黑客」大體上應該分為「正」、「邪」兩類,正派黑客依靠自己掌握的知識幫助系統管理員找出系統中的漏洞並加以完善,而邪派黑客則是通過各種黑客技能對系統進行攻擊、入侵或者做其他一些有害於網路的事情,因為邪派黑客所從事的事情違背了《黑客守則》,所以他們真正的名字叫「駭客」(Cracker)而非「黑客」(Hacker),也就是我們平時經常聽說的「黑客」(Cacker)和「紅客」(Hacker)。
無論那類黑客,他們最初的學習內容都將是本部分所涉及的內容,而且掌握的基本技能也都是一樣的。即便日後他們各自走上了不同的道路,但是所做的事情也差不多,只不過出發點和目的不一樣而已。
很多人曾經問我:「做黑客平時都做什麼?是不是非常刺激?」也有人對黑客的理解是「天天做無聊且重複的事情」。實際上這些又是一個錯誤的認識,黑客平時需要用大量的時間學習,我不知道這個過程有沒有終點,只知道「多多益善」。由於學習黑客完全出於個人愛好,所以無所謂「無聊」;重複是不可避免的,因為「熟能生巧」,只有經過不斷的聯繫、實踐,才可能自己體會出一些只可意會、不可言傳的心得。
在學習之餘,黑客應該將自己所掌握的知識應用到實際當中,無論是哪種黑客做出來的事情,根本目的無非是在實際中掌握自己所學習的內容。黑客的行為主要有以下幾種:
一、學習技術:
互聯網上的新技術一旦出現,黑客就必須立刻學習,並用最短的時間掌握這項技術,這裡所說的掌握並不是一般的了解,而是閱讀有關的「協議」(rfc)、深入了解此技術的機理,否則一旦停止學習,那麼依靠他以前掌握的內容,並不能維持他的「黑客身份」超過一年。
初級黑客要學習的知識是比較困難的,因為他們沒有基礎,所以學習起來要接觸非常多的基本內容,然而今天的互聯網給讀者帶來了很多的信息,這就需要初級學習者進行選擇:太深的內容可能會給學習帶來困難;太「花哨」的內容又對學習黑客沒有用處。所以初學者不能貪多,應該盡量尋找一本書和自己的完整教材、循序漸進的進行學習。
二、偽裝自己:
黑客的一舉一動都會被伺服器記錄下來,所以黑客必須偽裝自己使得對方無法辨別其真實身份,這需要有熟練的技巧,用來偽裝自己的IP地址、使用跳板逃避跟蹤、清理記錄擾亂對方線索、巧妙躲開防火牆等。
偽裝是需要非常過硬的基本功才能實現的,這對於初學者來說成的上「大成境界」了,也就是說初學者不可能用短時間學會偽裝,所以我並不鼓勵初學者利用自己學習的知識對網路進行攻擊,否則一旦自己的行跡敗露,最終害的害是自己。
如果有朝一日你成為了真正的黑客,我也同樣不贊成你對網路進行攻擊,畢竟黑客的成長是一種學習,而不是一種犯罪。
三、發現漏洞:
漏洞對黑客來說是最重要的信息,黑客要經常學習別人發現的漏洞,並努力自己尋找未知漏洞,並從海量的漏洞中尋找有價值的、可被利用的漏洞進行試驗,當然他們最終的目的是通過漏洞進行破壞或著修補上這個漏洞。
黑客對尋找漏洞的執著是常人難以想象的,他們的口號說「打破權威」,從一次又一次的黑客實踐中,黑客也用自己的實際行動向世人印證了這一點――世界上沒有「不存在漏洞」的程序。在黑客眼中,所謂的「天衣無縫」不過是「沒有找到」而已。
四、利用漏洞:
對於正派黑客來說,漏洞要被修補;對於邪派黑客來說,漏洞要用來搞破壞。而他們的基本前提是「利用漏洞」,黑客利用漏洞可以做下面的事情:
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登陸可以獲得系統上的各種文件資源等。


您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2025-8-13 01:35

快速回復 返回頂部 返回列表