CVE-2022-24693
설명
펌웨어가 QRTB 2.7.8까지인 Baicells Nova436Q 및 Neutrino 430 장치는 쉽게 발견되는 하드코드된 자격 증명을 가지고 있으며, 원격 공격자가 이를 사용하여 SSH로 인증할 수 있습니다. (자격 증명은 펌웨어에 저장되며, crypt 함수로 암호화됩니다.)
CVSS 점수
CVSS 9.8
취약점 유형
CWE-284: 부적절한 접근 제어
제품 공급업체
BaiCells
영향을 받는 제품 코드 베이스
- NOVA436Q - QRTB 2.7.8 (2.9.x 이전의 모든 빌드로 추정)
- NEUTRINO430 - QRTB 2.7.8 (2.9.x 이전의 모든 빌드로 추정)
영향을 받는 구성 요소
사용자 이름과 비밀번호가 펌웨어에 정적으로 저장되어 있으며, crypt()를 사용하여 암호화되므로 크래킹이 가능합니다.
공격 유형
원격
코드 실행 영향
True
서비스 거부 영향
True
권한 상승 영향
True
정보 노출 영향
True
공격 벡터
기본 상태에서 펌웨어에는 정적 사용자 이름과 비밀번호가 있습니다.
참고 자료
공급업체가 취약점을 확인하거나 인정했습니까?
예: https://community.na.baicells.com/t/important-security-notice-for-nova-436q-430-neutrino-430/1729
발견자
Luke Jenkins
타임라인
- 2021-12-07 - Baicells에 취약점 공개 정책을 게시해 달라는 이메일 전송.
- 2021-12-08 - Baicells와의 이메일 논의, 취약점 공개 정책 초안 및 연락처의 PGP 키 출처 포함.
- 2021-12-08 - 연락처에 PGP 암호화 이메일로 취약점 세부 정보 전송.
- 2022-02-08 - Baicells로부터 다가오는 QRTB 2.9 소프트웨어 릴리스에서 문제를 수정했다는 알림 수신.
- 2022-03-22 - Baicells가 이 페이지에 일반 텍스트 비밀번호를 포함하지 말아 달라고 요청.
- 2022-03-23 - Baicells에 비밀번호를 포함하지 않으면 보안에 대한 착각만 제공할 것이라는 이메일 회신.
- 2022-03-28 - BaiCells가 이 문제를 수정한 QRTB 2.9.10 소프트웨어 버전 게시.
- 2022-03-28 - 이전에 비어 있던 이 페이지가 수정되어 취약점 세부 정보 포함.
- 2022-03-28 - Mitre에 CVE-2022-24693 게시 요청 전송.
- 2022-03-28 - Baicells로부터 이 페이지에서 일반 텍스트 비밀번호를 제거해 달라는 이메일 수신.
- 2022-03-28 - 공개 타임라인을 근거로 Baicells의 요청을 거절하는 이메일 회신.
- 2022-03-29 - Mitre의 CVE 할당 팀으로부터 CVE-2022-24693 게시 요청이 접수 및 처리되었다는 이메일 알림 수신.
- 2022-03-29 - UETN 리더십으로부터 Baicells의 요청을 수용해 달라는 전화 통화.
- 2022-03-29 - Baicells에 메인 페이지에서 비밀번호를 제거하라는 요청을 수용하겠지만, 비밀번호는 git 히스토리와 archive.org를 통해 계속 사용 가능할 것이라는 이메일 전송.
- 2022-03-29 - 이 페이지에서 일반 텍스트 비밀번호 난독화.
- 2022-03-30 - Baicells로부터 이 취약점에 대한 공지 사항을 웹사이트에 게시 중이며, 고객에게 알리기 시작했다는 이메일 수신.
- 2022-03-30 - Baicells가 고객 이메일 목록에 보안 취약점을 경고하고 이 공지 및 수정된 소프트웨어로 연결되는 이메일 발송.
세부 사항:
- 사용자
admin의 비밀번호 Baicells는 unix crypt() DES 알고리즘을 사용하여 저장됨.
- 문서화되지 않았으며 구성 불가능한 사용자
anonymous의 비밀번호 pqmz325는 unix crypt() DES 알고리즘을 사용하여 저장됨.
- 문서화되지 않았으며 구성 불가능한 (SSH에는 사용할 수 없는 것으로 보이는) 사용자
root의 비밀번호 qpa;10@)는 unix crypt() DES 알고리즘을 사용하여 저장됨. 공급업체는 장치마다 고유하다고 주장하지만 확인되지 않음.
재현 방법
- 공급업체 웹사이트에서 로그인 없이 펌웨어를 다운로드합니다. 고객으로서 이것은 좋지만, 보안 관점에서 악의적인 행위자가 펌웨어를 쉽게 얻을 수 있다는 점을 이해하는 것이 중요합니다.
- 펌웨어 이미지에 대해 binwalk를 실행합니다. 이 도구는 펌웨어에 포함된 모든 파일을 추출합니다. /etc/passwd 및 /etc/shadow에서 사용자 이름과 비밀번호 해시를 가져옵니다.
- hashcat을 사용하여 해시를 크래킹합니다. 30년 이상 된 CPU를 염두에 두고 설계되었을 뿐만 아니라, unix crypt() 함수가 이 비밀번호를 "보호"하면서도 8자로 제한합니다. 비밀번호가 터집니다.
- anonymous 사용자의 자격 증명을 사용하여 장치에 SSH로 접속할 수 있습니다. 포트 스캔이나 2단계에서 구성 파일을 살펴보는 번거로움을 덜어드리자면, dropbear가 포트 27149에서 수신 대기 중입니다.
비고
이것은 제가 처음 게시하는 CVE이므로, 오류가 있다면 양해해 주시거나 풀 리퀘스트를 보내주시기 바랍니다.
이 문제에 대해 도움과 지원을 제공해 주신 UETN 관계자분들께 감사드립니다.
또한 이 문제를 해결하는 데 협력해 주신 Baicells NA 직원분들께도 감사드립니다.