GN⁺: $20로 RCE 달성 후 우연히 .mobi 관리자 된 사건
(labs.watchtowr.com)요약
-
연구 배경
- 연구는 동료들과 함께 재미로 시작되었음.
- WHOIS 클라이언트의 취약점을 현실에서 악용할 수 있는지 연구함.
- .MOBI TLD의 WHOIS 서버가 이전되었고, 이전 도메인이 만료된 것을 발견함.
- 도메인을 $20에 구매하여 WHOIS 서버를 설정함.
-
연구 결과
- 135,000개 이상의 시스템이 WHOIS 서버에 쿼리를 보냄.
- 주요 쿼리 출처: .GOV, .MIL 엔티티, 사이버 보안 도구 및 회사들.
- 인증 기관들이 도메인 소유자 확인을 위해 WHOIS 서버를 사용함.
- GlobalSign을 통해 'microsoft.mobi' 도메인의 소유자 이메일을 'whois@watchtowr.com'으로 설정할 수 있었음.
- 이는 CA 프로세스를 무력화시키는 결과를 초래함.
-
공격 시나리오
- WHOIS 클라이언트의 취약점을 악용하기 위해서는 다음 조건이 필요함:
- MiTM 공격
- WHOIS 서버 접근
- WHOIS 리퍼럴 설정
- 연구팀은 WHOIS 서버를 설정하여 실제로 쿼리를 받음으로써 공격 가능성을 입증함.
- WHOIS 클라이언트의 취약점을 악용하기 위해서는 다음 조건이 필요함:
-
구체적인 취약점
-
phpWHOIS (CVE-2015-5243): WHOIS 서버에서 받은 데이터를 PHP
eval
함수로 실행하여 RCE 발생. - Fail2Ban (CVE-2021-32749): WHOIS 클라이언트의 출력을 제대로 검증하지 않아 명령어 삽입 취약점 발생.
-
phpWHOIS (CVE-2015-5243): WHOIS 서버에서 받은 데이터를 PHP
-
현실적인 영향
- 많은 인터넷 인프라가 오래된 WHOIS 서버를 참조하고 있음.
- 주요 도메인 등록기관, WHOIS 기능 웹사이트, 사이버 보안 도구 등이 영향을 받음.
- TLS/SSL 인증 기관들이 WHOIS 데이터를 사용하여 도메인 소유자 확인을 수행함.
-
해결책
- 연구팀은 ShadowServer와 협력하여
dotmobiregistry.net
도메인을 싱크홀 시스템으로 전환함. - 연구 결과를 통해 레거시 인프라의 문제와 TLS/SSL 인증 기관의 취약점을 강조함.
- 연구팀은 ShadowServer와 협력하여
GN⁺의 정리
- 이 연구는 WHOIS 클라이언트의 취약점을 현실에서 악용할 수 있는 가능성을 입증함.
- TLS/SSL 인증 기관의 도메인 소유자 확인 프로세스가 쉽게 무력화될 수 있음을 보여줌.
- 많은 인터넷 인프라가 오래된 WHOIS 서버를 참조하고 있어 보안 위험이 큼.
- 연구 결과는 레거시 인프라의 문제와 TLS/SSL 인증 기관의 취약점을 강조함.
- 비슷한 기능을 가진 프로젝트로는 Let's Encrypt가 있음.
Hacker News 의견
-
도메인을 절대 만료시키지 말아야 함
- 도메인을 비즈니스와 연관시키면 영원히 갱신해야 함
-
인터넷이 사라질까 두려움
- 누군가 호텔 방에서 Raspberry Pi로 인터넷을 망칠 수 있음
-
WHOIS 서버 목록을 하드코딩하는 도구들에 대한 의문
- DNS에 등록하는 표준 방법이 있지만 많은 TLD가 기록이 없음
- 예시:
dig _nicname._tcp.fr SRV +noall +answer
-
오래된 도메인을 갱신하는 것이 중요함
- 도메인을 사용하면 팀이 끝날 때까지 갱신해야 함
- 오래된 도메인을 언제 놓아줄지 알기 어려움
-
dotmobiregistry.net 도메인이 ShadowServer의 싱크홀 시스템으로 리디렉션됨
- 도메인이 폐기될 예정이라면 404를 반환하는 것이 더 나음
-
컴퓨터 접근 방식은 실패할 운명임
- SBOM 체크와 빈번한 업데이트로 완벽한 보안을 달성하는 것은 불가능함
- 모든 시스템은 항상 버그와 취약점이 있을 것임
-
만료된 WHOIS 서버 도메인을 구매하여 얻는 공격 표면이 엄청남
-
WHOIS의 진정한 해결책은 RDAP임
- ccTLD에는 필수 사항이 아니며 많은 non-ccTLD가 작동하지 않음
- 참고 링크: Registration Data Access Protocol
-
로그를 데이터베이스에 저장한 것이 흥미로움
-
sqlite3 whois-log-copy.db "select source from queries"|sort|uniq|wc -l
명령어 사용에 대한 의문
-
-
문제를 해결하려는 노력에도 불구하고 상황이 악화됨
- 반대자들이 파싱 문제를 고쳤다면 더 나은 결과를 얻었을 것임