Web服務攻擊反偵查痕跡檢測
web站點默認80為服務端口,關于它的各種安全問題不斷的發布出來,這些漏洞中一些甚至允許攻擊者獲得系統管理員的權限進入站點內部,以下是Zenomorph對一些80端口攻擊方式的痕跡的研究,和告訴你怎樣從日志記錄中發現問題。
詳細描述
下面部分通過一些列子,展示對web服務器和其上的應用程序普遍的攻擊,和其留下的痕跡,這些列子僅僅是代表了主要的攻擊方式,并沒有列出所有的攻擊形式,這部分將詳細描述每種攻擊的作用,和其怎樣利用這些漏洞進行攻擊。
(1)”.” “..” 和 “…” 請求
這些攻擊痕跡是非常普遍的用于web應用程序和web服務器,它用于允許攻擊者或者蠕蟲病毒程序改變web服務器的路徑,獲得訪問非公開的區域。大多數的CGI程序漏洞含有這些”..”請求。
Example:
http://host/cgi-bin/lame.cgi?file=../../../../etc/motd
這個列子展示了攻擊者請求mosd這個文件,如果攻擊者有能力突破web服務器根目錄,那么可以獲得更多的信息,并進一步的獲得特權。
(2)”%20″ 請求
%20是表示空格的16進制數值,雖然這個并不代表你能夠利用什么,但是在你瀏覽日志的時候會發現它,一些web服務器上運行的應用程序中這個字符可能會被有效的執行,所以,你應該仔細的查看日志。另一方面,這個請求有時可以幫助執行一些命令。
Example:
http://host/cgi-bin/lame.cgi?page=ls%20-al│
這個列子展示了攻擊者執行了一個unix的命令,列出請求的整個目錄的文件,導致攻擊者訪問你系統中重要的文件,幫助他進一步取得特權提供條件。
(3)”%00″ 請求
%00表示16進制的空字節,他能夠用于愚弄web應用程序,并請求不同類型的文件。
Examples:
http://host/cgi-bin/lame.cgi?page=index.html
這可能是個有效的請求在這個機子上,如果攻擊者注意到這個請求動作成功,他會進一步尋找這個cgi程序的問題。
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
也許這個cgi程序不接受這個請求,原因在于它要檢查這個請求文件的后綴名,如:html.shtml或者其他類型的文件。大多數的程序會告訴你所請求的文件類型無效,這個時候它會告訴攻擊者請求的文件必須是一某個字符后綴的文件類型,這樣,攻擊者可以獲得系統的路徑,文件名,導致在你的系統獲得更多的敏感信息
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%00html
注意這個請求,它將騙取cgi程序認為這個文件是個確定的可接受的文件類型,一些應用程序由于愚蠢的檢查有效的請求文件,這是攻擊者常用的方法。
(4)”│” 請求
這是個管道字符,在unix系統用于幫助在一個請求中同時執行多個系統命令。
Example:
# cat access_log│ grep -i “..”
(這個命令將顯示日志中的“..“請求,常用于發現攻擊者和蠕蟲攻擊)
常可以看到有很多web應用程序用這個字符,這也導致IDS日志中錯誤的報警。
在你的程序仔細的檢查中,這樣是有好處的,可以降低錯誤的警報在入侵檢測系統中。
下面給出一些列子:
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls│
這個請求命令執行,下面是一些變化的列子
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%20-al%20/etc│
這個請求在unix系統中列出/etc目錄的所有文件
http://host/cgi-bin/lame.cgi?page=cat%20access_log│grep%20-i%20″lame”
這個請求cat命令的執行并且grep命令也將執行,查詢出”lame”
(5)”;” 請求
在unix系統,這個字符允許多個命令在一行執行
Example:
# id;uname -a
(執行id命令后,緊跟著執行uname命令)
一些web程序用這個字符,可能導致在你的IDS日志中失敗的警告,你應該仔細的檢查你的web程序,讓你的IDS警報失敗的幾率降低。
(6)”" 請求
應該檢查你的日志記錄中這兩個字符,眾多的原因中,首要的一個是這個字符表明了添加數據在文件中
Example 1:
# echo “your hax0red h0 h0″ >> /etc/motd (請求寫信息在motd這個文件中)
一個攻擊者可以容易的用象上面的這個請求篡改你的web頁面。比如著名的RDS exploit常被攻擊者用于更改web主頁面。
Example 2:
http://www.2cto.com /something.php=Hi%20mom%20Im%20Bold!
你會注意到這里html語言的標志,他同樣用了“〈”,“〉”字符,這種攻擊不能導致攻擊者對系統進行訪問,它迷惑人們認為這是個合法的信息在web 站點中(導致人們在訪問這個聯結的時候訪問到攻擊者設定的地址,這種請求可能會被轉變成16進制的編碼字符形式,使攻擊的痕跡不那么明顯)
(7)”!”請求
這種字符請求常用語對SS(Server Side Include) I進行攻擊,如果攻擊者迷惑用戶點擊被攻擊者設定的聯結,和上面的一樣。