如何成為黑客

簡評:本文的目的在於,通過了解黑客的成長路徑和入侵手段,讓我們得到啟發來維護網路和個人信息的安全。幾乎每個人,都被 hack 過。電信詐騙、郵件泄露(論希拉里的翻車)、個人賬號被扒等等,都是黒帽 hacker 的膜法。在現代社會,隱私和個人安全尤為重要。中國的互聯網黑產,僅社工庫就已經有一套完備的產業鏈,其涉案值超過 600 億人民幣。你真的以為,某60,某管家就保平安了么?天真!我們可以先了解一下,我們都是如何被 Hack,再從中找到一些思路做好安全防護。

如果支持園長,園長也不要什麼打賞,就希望大家能關注一下知乎專欄「極光日報」,非常感謝!

「黑客」(hacker)這個詞,一開始只是單純地用來指代在電腦系統和信息科技方面的能手,最近幾年才因為一些臭名昭著的網路罪犯而蒙上了一層灰色陰影。實際上,現在有很多公司專門僱傭黑客來測試系統安全強度,這樣的「黑客」懂得適可而止,遵守法律,獲得公司信任的同時還能拿到不菲的薪酬。

要是你也有興趣加入這樣的黑客行列,我們下面就給你一些提示,教你怎麼從零開始做黑客!

Hack 之前的準備

1. 學一門編程語言。學哪一門不重要,但你要參考一下下面的條例:

  • C語言是Unix系統的基礎。它(連同彙編語言)能讓你學習對黑客非常重要的知識:內存的工作原理。
  • Python或Ruby是高級而強大的腳本語言,能夠實現多項任務的自動化。
  • Perl也是這方面的一個合理選擇,同時PHP也值得一學,因為大部分網路應用都使用了PHP。
  • Bash腳本編程是必須掌握的。它能幫助你輕鬆地控制Unix/Linux系統 -- 通過編寫腳本程序,讓它們為你完成大部分工作。
  • 彙編語言也是必須了解的。它是處理器能理解的基本語言,且現實中存在著多種版本的彙編語言。所有的程序最終都會被解釋成彙編語言。如果你不懂得彙編語言,你將無法深入鑽研每一程序。

2. 確定你的目標。收集和目標相關信息的過程又被稱為枚舉。你事先掌握的信息越多,你的準備就越充分。

3. 需要準備的軟硬體:

  • 一台連接到互聯網的(快速運作的)PC或筆記本電腦。
  • 一個Proxy (可選)
  • 一個IP掃描程序
  • 千萬億次運算幫助

Hack

  1. 使用 *nix 命令終端。

    Cygwin 將為 Windows 用戶提供模擬的 *nix 環境。Nmap專門使用了 WinPCap,它可以運行在 Windows 系統上,且不需要 Cygwin 的支持。然而,由於缺乏原始套接字功能,Nmap並不能很好地在Windows系統上工作。你也應該考慮使用 Linux BSD,它們更靈活、更可靠、更安全。大部分Linux發行版都附帶了很多預裝的有用工具。
  2. 首先加強你的機器的安全性。

    確保你已經充分理解所有能保護自己系統的常用技術。從基礎開始 -- 你是否曾發現有伺服器託管著含有非法或不良信息的網站?嘗試通過各種方法入侵它。不要更改網站,只要取得其控制權即可。

  3. 測試目標系統。

    你是否能連通遠程系統?雖然你能使用 ping 實用程序(大部分操作系統包含有該程序)了解目標系統是否活躍,但其結果並不總是可靠的 -- 該程序需要以 ICMP 協議為基礎,這能輕易地被謹慎的系統管理員所屏蔽。

  4. 確定操作系統(OS)。

    進行埠掃描,你可以使用 pOf 或者 nmap 進行掃描。該方法能讓你了解目標機器上開放了哪些埠,運行著哪種操作系統,甚至還能獲取關於所使用的防火牆或路由器等信息,以便你能準備好一系列的攻擊計劃。你可以使用 nmap 的 -O 選項進行操作系統的探測。

  5. 找出系統中的路徑或開放埠。

    FTP(21)HTTP(80)等常用埠通常都得到了較好的保護,找出尚未被發現的漏洞可能比較容易發起攻擊。
    • 嘗試其他不太常用的 TCP 和 UDP 埠,例如 Telnet 及一些用於區域網遊戲的 UDP 埠。
    • 如果系統開放了22號埠,通常能證明該目標系統上運行著SSH(secure shell)服務,對此有時可以進行暴力破解。

  6. 破解密碼或認證過程。

    有幾種方法能破解密碼,其中包括暴力破解。對密碼的暴力破解就是使用暴力破解軟體,嘗試每一個包含在預定義詞典中的可能密碼。

  • 用戶通常被建議不要使用過於簡單的密碼,因此暴力破解可能需要較長時間。然而,暴力破解技術已經得到了長足的改進。
  • 大部分散列演算法都存有漏洞,因此你可以通過發掘這些漏洞來顯著加快破解速度(例如你可以縮減MD5演算法至1/4的比例,這將大幅提高其運行速度)。
  • 較新的技術使用顯示卡作為另一個處理器 - 這能提高速度達數千倍。
  • 你可以嘗試使用彩虹表來達到最快的破解速度。請注意,只有當你掌握了密碼的散列值時,密碼破解才是一項可行的好技術。
  • 在登錄遠程系統時,嘗試每一個可能的密碼並不是一種好的方法,因為這中行為將會輕易地被系統的入侵檢測程序所檢測到,同時會污染系統日誌,並且可能需要數年時間才能破解密碼。
  • 比起採用密碼破解,採用別的方法也許能更容易入侵一個系統。

7.獲得超級用戶許可權。

嘗試獲得*nix機器的根用戶許可權,或者是Windows系統上的管理員許可權。很多重要信息都會得到特別保護,因此你需要通過一定程度的認證才能獲得這些信息。要查看系統上的所有文件,你需要取得超級用戶許可權 -- 即Linux和BSD系統上"root"用戶所具備的許可權。

  • 對於路由器,默認的超級用戶是"admin"帳戶(除非已被更改);對於Windows,即為管理員帳戶。
  • 和系統取得連接並不意味著你就能獲得一切。只有超級用戶,管理員帳戶,或root帳戶能具備一切許可權。

8.多管齊下

通常,要獲得超級用戶身份,你必須採用多種方法,例如製造緩衝區溢出,從而導致內存轉儲,並允許你在比一般情況下更高級的層次中進行代碼注入或執行任務。
在類unix系統中,如果一個軟體設置了setuid許可權,該程序將可以以另一個用戶的身份(例如超級用戶)被執行。

  • 這隻能通過編寫或找出你能在他們的機器上運行的不安全程序才能這樣做。

9.建立後門

你對機器取得完全控制後,最好能確保下一次你也能順利地再次登錄。這可以通過建立後門來實現,這是一種重要的服務,例如SSH伺服器。然而,你的後門有可能會在下一次系統升級時被刪除。 經驗老道的黑客會在編譯器當中設置後門,因此每次軟體編譯後都能留有一條路徑讓他們再次回來。

10.掩飾痕迹

不要讓管理員知道系統已經被入侵。不要更改網站(如果有的話),也不要創建不必要的文件。不要創建額外的用戶。動作要迅速。如果你修補了一個伺服器,如SSHD,確保你的密碼已被硬編碼。如果有人嘗試使用該密碼登錄,系統將允許他們的進入,但不應該包含任何重要信息。

提示:

  • 請謹記,如果你的目標不是要讓他們竭盡全力地拒絕你的入侵,你也不會變得更厲害。當然,也不要自大,不要以為自己是最強的。你的目標應該是:你必須變得越來越強。你沒有學習到新東西的每一天,都是被浪費掉的寶貴光陰。你應對此負責。成為最好的,不管付出多少代價。不要半途而廢,你必須全力以赴。正如尤達所說,"做或不做。沒有嘗試這回事。"
  • 在黑客和駭客之間有重大的區別。駭客是被惡毒的(例如錢)理由所驅動,而黑客則嘗試通過探索取得信息、收穫知識("繞過安全防護"),在任何情況和形式下,可能不都是合法的。
  • 謹記,黑客行為並不是要破壞計算機系統、獲得高薪厚職、在非法市場上出售非法所得,也不是要幫助任何人入侵安全的機器。你不是來這裡幫助管理員完成其工作的。你這樣做的目的是為了變為最強大的一個
  • 黑客建立了互聯網、開發了Linux、並共同對開源軟體作出貢獻。你應該更深入地了解黑客行為,因為這是廣受尊敬的,而且在實際環境中,只有具備很多專業的知識才能獲得成果。
  • 除非你是專家或專業黑客,否則對一個公司或政府計算機採用本文所介紹的方法會為你帶來麻煩。請謹記,一群比你更厲害的人是通過保護這些系統來謀生的。一旦被發現,他們有時會監控著入侵者,並在採取法律行動前讓入侵者自投羅網。這意味著,你可能發現自己入侵到一個系統中並能自由進行各種操作,而事實是,你已經被別人監控著,並隨時會被別人所制止。
  • 雖然有很多合法且安全的訓練目標,但不幸的是,你很難不冒著違法的風險才能有所收穫。不在實際系統中通過實際問題來提高自己,你很難成長為黑客,但這也讓你面臨著實際的風險。也請切記這一點。
  • 閱讀關於TCP/IP組網的書籍。

警告:

  • 不要刪除全部日誌文件,相反,只刪除文件中的和入侵相關的記錄。另一個問題是,是否存在著一個日誌文件備份呢?如果他們查看文件間的異同並發現了你的行為,怎麼辦?對自己的行為要做好計劃。最好的方法是隨機地刪除日誌文件中的內容,包括和你相關的內容。
  • 如果你認為你找到了一種非常簡單的破解方法,或者是安全管理中的一個明顯錯誤,請保持謹慎。負責保護該系統的安全專家可能會通過這樣的方法來迷惑你,或設立誘捕系統抓到你。
  • 也許你聽說過相反的意見,但請不要幫助別人修補他們的程序或系統。這被認為是非常差勁的做法,同時會被大部分黑客團體所排斥。如果你發布一項別人所發現的問題,那麼他可能會變成你的敵人,而他可能是一名比你更優秀的黑客。
  • 不要只以玩樂為目的。記住,入侵一個網路並非一場遊戲,這有可能會改變世界。不要在幼稚的行為上浪費時間。
  • 錯誤地使用這些信息可能是本地的和/或聯邦政府的犯罪行為。本文只以內容介紹為目的,只提倡有道德的黑客途徑,反對非法黑客行為。
  • 入侵別人的系統可能是違法行為,因此除非得到系統所有者同意或者你認為這樣值得並且自己不會被抓,否則你不應該有這樣的行為。
  • 如果你對自己的技術沒有信心,應避免入侵公司、政府或軍事網路。即使他們不夠安全,他們也有足夠的金錢追蹤並追究你。如果你發現了這些網路中的一個漏洞,最好把它告訴有經驗且值得信賴的黑客,他能更好地利用這一發現。

本文內容引用自:

  • How to Hack

  • OW2聯盟
  • Cygwin
  • Nmap
  • WinPCap

本文為譯文,原文 How to Hack。翻譯此文的目的在於讓我們了解黑客的手段,防微杜漸,維護個人網路安全。

抱歉恕不答疑,請自行討論。

時間是稀缺資源,請讓我幫你節省時間。

以上。

This is it.

歡迎關注

  • 知乎專欄「極光日報」,每日 3 篇優質英文文章。

  • 微信公眾號「極光開發者」(jiguangdev),每周 2 篇技術類文章。
  • 推薦閱讀:

    花無涯帶你走進黑客之 小白入門 第一彈
    Powershell攻擊指南——黑客後滲透之道系列之基礎篇
    2017 NSA網路武器庫泄露工具總結分析
    國內外有哪些漏洞信息發布平台?
    繼續說我和隔壁老王 WiFi 的事 —— 續集

    TAG:Hack | 网络安全 | 信息安全 |