文 / 精品科技 研發一部 陳茂清
如何開始當個Hacker(駭客)?
首先要探討到Hacker文化,Hacker指的是擁有技術並且志在解決問題及突破創造之人,只要你熱衷於鑽研技術、分享技術、喜歡修改現有程式後重新發佈且樂於解答他人問題,在電腦軟體或硬體界貢獻一己之力直到有Hacker稱呼你為Hacker時,你便是一位Hacker。雖然在國內各大媒體及大眾眼裡,所謂的駭客就是一群具備入侵他人電腦能力的人,且不區分Hacker及Cracker。其實作為一個Hacker,入侵他人電腦系統只是因為其了解電腦系統的運作原理,並且有能力進行一定程度的干涉(創造或者破壞),故若要成為目前大眾所認知的Hacker,你必須要先懂得電腦系統、軟硬體、網際網路等等的運作原理,方能知悉如何干涉其中,並會因為你之後的所作所為在駭客界中將你區分為Hacker或者Cracker。
而想要成為一名真正的駭客應先具備的基本能力有:
- 撰寫電腦程式,並開放原始碼到Hacker社群。
- 取得並學習開放程式碼的作業系統。
- 參與社群共享技術資源,幫助其他開放原始碼的程式進行測試與除錯。
- 發表有用的資訊並發揚駭客文化。
Hacker & Cracker的差別
Cracker是一群以破壞為樂的人,但現今大多數的一般人也將此類人歸類在Hacker之中,然而真正的Hacker是唾棄著Cracker,Cracker的種種行為往往只是為了滿足自身的慾望,如綁架系統或預告犯罪攻擊來向受害者勒索取財、為了打響臭名而Hacking,也有只是為了破壞而破壞的人。Hacker也有能力做到Cracker所做的事情,但Hacker只想著如何創造與進步,截然不同於Cracker的破壞。
當個稱職的駭客要素
要成為稱職的駭客就必須要保持著駭客的態度:
- 世界上仍有大量又有趣的問題正等待被解決的:駭客總是走在前方探索更多無限的可能,
- 沒必要去解決同個問題兩次:時間不應浪費在已得到充分解決的問題上,而是要繼續探索未被找出解答的問題。
- 拒絕沉悶乏味之事:就是要做自己覺得快樂的工作、或是對熱愛的工作有所幫助的必要事項(就好比反覆練習相同的技術,即使它可能為你帶來沉悶與乏味),這工作才能做得長久,才能越做越有興趣越有動力。
- FREE:駭客是為了自己的信念而行動,不盲目的聽從他人指揮。
- 能力:能力不足的話一切都是空談,況且科技日新月異只有不斷的學習才能跟上潮流。
CEH證照
Certificated Ethical Hacker道德駭客認證,是美國聯邦調查局(FBI)訓練人才的課程,課程內容主要以教導如何使用駭客常用工具及手法,介紹並實作各種病毒及網路攻擊,以攻擊者的角度看待資訊安全,使得未來在制定防駭機制能得到更全面性的保護。參加CEH的認證課程及考試都必須先簽屬保密協定(NDA),主要是擔保在課程中學習的手法不可非法使用,換句話說如果有資安事件發生,可能會先從這些簽署者(有駭客能力的人)中調查。
在CEH課程中是在實際運行一套完整的Hacking流程,並在其中分別介紹與使用各種進階手法,並於課程結束後取得一份課程證書。以下是整個課程的流程大綱及簡介:
1. Introduction to Ethical Hacking:
介紹什麼是道德的入侵行為,簡單來說就是在不破壞受駭者原有資料的情況下,入侵成功或發現漏洞並告知受駭者應修補之,倘若有破壞行為即使並非故意也不在道德入侵的範圍內。
2. Footprinting and Reconnaissance:
在進行駭客行為之前的情報蒐集,首先你可能會需要知道受害者的聯絡方式,以便在發現漏洞時告知對方,或者你是個惡意的駭客就會去威脅對方。可透過Domain Name Service查詢目標網域中擁有哪些主機位置,或使用一些駭客常用較方便的工具進行資料收集。
3. Scanning Networks:
使用專門的工具對目標範圍內的電腦進行掃描來尋找目標範圍中有開啟的網路服務或通訊埠,再針對掃描結果得知的服務類型及版本來尋找可能存在的漏洞或弱點,此階段會介紹並使用許多知名常用的掃描工具。
4. Enumeration:
在此階段就是要列舉出透過掃描得到的系統或服務版本及相關資訊,透過工具可自動篩選出可利用的漏洞或弱點。
5. System Hacking:
當事前的資訊都收集妥當後,課程就正式開始進行Hacking的嘗試,並不是存在可利用的漏洞及弱點就一定可以Hacking成功,但只要資訊收集得越多越正確,Hacking的成功率就越高。
6. Trojans and Backdoors:
在成功入侵目標系統後的首要工作就是留下一道方便自己下次通行的後門,同時為了收集目標的機密資訊而埋下木馬病毒,木馬病毒除了可自動或手動的將資訊竊取之外,還可讓駭客遠端遙控目標的電腦系統。
7. Viruses and Worms:
在此課程中會介紹各種類型的病毒及蠕蟲,利用加殼的技術來反制防毒軟體,並實際製造病毒、蠕蟲與散佈病毒演練。
8. Sniffers:
介紹使用與分析一些常用的網路監控工具,還有能透過此階段獲得一些可用資訊在Hacking工作上。
9. Social Engineering:
介紹社交工程是如何利用人性的弱點與好奇心來散佈病毒及入侵,實際演練釣魚網站、釣魚信件的使用,將病毒偽裝成工作文件檔案等等。
10. Denial-of-Service:
阻斷服務攻擊可造成目標網路壅塞或目標崩潰,課程會介紹各種工具來進行這樣的攻擊演練,並即時觀察攻擊效果。
11. Session Hijacking:
連線劫持或稱會話劫持,竊取他人電腦的瀏覽器Cookie來偽裝成該使用者身分,並前往該使用者曾造訪的網站竊取個人資訊。
12. Hacking Webservers:
介紹如何入侵網頁伺服器,實際使用Cross Site Scripting(簡稱XSS)手法進行入侵、Google Hacking的使用方法。
13. Hacking Web Application:
針對網站應用程式進行Hacking的講解課程,並透過程式的漏洞或弱點進行意料外的操作。
14. SQL Injection:
介紹資料隱碼攻擊的運作原理,透過Demo網頁中SQL語法漏洞來進行攻擊及入侵的操作練習。
15. Hacking Wireless Network:
介紹並實際操作攻擊工具,進行暴力破解、字典暴力破解無線AP的密碼,分析常見密碼及字典檔的功用。
16. Hacking Mobile Platforms:
介紹各種入侵行動裝置的手法、手機病毒、Android系統漏洞與安裝App時會有的PUA威脅,Potentially Unwanted Applications(PUA)就是一隻App在安裝時向使用者請求了一些不應給予的權限,而使用者卻沒注意到此就同意並安裝App。
17. Evading IDS, Firewalls and Honeypots:
介紹了入侵偵測系統、防火牆及誘捕系統的功用,駭客在進行Hacking時會需要穿透或繞過這些防護裝置,而在迴避誘捕系統的目的就是要避免攻擊手法及病毒樣本被對方所側錄並分析,而使得此入侵方法及病毒在往後無法發揮功效。
18. Buffer Overflows:
緩衝溢位攻擊,其運作原理透過程式設計上的錯誤,在較短的緩衝區輸入過大的資料造成記憶堆疊發生溢位,可藉由輸入特定的溢位資料來取得系統權限,在課程中也實際進行溢位攻擊演練。
19. Cryptography:
探討要進行密碼破解會需要的密碼知識,介紹了加解密的歷史、原理及其功效。
20. Penetration Testing:
在道德駭客中最常見的就是受人委託進行滲透測試,滲透測試的目的在於要尋找委託者的主機或網路有著哪些漏洞及弱點是可能被攻擊,並讓委託者可依循測試報告去做風險評估與修補,課程中完整的介紹一個滲透測試之中所有的工作項目以及注意事項。
CEHv8認證考試資訊:必須先取得課程證書才可參加認證考試,考試時間為四個小時,共125個單選或多選的選擇題,及格分數為70%,考試費用請參照國內考試中心及官方網站。若要考過CEH認證,就必須要清楚了解各個章節中所應用到的原理、可利用的工具及攻擊手法。