職業駭客的告白 : 軟體反組譯、木馬病毒與入侵翻牆竊密 (暢銷回饋版)
內容描述
知己知彼,百戰不殆《孫子.謀攻篇》
職業駭客的告白
秋聲:
「拿起這本書的各位請注意,我們都是駭客。」
改編自真人真事
職業駭客首度現身揭密
驚悚程度更勝小說電影
揭露駭客業界不為人知的祕辛
「我現在才知道,原來駭客是用這麼簡單的方式打敗我們。」
-台灣資深資訊安全技術顧問
「唯有駭客才懂駭客。」
-2015台灣HITCON駭客年會
「其實電腦並沒有漏洞,漏洞在於人的身上。」
-駭客名言
一次搞懂「技客(Geeker)」、「駭客(Hacker)」、「怪客(Cracker)」。
所謂的駭客就是精於技術的人,真正的駭客是不入侵別人電腦,不是討厭的破壞者。
駭客技術並不是本科系的專利,像我這種非本科系同時也不是什麼特別聰明的人(有智力測驗結果以資證明),也是一樣按部就班地來慢慢學習。也就是說,成功靠努力,而不是靠運氣。再說,現在這個時代裡頭幾乎每人家裡都有一台電腦,因此要跑程式對各位讀者來說根本就不是什麼大問題,重點是只要按照方法辛勤地努力成功就會是你的了。
只要記住一件事情,在資安或駭客技術裡頭,學歷也好經歷與經驗也罷,那幾乎全都沒什麼用處,只有能力這玩意兒在駭客技術當中才是百分之百的真正王道。
前 言
之所以會寫這一本書,也不是一天兩天的事情了。
一直以來,駭客技術就帶有秘而不宣的模樣出現在世人的眼前,其實駭客技術確實很神秘。在我的工作經驗當中,很多人都想要一窺其秘,可是往往卻無門而不得而入,最主要的原因就在於學習者眾,卻無師可尋。因此,大多數的學生或工程師們就只能望而興嘆。
其實,駭客技術本身就是一門高深的技術,在這門技術領域裡頭只有永遠畢不了業的學生,就算你在資深也是一樣。為什麼呢?因為技術的進步是無止無盡的。
有鑑於此,我很高興能夠與博碩文化股份有限公司一起合作,將這門暨高深又神祕的知識技術拋磚引玉,目的就是希望能夠提升我們國家對於資訊安全領域的重視。由於駭客技術難學難精,因此在書中有很多部份我盡量使用白話,用一種比較淺顯易懂,或者是貼近我們生活的語言來對這門技術來進行描述,希望讀者們能夠在看完此書之後而有所啟發。
至於要怎麼成為駭客,在此我送大家一句話,那就是「做研究的目的就在於追求真理」。但願大家能夠抱持著對於真理的熱愛來研究技術,相信你有一天也一定能夠在資訊安全的領域當中獲得不錯的成就。
秋聲
編 輯 推 薦
普羅大眾對於駭客的認知就像是神奇的魔術秀,可以在網路上隔空入侵重重防火牆所保護的資料伺服器,竊取企業乃至國家重要機密。
這些神秘的駭客們總是來無影去無蹤,多數都在暗網的地下世界中潛伏,促進龐大黑色經濟的流動,對世界具有莫大的影響力卻又難以親近。既使是任職於資訊安全顧問公司解析病毒拆解木馬的白帽駭客,一般民眾也鮮少有機會在公開場合接觸到他們,只有在電影小說中會以技巧高超神奇的電腦怪客面貌呈現,所以多數人對駭客抱持既害怕卻又深感興趣的微妙態度。而身為程式設計師或是網路通訊領域的學習者,則是崇拜這些出神入化的高手,夢想有朝一日也能成為網路世界中聲名鼎鼎的駭客大師。
本出版社有幸取得現役職業駭客秋聲的協助,合作出版這本揭露駭客技術的專門書籍,讓有志踏入此領域的學習者取得敲破駭客封閉世界的一塊敲門磚。不論是正在校園讀書的學子或是業界有意進修的專業人士,都可以藉由本書淺顯易懂的圖文說明理解駭客入門的基礎程式知識,取得分析病毒、解構程式保護,以及監聽網路通訊的各種必備工具軟體。書中的精華內容都是來自作者本人跌跌撞撞的自學經驗歷程,將駭客間口傳心授的技法改寫成可按教學步驟循序漸進的平易內容。
在台灣乃至全球華文圖書市場中,對於駭客自學的書籍非常稀有,大部分都是引進外文書對中文的讀者不甚友善,程度也屬於高層次的深入研討缺乏銜接的學習管道。這份入門教學內容並重於原理與實務的相輔相成,擁有程式基礎的讀者們先學習反組譯技術了解病毒木馬基本概念,再於後半部實際演練遠端的入侵攻防。對於初學者也貼心安排軟體安裝以及伺服器環境架設的補充資訊,可依個人程度參照閱讀,適合各階段實力不同的學習者。
國外駭客圈的技術交流風氣熱絡,作者希望我們也能重視資安人才教育,效法蒙面魔術師公開魔術技巧,向社會大眾分享駭客秘而不宣的寶貴資產。可藉由推廣本書成為業界職訓培養的課程教材,解決人力技術斷層促進資訊產業良好循環,也可讓渴求自我精進的夥伴們能獲益新知開展思路。
感謝作者以及熱情駭客們的無私分享
博碩文化編輯部
目錄大綱
目 錄
I 反組譯的應用
01 偷盜、破解與修改密碼的技巧
1.1 個人資料洩漏-沒有密碼的保護
1.2 個人資料不洩漏-添加密碼的保護
1.3 使用反組譯來破解程式並找出密碼
1.4 修改密碼掌控程式的主導權-勒索人的好利器
1.5 結論
02 反組譯與組合語言簡介
2.1 反組譯的基本原理
2.2 反組譯軟體簡介
2.3 IDA Pro的使用方法
2.4 對VS專案的設定
2.5 組合語言簡介
03 程式分析的基本入門技巧
3.1 Hello World的堆疊部分
3.2 加法運算的堆疊部分
3.3 對HelloWorld與加法程式的堆疊比較
3.4 堆疊的簡單介紹
3.5 去掉HelloWorld與加法程式的共通部分
3.6 掌握常見的組合語言指令
3.7 掌握暫存器的運用
3.8 結論
04 木馬病毒入侵電腦的基本技術簡介
4.1 安裝虛擬機
4.2 攻擊的示範教學
4.3 結論
05 技術測試-木馬病毒的解析
5.1 C語言的TCP/IP程式碼(Server端)
5.2 經過反組譯之後的TCP/IP程式碼
5.3 TCP/IP程式碼與反組譯程式碼之間的交叉比對
5.4 木馬病毒與TCP-IP程式兩者之間的關聯性比較
5.5 關於木馬內部其餘部分的分析提示
06 黑帽駭客的甜點-修改可執行檔
6.1 Aello World
6.2 修改文字-以Aello World為例
6.3 修改數字-以木馬的port號為例
6.4 修改函數-使用DLL來修改字串
6.5 如何查看DLL的檔案名稱
6.6 結論
07 技術測驗深入研討-加殼軟體的應用
7.1 查殼器的使用
7.2 加殼軟體的使用
7.3 對加殼的Hello World進行分析
7.4 對木馬病毒的加殼
7.5 加殼後程式或軟體逆向分析後的記憶體特徵
7.6 分析著名商業軟體是否加殼-Google與Line
7.7 解決之道-脫殼
08 DLL解析與加殼
8.1 DLL的原始碼
8.2 DLL反組譯
8.3 DLL查殼、加殼與反組譯
09 Window PE簡介
9.1 什麼是PE
9.2 使用PEview與HxD來查看PE
9.3 PE格式的簡介
9.4 加殼與脫殼的基本原理
II 計算機病毒導論
10 開玩笑與惡作劇
10.1 灌爆硬碟
10.2 欺騙的藝術
10.3 剪刀石頭布 輸了就關機
10.4 垃圾郵件攻擊信箱
10.5 結論
11 程式運作的基本原理
11.1 深入探究加法運算在底層的運作原理
11.2 程式、行程與執行緒
11.3 如何查看行程以及行程號碼
11.4 RootKit概述
12 木馬病毒入侵電腦的基本技術簡介
12.0 前言
12.1 建立行程
12.2 建立執行緒
12.3 DLL設計概論
12.4 DLL設計1-使用main函數
12.5 DLL設計2-使用DllMain函數
12.6 修改函數-新增函數到函數中
12.7 建立記事本
12.8 將資料寫入記事本
12.9 從記事本讀取數據
12.10 查詢檔案
12.11 Client-Server通信
13 經典駭客程式
13.0 前言
13.1 竄改網頁
13.2 鉤子與DLL
13.3 鍵盤監聽器
13.4 自我複製
14 木馬與DLL
14.1 鉤子+木馬
14.2 DLL夾帶木馬
III 模擬入侵電腦的實戰演練
15 入侵遠端電腦取得控制權
16 竄改網站首頁
17 在遠端電腦植入檔案
18 遙控遠端桌面
19 竊取帳號與密碼
19.1 竊取FaceBook帳號與密碼
19.2 竊取Google帳號與密碼
番外篇
20 跳過中國金盾工程封鎖線
21 跳過遊戲密碼驗證
附錄篇
22 軟體安裝與使用1-IDA Pro
23 軟體安裝與使用2-Visual Studio 2010
24 軟體安裝與使用3-使用IDA Pro進行反組譯
25 軟體安裝與使用4-UltraEdit
26 軟體安裝與使用5-查殼器PEiD、加殼器UPX
27 軟體安裝與使用6-程式設計師計算機模式
28 製作與取出DLL檔與執行檔
29 修改DLL與反組譯DLL可執行檔
30 在虛擬機安裝管理Appserv
駭客工作密話
經驗漫談
作者介紹
秋聲
浪蕩漂泊十載有餘,偶然間面海時忽得一悟:
原來自身興趣在底層。
愛旅行,曾被醫生宣告患上「不去旅行會死症」的症狀,至今仍無藥可醫;更熱愛技術,尤其是底層的駭客技術;也愛學語言,目前正在研習第三外國語,目的是希望有朝一日能往北歐國家旅行去。
目前隱居中從事作家的工作,與室友還有他的兩隻貓共同生活在同一個屋簷下。