iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
Security

HTB_Headless系列 第 8

[Day 8]HTB_Headless(Command Injection_02)

  • 分享至 

  • xImage
  •  

HTB練習紀錄 — Headless

  • Command Injection

上回說到 修改 POST 請求嘗試攻擊。這回將詳細紀錄在這過程中,使用過哪些Command


Command Injection

將惡意命令植入post的輸入中,並試圖讓在伺服器上執行惡意指令。

學會看Repeater

左側Request,post傳遞資料的內容為date=2023-09-15;
右側Response,回傳的資料內容為Systems are up and running!
https://ithelp.ithome.com.tw/upload/images/20240814/20168534qwfy6e6aHc.png

測試觸發條件

  1. date=2023-09-15; ls
    可得知date=2023-09-15;ls之間可以隔空格
    https://ithelp.ithome.com.tw/upload/images/20240814/20168534RFEiw5fuHI.png

  2. cat
    可得知cat指令也能執行
    https://ithelp.ithome.com.tw/upload/images/20240814/20168534qJAxAEtBT4.png

  3. 可使用pipe
    https://ithelp.ithome.com.tw/upload/images/20240814/20168534KJJoAQG6pc.png

  4. 無法使用sudo提權
    https://ithelp.ithome.com.tw/upload/images/20240814/20168534OnZPv1sBT5.png

sudo -l: 確認sudo權限

透過sudo -l可以得知sudo權限
以下為ChatGPT對於(ALL) NOPASSWD: /usr/bin/syscheck的說明

ChatGPT

  • (ALL) NOPASSWD: /usr/bin/syscheck: 這表示用戶 dvir 可以在任何使用者身份下執行 /usr/bin/syscheck 命令,且在執行該命令時不需要輸入密碼。
    https://ithelp.ithome.com.tw/upload/images/20240814/201685344oHzmUYnOS.png

由此可知Task8的答案
https://ithelp.ithome.com.tw/upload/images/20240814/201685346akPyHCXd8.png

cat /usr/bin/syscheck: 確認 syscheck 可執行的命令

https://ithelp.ithome.com.tw/upload/images/20240814/20168534MBErQ8YSoR.png

重點在於以下這段程式碼

if ! /usr/bin/pgrep -x "initdb.sh" &>/dev/null; then
  /usr/bin/echo "Database service is not running. Starting it..."
  ./initdb.sh 2>/dev/null
else
  /usr/bin/echo "Database service is running."
fi

ChatGPT

  • 使用 pgrep 檢查名為 initdb.sh 的腳本是否在運行。
  • 如果 initdb.sh 沒有運行,顯示一條消息並啟動它(錯誤輸出被重定向到 /dev/null)。
  • 如果 initdb.sh 已經在運行,顯示一條消息告知服務正在運行。

可以得知initdb.sh會被強制運行,後續或許可以嘗試對initdb.sh進行攻擊


上一篇
[Day 7]HTB_Headless(Command Injection_01)
下一篇
[Day 9]HTB_Headless(Reverse Shell_01)
系列文
HTB_Headless30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言