
Apache Tomcat CVE-2022-29885
이 도구는 보안 연구 목적으로만 사용됩니다. 불법 공격을 위해 도구를 사용하는 것을 금지하며, 그로 인한 책임은 사용자에게 있습니다.
工具仅用于安全研究以及内部自查,禁止使用工具发起非法攻击,造成的后果使用者负责
Apache Tomcat DoS (CVE-2022-29885) 익스플로잇
EncryptInterceptor (Tomcat 클러스터)에서의 서비스 거부
대상 머신이 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

안전하지 않은 구성에서는 Safe-Config-Exploit도 사용할 수 있습니다.
하지만 안전한 구성에서는 Safe-Config-Exploit만 사용할 수 있습니다.
안전한 구성: 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
