
Pulse Secure Connect의 인증 후 RCE 취약점에 대한 익스플로잇
Pulse Secure Pulse Connect Secure 버전 9.0RX (9.0R3.4 미만), 8.3RX (8.3R7.1 미만), 8.2RX (8.2R12.1 미만), 8.1RX (8.1R15.1 미만) 및 Pulse Policy Secure 버전 9.0RX (9.0R3.2 미만), 5.4RX (5.4R7.1 미만), 5.3RX (5.3R12.1 미만), 5.2RX (5.2R12.1 미만), 5.1RX (5.1R15.1 미만)에서 관리 웹 인터페이스를 통해 인증된 공격자가 명령을 주입하고 실행할 수 있습니다.
이 익스플로잇은 Post-Auth 원격 코드 실행 취약점을 이용하여 SSH 구성을 수정함으로써 사용자가 VPN 장비 자체에 root로 로그인할 수 있도록 합니다. 새로운 ssh 구성 및 authorized_keys 파일을 다운로드하고, 원본을 백업한 후 이전 파일을 덮어씁니다. 이 작업이 완료되면 sshd-ive에 SIGHUP 신호를 보내 프로세스를 재시작하고 새 구성을 로드합니다.
이 익스플로잇을 사용하려면 다음을 수정해야 합니다:
대상 호스트:
...
host = 'REPLACE-WITH-IP-OR-FQDN' # Host to exploit
...
VPN 장비의 관리자 로그인 자격 증명:
# Login Credentials
user = 'admin' # Default Username
password = 'password' # Default Password
파일을 다운로드할 호스트:
# Necessary for Curl
downloadHost = '' # IP or FQDN for host running webserver
port = '' # Port where web service is running. Needs to be a string, hence the quotes.
수정이 완료되면 문제 없이 익스플로잇을 실행할 수 있을 것입니다. 시스템이 읽기 전용인 경우 코드를 수정하고 시스템을 읽기-쓰기로 마운트해야 합니다. 이 작업은 제가 대신 해드리지 않습니다. 대상 시스템에 대한 지식이 필요합니다.
데모는 아래에서 확인할 수 있습니다:
Alyssa와 제가 함께 작업한 블로그 포스트는 여기에서 확인할 수 있습니다.