🇰🇷 한글 설명
Rapid7 Metasploit Pro의 metasploitPostgreSQL 서비스가 특정 위치의 OpenSSL 설정 파일을 로드하는데, 이 위치가 쓰기 가능하여 낮은 권한의 vagrant 사용자가 악의적인 파일을 심을 수 있습니다. 높은 권한으로 실행되는 postgres.exe가 이 파일을 실행하게 되어 임의의 명령어 실행이 가능하며, vagrant 사용자가 SYSTEM 레벨의 권한을 획득하여 전체 시스템을 장악할 수 있습니다.
💡 쉬운 설명
Metasploit Pro는 관리자 권한으로 설정 파일을 읽는데, 일반 사용자가 그 파일을 조작할 수 있는 보안 결함이 있습니다. 공격자가 이를 악용하면 관리자 권한을 얻어 Windows 컴퓨터를 완전히 장악할 수 있습니다.
🇺🇸 원문 (English)
Rapid7 Metasploit Pro is vulnerable to a local privilege escalation attack that allows a user to gain SYSTEM level control of a Windows host. When started the metasploitPostgreSQL service would start the postgres.exe child process which would in turn load an OpenSSL configuration file from a static location. This static location would be writable by a pre-existing "vagrant" user, if they already existed on the system. Metasploit does not create local accounts, an Administrator would need to create it. By planting a crafted openssl.cnf file an attacker can trick the high-privilege service into executing arbitrary commands. This effectively permits the unprivileged vagrant user to bypass security controls and achieve a full host compromise under the agent's SYSTEM level access.
📍 영향받는 시스템
Rapid7 Metasploit Pro on Windows with pre-existing vagrant user account
⚔️ 공격 벡터
Local privilege escalation via crafted OpenSSL configuration file planted in writable static directory by unprivileged vagrant user
🛡️ 대응 방법
Apply security updates from Rapid7 and restrict write permissions on the OpenSSL configuration file directory to authorized administrators only
🔧 검증 코드
명령어가 Metasploit 디렉토리에서 쓰기 가능한 openssl.cnf를 찾으면 'VULNERABLE'이 출력되어 시스템이 취약함을 의미하고, 그렇지 않으면 안전함을 의미합니다.
find / -name "openssl.cnf" -writable 2>/dev/null | grep -i metasploit && echo "VULNERABLE" || echo "Not vulnerable or not found"