“黑客”(hacker)這個詞,一開始只是單純地用來指代在電腦系統(tǒng)和信息科技方面的能手,最近幾年才因?yàn)橐恍┏裘阎?a target="_blank">網(wǎng)絡(luò)罪犯而蒙上了一層灰色陰影。實(shí)際上,現(xiàn)在有很多公司專門雇傭黑客來測試系統(tǒng)安全強(qiáng)度,這樣的“黑客”懂得適可而止,遵守法律,獲得公司信任的同時還能拿到不菲的薪酬。
在成為黑客之前,你需要做兩點(diǎn)準(zhǔn)備:
1、學(xué)一門編程語言。學(xué)哪一門不重要,但你要參考一下下面的條例:
C語言是Unix系統(tǒng)的基礎(chǔ)。它(連同匯編語言)能讓你學(xué)習(xí)對黑客非常重要的知識:內(nèi)存的工作原理。
Python或Ruby是高級而強(qiáng)大的腳本語言,能夠?qū)崿F(xiàn)多項(xiàng)任務(wù)的自動化。
Perl也是這方面的一個合理選擇,同時PHP也值得一學(xué),因?yàn)榇蟛糠志W(wǎng)絡(luò)應(yīng)用都使用了PHP。
Bash腳本編程是必須掌握的。它能幫助你輕松地控制Unix/Linux系統(tǒng) -- 通過編寫腳本程序,讓它們?yōu)槟阃瓿纱蟛糠止ぷ鳌?/p>
匯編語言也是必須了解的。它是處理器能理解的基本語言,且現(xiàn)實(shí)中存在著多種版本的匯編語言。所有的程序最終都會被解釋成匯編語言。如果你不懂得匯編語言,你將無法深入鉆研每一程序。
2、確定你的目標(biāo)。收集和目標(biāo)相關(guān)信息的過程又被稱為枚舉。你事先掌握的信息越多,你的準(zhǔn)備就越充分。
好了,接下來,黑客十部曲:
1、使用*nix命令終端。Cygwin將為Windows用戶提供模擬的*nix環(huán)境。Nmap專門使用了WinPCap,它可以運(yùn)行在Windows系統(tǒng)上,且不需要Cygwin的支持。然而,由于缺乏原始套接字功能,Nmap并不能很好地在Windows系統(tǒng)上工作。你也應(yīng)該考慮使用Linux或BSD,它們更靈活、更可靠、更安全。大部分Linux發(fā)行版都附帶了很多預(yù)裝的有用工具。
2、首先加強(qiáng)你的機(jī)器的安全性。確保你已經(jīng)充分理解所有能保護(hù)自己系統(tǒng)的常用技術(shù)。從基礎(chǔ)開始 -- 你是否曾發(fā)現(xiàn)有服務(wù)器托管著含有非法或不良信息的網(wǎng)站?嘗試通過各種方法入侵它。不要更改網(wǎng)站,只要取得其控制權(quán)即可。
3、測試目標(biāo)系統(tǒng)。你是否能連通遠(yuǎn)程系統(tǒng)?雖然你能使用ping實(shí)用程序(大部分操作系統(tǒng)包含有該程序)了解目標(biāo)系統(tǒng)是否活躍,但其結(jié)果并不總是可靠的 -- 該程序需要以ICMP協(xié)議為基礎(chǔ),這能輕易地被謹(jǐn)慎的系統(tǒng)管理員所屏蔽。
4、確定操作系統(tǒng)(OS)。進(jìn)行端口掃描,你可以使用pOf或者nmap進(jìn)行掃描。該方法能讓你了解目標(biāo)機(jī)器上開放了哪些端口,運(yùn)行著哪種操作系統(tǒng),甚至還能獲取關(guān)于所使用的防火墻或路由器等信息,以便你能準(zhǔn)備好一系列的攻擊計劃。你可以使用nmap的-O選項(xiàng)進(jìn)行操作系統(tǒng)的探測。
5、找出系統(tǒng)中的路徑或開放端口。FTP(21)及HTTP(80)等常用端口通常都得到了較好的保護(hù),找出尚未被發(fā)現(xiàn)的漏洞可能比較容易發(fā)起攻擊。
嘗試其他不太常用的TCP和UDP端口,例如Telnet及一些用于局域網(wǎng)游戲的UDP端口。
如果系統(tǒng)開放了22號端口,通常能證明該目標(biāo)系統(tǒng)上運(yùn)行著SSH(secure shell)服務(wù),對此有時可以進(jìn)行暴力破解。
6、破解密碼或認(rèn)證過程。有幾種方法能破解密碼,其中包括暴力破解。對密碼的暴力破解就是使用暴力破解軟件,嘗試每一個包含在預(yù)定義詞典中的可能密碼。
用戶通常被建議不要使用過于簡單的密碼,因此暴力破解可能需要較長時間。然而,暴力破解技術(shù)已經(jīng)得到了長足的改進(jìn)。
大部分散列算法都存有漏洞,因此你可以通過發(fā)掘這些漏洞來顯著加快破解速度(例如你可以縮減MD5算法至1/4的比例,這將大幅提高其運(yùn)行速度)。
較新的技術(shù)使用顯示卡作為另一個處理器 - 這能提高速度達(dá)數(shù)千倍。
你可以嘗試使用彩虹表來達(dá)到最快的破解速度。請注意,只有當(dāng)你掌握了密碼的散列值時,密碼破解才是一項(xiàng)可行的好技術(shù)。
在登錄遠(yuǎn)程系統(tǒng)時,嘗試每一個可能的密碼并不是一種好的方法,因?yàn)檫@中行為將會輕易地被系統(tǒng)的入侵檢測程序所檢測到,同時會污染系統(tǒng)日志,并且可能需要數(shù)年時間才能破解密碼。
比起采用密碼破解,采用別的方法也許能更容易入侵一個系統(tǒng)。
7、獲得超級用戶權(quán)限。嘗試獲得*nix機(jī)器的根用戶權(quán)限,或者是Windows系統(tǒng)上的管理員權(quán)限。
很多重要信息都會得到特別保護(hù),因此你需要通過一定程度的認(rèn)證才能獲得這些信息。要查看系統(tǒng)上的所有文件,你需要取得超級用戶權(quán)限 -- 即Linux和BSD系統(tǒng)上"root"用戶所具備的權(quán)限。
對于路由器,默認(rèn)的超級用戶是"admin"帳戶(除非已被更改);對于Windows,即為管理員帳戶。
和系統(tǒng)取得連接并不意味著你就能獲得一切。只有超級用戶,管理員帳戶,或root帳戶能具備一切權(quán)限。
8、多管齊下。通常,要獲得超級用戶身份,你必須采用多種方法,例如制造緩沖區(qū)溢出,從而導(dǎo)致內(nèi)存轉(zhuǎn)儲,并允許你在比一般情況下更高級的層次中進(jìn)行代碼注入或執(zhí)行任務(wù)。
在類unix系統(tǒng)中,如果一個軟件設(shè)置了setuid權(quán)限,該程序?qū)⒖梢砸粤硪粋€用戶的身份(例如超級用戶)被執(zhí)行。
這只能通過編寫或找出你能在他們的機(jī)器上運(yùn)行的不安全程序才能這樣做。
9、建立后門。當(dāng)你對機(jī)器取得完全控制后,最好能確保下一次你也能順利地再次登錄。這可以通過建立后門來實(shí)現(xiàn),這是一種重要的服務(wù),例如SSH服務(wù)器。然而,你的后門有可能會在下一次系統(tǒng)升級時被刪除。 經(jīng)驗(yàn)老道的黑客會在編譯器當(dāng)中設(shè)置后門,因此每次軟件編譯后都能留有一條路徑讓他們再次回來。
10、掩飾你的痕跡。不要讓管理員知道系統(tǒng)已經(jīng)被入侵。不要更改網(wǎng)站(如果有的話),也不要創(chuàng)建不必要的文件。不要創(chuàng)建額外的用戶。動作要迅速。如果你修補(bǔ)了一個服務(wù)器,如SSHD,確保你的密碼已被硬編碼。如果有人嘗試使用該密碼登錄,系統(tǒng)將允許他們的進(jìn)入,但不應(yīng)該包含任何重要信息。
好了,你已經(jīng)成為一名黑客了,下面是給你的一些提示:
請謹(jǐn)記,如果你的目標(biāo)不是要讓他們竭盡全力地拒絕你的入侵,你也不會變得更厲害。當(dāng)然,也不要自大,不要以為自己是最強(qiáng)的。你的目標(biāo)應(yīng)該是:你必須變得越來越強(qiáng)。你沒有學(xué)習(xí)到新東西的每一天,都是被浪費(fèi)掉的寶貴光陰。你應(yīng)對此負(fù)責(zé)。成為最好的,不管付出多少代價。不要半途而廢,你必須全力以赴。正如尤達(dá)所說,"做或不做。沒有嘗試這回事。"
在黑客和駭客之間有重大的區(qū)別。駭客是被惡毒的(例如錢)理由所驅(qū)動,而黑客則嘗試通過探索取得信息、收獲知識("繞過安全防護(hù)"),在任何情況和形式下,可能不都是合法的。
謹(jǐn)記,黑客行為并不是要破壞計算機(jī)系統(tǒng)、獲得高薪厚職、在非法市場上出售非法所得,也不是要幫助任何人入侵安全的機(jī)器。你不是來這里幫助管理員完成其工作的。你這樣做的目的是為了變?yōu)樽顝?qiáng)大的一個。
黑客建立了互聯(lián)網(wǎng)、開發(fā)了Linux、并共同對開源軟件作出貢獻(xiàn)。你應(yīng)該更深入地了解黑客行為,因?yàn)檫@是廣受尊敬的,而且在實(shí)際環(huán)境中,只有具備很多專業(yè)的知識才能獲得成果。
除非你是專家或?qū)I(yè)黑客,否則對一個公司或政府計算機(jī)采用本文所介紹的方法會為你帶來麻煩。請謹(jǐn)記,有一群比你更厲害的人是通過保護(hù)這些系統(tǒng)來謀生的。一旦被發(fā)現(xiàn),他們有時會監(jiān)控著入侵者,并在采取法律行動前讓入侵者自投羅網(wǎng)。這意味著,你可能發(fā)現(xiàn)自己入侵到一個系統(tǒng)中并能自由進(jìn)行各種操作,而事實(shí)是,你已經(jīng)被別人監(jiān)控著,并隨時會被別人所制止。
雖然有很多合法且安全的訓(xùn)練目標(biāo),但不幸的是,你很難不冒著違法的風(fēng)險才能有所收獲。不在實(shí)際系統(tǒng)中通過實(shí)際問題來提高自己,你很難成長為黑客,但這也讓你面臨著實(shí)際的風(fēng)險。也請切記這一點(diǎn)。
閱讀關(guān)于TCP/IP組網(wǎng)的書籍。
還有,請記住這些警告:
不要刪除全部日志文件,相反,只刪除文件中的和入侵相關(guān)的記錄。另一個問題是,是否存在著一個日志文件備份呢?如果他們查看文件間的異同并發(fā)現(xiàn)了你的行為,怎么辦?對自己的行為要做好計劃。最好的方法是隨機(jī)地刪除日志文件中的內(nèi)容,包括和你相關(guān)的內(nèi)容。
如果你認(rèn)為你找到了一種非常簡單的破解方法,或者是安全管理中的一個明顯錯誤,請保持謹(jǐn)慎。負(fù)責(zé)保護(hù)該系統(tǒng)的安全專家可能會通過這樣的方法來迷惑你,或設(shè)立誘捕系統(tǒng)抓到你。
也許你聽說過相反的意見,但請不要幫助別人修補(bǔ)他們的程序或系統(tǒng)。這被認(rèn)為是非常差勁的做法,同時會被大部分黑客團(tuán)體所排斥。如果你發(fā)布一項(xiàng)別人所發(fā)現(xiàn)的問題,那么他可能會變成你的敵人,而他可能是一名比你更優(yōu)秀的黑客。
不要只以玩樂為目的。記住,入侵一個網(wǎng)絡(luò)并非一場游戲,這有可能會改變世界。不要在幼稚的行為上浪費(fèi)時間。
錯誤地使用這些信息可能是本地的和/或聯(lián)邦政府的犯罪行為。本文只以內(nèi)容介紹為目的,只提倡有道德的黑客途徑,反對非法黑客行為。
入侵別人的系統(tǒng)可能是違法行為,因此除非得到系統(tǒng)所有者同意或者你認(rèn)為這樣值得并且自己不會被抓,否則你不應(yīng)該有這樣的行為。
如果你對自己的技術(shù)沒有信心,應(yīng)避免入侵公司、政府或軍事網(wǎng)絡(luò)。即使他們不夠安全,他們也有足夠的金錢追蹤并追究你。如果你發(fā)現(xiàn)了這些網(wǎng)絡(luò)中的一個漏洞,最好把它告訴有經(jīng)驗(yàn)且值得信賴的黑客,他能更好地利用這一發(fā)現(xiàn)。
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136683 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41478 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
發(fā)布評論請先 登錄
相關(guān)推薦
評論