- MS 다중인증 환경에서 인증앱을 활용한 다중인증의 경우, 인증 우회 취약점 발견 [1] - Outlook, OneDrive, Teams, Azure Cloud 등 각종 MS 계정에 무단 접근이 가능 - MS에 가입된 유로 계정은 약 4억 개로 공격 성공 시 매우 큰 파장을 일으킬 수 있음
2. 주요내용
- 사용자가 MS 포털에 접속 시 계정과 6자리 코드를 사용해 로그인 시도 > 사용자가 로그인 페이지에 처음 접속하면 세션 식별자 할당 > 계정 정보 입력 후 추가 인증을 요구하며, 6자리 코드를 제공해 인증 과정 마무리
- 한 세션에서 10번 연속 입력을 실패할 경우 계정 잠금 > 연구진은 새 세션을 빠르게 생성한 후 6자리 코드를 대입하는 실험을 진행 > 실험 결과 여러 시도를 어떠한 경고(≒알림) 없이 동시에 실행할 수 있음을 발견
- 인증 앱을 사용한 인증 방법에는 시간 제한이 존재 > 30초 간격으로 새로운 코드가 생성 되도록 하는 것이 일반적 > 그러나, MS 로그인을 테스트한 결과 코드가 약 3분동안 유효한 것으로 확인 > 이는 공격에 성공할 확률이 3% 증가하는 수치*
* 공격자의 입장에서 세션을 24개 생성해 연속적으로 공격을 수행할 경우 70분의 시간을 확보하는 것 * 70분이 지나면 유효한 코드를 입력할 확률이 이미 50%를 넘어감
- 연구원들은 결과를 MS에 제보 > MS는 취약점을 수정한 버전 배포
권고 사항
구분
설명
다중인증 활성화
- 완벽한 안전을 보장하는 기술이 아니지만, 계정 보호에 필수적인 방법 - 다중인증을 사용하여도 100% 안전하지 않으며, 꾸준히 관리해야 함
- 블랙 바스타 랜섬웨어 그룹, 새로운 공격 기법 도입 - 봇넷 외 이메일 폭탄, QR 코드, 소셜 엔지니어링 활용
내용
- 블랙 바스타 랜섬웨어 그룹, 이메일 폭탄을 공격 수단으로 활용 > 대량의 메일링 리스트에 피해자의 이메일 주소를 등록해 피해자 이메일 함을 혼란스럽게 만드는 방식 > 공격자는 IT 직원이나 기술 지원 요원으로 위장해 접근해 원격 접속 도구 설치 유도
- QR 코드도 공격 수단으로 활용 > 채팅 플랫폼을 통해 피해자에게 QR 코드를 전송 > 신뢰할 수 있는 모바일 기기를 추가하라는 명목으로 자격 증명 탈취 시도 > 초기 접근 이후 커스텀 툴*을 사용해 자격 증명 수집 및 네트워크 탐색 * Zbot/ZLoader : 자격 증명 탈취 악성코드 * DarkGate : 후속 공격을 가능하게 하는 백도어
- 커스텀 악성코드*를 활용해 피해자의 자격 증명을 이용해 VPN 접속 정보 확보, MFA 우회해 내부 침투 * KNOTWRAP : C/C++로 작성된 메모리 기반 드로퍼로 추가 페이로드를 메모리에만 실행 * KNOTROCK : 랜섬웨어 배포에 사용되는 .NET 기반 유틸리티 * DAWNCRY : 하드코딩된 키로 리소스를 복호화해 메모리에서 실행하는 드로퍼 * PORTYARD : 명령제어(C2) 서버와 커스텀 프로토콜을 통해 연결하는 터널링 도구 * COGSCAN : 네트워크 내 호스트를 탐색하는 정찰 도구
- 국내 IP 카메라 중 80%가 중국산으로 관련 해킹사고 급증 - 철저한 대응체계를 갖춰 개인 피해 줄일 필요
내용
- 최근 국내 중국산 IP 카메라 보안 문제가 사회적 이슈화 > 국내 IP 카메라 중 80%가 중국산 > 가정, 기업, 정부기관에서 사용중인 중국산 Wi-Fi 공유기, IP캠, IT 기기를 노리는 해킹 증가
- 네트워크를 사용하는 대부분의 중국산 제품에서 백도어가 발견 > 정부 제재가 없어 언제든 쉽게 해킹될 수 있는 위험에 무방비로 노출
- 중국산 IT 기기 해킹사고 대응 방안 ① 개인과 소규모 사용자 > 제품 선택 단계에서부터 신뢰할 수 있는 브랜드를 우선 고려 > 값싼 제품보다는 국제 보안 인증기기 선택 > 펌웨어, 소프트웨어 항상 최신 상태로 유지 > 초기 비밀번호 반드시 변경하고, 강력한 비밀번호를 사용 > 기본적인 보안 설정도 철저히 준수 > 기기 사용 시 개인 정보 입력을 최소화 > 음성 녹음이나 위치 추적 등 불필요한 기능은 비활성화
② 기업 및 조직 > 인증받은 IT기기만을 사용하고, 공급망을 철저히 검토 > 민감한 데이터를 다루는 시스템의 경우 인터넷과 물리적으로 분리된 네트워크를 사용 > 정기적인 보안 점검을 통해 기기의 백도어 여부를 확인 > 해킹 시뮬레이션 테스트로 잠재적인 취약점을 미리 탐지 > 네트워크 접근 통제를 강화하고, 불필요한 기능은 비활성 > 네트워크 보안 솔루션을 도입해 외부 공격에 대비
③ 정부와 공공기관 > 수입 규제와 인증 시스템을 강화해, 보안 검증을 통과하지 못한 제품의 수입 및 사용을 제한 > 공공기관과 국가중요기반시설에는 검증된 장비만 사용하도록 법적 규제를 마련 > 국산 보안 기술과 IT 제품 개발을 적극 지원 > 국가 수준의 보안 인증 체계를 마련해 모든 네트워크 연결 기기에 대해 보안성을 확보 > 국민이 IT기기의 보안을 스스로 관리할 수 있도록 교육 및 캠페인을 통해 경각심을 높이기 > 국제 협력을 통해 백도어 문제를 해결하고, 공통 표준을 수립해 신뢰성을 확보
④ 기술적 대책 마련 > 'AI 또는 고급분석 기법 기반의 NDR' 기술을 도입해, 비정상적인 네트워크 트래픽을 실시간 탐지 및 대응 시스템을 구축 > 국가중요기반시설에는 독립적이고 폐쇄된 네트워크를 운영해 외부 해킹 가능성을 차단하고, 백도어를 탐지할 수 있는 전문 솔루션을 적용
- 미국(CISA, NSA, FBI), 호주(ACSC), 캐나다(CCCS), 뉴질랜드(NCSC-NZ)가 협동해 통신 인프라 관련 보안 가이드라인 발표 [1] - 사이버 위협 행위자, 특히 중국과 관련된 위협에 대응하기 위한 권고사항
2. 주요내용
구분
설명
모니터링
- 지속적인 스위치, 라우터, 방화벽 등 네트워크 장치의 구성 변경 모니터링 및 비정상적 변경에 대해 경고하는 메커니즘 구축 - 네트워크 흐름 모니터링 솔루션 구현 및 가시성 확보 - 관리 트래픽 노출 최소화 및 전용 관리 워크스테이션에서만 접근 허용 - 사용자 및 서비스 계정 로그인을 모니터링하여 비정상적인 로그인 시도 탐지 및 비활성화 - 중앙 집중화된 로그 관리 및 분석으로 신속한 의심스러운 활동 식별 등
강화 시스템 및 장치
- 프로토콜 및 관리 프로세스 개선 > 대역 외 관리 네트워크 사용 > 기본 거부 ACL 정책 구현 > 강력한 네트워크 세분화 > VPN 게이트웨이에 강력한 암호화 프로토콜 적용 > AAA(Authentication_인증, Authorization_권한부여, Accounting_계정관리) 로깅이 CIA 기능을 갖춘 중앙 로깅 서버로 전송되도록 보장 > 불필요한 프로토콜 비활성화 > 기본 비밀번호 사용 지양 > 신뢰할 수 있는 무결성 검증 도구 활용 등
Cisco 특정 지침
- 사이버 위협 행위자들은 Cisco 장비의 특정 기능을 표적으로 공격하므로 조치 필요 > Cisco Smart Install 서비스 비활성화 > Guestshell 액세스 비활성화 > 암호화되지 않은 웹 관리 기능 비활성화 > Telnet을 비활성화 > 비밀번호 관리 강화
- PaloAlto GlobalProtect, SonicWall NetExtender SSL-VPN 클라이언트 등에 심각한 취약점 "NachoVPN" 발견 [1][2][3] - 공격자가 악성 VPN 서버를 통해 피해자 기기에 악성 업데이트 설치 또는 민감한 정보를 탈취할 수 있음 - 소셜 엔지니어링 기법을 활용해 사용자를 악성 VPN 서버로 유도해 익스플로잇
2. 주요내용
2.1 CVE-2024-29014
- SonicWall의 NetExtender Windows(32 및 64비트) 클라이언트에서 발생하는 임의 코드 실행 취약점 > 소셜 엔지니어링을 통해 악성 VPN 서버로 연결 하도록 유도 및 가짜 EPC 클라이언트 업데이트를 전달해 시스템 권한으로 임의 코드를 실행
영향받는 버전 - NetExtender Windows (32 and 64 bit) 10.2.339 및 이전 버전
- NetExtender 클라이언트는 SSL-VPN 서버에 연결하는 동안 서버에 EPC 클라이언트 업데이트가 있는지 확인하기 위한 요청 전송 > GET /cgi-bin/sslvpnclient?epcversionquery=nxw > 서버는 버전 번호로 판단되는 값으로 응답 > 응답이 0xFF인 경우 클라이언트는 /NACAgent.exe에 대한 GET 요청을 전송
- NECore.dll의 ValidateSignature()에서 해당 파일이 다운로드되고 유효성을 검증
> 해당 함수는 WINTRUST_ACTION_GENERIC_VERIFY_V2 작업을 사용해 WinVerifyTrust 호출 (실행 파일에 포함된 Authenticode 서명 검증 과정) > 그러나 실행 파일의 서명이 신뢰할 수 있는 CA와 연결되는지만 확인하며, 특정 게시자(Microsoft, Adobe, Oracle 등)에 의해 서명되었는지 확인하지 않음
> 따라서 시스템에서 신뢰하는 코드 서명 인증서로 실행 파일을 서명만 하게되면 서명 검사를 통과할 수 있음
※ 다운로드한 NACAgent.exe는 SYSTEM으로 실행되는 NEService.exe의 자식 프로세스로 실행
- sonicwallconnectagent 사용자 정의 URI 핸들러는 SMA Connect 에이전트에 의해 Windows 레지스트리에 등록
> 핸들러는 클라이언트가 연결해야하는 서버를 지정하는 Base64로 인코딩된 JSON 개체가 포함 > 따라서 공격자는 host 값을 악의적인 SSL-VPN 서버의 IP를 가리키도록 sonicwallconnectagent:// URL을 제작하면 취약점 악용 가능
[사용자 정의 URI 핸들러 예시] sonicwallconnectagent://eyJhY3Rpb24iOjEwLCJoZWxwZXJ2ZXJzaW9uIjoiMS4xLjQyIiwiaG9zdCI6IjE3Mi4xNy4xMjguMSIsInBvcnQiOiI0NDMiLCJ1c2VybmFtZSI6InVzZXIiLCJleHRlbmRpZCI6IkV0UUJ2MFp3elY0OGsxRVpaQ3JMU3ZwOGJLcFh4NFRCcGVISmlmOVUxczQ9In0
- 사용자가 조작된 페이지를 방문하면 악성 SSL-VPN 서버에 연결 및 서명된 악성 NACAgent.exe 실행 > NetExtender 클라이언트에 EPC 에이전트 업데이트 필요 메시지가 표시되며, 무시 또는 확인을 누를 경우 악성 NACAgent.exe 파일이 시스템 권한으로 실행됨
2.2 CVE-2024-5921
- PaloAlto Networks GlobalProtect 앱의 불충분한 인증 유효성 검사로 임의의 서버에 연결할 수 있는 취약점 > 소셜 엔지니어링을 통해 악성 VPN 서버로 연결 하도록 유도 및 가짜 업데이트를 전달해 시스템 권한으로 임의 코드를 실행
영향받는 버전 - GlobalProtect 6.2.6 이전 버전
- 클라이언트-서버간 인증 과정 중 클라이언트는 POST 메소드로 서버에 자격 증명을 전송 > 서버는 XML 정책 객체로 포맷된 구성 데이터로 응답
- GlobalProtect 클라이언트는 기본적으로 응답을 신뢰 > 유일한 검증은 서버가 해당 도메인에 대한 유효한 TLS 인증서를 가지는지 확인하고 제공된 자격증명을 수락하는 것 > 익스플로잇에서 root-ca, version, uninstall, client-upgrade 요소가 중요
구분
설명
root-ca
- 클라이언트에 제공된 인증서를 신뢰할 수 있는 인증서 저장소에 설치하도록 지시 - GlobalProtect 게이트웨이의 IP 주소가 클라이언트가 신뢰하는 TLS 인증서를 사용할 수 있도록 하기위함 - 공격자는 인증서가 주장하는 모든 목적을 위해 컴퓨터가 완전히 신뢰하는 인증서를 설치할 수 있음 (MITM이 발생해 데이터 탈취 또는 악성 SW 서명 및 실행이 가능)
version
- 클라이언트에 반환된 version 태그는 업데이트 요청이 트리커되는지 여부를 결정 - 값이 클라이언트에 현재 설치된 버전보다 높은 경우 연결 성공 시 업데이트를 요청 - Portal 인증 응답의 version 태그가 현재 설치된 버전보다 높은 경우 > 클라이언트는 Portal에 업데이트를 요청 > 서버는 클라이언트의 OS와 아키텍처에 맞는 적절한 설치 프로그램으로 302 응답
uninstall
- 업그레이드가 관리되는 방식을 설정 > Allow with Prompt (Default) : 새 버전이 확인될 경우 업데이트 메시지 표시 > Allow Transparently : 사용자 상호 작용 없이 자동으로 업데이트 발생 > Internal : 사용자가 내부 네트워크에서 연결되어 있는 경우에만 사용자 상호 작용 없이 업그레이드되며, 내부 GW와 내부 호스트 감지를 구성해야 함 (외부 네트워크에서 연결된 경우 업그레이드 연기) > Disallow : 업데이트 차단 > Allow Manually : "버전 확인"을 선택해 세 버전이 있는 경우 사용자 판단하 수동 업데이트 적용
client-upgrade
- transparent로 설정된 경우 사용자 위치와 동의와 관계없이 자동 업데이트
- 공격 성공 조건과 성공 시 가능한 악성 행위는 다음과 같음
구분
설명
공격 성공 조건
- 서버 인증서 : 공인 인증 기관에서 서명한 포털용 인증서 - 사용자 지정 루트 인증 기관(CA) : 로컬에서 생성된 CA PEM 파일이 클라이언트에 제공되어 신뢰할 수 있는 인증서 저장소에 설치 - 코드 서명 인증서 : 사용자 지정 CA가 악성 MSI에 서명하기 위해 서명한 인증서
성공 시 가능한 악성 행위
- 자격 증명 공개 : 사용자가 입력한 인증 세부 정보 수집 - 사기성 루트 인증 기관 설치 : 중간자 공격(MITM)이나 코드 서명과 같은 추가 공격이 가능 - 라우팅 구성 조작 : 네트워크 트래픽을 제어하기 위해 악의적인 라우팅 설정 - 악성 업데이트 요청 : 신뢰할 수 있는 기관에서 서명한 MSI를 가져와서 실행하도록 클라이언트를 트리거
3. 대응방안
- 벤더사 제공 업데이트 적용 [9][10]
취약점
제품명
영향받는 버전
해결 버전
CVE-2024-29014
NetExtender Windows (32 and 64 bit)
10.2.339 및 이전 버전
10.2.341 및 이후 버전
CVE-2024-5921
GlobalProtect
6.2.6 이전 버전
6.2.6 (또는 VPN 클라이언트를 FIPS-CC 모드에서 실행)
- NachoVPN 툴 활용 [11]
> 개념 증명용 오픈소스 기반 도구로, 악성 VPN 서버를 시뮬레이션할 수 있음
> Cisco AnyConnect, SonicWall NetExtender, Palo Alto GlobalProtect, Ivanti Connect Secure 등의 VPN 제품 지원
- 권고사항
> SSL-VPN 클라이언트를 최신 버전으로 업데이트
> 호스트 기반 방화벽 규칙을 사용해 VPN 클라이언트가 통신할 수 있는 IP 제한
> WDAC, EDR 등을 사용해 VPN 클라이언트가 승인된 실행 파일과 스크립트만 실행할 수 있도록 설정