module 13 : botnet 介紹 與架設實習
DESCRIPTION
Module 13 : Botnet 介紹 與架設實習. 學習目的. 這個模組首先透過介紹 Botnet 定義與原理讓同學對於 Botnet 有初步的認識,簡介常見的 Botnet ,並說明其原理最後,透過實作的方式讓同學實際操作,更加了解 Botent 的原理跟其可能的危害 本模組共有四個小節包括 (1)Botnet 簡介 (2)Botnet 種類分析 (3)Botnet 實務 (4)Botnet 專案實作 共需三個鐘點. Module 13 : Botnet 介紹與架設實習. Module 13 -1 : Botnet 簡介 (*) - PowerPoint PPT PresentationTRANSCRIPT
網路安全
Module 13 : Botnet介紹與架設實習
網路安全
學習目的1. 這個模組首先透過介紹 Botnet 定義與原理讓同學對於
Botnet 有初步的認識,簡介常見的 Botnet ,並說明其原理最後,透過實作的方式讓同學實際操作,更加了解Botent 的原理跟其可能的危害
2. 本模組共有四個小節包括 (1)Botnet 簡介 (2)Botnet 種類分析 (3)Botnet 實務 (4)Botnet 專案實作 共需三個鐘點
13-2
網路安全
Module 13 : Botnet介紹與架設實習• Module 13-1 : Botnet 簡介 (*)• Module 13-2 : Botnet種類分析 (*)• Module 13-3 : Botnet的實務 (**)• Module 13-4 : Botnet的專案實作 (**)
13-3
* 初級 (basic) :基礎性教材內容** 中級 (moderate) :教師依據學生的吸收情況,選擇性介紹本節的內容*** 高級 (advanced) :適用於深入研究的內容
網路安全 13-4
Module 13-1 : Botnet簡介 (*)
網路安全
Botnet 介紹• 殭屍網路 (BotNet) 是指受感染之主機猶如殭屍般任由控
制者操控,駭客藉由網路聊天 (Internet Relay Chat, IRC) 等遠端控制受感染的主機 ( 意即殭屍電腦 , zombies) ,可發動網路攻擊
• 包括帳號密碼及鍵盤側錄 (keystroke logging) 竊取私密資料、網路釣魚 (Phishing) 、散布垃圾郵件 (SPAM) 、發動分散式阻斷式服務 (DDoS) ,恐嚇受駭網站等犯罪行為
• 根據的 C&C 架構分類– IRC-based
– Peer to Peer (P2P) botnets
– HTTP-based
13-5
網路安全
Botnet 定義• 僵屍網路是指駭客利用自己編寫的分散式阻斷服務攻擊程序將數萬個淪陷的機器,組織成一個個控制節點,用來發送偽造資訊或垃圾封包,使得被攻擊端網路癱瘓
• 病毒通常會隨著 e-mail 、即時通訊軟體或電腦系統漏洞,侵入電腦,再藏身於任何一個程式裡
13-6
網路安全
Botnet 起源• 1989 年, Greg Lindahl 在 IRC 撰寫,這是第一個
IRC Bot• 當初的 Bot 只是一個方便管理系統的工具,並未有任何惡意的行為,但現在 Bot 已經成為網路安全一項隱患,成為駭客賺錢工具之一
13-7
網路安全
Botnet 危害• 安裝廣告軟體• 散佈垃圾郵件• 非法使用智慧財產• 破解密碼• 點擊詐欺• DDoS 攻擊
13-8
網路安全
• Botnet 功能模組可以分為主要模組 (primary function)和輔助功能模組 (auxiliary function)
Botnet Configure
13-9
Primary function
Auxiliary function
C&C module
Propagation modules
DDOS
host control
Others
網路安全
Botnet Configure ( 續 )
• 主要模組 (primary function) :– 實現僵屍網路定義特性的命令與控制模組 (C&C
module) 和 實 現 網 路 傳 撥 特 性 的 傳 播 模 組(propagation module)
• 輔助功能模組 (auxiliary function) :– 執行命令達到 DDOS 、資訊的竊取與控制受害者主機或其它反偵測等功能
13-10
網路安全
Module 13-2 : Botnet種類分析 (*)
13-11
網路安全
Botnet 種類分析• 依其傳輸協定,我們可以分為
– IRC Botnet
– HTTP Botnet
– P2P Botnet
13-12
網路安全
IRC Botnet
• IRC 為 Botnet 最常使用的傳輸協定• IRC協定是網路聊天室的協定• Client-Server 架構
13-13
1. DNS Lookup
3. Commands
4. C
omm
ands
網路安全
IRC Botnet ( 續 )
Commands
13-14
網路安全
P2P Network
• P2P 網路結構分類如下圖:
13-15
P2P 網路
非集中式P2P 網路
集中式P2P 網路
結構式P2P 網路
非結構式P2P 網路
網路安全
集中式 P2P 網路• 中央索引伺服器,用來記錄資源的索引資訊及回應用戶對資源的查詢
• 一但伺服器發生錯誤,就無法運作• Napster
13-16
網路安全
非結構化 P2P 網路• 沒有中央索引伺服器• 採大量查詢• 網路規模愈大,效率愈低• Gnutella
13-17
網路安全
P2P Botnet
• 如果採用 peer to peer協定,可以形成隨機拓樸,不必擔心 C&C server crash ,也更隱蔽且更具強韌性
• 因為沒有中控的 server ,以至於無法同時將命令傳給所有 Bots ,所以無法達到進行 DDoS 攻擊時效性的要求
13-18
網路安全
P2P Botnet ( 續 )
Commands
Commands
Com
man
ds13-19
網路安全
HTTP Botnet
• 利用 HTTP協定發佈命令與控制• 透過架設的網頁伺服器或利用社群網站發佈命令• HTTP Botnet 走 80PORT ,防火牆不易阻止
13-20
網路安全
HTTP Botnet 架構
13-21
Commands
網路安全
HTTP Botnet 架構 ( 續 )
13-22
DDoS attack
SPAM
Identity theft
Web server
Command & Control (C&C)
botmaster
bot
victim
Internet
網路安全
HTTP Botnet 控制流程• Botmaster 透過 Internet 連接至 Web Command &
Control(C&C)server
13-23
Web server
Command & Control (C&C)
botmaster
Internet
網路安全
HTTP Botnet 控制流程 ( 續 )
• Bots 向 Web Command&Control server查詢是否有來自 Botmaster 的指令,並作更新
13-24
Web server
Command & Control (C&C)
botmaster
Internet
bot
網路安全
HTTP Botnet 控制流程 ( 續 )
• Bots 根據 Botmaster 指令依序作出回應,如:– 發送垃圾郵件– 進行 DDoS 攻擊
13-25
DDoS attack
SPAM
Web server
Command & Control (C&C)
botmaster
bot
victim
Internet
網路安全
殭屍網路控制命令
• 殭屍網路控制命令方式,存在下列兩種模式:– 主動連線至 Connection to C&C Server
– Bot開啟後門,被動接受來至 C&C 之控制指令
13-26
網路安全
主動連線至 Connection to C&C Server
• Bot 會去檢查是否有連上網路
13-27
Internet ?
BOT
網路安全
主動連線至 Connection to C&C Server ( 續 )
• 如果有,則連上WEB C&C server
13-28
Web server
Command & Control (C&C)
Yes!!
BOT
Report to C&C Server
PacketGET /botnet/getcommand.php?
getcmd=1&uid=pcname&port=2121 HTTP/1.0\r\n
User-Agent: USERAGENT\r\nHost: 192.168.11.130
\r\n\r\n
網路安全
主動連線至 Connection to C&C Server ( 續 )
• 反之,則先休息 1 min 再作檢查
13-29
No!! Sleep 1 minThen check again
BOT
網路安全
主動連線至 Connection to C&C Server ( 續 )
• 從 WEB C&C server 得到來自 Botmaster下達的指令
13-30
Web server
Command & Control (C&C)
‧Update Bot‧Insert Bot
Get Command :‧Update new version
‧DDOS attack
BOT
網路安全
主動連線至 Connection to C&C Server ( 續 )
• Bot 每 15 分鐘向 WEB C&C server 作查詢是否有新的命令
13-31
Web server
Command & Control (C&C)
Sleep 15 mins
BOT
網路安全
Bot開啟後門,被動接受來至C&C 之控制指令• Bot 會開啟後門並隨時注意是否有 Botmaster連線資訊
13-32
‧Port 2121
Listen !!
Backdoor
BOT
網路安全
Bot開啟後門,被動接受來至C&C 之控制指令 ( 續 )
• Botmaster 與 Bot連結,利用 port2121 作命令傳輸
13-33
‧Port 2121‧Setting Connection
Backdoor
BOT
Web server
Command & Control (C&C)
網路安全
Bot開啟後門,被動接受來至C&C 之控制指令 ( 續 )
• Bot 對連線作驗證,判別是否來自 WEB C&C server
13-34
Backdoor
BOT
‧Verify AUTH
Receive !!
Web server
Command & Control (C&C)
網路安全
Bot開啟後門,被動接受來至C&C 之控制指令 ( 續 )
• 接受 Botmaster下達的命令
13-35
Backdoor
BOT
‧Send Commands
Web server
Command & Control (C&C)
網路安全
結論• 殭屍網路一開始是幫助使用者遠端控制主機的一個補助工具,但是由於黑客為了獲取利益所以竄改原程式,變成惡意程式
• 殭屍網路是透過感染許多的受害主機,偷取其機密資料並監控使用者,或是透過受害主機,藉由它們龐大的運算資源,攻擊大型網站
• 採用不同的網路協定,會有本質上不同的殭屍網路,但是其攻擊目的大多類似
13-36
網路安全 13-37
Module 13-3 : Botnet實務 (**)
網路安全
說明• 殭屍網路 (BotNet) 是指受感染之主機猶如殭屍般任由控制者操控,駭客藉由網路 (Http 或 IRC) 等遠端控制受感染的主機,可發動網路攻擊
• 包括帳號密碼及鍵盤側錄 (keystroke logging) 竊取私密資料、網路釣魚 (Phishing) 、散布垃圾郵件(SPAM) 、發動分散式阻斷式服務 (DDoS) ,恐嚇受駭網站等犯罪行為
13-38
網路安全
說明 ( 續 )
• 架設實作 ( 一 ) : HTTP Bot 架設步驟• 架設實作 ( 二 ) : BotNet 攻擊過程演練實作
13-39
網路安全
模擬情境圖
13-40
1. 安裝 Control Panel
3.社交散佈惡意程式
4.執行惡意程式感染成為 Bot
5.連結 C&C Server回報與執行命令6.連結 Control
Panel
2.製作惡意程式
網路安全
實驗環境介紹• 以 Testbed建立一實驗,相關拓樸及設定如下圖
13-41
BotmasterOS :zeusbotIP : 10.1.1.3安裝軟體:Firefox瀏覽器
BotmasterOS :zeusbotIP : 10.1.1.3安裝軟體:Firefox瀏覽器
VictimOS :WINXP- SP3 –CH-pc3000 IP : 10.1.2.3安裝軟體:惡意程式
VictimOS :WINXP- SP3 –CH-pc3000 IP : 10.1.2.3安裝軟體:惡意程式
CCserverOS :zeusbotIP : 10.1.1.2安裝軟體:Zeus control panel
CCserverOS :zeusbotIP : 10.1.1.2安裝軟體:Zeus control panel
網路安全
實驗環境介紹 ( 續 )
建立完成的實驗拓樸
13-42
網路安全
架設實作 ( 一 )
HTTP Bot 架設步驟
13-43
網路安全
Zeus Botnet 簡介• Zeus 是前十大最具傷害性的殭屍網路,其最主要的威脅在於紀錄網頁的使用者登入資訊與盜取網路銀行的帳密等– (2010 年前十大殭屍網路排行 : 1. Stuxnet 2. Rustock 3.
Koobface 4. Lethic 5. Grumbot 6. Pushdo 7. Bredolab 8. Zeus 9. Mariposa 10. Waledac)
• Zeus 的控制模式是藉由 HTTP protocol ,當受害主機執行惡意程式後,主機將遭受感染成為 bot ,並且與殭屍網路控制者藉由 C&C Server 取得聯繫
• Zeus 可以記錄下大多數經由 HTTP port 80 的各式網頁登入資訊與銀行帳密資料
13-44
網路安全
Zeus環境建置• 於 CCServer上
– 安裝 AppServ(請參考M12)• 將 MySQL 密碼設為 security
13-45
網路安全
• 安裝 ZeuS Control Panel– 將 C:\zeus\Zeus
2.0.8.9\zeus 資料夾放入 C:\AppServ\www 中
13-46
網路安全
Zeus環境建置– 於 Botmaster 主機上使用 Firefox連結 http://10.1.1.2/zeus/install ,彈出 control panel 安裝頁面
– 利 用此頁面設定control panel 資訊
– 點擊 Install執行安裝– Control panel 安裝完成
13-47
security
security
secret key
網路安全
Zeus環境建置• 安裝完成
13-48
網路安全
Zeus環境建置 (Builder)
13-49
1.開啟 ZeuS builder 編譯器
2. 點擊 Edit config ,彈出 config file
3.修改 config file 並儲存(紅線處修改為 Web Server 路徑 )
4. 點擊 build config按鈕,編譯及產生 configuration file
5. 點擊 build loader按鈕,編譯及產生惡意程式檔
PS.此部份僅列出過程相關檔案已放置於 C:\zeus\zeus 2.0.8.9\zeus\底下
網路安全
Botmaster連結 Control Panel
• 連結 http://10.1.1.2/zeus/cp.php • 輸入帳密,登入 control panel
13-50
網路安全
Victim 感染• 於 Victim 主 機 中 , 使 用瀏覽器 取 得 http://
10.1.1.2/zeus/bot.exe ,並執行• 一般 Bot 會使用社交工程讓受害端執行
13-51
網路安全
Botmaster查看 Bot• Botmaster連結成功進入 Control Panel ,可看見遭受感染的主機數目
13-52
網路安全
取得 Bot畫面
13-53
2. 點選主機3. 點選 Full Information + Screen shot
1. 點選 Bots
網路安全
取得 Bot畫面 ( 續 )
13-54
網路安全
架設實作 ( 二 )
BotNet 攻擊過程演練操作
13-55
網路安全
Bot 竊取信息• Victim 在網站註冊資
料 ( 本實驗以 http://uploading.com/premium/ 為例 )
• 使用者輸入個人資料送出
• Bot 同時將這些註冊資料回報給 C&C Server ,並存放在資料庫中
13-56
網路安全
Bot 竊取信息 ( 續 )
• Botmaster查看 report清單
13-57
網路安全
Bot 竊取信息 ( 續 )
13-58
使用者註冊資料確實皆已被記錄,Botmaster 可清楚看到
網路安全
Bot 封裝• 部份 Bot 為避免被偵測,會在製作時加入封裝及混亂之機制以減少被偵測出來之機率
• 以 zeusbot 為例,我們將 Bot 上傳至 virustotal 進行防毒軟體的偵測,並在封裝後,在進行一次檢測來比較兩次之差別
13-59
網路安全
Bot 封裝 ( 續 )
13-60
封裝前偵測率為34/41 ,封裝後為 14/42
網路安全
結論• 本次 BotNet 實作教學用意是瞭解 BotNet 的形成、可能散佈方式以及造成之危害性
• 從實驗過程中,我們可知 BotNet 隱密性很高,遭操控之殭屍主機很難發現其已被控制;並且除了機密資料可能被竊取,造成嚴重商業損失之危害外,個人隱私生活亦有可能遭窺視
• 透過本次實驗,希望能協助檢視個人上網行為模式,避免可能感染殭屍病毒之行為,以期能降低病毒感染之風險
13-61
網路安全 13-62
習題
網路安全
習題一• Botnet 依照傳輸類型可分為哪幾類 ?
13-63
網路安全
習題二• 藉由實作的經驗,駭客可以藉由 Botnet 實作出那些攻擊 ?
13-64
網路安全
習題三• 藉由實作的經驗跟學習,哪些防護手段可以有效抵擋 Botnet 攻擊 ?
13-65
網路安全 13-66
Module 13-4 : Botnet的專案實作 (**)
網路安全
專案目的• 建置 Botnet 網路。• 藉由實際操作 Botnet 讓同學了解 Botnet 的實際運作方式,並了解 Botnet 的威脅
13-67
網路安全
專案描述• 假設你扮演一位駭客,為了竊取使用者消費資訊,因此入侵一般電腦使用者,藉由 Botnet 的方式監控並取得資訊
• 請參考環境配置圖,完成以下要求① 建置 Botnet所需的環境② 使用封裝後之程式將一般使用者感染 Botnet(提示:可查詢 Themida 及 ASProtect 軟體 ) ,並比較辨認率
③ 藉由 Botnet進行攻擊取得使用者資訊及高品質之畫面 (提示:請於 CCSever 之網頁中尋找 )
④ 取得使用者之 gmail 帳號及密碼 (請勿使用真實之帳號 )
13-68
網路安全
實驗環境介紹與建置
13-69
• 以 Testbed建立一實驗,相關拓樸及設定如下圖Botmaster
OS :zeusbotIP : 10.1.1.3安裝軟體:Firefox瀏覽器
BotmasterOS :zeusbotIP : 10.1.1.3安裝軟體:Firefox瀏覽器
VictimOS :WINXP- SP3 –CH-pc3000 IP : 10.1.2.3安裝軟體:惡意程式
VictimOS :WINXP- SP3 –CH-pc3000 IP : 10.1.2.3安裝軟體:惡意程式
CCserverOS :zeusbotIP : 10.1.1.2安裝軟體:Zeus control panel
CCserverOS :zeusbotIP : 10.1.1.2安裝軟體:Zeus control panel
網路安全
參考資料• 成功大學 Testbed平台• Testbed@TWISC, http://testbed.ncku.edu.tw
• 趨勢科技WTP Add-On 網頁威脅防禦工具• http://www.trendmicro.com.tw/wtp/micro/index.asp
• Botnet Wikipedia
• http://en.wikipedia.org/wiki/Botnet#Types_of_attacks
• A TASTE OF HTTP BOTNETS ,Cymru
• http://www.team-cymru.com/ReadingRoom/
• New P2P Botnet Arising,SECURELIST
• http://www.securelist.com/en/blog/11114/New_P2P_Botnet_Arising
13-70