Hack The Box

セキュリティ

Hack The BoxのWriteup(OpenSource)[Easy]

HackTheBox「OpenSource」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH) と 80(Werkzeug/Flask 製ファイル共有サービス upcloud) を確認し、/download で丸ごと公開されていた source.zip の git 全履歴を調査して削除済みの dev01 資格情報を復元、アップロード処理の os.path.join が先頭の「/」を除去しない仕様を突いて views.py を絶対パスで上書きアップロードし /cmd エンドポイントを注入、Docker コンテナ内 root として RCE を獲得、コンテナからホストの Gitea への到達性を確認して Python3 スクリプトで Gitea API から SSH 秘密鍵を取得し SSH ログインして user.txt を取得、root 権限で動く git-sync の cron 処理に対して core.fsmonitor フックを悪用し /bin/bash を SUID 化して root.txt を取得するまで、git 履歴の秘密情報漏洩・os.path.join 上書き RCE・Gitea 横移動・core.fsmonitor 権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Late)[Easy]

HackTheBox「Late」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH) と 80(nginx 1.14.0) を確認し、vhost ファジングで画像OCRサービスのサブドメイン images.late.htb を発見、アップロード画像から抽出したテキストを Jinja2 でそのままテンプレート評価してしまう Flask 製 OCR アプリのバグを突き、8000px 幅の画像に SSTI ペイロードを埋め込んで OCR にコマンドを実行させ svc_acc 権限の RCE を獲得して user.txt を取得、SSTI 経由の wget で攻撃用SSH公開鍵を authorized_keys に追記して安定したシェルを確保、SSHログイン時に PAM 経由で root として実行される append-only 属性の ssh-alert.sh に root.txt コピーコマンドを追記し、再ログインでトリガーして root.txt を取得するまで、OCR の Jinja2 SSTI RCE と append-only スクリプト悪用の権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Timelapse)[Easy]

HackTheBox「Timelapse」(Easy/Windows)の完全攻略レポート。Nmap で 53・88・389・445・5986(WinRM over SSL) などドメインコントローラ典型のポート群を確認し、SMB の匿名ヌルセッションで Shares 共有に読取りアクセスして winrm_backup.zip を入手、zip2john でZIPパスワード supremelegacy をクラックして展開した legacyy_dev_auth.pfx を pfx2john でさらに thuglegacy にクラック、PFX から分離した証明書と秘密鍵で evil-winrm の証明書認証により legacyy として WinRM 接続して user.txt を取得、PowerShell コマンド履歴から svc_deploy の資格情報を窃取し、同アカウントが所属する LAPS_Readers グループ権限を netexec の LDAP -M laps モジュールで悪用して Administrator の LAPS パスワードを読み出し、Administrator としてログインして root.txt を取得するまで、SMB 匿名共有・二段パスワードクラック・証明書認証 WinRM・LAPS 権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Paper)[Easy]

HackTheBox「Paper」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH)・80(HTTP)・443(HTTPS) を確認し、X-Backend-Server レスポンスヘッダから vhost office.paper と サブドメイン chat.office.paper(Rocket.Chat) を発見、WordPress 5.2.3 の CVE-2019-17671(?static=1 で非公開draftを閲覧できる脆弱性)で秘密の下書きに書かれた Rocket.Chat 招待URLを入手、REST API が Apache でブロックされているため実ブラウザで招待URLへアクセスしユーザー名確定ステップも踏んで登録、recyclops ボットへの DM でパストラバーサルを突いて hubot/.env の資格情報を読み取り dwight として SSH ログインし user.txt を取得、polkit 0.115系の TOCTOU レースコンディション CVE-2021-3560 を dbus-send CreateUser の連打で突いて root ユーザーを作成し root.txt を取得するまで、WordPress draft 漏洩・Rocket.Chat ボットのパストラバーサル・polkit 権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(NodeBlog)[Easy]

HackTheBox「NodeBlog」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH) と 5000(Node.js/Express の "Blog") を確認し、ログインフォームに JSON Content-Type と {"$ne":"admin"} 演算子を送る NoSQLインジェクションで認証を回避、RCE 後に回収した server.js の解析で node-serialize の unserialize() が authenticated() の認証判定より先に実行される設計欠陥を把握し、auth クッキーに IIFE(即時実行関数)を仕込んだ node-serialize デシリアライゼーション RCE をトップページへのリクエストで発火させて admin 権限のコマンド実行から user.txt を取得、同じ RCE チャネルで MongoDB の users コレクションをダンプして平文資格情報 admin:IppsecSaysPleaseSubscribe を回収し、SSH が publickey 限定で使えないため RCE チャネル内で sudo -S にそのパスワードを渡して root.txt を取得するまで、NoSQLi 認証回避・node-serialize RCE・sudo 権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Pandora)[Easy]

HackTheBox「Pandora」(Easy/Linux)の完全攻略レポート。Nmap の TCP(22/80)+UDP スキャンで SNMP(161) を発見し、community "public" の snmpwalk で hrSWRunParameters(プロセス引数)から平文資格情報 daniel:HotelBabylon23 を窃取して SSH ログイン、Apache の vhost 設定から 127.0.0.1 限定で稼働する Pandora FMS v7.0NG を見つけて SSH トンネルで到達、chart_generator.php の session_id を突く UNION SQLインジェクション CVE-2021-32099 で管理者セッションを偽装し、ajax.php のイベント応答機能の CVE-2020-13851 で OS コマンド実行(RCE)に発展させて matt のシェルから user.txt を取得、SSH公開鍵を注入して正規セッションで matt にログイン後、tar を相対パスで呼び出す SUID バイナリ pandora_backup を PATH ハイジャックで乗っ取り root.txt を取得するまで、SNMP 情報漏洩・Pandora FMS 二段CVE・PATH ハイジャック権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Backdoor)[Easy]

HackTheBox「Backdoor」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH)・80(Apache 2.4.41 + WordPress 5.8.1)・1337 を確認し、ポート1337の正体が gdbserver であることを特定、gdbserver の --once リモートデバッグプロトコルを悪用した Metasploit モジュール経由の RCE で user ユーザーのシェルを獲得、同一セッション内で SSH公開鍵を注入して SSH ログインし user.txt を取得、root 権限の cron が定期生成する screen セッションを発見して screen -x root/root での乗っ取りを試み、-X 系コマンドが効かない制約を SSH stdin パイプによるコマンド注入で回避して root シェルを奪取し root.txt を取得するまで、gdbserver RCE と root screen セッション乗っ取りによる権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Nunchucks)[Easy]

HackTheBox: Nunchucks — 全実行コマンド・実行結果レポート :root { --bg: #ffffff; --bg2: #f6f8fa; --bg3: #eaeef2; --b...
セキュリティ

Hack The BoxのWriteup(Secret)[Easy]

HackTheBox「Secret」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH)・80(nginx 1.18.0)・3000(Node.js/Express の "DUMB Docs" API) を確認し、/download/files.zip で漏洩した .git 付きソースコードの git 履歴を git log/show で遡り、過去コミットに平文で残っていた JWT の TOKEN_SECRET を窃取、これを鍵に name=theadmin の HS256 JWT を偽造して管理者 API 権限を奪取、/api/logs が file 引数を exec() にそのまま渡すコマンドインジェクションを突いて dasith ユーザー権限の RCE を獲得して user.txt を取得、SUID バイナリ /opt/count を dumpable 設定のうえ SIGSEGV でクラッシュさせてコアダンプを生成し、apport-unpack と strings で root.txt を抽出して取得するまで、git 履歴からの秘密情報漏洩・JWT 偽造・コマンドインジェクション・SUID コアダンプ権限昇格を全実行コマンドと結果付きで解説します。
セキュリティ

Hack The BoxのWriteup(Knife)[Easy]

HackTheBox「Knife」(Easy/Linux)の完全攻略レポート。Nmap で 22(SSH) と 80(Apache 2.4.41) を確認し、X-Powered-By レスポンスヘッダから異常に新しい PHP/8.1.0-dev が稼働していることを特定、これはソース混入事件で仕込まれた公式バックドア入りバージョンであり、User-Agentt: zerodiumsystem("<cmd>") ヘッダを送るだけで任意コマンドが実行できる点を突いて james ユーザー権限の RCE を獲得して user.txt を取得、sudo -l で判明した NOPASSWD の /usr/bin/knife を悪用し、knife exec --exec で渡した Ruby の exec() から root シェルを起動して root.txt を取得するまで、PHP 8.1.0-dev バックドア RCE と sudo knife 権限昇格を全実行コマンドと結果付きで解説します。