网络安全课件
網路攻防戰之Web入侵手法分析
y MCP (微軟認證專家)
y MCSA (系統管理師)
y MCDBA (資料庫管理師)
y MCSE (系統工程師)
y BS7799 LA國際資訊安全證書
y TCSE(趨勢防毒認證資訊安全專家)
y FOUNDSTONE Security
Professional(駭客終結者認證)
y中華專案管理學會證書
y微軟資訊安全講師
微軟化管大師
y E化管理大師
y微軟企業化管理大師
y台灣網路危機處理中心(TWCERT)受訓證書
y網路封包互動判讀認證Class C
注意事項
y部份簡報為節省版面,請點選各張簡報標註之超連結自行參閱。
y本場次的Demo示範因場地之限Demo時無法再將字形及畫面放大,想要抄筆記的同學請盡量往前坐。
y本場次示範之手法為避免煽惑他人犯罪,部分破壞性資訊例如:關鍵參數、語法已做相關隱藏處理。
y本場次示範所使用之惡意軟體受限於相關法律規定請勿索取。
議程
利用知名搜尋引擎尋找目標Web Server
?搜尋引擎的風險
?網站攻擊者思考
?基本、進階、其它語法與關鍵字
?搜尋存在漏洞的網站
?查找別人留下來的Webshell後門
?自動化Google Hacks 工具
?如何防止Google Hacks
搜尋引擎的風險By 使用者
y搜尋「關鍵字」的結果可能讓使用者連入
y與真網站網址或網頁內容相似的「偽冒(假)網站」?例如:https://www.360docs.net/doc/bd2189047.html, vs https://www.360docs.net/doc/bd2189047.html,
?例如:https://www.360docs.net/doc/bd2189047.html, vs https://www.360docs.net/doc/bd2189047.html,
y已被駭客植入惡意連結(木馬)的「官方(真)網站」?例如:知名部落格所公告的網站
https://www.360docs.net/doc/bd2189047.html,
搜尋引擎的風險By 網站管理者y 在架設網站過程中,設計者將該網站會使用到的「網頁、圖片、影音檔案、文件、檔案型式的資料網頁圖片影音檔案文件檔案型式的資料庫(access)」貪圖超連結或檔案上下傳的方便性,採用「一個實體資料夾就是一個網站的設計」。y 在這樣的網站設計與架設的概念下,如果該網站之網頁存取權限或實體的資料夾檔案權限控管不當,攻擊者只要猜測或使用工具取得該網站內資料夾或檔案文件名稱,便可從Internet 下載存放於該網站(資料夾)內本屬不應公開的文件或資料庫。網站攻擊者思考之一:網頁名稱與路徑y 猜測首頁名稱:index 、default 等
y 、、、猜測管理名稱:admin login manage edit 、adminuser 、main 、adminmain 等y 虛擬目錄/資料夾名稱:photo 、image 、admin 、user 、script 、db 、user 等y 預設路徑:
y IIS :c:\inetpub\wwwroot
y Apache :/usr/local/apache
y 防禦對策:
y 變更採用不易識別的名稱或路徑
網站攻擊者思考之二:工具與掃描
y使用工具:砍站軟體、Web弱點掃描軟體、駭客工具之後台掃描軟體、駭客工具之注入軟體
使時機網名稱與路徑猜測命中率太低時
y使用時機:網頁名稱與路徑猜測命中率太低時
y使用風險:大量且及時的掃描易被防禦設備阻擋或封鎖IP
y規避風險:使用proxy不停更換IP、少量掃描、分段掃描、分時掃描、用跳版(肉雞)掃描、使用DDoS讓防禦設備ByPass、針對漏洞攻擊而不使用掃描(例如:SQL I j ti
Injection、XSS、CGI漏洞)
y防禦對策:
y調整防禦設備對Web攻擊的敏感度
y增加檢視閘道端或伺服器端LOG的頻率
網站攻擊者思考之三:Google Hacks
y「水可以載舟,亦可以覆舟」,搜尋引擎雖然為企業網站增加曝光度,但強大的搜尋技術卻也讓企業不想曝光的網站弱點與機密資訊一一現形,造成駭不想曝光的網站弱點與機密資訊現形造成駭客攻擊的索引指南或內部資料外洩。
y而駭客或一般人使用搜尋引擎尋找資料(難度很低、又不需懂太多技巧),會在「有意」或「無意」間取得網站的不想公開的資料超連結,進而下載轉存。
y針對非以網站為主要商務往來之中小型企業,其成功率高且被發現攻擊的風險低,是駭客攻擊前收集目標資料的好方法。
y 手法缺點:
y 對目標明確的單一目標網站例:政府、金融網站對目標明確的單目標網站(例:政府金融網站)成功率不見得高,僅適合攻擊前灑網捕魚,來尋找具有Web 漏洞的網站作為參考。y 對剛架設的新生兒網站或舊網站卻剛新增的網頁資料會找不到相關搜尋的索引資料。
基本語法與關鍵字
y site: (搜尋特定網址)
y inurl: (搜尋特定連結)
y intext: (搜尋網頁內文字)
y intitle: (搜尋網頁標題)
y filetype: (搜尋特定檔案格式)
y link: (搜尋互相連結的網頁)
“index of“ (
y index of (搜尋開放目錄瀏覽)
y cache: (顯示網頁在google中的暫存資料)
進階語法與關鍵字
y"access denied for user" "using password"
y"Index of /backup"
y allinurl: admin mdb
y inurl:passlist.txt
y" -FrontPage-" ext:pwd inurl:(service | authors |
administrators | users)
y"https://www.360docs.net/doc/bd2189047.html,_SessionId" "data source="
y"AutoCreate=TRUE password=*"
y"Index of /" +password.txt
y"Index of /password"
y"mysql dump" filetype:sql
y"pcANYWHERE EXPRESS Java Client"
y"VNC Desktop" inurl:5800
y"phpMyAdmin MySQL-Dump" "INSERT INTO" -"the“"phpM Admin M SQL D mp" filet pe t t y"phpMyAdmin MySQL-Dump" filetype:txt
y"phpMyAdmin" "running on" inurl:"main.php“y"robots.txt" "Disallow:" filetype:txt
y intitle:"Remote Desktop Web Connection" inurl:tsweb y intitle:"Welcome to Windows 2000 Internet Services" y inurl:"printer/main.html" intext:"settings“
y intitle:index.of administrators.pwd
其它語法與關鍵字
y Johnny ihackstuff
y https://www.360docs.net/doc/bd2189047.html,
y Google Hacking Database (GHDB)
y https://www.360docs.net/doc/bd2189047.html,/ghdb.php
y找尋Vulnerable Servers 語法
y https://www.360docs.net/doc/bd2189047.html,/ghdb.php?function =summary&cat=9
su a y&cat9
y找尋Web Server Detection 語法
y https://www.360docs.net/doc/bd2189047.html,/ghdb.php?function =summary&cat=7
搜尋存在漏洞的網站之一
y搜尋URL網址中含有「asp?id=」或「php?id=」語法為「inurl:asp?id=」或「inurl:php?id=」。
y原因為類似這樣的URL傳值是最容易有SQL Injection 的網頁。
y但並不是凡是這樣撰寫網頁應用程式均有SQL Injection的漏洞,只是以攻擊者的角度來想,搭配搜尋引擎的尋找常見的SQL Injection URL 語法可以降
I j i URL
低在茫茫大海撈針中一個一個猜測網站的時間,再搭配一些Google Hacks的組合搜尋字串,很快就可找到入侵的目標網站。
搜尋存在漏洞的網站之二
y 手工測試目標網站是否具有SQL Injection ?y 於「asp?id=」之後加入下列情中一種語法於p 」之後加入下列情中種語法
?asp?id=and 1=1或asp?id=‘and 1=1--
?asp?id=and 1=2或asp?id=‘and 1=2--
y 來判斷輸入於asp 或php 在=之後的值該資料庫接不接受,如果能夠順利過關使得該asp 或php 程式沒有出現錯誤訊息,就表示該程式具有SQL Injection 的漏洞。y 註:此判斷法並非百分百能夠判斷出網站是否真的有SQL Injection 。原因是如果程式在前端Script 或後端DB 的預存程序中有做字串或傳值變數的檢查就會失敗。
查找別人留下來的Webshell後門之一
y WebShell:簡單就是一個asp或php木馬的後門程式該程式就是撰寫asp或php語法並已經添加好式。
各種可以控制的指令撰寫出來的一個Web介面的檔案總管(具有FSO功能)。
y利用各種漏洞將此文件上傳放置於Web Server的根目錄中,與正常的asp或php程式檔案混在一起。然後攻擊者就可以用Web的方式透過該asp或php 木馬來控制Web Server,包含上下載文件、新增帳號、添加其它木馬或添加
查找別人留下來的Webshell後門之二
y FileSystemObject(FSO):檔案系統物件(FSO) 模型提供用來處理資料夾及檔案的物件架構工具
模型提供用來處理資料夾及檔案的物件架構工具。此模型可讓您使用熟悉的object.method語法及大量的屬性(Property)、方法及事件來處理資料夾及檔案。您也可採用傳統Visual Basic 陳述式及指令。
y FSO 模型使您的應用程式能夠建立、變更、移動及刪除資料夾,或決定是否有特定資料夾存在及存在於何處。而且還能讓您取得關於資料夾的資訊,諸如資料夾名稱及建立或最後修改的日期。
y參考資料:
y使用FileSystemObject存取檔案
http://msdn microsoft com/library/cht/default asp?url/library/CHT/ y https://www.360docs.net/doc/bd2189047.html,/library/cht/default.asp?url=/library/CHT/ vbcn7/html/vbconintroductiontofilesystemobjectmodel.asp
y使用ASP 與Scripting.FileSystemObject來建立動態目錄頁
y https://www.360docs.net/doc/bd2189047.html,/kb/218606/zh-tw
y如何使用ASP 建立檔案檢視器
y https://www.360docs.net/doc/bd2189047.html,/kb/272656/zh-tw
y如何使用ASP 建立目錄檢視器
y https://www.360docs.net/doc/bd2189047.html,/kb/272662/zh-tw
查找別人留下來的Webshell後門之三
y使用WebShell的優點:
80po所以可以穿越防火牆
?因透過80 port。
?因為是在Web Server上透過asp或php程式來執行指令
或語法,所以閘道端的防禦設備不會攔截。
?不會在閘道端、系統留下LOG,只有Web Server與DB上的LOG會出現該asp或php程式有執行的記錄,但權責分
工之下(網頁程式設計者、資料庫管理師、Web Server管
理員、資安人員沒有經驗的管理者或團隊很難判讀LOG。
)
?Web植入木馬(掛馬)通常都是只有把植入的語法拿掉而已,如果沒有刪除「真正在運作的WebShell」,那再次掛馬
指日可待。
查找別人留下來的Webshell後門之四
y使用WebShell的缺點:
y最關鍵的步驟為:如何把WebShell上傳至目標Web Server的目錄之下。
y常利用的手法:
1.利用Web Server本身的漏洞。(最好用手法)
2.利用SQL Injection的漏洞搭配其他上傳指令或tFTP工
具。(最常見手法)
語法使網頁設計師的電腦中木馬使其在更新
3.利用XSS語法使網頁設計師的電腦中木馬,使其在更新
網頁檔案時一並更新進去Web Server。
查找別人留下來的Webshell後門之五
y攻擊者入侵某一個網站順利得到WebShell之後,並不會把它殺掉。也不會把該WebShell的某些關鍵字加入排除搜尋引擎建立Index的索引檔。(因為這是Web管理者要做的事)
y所以只要不是才剛剛入侵成功的WebShell(因為搜尋引擎沒有資料),通常透過「WebShell的某些關鍵字」就可找到「前人留下的智慧與寶藏」。
y註:如果是剛剛才入侵成功的網站,可用「網頁名稱與檔案建立日期」來猜測,搭配砍站工具或Web 掃描工具就可發現「多出來」的蛛絲馬跡。
查找別人留下來的Webshell後門之六
y常見WebShell檔名:(註:攻擊者可改檔名)
y diy.asp(網站小助手)
y wei.asp
y2006.asp
y newasp.asp
y myup.asp
Log asp
y Log.asp
y phpspy.php
自動化Google Hacks工具(免費軟體) y Wikto2.0.2729-20528
y https://www.360docs.net/doc/bd2189047.html,/research/wikto/index.html
y SiteDigger2.0
y https://www.360docs.net/doc/bd2189047.html,/us/resources/proddesc/sitedigger.htm
y需要Google Web APIs license key(已停止申請)
y https://www.360docs.net/doc/bd2189047.html,/apis/soapsearch
次而且每次的查詢y每個使用授權每日僅能呼叫1000次,而且每次的查詢結果僅回傳前1000筆,回傳則以最多10筆為一個單位,而搜尋內容則不包括圖片、新聞等其他內容,僅限於網頁資料,如此設計均是為及提昇執行效能所做的考量。
自動化Google Hacks工具(駭客軟體) y Alt-Google:語法掃描
y Google 蜘蛛:語法掃描
y Google Hack V2.0 :協助Web搜尋用
挖掘雞
y or 挖掘機:掃描語法並獲得目標網站網址,並依預先設定好的條件找到可入侵的網站。
如何防止Google Hacks 之一
y在網路伺服器上,增加一個robots.txt。然後在這個檔案中加入「User-agent: allow: Disallow:」這參數進行設定,一般來說都可以阻止有道德的搜尋引擎程式讀取並儲存您的網頁。
y User-agent:Googlebot
Disallow:/*.mdb$
User-Agent:yahoobot
y User Agent:yahoobot
Disallow:/*.mp3$
y User-agent:*
Disallow:/*.*
如何防止Google Hacks 之二
y可以在網頁的HEAD區段中,加入一些特殊的HTML META TAG標籤,來指出某一個網頁是否可以被索引、分析或鏈接。例如你可以加入。
表示:不希望搜尋引擎處理、儲存這個網頁。
表示:希望搜尋引擎處理這個網頁,但是不儲存網頁,也就是說,不會有庫存頁。
表示:希望搜尋引擎處理這個網頁,但是不繼續處理這個網頁中另外連結的網頁。
表示:不希望搜尋引擎處理、儲存這個網頁,以及這個網頁中另外連結的所有資訊。
如何防止Google Hacks 之三
y將敏滿性的網頁資料檔案或目錄移動到網路伺服器可以存取的檔案或目錄範圍或乾脆刪除該檔案而不要放至於Web Server中。
y在網路伺服器上,將該網頁檔案或目錄的設定讀取權限設為保護或需密碼才能讀取。
y採用「https:」安全加密或鑲嵌憑證的方法存取機密性網頁。
y做好網頁程式(asp、php、jsp等)的安全驗證,即使被找到機密網頁也能確保在權限等安全控管技術之下,不被進入網頁中存取資料。
Google Hacks 相關參考網址
y搜尋引擎過濾單位機密資料方法
y https://www.360docs.net/doc/bd2189047.html,.tw/forgoogle.html
y從Google 的索引中移除我的內容
y https://www.360docs.net/doc/bd2189047.html,/support/webmasters/bin/topic.py?topic=8459 y實戰設計robots.txt與標籤
y https://www.360docs.net/doc/bd2189047.html,/itadm/article.php?c=35591
y知名搜尋引擎Web入侵手法
http://anti-hacker blogspot com/2007/01/web html
y http://anti https://www.360docs.net/doc/bd2189047.html,/2007/01/web.html
y Google Hacks
y https://www.360docs.net/doc/bd2189047.html,/2007/06/google-hacks.html
y入侵你家的網路監視器!
y https://www.360docs.net/doc/bd2189047.html,/2007/06/blog-post_18.html
Web Server 入侵手法Web Server
?Microsoft漏洞利用
?網頁木馬
?論壇套件漏洞利用
?SQL Injection 利用
?XSS 利用
Microsoft漏洞利用
y MS07-004:向量標記語言中的弱點可能會允許遠端執行程式碼(929969)
y https://www.360docs.net/doc/bd2189047.html,/taiwan/technet/security/bulle tin/ms07-004.mspx
y MS07-017:GDI 中的弱點可能會允許遠端執行程式碼
(925902)
y https://www.360docs.net/doc/bd2189047.html,/taiwan/technet/security/bulle tin/ms07-017.mspx
y MS07-020:Microsoft Agent 中的弱點可能會允許遠端執行程式碼(932168)
y https://www.360docs.net/doc/bd2189047.html,/taiwan/technet/security/bulle tin/ms07-020.mspx
y MS07-029:Windows DNS RPC 介面的弱點可能會允許遠端執行程式碼(935966)
y https://www.360docs.net/doc/bd2189047.html,/taiwan/technet/security/bulle tin/ms07-029.mspx
網頁木馬
y網頁木馬就是將木馬和網頁結合在一起,打開網頁的同時也會執行木馬。
y最初的網頁木馬原理是利用IE瀏覽器的ActiveX控制項,執行網頁木馬後會彈出一個控制項下載提示,只有點擊確認後才會運行其中的木馬。這種網頁木馬在當時網路安全意識普遍不高的情況下還是有一點使用價值的,但是其缺點是顯而易見的,就是會出現ActiveX控制項下載提示。
y當然現在很少會有人去點選那莫名其妙的ActiveX控制項下載確認視窗。
y在這種情況下,新的網頁木馬誕生了。這類網頁木馬通常利用了IE瀏覽器或系統的漏洞,在運作執行的時候沒有絲毫提示,因此隱藏性極高。
網頁木馬的類別
y 原生型木馬:此種木馬本身就是一個完整的遠端控制型的木馬程序,不需要依賴漏洞。例如:灰鴿子y 漏洞型網頁木馬:必須依賴系統、瀏覽器、應用程式的漏洞才能產生感染及植入的惡意行為。例如:MS07017
y asp 或php 網頁木馬:該程式就是撰寫asp 或php 語法並已經添加好各種可以控制的指令撰寫出來的一介面的檔案總管。個Web 介面的檔案總管?可分為含FSO 與不含FSO 的網頁木馬
y 一句話網頁木馬:只利用一行語法來傳值的木馬。例如:<%eval request(“value”)>網頁木馬流程
駭客
[掛馬] 將首頁或其他
網頁植入
[上傳] 具FSO 功
能的網頁木馬不知情的一般使者首頁跳版網站藏框架引導到跳版網站
般使用者原生型木馬