
Apache Tomcat CVE-2022-29885
このツールはセキュリティ研究目的のみに使用されます。このツールを使用した違法な攻撃を開始することを禁止し、結果はすべてユーザーの責任とします。
ツールはセキュリティ研究および内部自己点検のみに使用され、ツールを使用した違法な攻撃の開始は禁止され、結果は使用者が責任を負うものとします。
Apache Tomcat DoS (CVE-2022-29885) エクスプロイト
EncryptInterceptor (Tomcat Cluster) におけるサービス拒否
対象のマシンは Cluster Nio Receiver を起動している必要があります。特殊な TCP パケットを送信すると、対象に対してサービス拒否を引き起こします。EncryptInterceptor が使用されているかどうかに関わらず、サービス拒否の脆弱性が発生する可能性があります。
条件: Tomcat クラスタ機能を有効にし、NioReceiver を使用して通信を行うこと
すべてのバージョンの Tomcat が影響を受けます。唯一の解決策は、信頼できるネットワークを使用することです。
安全でない設定: EncryptInterceptor を使用しない
server.xml
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="0.0.0.0"
port="5000"
selectorTimeout="100"
maxThreads="6"/>
</Channel>
</Cluster>
エクスプロイト: ./dos -h target_ip -p target_nio_port

安全でない設定では、安全な設定エクスプロイトも使用できます。
ただし、安全な設定では、安全な設定エクスプロイトのみを使用できます。
安全な設定: EncryptInterceptor を使用する
server.xml
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="0.0.0.0"
port="5000"
selectorTimeout="100"
maxThreads="6"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.EncryptInterceptor"
encryptionAlgorithm="AES/CBC/PKCS5Padding"
encryptionKey="ANY_KEY(LENGTH:32)"/>
</Channel>
</Cluster>
エクスプロイト: ./dos -h target_ip -p target_nio_port -s
