
IBERMATICA RPS의 암호화 관련 취약점에 대한 익스플로잇 [CVE-2023-3350]
IBERMATICA RPS 2019의 인증되지 않은 정보 노출과 암호화 설계 결함을 문서화한 보안 연구입니다.
이 취약점들은 서로 연결되어 악용될 수 있으며, 인증 관련 SQL 쿼리가 포함된 애플리케이션 로그를 노출시키고 역변환 가능한 AES-CBC 암호문에서 사용자 비밀번호를 복구할 수 있습니다.
[면책 조항] 이 저장소는 보안 연구, 방어적 검증 및 교육 목적으로만 제공됩니다. 소유한 시스템 또는 명시적으로 평가가 승인된 시스템에서만 테스트하십시오.
인증되지 않은 사용자가 다음 주소에서 RPS 서비스 상태 페이지에 접근할 수 있습니다:
/RPS2019Service/status.html
이 페이지는 운영 로깅 컨트롤을 노출하며 생성된 로그를 다운로드할 수 있게 합니다. 이러한 로그에는 사용자 이름, IP 주소, SQL 쿼리 및 비밀번호 관련 값을 포함한 민감한 애플리케이션 데이터가 포함될 수 있습니다.
비밀번호는 일방향 비밀번호 해싱 함수로 보호되지 않습니다. 대신 RPS 2019는 사용자 이름에서 예측 가능하게 파생된 키 자재를 사용하는 AES-128-CBC를 사용합니다. 로그에서 사용자 이름과 암호화된 비밀번호 값을 확보하면 비밀번호를 평문으로 복구할 수 있습니다.
| CVE | 설명 | CWE | CVSS 3.1 (CNA) |
|---|---|---|---|
| CVE-2023-3349 | 다운로드 가능한 애플리케이션 로그를 통한 인증되지 않은 민감 정보 노출 | CWE-200 | 8.2 높음 |
| CVE-2023-3350 | AES-128-CBC 및 예측 가능한 사용자 이름 기반 키 자재를 사용하는 역변환 가능한 비밀번호 보호 | CWE-327 | 8.2 높음 |
이 공격 체인에는 SQL 인젝션, 비밀번호 무차별 대입 또는 기존 애플리케이션 계정이 필요하지 않습니다.
조사 결과 다음과 같은 조건들이 확인되었습니다:
AES 자체가 근본적인 문제는 아닙니다. 취약점은 비밀번호에 역변환 가능한 암호화를 사용하고, 키 자재가 예측 가능하며, IV가 무작위도 아니고 독립적이지도 않다는 점에서 발생합니다.
성공적인 악용 시 원격의 인증되지 않은 공격자가 다음을 수행할 수 있습니다:
/RPS2019Service/status.html에 대한 공개 접근을 제거합니다.방어자는 다음을 조사해야 합니다:
/RPS2019Service/status.html에 대한 예기치 않은 요청;이 문제들은 승인된 공격적 보안 평가 중 LABS @ ITRES에 의해 발견되었으며 INCIBE-CERT를 통해 CVE 식별자가 할당되었습니다.
자세한 기술 문서는 Old Dives 시리즈의 첫 번째 항목에서 확인할 수 있습니다:
이 저장소의 정보는 조직이 문서화된 취약점을 식별, 검증 및 수정하는 데 도움을 주기 위한 것입니다. 저자와 기여자는 이 자료의 사용으로 인한 오용 또는 손해에 대해 책임을 지지 않습니다.