완전히 업데이트된 UEFI 시스템에서 UEFI 보안 부팅을 우회하는 최초의 실제 UEFI 부트킷이 이제 현실이 되었습니다.
최근 몇 년 동안 발견된 UEFI 취약점의 수와 이를 패치하지 못하거나 합리적인 시간 내에 취약한 바이너리를 취소하는 데 실패한 사례는 위협 행위자가 간과하지 않았습니다. 그 결과, 필수 플랫폼 보안 기능인 UEFI 보안 부팅을 우회하는 공개적으로 알려진 최초의 UEFI 부트킷이 이제 현실이 되었습니다. 이 블로그 게시물에서는 UEFI 보안 부팅이 활성화된 최신 Windows 11 시스템에서도 실행할 수 있는 이 UEFI 부트킷의 첫 번째 공개 분석을 제공합니다. 부트킷의 기능과 개별 기능으로 인해 우리는 부트킷으로 알려진 부트킷을 다루고 있다고 믿게 됩니다. 검은 연꽃, 해킹 포럼에서 판매되는 UEFI 부트킷 최소 5,000년 2022월 이후 $XNUMX.
UEFI 부트킷은 매우 강력한 위협으로, OS 부팅 프로세스를 완전히 제어하므로 다양한 OS 보안 메커니즘을 비활성화하고 초기 OS 시작 단계에서 자체 커널 모드 또는 사용자 모드 페이로드를 배포할 수 있습니다. 이를 통해 매우 은밀하게 높은 권한으로 작동할 수 있습니다. 지금까지 일부만이 야생에서 발견되어 공개적으로 설명되었습니다(예: 여러 악성 EFI 샘플 2020년에 발견했거나 작년에 발견한 것과 같은 완전한 기능을 갖춘 UEFI 부트킷 – ESPecter 부트킷 - 또는 FinSpy 부트킷 Kaspersky 연구원이 발견).
UEFI 부트킷은 다음과 같은 펌웨어 이식과 비교할 때 은밀성을 잃을 수 있습니다. 로하스; 부트킷이 쉽게 액세스할 수 있는 FAT2018 디스크 파티션에 있기 때문에 32년에 우리 팀이 발견한 최초의 실제 UEFI 펌웨어 임플란트입니다. 그러나 부트로더로 실행하면 펌웨어 이식과 거의 동일한 기능을 제공하지만 BWE, BLE 및 PRx 보호 비트와 같은 다단계 SPI 플래시 방어 또는 하드웨어에서 제공하는 보호(예: Intel Boot Guard)를 극복할 필요가 없습니다. ). 물론 UEFI 보안 부팅은 UEFI 부트킷을 방해하지만 이 필수 보안 메커니즘을 우회할 수 있는 알려진 취약점이 무시할 수 없을 정도로 많이 있습니다. 최악의 경우 BlackLotus가 악용한 것을 포함하여 일부는 이 글을 쓰는 시점에도 최신 시스템에서 여전히 쉽게 악용될 수 있다는 것입니다.
조사는 2022년 말 원격 분석에서 BlackLotus 사용자 모드 구성 요소인 HTTP 다운로더로 밝혀진 몇 가지 적중으로 시작되었습니다. 초기 평가 후 샘플에서 발견된 코드 패턴을 통해 XNUMX개의 BlackLotus를 발견했습니다. 설치 프로그램(VirusTotal 및 자체 원격 분석 모두). 이를 통해 우리는 전체 실행 체인을 탐색하고 여기서 다루고 있는 것이 일반 맬웨어가 아니라는 것을 깨달았습니다.
다음은 BlackLotus에 대한 핵심 사항과 이와 관련된 일련의 이벤트를 요약한 타임라인입니다.
- UEFI 보안 부팅이 활성화된 최신의 완전히 패치된 Windows 11 시스템에서 실행할 수 있습니다.
- XNUMX년 이상 된 취약점을 악용합니다(CVE-2022-21894) UEFI 보안 부팅을 우회하고 부트킷에 대한 지속성을 설정합니다. 이것은 공개적으로 알려진 최초의 이 취약점 악용 사례입니다.
- 이 취약점은 Microsoft의 2022년 XNUMX월 업데이트에서 수정되었지만 영향을 받는 만큼 여전히 악용이 가능합니다. 유효하게 서명된 아직 바이너리가 추가되지 않았습니다. UEFI 해지 목록. BlackLotus는 이를 이용하여 취약점을 악용하기 위해 적법하지만 취약한 바이너리의 복사본을 시스템에 가져옵니다.
- BitLocker, HVCI 및 Windows Defender와 같은 OS 보안 메커니즘을 비활성화할 수 있습니다.
- 일단 설치되면 부트킷의 주요 목표는 커널 드라이버(무엇보다 부트킷이 제거되지 않도록 보호함)와 C&C와의 통신을 담당하고 추가 사용자 모드 또는 커널 모드 페이로드를 로드할 수 있는 HTTP 다운로더를 배포하는 것입니다. .
- BlackLotus는 적어도 6월 XNUMX일부터 언더그라운드 포럼에서 광고 및 판매되었습니다.th, 2022. 이 블로그 게시물에서는 부트킷이 실제이며 광고가 단순한 사기가 아니라는 증거를 제시합니다.
- 흥미롭게도 우리가 분석한 일부 BlackLotus 설치 프로그램은 손상된 호스트가 다음 로케일 중 하나를 사용하는 경우 부트킷 설치를 진행하지 않습니다.
- 루마니아어(몰도바), ro-MD
- 러시아어(몰도바), ru-MD
- 러시아어(러시아), ru-RU
- 우크라이나어(우크라이나) , uk-UA
- 벨로루시어(벨로루시), be-BY
- 아르메니아어(아르메니아), hy-AM
- 카자흐어(카자흐스탄), kk-KZ
BlackLotus와 관련된 개별 이벤트의 타임라인은 그림 1에 나와 있습니다.
이미 언급했듯이 부트킷은 적어도 6월 XNUMX일부터 언더그라운드 포럼에서 판매되었습니다.th, 2022. 이 시점에서 우리는 원격 측정에서 피해자에게 부트킷을 배포하는 데 사용된 정확한 배포 채널을 식별할 수 없었습니다. 공개 소스와 원격 측정 모두에서 얻을 수 있었던 적은 수의 BlackLotus 샘플로 인해 아직 많은 위협 행위자가 이를 사용하기 시작하지 않았다고 믿게 됩니다. 그러나 BlackLotus가 의존하는 취약한 부트로더가 폐기되기 전까지는 부트킷의 쉬운 배포 및 크라임웨어 그룹의 확산 능력을 기반으로 이 부트킷이 잘 알려진 크라임웨어 그룹의 손에 들어갈 경우 상황이 급격하게 변할 것을 우려합니다. 봇넷을 사용하는 맬웨어.
이것이 정말 BlackLotus입니까?
BlackLotus에 대한 정보를 요약한 여러 기사 또는 게시물이 있습니다(여기에서 지금 확인해 보세요., 여기에서 지금 확인해 보세요. 및 여기에서 지금 확인해 보세요. 그리고 더 많은...), 모두 언더그라운드 해킹 포럼에서 부트킷 개발자가 제공한 정보를 기반으로 합니다. 지금까지 아무도 이러한 주장을 확인하거나 반증하지 않았습니다.
다음은 부트킷 샘플을 리버스 엔지니어링하는 동안 발견한 내용과 비교하여 사용 가능한 간행물의 주장에 대한 요약입니다.
- 해킹 포럼에 대한 BlackLotus의 광고는 통합 보안 부팅 바이패스 기능을 제공한다고 주장합니다.. 취약한 드라이버를 UEFI 취소 목록에 추가하는 것은 현재로서는 불가능합니다. 이 취약성은 오늘날에도 여전히 사용되는 수백 개의 부트로더에 영향을 미치기 때문입니다. ✅
- 참: 착취하다 CVE-2022-21894 Secure Boot를 중단하고 UEFI-Secure-Boot 지원 시스템에서 지속성을 달성하기 위해. 사용하는 취약한 드라이버는 최신 버전에서 여전히 취소되지 않습니다. dbx, 작성 당시.
- 해킹 포럼에 대한 BlackLotus의 광고는 부트킷에 제거에 대한 Ring0/Kernel 보호 기능이 내장되어 있다고 주장합니다. ✅
- 참: 해당 커널 드라이버는 EFI 시스템 파티션(ESP)의 파일에 속한 핸들이 닫히지 않도록 보호합니다. 추가 보호 계층으로 이러한 핸들은 지속적으로 모니터링되며 이러한 핸들 중 하나라도 닫히면 BSOD(Blue Screen Of Death)가 트리거됩니다. ESP의 부트킷 파일이 제거되지 않도록 보호 안내
- 해킹 포럼에 대한 BlackLotus의 광고는 맬웨어 분석 시도를 차단하는 안티 가상 머신(anti-VM), 안티 디버그 및 코드 난독화 기능이 함께 제공된다고 주장합니다. ✅
- 참: 복제 또는 분석을 더 어렵게 만드는 다양한 안티 VM, 안티 디버그 및 난독화 기술이 포함되어 있습니다. 그러나 우리는 약간의 노력으로 쉽게 극복할 수 있는 혁신적이거나 고급 안티 분석 기술에 대해 이야기하는 것이 아닙니다.
- 해킹 포럼에 대한 BlackLotus의 광고는 그 목적이 HTTP 다운로더 역할을 하는 것이라고 주장합니다. ✅
- 참: 최종 구성요소가 HTTP 다운로더 역할을 합니다. HTTP 다운로더 섹션에 있어야 합니다.
- 해킹 포럼에 대한 BlackLotus의 광고는 HTTP 다운로더가 합법적인 프로세스 내에서 SYSTEM 계정으로 실행됩니다. ✅
- 참: HTTP 다운로더는 Winlogon.exe가 프로세스 컨텍스트.
- 해킹 포럼에 대한 BlackLotus의 광고는 온디스크 크기가 80kB에 불과한 작은 부트킷입니다. ✅
- 사실: 실제로 얻을 수 있었던 샘플은 약 80kB입니다.
- 해킹 포럼에 대한 BlackLotus의 광고는 HVCI, Bitlocker, Windows Defender와 같은 기본 제공 Windows 보안 보호 기능을 비활성화하고 UAC(사용자 계정 제어)를 우회합니다. ✅
이러한 사실을 바탕으로 우리는 야생에서 발견한 부트킷이 BlackLotus UEFI 부트킷이라고 확신합니다.
공격 개요
BlackLotus 타협 체인의 단순화된 체계가 그림 2에 나와 있습니다. 이는 세 가지 주요 부분으로 구성됩니다.
- 부트킷의 파일을 EFI 시스템 파티션에 배포하고 HVCI 및 BitLocker를 비활성화한 다음 시스템을 재부팅하는 설치 프로그램 실행(그림 1의 2단계)으로 시작합니다.
- 첫 번째 재부팅 후 CVE-2022-21894를 악용하고 공격자의 후속 등록 기계 소유자 키 (MOK)가 발생하여 UEFI 보안 부팅이 활성화된 시스템에서도 지속성을 달성합니다. 그런 다음 머신이 다시 재부팅됩니다(그림 2의 4-2단계).
- 모든 후속 부팅에서 자체 서명된 UEFI 부트킷이 실행되고 커널 드라이버와 사용자 모드 페이로드인 HTTP 다운로더를 모두 배포합니다. 이러한 구성 요소는 함께 C&C 서버에서 추가 사용자 모드 및 드라이버 구성 요소를 다운로드하고 실행할 수 있으며 제거되지 않도록 부트킷을 보호할 수 있습니다(그림 5의 9-2단계).
흥미로운 유물
이것이 BlackLotus UEFI 부트킷이라고 생각하지만 분석한 샘플에서 이 이름에 대한 참조를 찾지 못했습니다. 대신, 코드는 다음에 대한 참조로 가득 차 있습니다. 히구라시는 울 때 예를 들어 다음과 같은 개별 구성 요소 이름의 애니메이션 시리즈 higurashi_installer_uac_module.dll 및 higurashi_kernel.sys, 부트킷 바이너리 서명에 사용되는 자체 서명 인증서에도 있습니다(그림 3 참조).
또한 코드는 암호를 해독하지만 BlackLotus 작성자의 메시지가 포함된 다양한 문자열을 사용하지 않습니다(그림 4 참조 – 참고, 하세르자데 잘 알려진 연구원이자 다양한 맬웨어 분석 도구의 저자) 또는 다양한 노래, 게임 또는 시리즈에서 임의로 인용한 것입니다.
설치 과정
BlackLotus 설치 프로그램 분석부터 시작합니다. 부트킷은 오프라인과 온라인의 두 가지 버전으로 제공되는 설치 프로그램 형태로 배포되는 것으로 보입니다. 이 두 가지의 차이점은 나중에 보안 부팅을 우회하는 데 사용되는 합법적(하지만 취약한) Windows 바이너리를 얻는 방식에 있습니다.
- 오프라인 버전에서는 Windows 바이너리가 설치 프로그램에 포함되어 있습니다.
- 온라인 버전에서 Windows 바이너리는 Microsoft 기호 저장소에서 직접 다운로드됩니다. 지금까지 다음 Windows 바이너리가 BlackLotus 부트킷에 의해 악용되는 것을 확인했습니다.
- https://msdl.microsoft.com/download/symbols/bootmgfw.efi/7144BCD31C0000/bootmgfw.efi
- https://msdl.microsoft.com/download/symbols/bootmgr.efi/98B063A61BC000/bootmgr.efi
- https://msdl.microsoft.com/download/symbols/hvloader.efi/559F396411D000/hvloader.efi
설치 프로그램의 목표는 분명합니다. BitLocker 디스크 암호화 및 HVCI와 같은 Windows 보안 기능을 비활성화하고 악성 부트킷을 비롯한 여러 파일을 ESP에 배포하는 일을 담당합니다. 완료되면 손상된 시스템을 재부팅하여 드롭된 파일이 작업을 수행하도록 합니다. 즉, UEFI 보안 부팅 보호 상태에 관계없이 시스템이 시작될 때마다 자체 서명된 UEFI 부트킷이 자동으로 실행되도록 합니다.
0단계 – 초기화 및 (잠재적) 승격
설치 프로그램이 실행되면 나머지 파일을 ESP에 배포하고 HVCI 끄기 또는 BitLocker 비활성화와 같은 높은 프로세스가 필요한 다른 작업을 수행할 수 있는 충분한 권한(최소한 관리자 필요)이 있는지 확인합니다. 그렇지 않은 경우 여기에 자세히 설명된 UAC 우회 방법을 사용하여 설치 프로그램을 다시 실행하여 권한 상승을 시도합니다. 프로그램 호환성 도우미를 통한 UAC 우회.
필요한 권한으로 계속해서 사용 가능한 Windows API 기능을 사용하여 SecureBoot UEFI 변수의 값을 읽어 UEFI 보안 부팅 상태를 확인하고 직접 액세스하여 Windows 버전을 확인합니다. KUSER_SHARED_DATA 구조체 필드 Nt주요 버전 및 NtMinor버전 메모리에. 피해자의 시스템에 부트킷을 배포하기 위해 UEFI 보안 부팅을 우회해야 하는지 여부를 결정하기 위해 그렇게 합니다(보안 부팅 지원은 Windows 8에서 처음 추가되었으며 특정 시스템에서 활성화되지 않을 수 있기 때문입니다).
다음 단계를 진행하기 전에 합법적인 Windows 부팅 관리자(bootmgfw.efi.) 바이너리에 위치 ESP:EFIMicrosoft부팅 ~에 디렉토리 winload.efi. 이 이름 bootmgfw.efi. 백업은 나중에 부트킷에서 OS를 시작하거나 C&C 서버에서 "제거" 명령을 받은 경우 원래 부트 체인을 복구하는 데 사용됩니다. 씨앤씨커뮤니케이션 안내
1단계 - 파일 배포
UEFI 보안 부팅이 활성화된 경우 설치 프로그램은 여러 파일을 ESP:/EFI/마이크로소프트/부팅/ 및 ESP:/시스템32/ 디렉토리. 전자는 Windows에서 사용하는 표준 디렉토리이고 후자는 설치 프로그램에서 생성한 사용자 정의 폴더입니다.
실행 체인에서 각 파일의 역할에 대한 간단한 설명과 함께 설치 프로그램이 드롭한 파일 목록이 표 1에 제공됩니다. 실행 체인이 작동하는 방식은 나중에 자세히 설명하겠습니다. 이제 몇 가지 합법적인 Microsoft 서명 파일이 악의적인 파일과 함께 삭제된다는 점에 유의하십시오.
표 1. UEFI 보안 부팅이 활성화된 시스템에서 BlackLotus 설치 프로그램이 배포한 파일
폴더 | 파일 이름 | 상품 설명 |
---|---|---|
ESP:EFIMicrosoft부팅 | grubx64.efi | BlackLotus 부트킷, 악성 자체 서명 UEFI 애플리케이션. |
bootload.efi | 합법적인 Microsoft 서명 틈 메우는 나무 바이너리(임시 이름, 나중에 대체 bootmgfw.efi. 시간 내에 CVE-2022-21894 착취). | |
bootmgfw.efi. | 합법적이지만 취약한(CVE-2022-21894) 설치 프로그램에 포함되거나 Microsoft Symbol Store에서 직접 다운로드되는 Windows 부팅 관리자 바이너리. | |
BCD | 공격자의 커스텀 부팅 구성 데이터 (BCD) 저장소 사용 CVE-2022-21894 착취 사슬. | |
BCDR | 피해자의 원래 BCD 저장소 백업. | |
ESP:시스템32 | hvloader.efi | 합법적이지만 취약한(CVE-2022-21894) 설치 프로그램에 포함되거나 Microsoft Symbol Store에서 직접 다운로드되는 Windows Hypervisor Loader 바이너리. |
bootmgr.efi | 합법적이지만 취약한(CVE-2022-21894) 설치 프로그램에 포함되거나 Microsoft Symbol Store에서 직접 다운로드되는 Windows 부팅 관리자 바이너리. | |
mcupdate_AuthenticAMD.dll | 악성 자체 서명 네이티브 PE 바이너리. 이 파일은 다음에 의해 실행됩니다. hvloader.efi CVE-2022-21894 악용에 성공한 후(AMD CPU를 사용하는 시스템에서). | |
mcupdate_GenuineIntel.dll | 악성 자체 서명 네이티브 PE 바이너리. 이 파일은 다음에 의해 실행됩니다. hvloader.efi 성공한 후 CVE-2022-21894 악용(Intel CPU를 사용하는 시스템에서). | |
BCD | 공격자가 사용하는 맞춤형 BCD CVE-2022-21894 착취 사슬. |
피해자가 UEFI 보안 부팅을 지원하지 않는 Windows 버전을 실행 중이거나 비활성화된 경우 배포가 매우 간단합니다. 악성 부트킷을 배포하는 데 필요한 유일한 것은 기존 Windows 부팅 관리자(bootmgfw.efi.) 이진 ESP:EFIMicrosoft부팅 공격자 자신이 서명한 악성 UEFI 응용 프로그램이 있는 디렉터리. UEFI 보안 부팅이 비활성화되어 있으므로(따라서 부팅 중에 무결성 확인이 수행되지 않음) 악용이 필요하지 않으며 UEFI 펌웨어는 보안 위반 없이 악의적인 부팅 관리자를 실행합니다.
2단계 – HVCI(Hypervisor-protected Code Integrity) 비활성화
나중에 사용자 지정 서명되지 않은 커널 코드를 실행할 수 있으려면 설치 프로그램에서 다음을 확인해야 합니다. HVCI 시스템에서 비활성화됩니다. ESET 동료 중 한 명이 2022년에 이 주제에 대해 매우 유익한 블로그 게시물을 작성했습니다(서명된 커널 드라이버 – Windows 코어에 대한 보호되지 않은 게이트웨이):
VBS(가상화 기반 보안)는 독립 실행형 기능으로도 제공되는 HVCI(Hypervisor-Protected Code Integrity)를 포함하여 여러 보호 기능을 제공합니다. HVCI는 커널에서 코드 무결성을 강화하고 서명된 코드만 실행되도록 허용합니다. 취약한 드라이버가 악용되어 서명되지 않은 커널 코드를 실행하거나 악성 드라이버를 로드하는 것을 효과적으로 방지하며(사용된 익스플로잇 방법에 관계없이) 악성 코드를 로드하기 위해 취약한 드라이버를 악용하는 악성 코드가 Microsoft가 이 기능을 구현한 주요 동기.
그림 5와 같이 이 기능을 비활성화하기 위해 설치 프로그램은 Enabled 레지스트리 값을 하이퍼바이저EnforcedCodeIntegrity 레지스트리 키를 XNUMX으로 설정합니다.
3단계 - BitLocker 비활성화
설치 프로그램에 의해 비활성화된 다음 기능은 BitLocker 드라이브 암호화. 그 이유는 BitLocker를 다음과 함께 조합하여 사용할 수 있기 때문입니다. 신뢰 플랫폼 모듈 (TPM) BitLocker 드라이브 암호화가 시스템에 구성된 이후 보안 부팅을 비롯한 다양한 부팅 파일 및 구성이 변조되지 않았는지 확인합니다. 설치 프로그램이 손상된 시스템에서 Windows 부트 체인을 수정한다는 점을 고려할 때 TPM을 지원하는 시스템에 대해 BitLocker를 계속 켜두면 다음 부팅 시 BitLocker 복구 화면이 표시되고 피해자에게 시스템이 손상되었음을 알릴 수 있습니다.
이 보호를 비활성화하기 위해 BlackLotus 설치 프로그램은 다음을 수행합니다.
- 아래의 모든 볼륨을 통과합니다. RootCIMV2보안Microsoft볼륨암호화 WMI 네임스페이스를 호출하여 보호 상태를 확인합니다. 보호 상태 가져오기 방법 Win32_EncryptableVolume WMI 클래스
- BitLocker로 보호되는 경우 BitLocker는 다음을 호출합니다. 비활성화키 보호기 방법 비활성화 개수 XNUMX으로 설정된 매개변수는 수동으로 활성화될 때까지 보호가 일시 중단됨을 의미합니다.
필요한 보호 기능이 비활성화되고 모든 파일이 배포된 상태에서 설치 프로그램은 다음 시스템 재시작 시 삭제되도록 등록하고 머신을 재부팅하여 CVE-2022-21894 악용을 진행합니다.
보안 부팅 우회 및 지속성 설정
이 부분에서는 BlackLotus가 UEFI 보안 부팅이 활성화된 시스템에서 지속성을 달성하는 방법을 자세히 살펴봅니다. 우리가 설명하려는 실행 체인은 상당히 복잡하기 때문에 먼저 기본 원칙을 설명한 다음 기술적인 세부 사항을 더 깊이 파고들 것입니다.
간단히 말해서 이 프로세스는 두 가지 주요 단계로 구성됩니다.
- 보안 부팅 기능을 우회하고 부트킷을 설치하기 위해 CVE-2022-21894를 악용합니다. 이렇게 하면 플랫폼이 여전히 펌웨어에 의해 소유되고 UEFI 부팅 서비스 기능을 계속 사용할 수 있는 초기 부팅 단계에서 임의 코드 실행이 가능합니다. 이를 통해 공격자는 부팅 서비스 전용 NVRAM 변수 수정과 같이 물리적 액세스 없이 UEFI 보안 부팅이 활성화된 시스템에서 수행할 수 없는 많은 작업을 수행할 수 있습니다. 그리고 이것은 공격자가 다음 단계에서 부트킷에 대한 지속성을 설정하기 위해 이용하는 것입니다. 악용에 대한 자세한 내용은 다음에서 찾을 수 있습니다. CVE-2022-21894 악용 안내
- 자체 MOK를 목리스트, 부팅 서비스 전용 NVRAM 변수. 이렇게 하면 합법적인 Microsoft 서명을 사용할 수 있습니다. 틈 메우는 나무 자체 서명된(기록된 키에 속하는 개인 키로 서명된) 로드 목리스트) 부팅할 때마다 취약점을 악용하는 대신 UEFI 부트킷. 이에 대한 자세한 내용은 부트킷 지속성 안내
다음 두 섹션의 자세한 분석을 더 쉽게 하기 위해 그림 6의 실행 다이어그램에 표시된 단계를 따릅니다.
CVE-2022-21894 악용
보안 부팅을 우회하기 위해 BlackLotus는 다음을 사용합니다. 배턴 드롭(CVE-2022-21894): 보안 부팅 보안 기능 우회 취약점. 시스템 보안에 미치는 높은 영향에도 불구하고 이 취약점은 마땅히 받아야 할 대중의 관심을 받지 못했습니다. 이 취약점은 Microsoft의 2022년 XNUMX월 업데이트에서 수정되었지만 영향을 받는 바이너리가 아직 UEFI 해지 목록. 결과적으로 공격자는 취약한 바이너리의 복사본을 피해자의 컴퓨터로 가져와 이 취약성을 악용하고 최신 UEFI 시스템에서 보안 부팅을 우회할 수 있습니다.
또한 이 취약점에 대한 개념 증명(PoC) 익스플로잇이 2022년 1월부터 공개되었습니다. BlackLotus VirusTotal이 처음 제출된 날짜를 고려할 때(그림 XNUMX 참조), 맬웨어 개발자는 사용 가능한 PoC를 요구 사항에 맞게 조정했을 가능성이 높습니다. 이 악용이 어떻게 작동하는지에 대한 깊은 이해가 필요합니다.
취약점에 대한 간략한 소개부터 시작하겠습니다. GitHub의 PoC:
- 영향을 받는 Windows 부팅 응용 프로그램(예: bootmgr.efi, hvloader.efi, winload.efi...) 직렬화된 보안 부팅 정책을 애플리케이션에서 로드하기 전에 다음을 사용하여 메모리에서 제거할 수 있습니다. 메모리 자르기 BCD 부팅 옵션.
- 이를 통해 공격자는 다음과 같은 다른 위험한 BCD 옵션을 사용할 수 있습니다. 부트 디버그, 테스트 서명및 nointegritychecks, 따라서 보안 부팅이 중단됩니다.
- 이 취약점을 악용하는 방법에는 여러 가지가 있습니다. 그 중 세 가지가 PoC 저장소에 게시되어 있습니다.
- 예를 들어, PoC 중 하나는 합법적으로 만들기 위해 악용될 수 있는 방법을 보여줍니다. hvloader.efi 자체 서명된 임의의 로드 mcupdate_ .dll 바이너리(여기서 될 수 있습니다 정품 인텔 or AuthenticAMD, 컴퓨터의 CPU를 기반으로 합니다.).
이제 BlackLotus가 이 취약점을 악용하는 방법을 계속 설명합니다(아래 목록의 숫자는 그림 6의 해당 단계를 설명함).
- 설치 프로그램이 시스템을 재부팅한 후 UEFI 펌웨어는 첫 번째 부팅 옵션 로드를 진행합니다. Windows 시스템의 경우 첫 번째 부팅 옵션은 기본적으로 bootmgfw.efi. 에 위치한 ESP:/EFI/마이크로소프트/부팅 ESP의 폴더. 이번에는 원래 피해자를 처형하는 대신 bootmgfw.efi. (이전에 이름이 변경된 winload.efi 설치 프로그램에 의해) 펌웨어는 설치 프로그램에 의해 배포된 취약한 것을 실행합니다.
- 후 bootmgfw.efi. 실행되면 이전에 설치 프로그램에서 수정한 BCD 부팅 옵션을 로드합니다. 그림 7은 합법적인 BCD와 수정된 BCD를 비교한 것입니다.
- 그림 7(녹색 밑줄이 그어진 경로)에서 볼 수 있듯이 합법적인 Windows 부팅 관리자는 일반적으로 Windows OS 로더(WINDOWSsystem32winload.efi)을 기본 부팅 응용 프로그램으로 지정합니다. 그러나 이번에는 수정된 BCD를 사용하여 취약한 ESP:system32bootmgr.efi,와 저용량 메모리 방지 값으로 설정된 BCD 요소 0 X 10000000 그리고 관례:22000023 에 저장된 다른 공격자의 BCD를 가리키는 BCD 요소 ESP:system32bcd. 이러한 요소 사용에 대한 설명은 게시된 PoC:
공격자는 직렬화된 보안 부팅 정책이 알려진 물리적 주소 위에 할당되도록 해야 합니다.
[...]
XNUMXD덴탈의 저용량 메모리 방지 요소는 물리적 메모리의 모든 할당이 지정된 물리적 주소 위에 있는지 확인하는 데 사용할 수 있습니다.
• Windows 10부터 이 요소는 VBS가 활성화된 경우 허용되지 않지만 부팅 응용 프로그램 초기화 중에 직렬화된 보안 부팅 정책을 메모리에서 읽기 전에 사용되므로 로드 BOOTMGR 사용자 지정 BCD 경로 지정(사용 bcd파일 경로 요소 일명 관례:22000023)를 사용하여 이를 우회할 수 있습니다.
- 다음 단계에서 실행된 ESP:system32bootmgr.efi 에 있는 추가 BCD를 로드합니다. ESP:system32bcd. 이 추가 BCD의 구문 분석된 내용은 그림 8에 나와 있습니다.
- 그림 8에 표시된 BCD 파일에서 로드된 옵션 때문에 bootmgr.efi 설치 프로그램이 배포한 또 다른 취약한 Windows 부팅 응용 프로그램을 계속 로드합니다. ESP:system32hvloader.efi – Windows 하이퍼바이저 로더입니다. 더 중요한 것은 추가 BCD 옵션이 동일한 BCD 파일에 지정되어 있다는 것입니다(그림 8 참조).
- 메모리 자르기 값으로 설정 0 X 10000000
- nointegritychecks 예로 설정
- 및 테스트 서명, 또한 예로 설정
그리고 이것은 마법이 일어나는 곳입니다. 직렬화된 보안 부팅 정책은 위의 물리적 주소에 로드되어야 하므로 0 X 10000000 (때문에 저용량 메모리 방지 이전 단계에서 사용됨), 지정 메모리 자르기 요소가 이를 효과적으로 제거하므로 보안 부팅을 중단하고 다음과 같은 위험한 BCD 옵션을 사용할 수 있습니다. nointegritychecks or 테스트 서명. 이러한 옵션을 사용하여 공격자는 hvloader.efi 자체 서명된 코드를 실행합니다.
- 이를 위해 다음에서 설명한 것과 동일한 트릭을 사용합니다. PoC 사용됨: 실행 중에 합법적인 hvloader.efi 로드 및 실행 mcupdate_{정품 인텔| AuthenticAMD}.dll 네이티브 바이너리 : 시스템32 예배 규칙서. 주석이 달린 Hex-Rays에서 함수 코드를 디컴파일했습니다. hvloader.efi 이 mcupdate*.dll 바이너리를 로드하는 책임은 그림 9에 나와 있습니다. hvloader.efi 일반적으로 이 합법적인 mcupdate*.dll 바이너리에서:윈도우시스템32, 하지만 이번에는 악의적인 공격자의 자체 서명 mcupdate*.dll 설치 프로그램이 이전에 생성한 사용자 정의 ESP 디렉토리에서 실행됩니다(ESP:시스템32). BCD 옵션으로 인해 발생합니다. 장치 및 시스템 루트 현재 장치를 다음과 같이 지정하는 그림 8의 BCD에서 사용됨 신병 – ESP를 의미하고 또한 SystemRoot를 루트() 이 장치의 디렉터리입니다.
- 이제 공격자가 자체 서명한 mcupdate*.dll 로드되고 실행되면 이 체인의 마지막 구성 요소인 임베디드 MokInstaller(UEFI 애플리케이션)를 계속 실행합니다. 수행 방법에 대한 자세한 내용은 그림 10을 참조하십시오.
부트킷 지속성
이제 MokInstaller는 공격자의 MOK를 NVRAM 변수에 등록하고 합법적인 Microsoft 서명을 설정하여 지속성 설정을 진행할 수 있습니다. 틈 메우는 나무 기본 부트로더로 바이너리. 세부 사항을 진행하기 전에 다음과 같은 약간의 이론이 있습니다. 틈 메우는 나무 그리고 목.
틈 메우는 나무 다양한 Linux 배포판이 UEFI 보안 부팅과 함께 작동하도록 Linux 개발자가 개발한 첫 번째 단계 UEFI 부트로더입니다. 간단한 응용 프로그램이며 목적은 다른 응용 프로그램을 로드, 확인 및 실행하는 것입니다. Linux 시스템의 경우 일반적으로 GRUB 부트로더입니다. Microsoft가 틈 메우는 나무및 틈 메우는 나무 나머지는 처리합니다. 다음 키를 사용하여 XNUMX단계 부트로더의 무결성을 확인할 수 있습니다. db UEFI 변수는 "허용된" 또는 "취소된" 키 또는 해시의 자체 목록을 포함하여 플랫폼과 shim 개발자(예: Canonical, RedHat 등) 모두가 신뢰하는 구성 요소가 실행될 수 있도록 합니다. 이러한 목록 외에도 틈 메우는 나무 또한 MOK 목록으로 알려진 사용자가 관리하는 외부 키 데이터베이스를 사용할 수 있습니다. 그림 11은 MOK를 사용한 UEFI 보안 부팅이 작동하는 방식을 잘 보여줍니다.
이 MOK 데이터베이스는 부팅 전용 NVRAM 변수에 저장됩니다. 목리스트. 위에서 설명한 것과 같은 취약점을 악용하지 않고 UEFI 보안 부팅이 활성화된 시스템에서 수정하려면 물리적 액세스가 필요합니다(OS 로더가 UEFI 부팅 서비스 기능을 호출하기 전에 부팅 중에만 사용 가능) ExitBootServices). 그러나 이 취약점을 악용하여 공격자는 UEFI 보안 부팅을 우회하고 ExitBootServices, 그래서 그들이 쉽게 자신의 키를 등록할 수 있습니다( 목리스트 NVRAM 변수) shim이 보안 위반을 일으키지 않고 등록된 키로 서명된 모든 애플리케이션을 실행하도록 합니다.
- 그림 6 - 8단계의 흐름을 계속 설명하면…
- 설치 프로그램이 생성한 백업에서 피해자의 원래 BCD 저장소를 복원하고 efi를 이전에 ESP:system32bootload.efi 설치 프로그램에 의해.
- 만들기 목리스트 공격자의 자체 서명된 공개 키 인증서를 포함하는 NVRAM 변수. 이 변수는 다른 UEFI 서명 데이터베이스 변수(예: db 또는 dbx)와 동일한 방식으로 형식이 지정되며 다음과 같은 XNUMX개 이상의 서명 목록으로 구성될 수 있습니다. EFI_SIGNATURE_LIST – UEFI 사양에 정의된 대로.
- 공격자의 익스플로잇과 관련된 모든 파일 삭제 ESP:시스템32 폴더에 있습니다.
- 결국 머신을 재부팅하여 배포된 shim이 드롭된 자체 서명된 부트킷을 실행하도록 합니다. EFIMicrosoftBootgrubx64.efi 설치 프로그램에 의해(grubx64.efi 일반적으로 a에 의해 실행되는 기본 XNUMX단계 부트로더 틈 메우는 나무 x86-64 시스템에서).
마지막 두 단계에서 설명한 작업을 수행하는 코드는 그림 12에 나와 있습니다.
BlackLotus UEFI 부트킷
지속성이 구성되면 시스템이 시작될 때마다 BlackLotus 부트킷이 실행됩니다. 부트킷의 목표는 커널 드라이버와 최종 사용자 모드 구성 요소인 HTTP 다운로더를 배포하는 것입니다. 실행 중에 VBS(가상화 기반 보안) 및 Windows Defender와 같은 추가 Windows 보안 기능을 비활성화하여 성공적인 배포 및 은밀한 작업 가능성을 높입니다. 수행 방법에 대한 세부 정보로 이동하기 전에 커널 드라이버 및 HTTP 다운로더에 대한 기본 사항을 요약해 보겠습니다.
- 커널 드라이버는 다음을 담당합니다.
- 체인의 다음 구성 요소인 HTTP 다운로더를 배포합니다.
- 종료 시 로더를 활성 상태로 유지합니다.
- 부트킷 파일이 ESP에서 제거되지 않도록 보호합니다.
- HTTP 다운로더의 지시에 따라 추가 커널 페이로드를 실행합니다.
- HTTP 다운로더의 지시에 따라 부트킷을 제거합니다.
- HTTP 다운로더는 다음을 담당합니다.
- C&C와 소통합니다.
- C&C에서 받은 명령을 실행합니다.
- C&C에서 받은 페이로드 다운로드 및 실행(커널 페이로드 및 사용자 모드 페이로드 모두 지원)
설치 프로그램에서 HTTP 다운로더로의 전체 실행 흐름(단순화)은 그림 13에 나와 있습니다. 다음 섹션에서 이러한 개별 단계에 대해 자세히 설명합니다.
BlackLotus 실행 흐름
실행 단계는 다음과 같습니다(이러한 단계는 그림 13에 표시됨).
- 첫 번째 단계로 UEFI 펌웨어는 기본 Windows 부팅 옵션을 실행합니다. EFIMicrosoftBootbootmgfw.efi. 앞에서 설명한 것처럼(부트킷 지속성 섹션, 8 .a), MokInstaller 바이너리는 이 파일을 합법적으로 서명된 틈 메우는 나무.
- 때 틈 메우는 나무 실행되면 다음을 읽습니다. 목리스트 NVRAM 변수이며 공격자가 이전에 내부에 저장한 인증서를 사용하여 XNUMX단계 부트로더(자체 서명된 BlackLotus UEFI 부트킷에 있음)를 확인합니다. EFIMicrosoftBootgrubx64.efi.
- 확인되면, 틈 메우는 나무 부트킷을 실행합니다.
- 부트킷은 부트 전용 생성으로 시작합니다. VbsPolicy사용 안 함 NVRAM 변수. 설명한대로 여기에서 지금 확인해 보세요., 이 변수는 부팅 중에 Windows OS 로더에 의해 평가되며 정의된 경우 HVCI 및 Credential Guard와 같은 핵심 VBS 기능이 초기화되지 않습니다.
- 다음 단계(5.a–e)에서 부트킷은 UEFI 부트킷에서 사용하는 공통 패턴으로 계속됩니다. Windows 부팅 관리자, Windows OS 로더 및 Windows OS 커널과 같은 일반적인 Windows 부팅 흐름에 포함된 구성 요소의 실행을 가로채고 일부 기능을 메모리에 연결합니다. 보너스로 일부 드라이버를 패치하여 Windows Defender를 비활성화하려고 시도합니다. 이 모든 것은 OS 시작 프로세스의 초기 단계에서 페이로드 실행을 달성하고 감지를 피하기 위한 것입니다. 다음 기능은 후킹되거나 패치됩니다.
- ImgArchStartBootApplication in bootmgfw.efi. or bootmgr.efi:
이 함수는 일반적으로 Windows OS 로더(winload.efi)가 메모리에 로드되었지만 아직 실행되지 않았습니다. 이는 더 많은 메모리 내 패칭을 수행할 적기입니다. - BlImgAllocateImageBuffer in winload.efi:
악성 커널 드라이버에 대한 추가 메모리 버퍼를 할당하는 데 사용됩니다. - OslArchTransferToKernel in winload.efi:
OS 커널과 일부 시스템 드라이버가 이미 메모리에 로드되었지만 아직 실행되지 않은 순간을 포착하기 위해 연결되었습니다. 이는 더 많은 메모리 내 패칭을 수행하기에 완벽한 순간입니다. 아래 언급된 드라이버는 이 후크에서 패치됩니다. 메모리에서 적절한 드라이버를 찾는 역할을 하는 이 후크의 코드는 그림 14에 나와 있습니다. - WdBoot.sys 및 WdFilter.sys:
BlackLotus는 다음 항목의 진입점을 패치합니다. WdBoot.sys 및 WdFilter.sys – 각각 Windows Defender ELAM 드라이버 및 Windows Defender 파일 시스템 필터 드라이버 – 즉시 반환합니다. - disk.sys:
부트킷은 disk.sys 시스템 초기화 초기 단계에서 BlackLotus 커널 드라이버를 실행하는 드라이버.
- ImgArchStartBootApplication in bootmgfw.efi. or bootmgr.efi:
- 다음으로 OS 커널이 다음을 실행할 때 disk.sys 드라이버의 진입점인 경우 설치된 후크는 악성 커널 드라이버 진입점으로 점프합니다. 악성 코드는 다시 원본을 복원합니다. disk.sys 시스템이 제대로 작동하도록 허용하고 Winlogon.exe가 프로세스가 시작됩니다.
- 악성 드라이버가 Winlogon.exe가 프로세스가 시작되면 최종 사용자 모드 구성 요소인 HTTP 다운로더를 주입하고 실행합니다.
커널 드라이버
커널 드라이버는 네 가지 주요 작업을 담당합니다.
- HTTP 다운로더 주입 Winlogon.exe가 스레드가 종료된 경우 다시 주입합니다.
- ESP에 배포된 부트킷 파일이 제거되지 않도록 보호합니다.
- 사용자 모드 Windows Defender 프로세스 해제 MsMpEngine.exe.
- HTTP 다운로더와 통신하고 필요한 경우 명령을 수행합니다.
하나씩 살펴보겠습니다.
HTTP 다운로더 지속성
커널 드라이버는 HTTP 다운로더의 배포를 담당합니다. 드라이버가 시작되면 이름이 지정된 프로세스가 실행될 때까지 기다립니다. Winlogon.exe가 다른 작업을 수행하기 전에 시작합니다. 프로세스가 시작되면 드라이버는 HTTP 다운로더 바이너리를 해독하고 Winlogon.exe가의 주소 공간을 새 스레드에서 실행합니다. 그런 다음 드라이버는 스레드가 계속 실행 중인지 주기적으로 확인하고 필요한 경우 주입을 반복합니다. 커널 디버거가 드라이버에서 감지되면 HTTP 다운로더가 배포되지 않습니다.
ESP의 부트킷 파일이 제거되지 않도록 보호
ESP에 있는 부트킷의 파일을 보호하기 위해 커널 드라이버는 간단한 트릭을 사용합니다. 보호하려는 모든 파일을 열고 핸들을 복제 및 저장하며 ObSetHandle속성 커널 함수를 지정하는 닫기에서 보호 내부 플래그 핸들플래그 (OBJECT_HANDLE_FLAG_INFORMATION) 매개변수를 1로 – 따라서 다른 프로세스에 의해 핸들이 닫히지 않도록 보호합니다. 이렇게 하면 보호된 파일을 제거하거나 수정하려는 모든 시도가 차단됩니다. 다음 파일이 보호됩니다.
- ESP:EFIMicrosoftBootwinload.efi
- ESP:EFIMicrosoftBootbootmgfw.efi
- ESP:EFIMicrosoftBootgrubx64.efi
사용자가 이러한 보호된 파일을 삭제하려고 하면 그림 15에 표시된 것과 같은 상황이 발생합니다.
또 다른 보호 계층으로, 사용자 또는 보안 소프트웨어가 보호 플래그를 해제하고 핸들을 닫을 수 있는 경우 커널 드라이버는 이를 지속적으로 모니터링하고 다음을 호출하여 BSOD를 유발합니다. KeBugCheck(INVALID_KERNEL_HANDLE) 핸들이 더 이상 존재하지 않는 경우 작동합니다.
기본 Windows Defender 프로세스 해제
커널 드라이버는 또한 기본 Windows Defender 프로세스를 해제하려고 시도합니다. MsMpEng.exe. 다음을 설정하여 모든 프로세스의 토큰 권한을 제거함으로써 그렇게 합니다. SE_PRIVILEGE_REMOVED 그들 각각에 속성. 결과적으로 Defender 프로세스는 파일 검색과 같은 작업을 제대로 수행할 수 없습니다. 그러나 이 기능은 제대로 구현되지 않았으므로 MsMpEng.exe 프로세스.
HTTP 다운로더와 통신
커널 드라이버는 명명된 이벤트 및 섹션을 사용하여 HTTP 다운로더와 통신할 수 있습니다. 사용된 명명된 개체의 이름은 피해자의 네트워크 어댑터 MAC 주소(이더넷)를 기반으로 생성됩니다. 옥텟의 값이 16보다 작으면 16을 더합니다. 생성된 개체 이름의 형식은 샘플마다 다를 수 있습니다. 예를 들어 MAC 주소에 대해 분석한 샘플 중 하나에서 00-1c-0b-cd-ef-34, 생성된 이름은 다음과 같습니다.
- BaseNamedObjects101c1b: 명명된 섹션의 경우(MAC의 처음 세 옥텟만 사용됨)
- BaseNamedObjectZ01c1b: 명명된 이벤트의 경우 – 섹션과 동일하나 MAC 주소의 첫 번째 숫자가 Z
HTTP 다운로더가 커널 드라이버에 명령을 전달하려는 경우 단순히 명명된 섹션을 생성하고 내부에 관련 데이터가 있는 명령을 작성하고 명명된 이벤트를 생성하고 드라이버가 처리할 명령을 기다립니다. 드라이버가 트리거(또는 신호)합니다.
드라이버는 다음과 같은 자체 설명 명령을 지원합니다.
- 커널 드라이버 설치
- BlackLotus 제거
신중한 독자라면 여기에서 BlackLotus의 약점을 발견할 수 있습니다. 부트킷이 구성 요소를 제거하지 못하도록 보호하더라도 커널 드라이버는 위에서 언급한 개체를 생성하고 제거 명령을 보내 부트킷을 완전히 제거하도록 속일 수 있습니다.
HTTP 다운로더
마지막 구성 요소는 C&C 서버와의 통신 및 여기에서 받은 C&C 명령 실행을 담당합니다. 우리가 발견할 수 있었던 모든 페이로드에는 세 가지 명령이 포함되어 있습니다. 이러한 명령은 매우 간단하며 섹션 이름에서 알 수 있듯이 대부분 다양한 기술을 사용하여 추가 페이로드를 다운로드하고 실행하는 것에 관한 것입니다.
씨앤씨커뮤니케이션
C&C와 통신하기 위해 HTTP 로더는 HTTPS 프로토콜을 사용합니다. 통신에 필요한 모든 정보는 사용된 C&C 도메인 및 HTTP 리소스 경로를 포함하여 다운로더 바이너리에 직접 포함됩니다. C&C 서버와 통신하는 기본 간격은 XNUMX분으로 설정되어 있지만 C&C의 데이터를 기반으로 변경할 수 있습니다. C&C와의 각 통신 세션은 비콘 HTTP POST 메시지를 보내는 것으로 시작됩니다. 분석한 샘플에서 HTTP POST 헤더에 다음 HTTP 리소스 경로를 지정할 수 있습니다.
- /네트워크/API/hpb_gate[.]php
- /API/hpb_gate[.]php
- /게이트[.]php
- /hpb_gate[.]php
비콘 메시지 데이터 앞에 체크인= 사용자 지정 컴퓨터 식별자를 포함하여 손상된 컴퓨터에 대한 기본 정보를 포함하는 문자열( 하드웨어), UEFI 보안 부팅 상태, 다양한 하드웨어 정보 및 BlackLotus 빌드 번호로 보이는 값. 하드웨어 시스템 MAC 주소(이더넷) 및 시스템 볼륨 일련 번호에서 생성됩니다. 암호화 전 메시지 형식은 그림 16과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ “HWID”:“%s”, “Session”:“%lu”, “Owner”:“%s”, “IP”:“%s”, “OS”:“%s”, “Edition”:“%s”, “CPU”:“%s”, “GPU”:“%s”, “RAM”:“%lu”, “Integrity”:“%lu”, “SecureBoot”:“%i”, “Build”:“%lu” } |
그림 16. 비콘 메시지의 형식
C&C에 메시지를 보내기 전에 먼저 내장 RSA 키를 사용하여 데이터를 암호화한 다음 URL 안전 base64로 인코딩합니다. 분석 중에 샘플에서 사용되는 두 개의 서로 다른 RSA 키를 발견했습니다. 이러한 HTTP 비콘 요청의 예는 그림 17에 나와 있습니다.
비콘 메시지에 대한 응답으로 C&C에서 수신한 데이터는 256바이트 매직 값 HP로 시작해야 합니다. 그렇지 않으면 응답이 더 이상 처리되지 않습니다. 매직 값이 올바르면 위에서 언급한 HWID 문자열을 키로 사용하여 CBC 모드에서 XNUMX비트 AES를 사용하여 매직 값 다음 데이터를 복호화합니다.
암호 해독 후 메시지는 JSON 형식의 문자열인 비콘과 유사하며 명령 식별자( 타입) 및 다음과 같은 다양한 추가 매개변수:
- C&C 통신 간격
- 사용할 실행 방법
- 페이로드 파일 이름
- 파일 확장자 기반 페이로드 유형(.SYS, .EXE및 .DLL 지원)
- 페이로드 데이터 다운로드 요청에 사용되는 인증 토큰
- 페이로드 데이터 해독에 사용되는 AES 키
지원되는 모든 명령과 해당 설명은 표 2에 나열되어 있습니다.
표 2. C&C 명령
명령 유형 | 명령 설명 |
---|---|
1 | 커널 드라이버, DLL 또는 일반 실행 파일 다운로드 및 실행 |
2 | 페이로드를 다운로드하고, 부트킷을 제거하고, 페이로드를 실행합니다. 부트킷을 업데이트하는 데 사용됩니다. |
3 | 부트킷을 제거하고 종료합니다. |
이러한 명령에서 C&C는 페이로드를 실행하기 전에 먼저 디스크에 드롭해야 하는지 또는 메모리에서 직접 실행해야 하는지 여부를 지정할 수 있습니다. 파일을 디스크에 드롭하는 것과 관련된 경우, 경우 ProgramData OS 볼륨의 폴더가 대상 폴더로 사용되며 파일 이름과 확장자는 C&C 서버에서 지정됩니다. 파일을 메모리에 직접 실행하는 경우, svchost.exe를 주입 대상으로 사용됩니다. C&C가 커널 드라이버 협력이 필요한 명령을 보내거나 운영자가 커널 모드에서 코드를 실행하려는 경우 HTTP 다운로더와 통신 섹션이 사용됩니다.
분석 방지 트릭
이 맬웨어의 탐지 및 분석을 더 어렵게 하기 위해 작성자는 텍스트 문자열, 가져오기 또는 기타 암호화되지 않은 내장 데이터와 같은 표준 파일 아티팩트의 가시성을 최소한으로 제한하려고 했습니다. 아래는 사용된 기술의 요약입니다.
- 문자열 및 데이터 암호화
- 샘플 내에서 사용되는 모든 문자열은 간단한 암호를 사용하여 암호화됩니다.
- 모든 내장 파일은 CBC 모드에서 256비트 AES를 사용하여 암호화됩니다.
- 개별 파일의 암호화 키는 샘플마다 다를 수 있습니다.
- AES 암호화 외에도 일부 파일은 LZMS를 사용하여 압축됩니다.
- 런타임 전용 API 해결
- 모든 샘플(해당하는 경우)에서 Windows API는 항상 런타임 중에 독점적으로 확인되며 함수 이름 대신 함수 해시가 메모리에서 원하는 API 함수 주소를 찾는 데 사용됩니다.
- 경우에 따라 직접 시스템 콜 명령 호출은 원하는 시스템 기능을 호출하는 데 사용됩니다.
- 네트워크 통신
- HTTPS를 사용하여 통신합니다.
- HTTP 다운로더가 C&C로 보낸 모든 메시지는 포함된 RSA 공개 키를 사용하여 암호화됩니다.
- C&C에서 HTTP 다운로더로 보낸 모든 메시지는 피해자의 컴퓨터 환경에서 파생된 키 또는 C&C에서 제공한 AES 키를 사용하여 암호화됩니다.
- Anti-debug 및 anti-VM 트릭 – 사용되는 경우 일반적으로 진입점의 시작 부분에 바로 배치됩니다. 캐주얼 샌드박스 또는 디버거 감지 트릭만 사용됩니다.
완화 및 수정
- 무엇보다 먼저 시스템과 보안 제품을 최신 상태로 유지하는 것이 필수입니다. 위협이 사전 OS 지속성을 달성할 수 있기 전에 처음부터 중단될 가능성을 높이기 위해서입니다.
- 그런 다음 UEFI 보안 부팅을 우회하기 위해 알려진 취약한 UEFI 바이너리의 사용을 방지하기 위해 취해야 할 주요 단계는 UEFI 해지 데이터베이스(dbx) – Windows 시스템에서, dbx 업데이트는 Windows 업데이트를 사용하여 배포해야 합니다.
- 문제는 광범위하게 사용되는 Windows UEFI 바이너리를 폐기하면 수천 개의 오래된 시스템, 복구 이미지 또는 백업을 부팅할 수 없게 되어 폐기가 너무 오래 걸리는 경우가 많다는 것입니다.
- BlackLotus에서 사용하는 Windows 응용 프로그램을 취소하면 부트킷 설치가 방지되지만 설치 프로그램이 피해자의 부트로더를 취소된 것으로 교체하므로 시스템을 부팅할 수 없게 만들 수 있습니다. 이 경우 복구하려면 OS 재설치 또는 ESP 복구만으로 문제를 해결할 수 있습니다.
- BlackLotus 지속성이 설정된 후에 철회가 발생하면 부트킷은 지속성을 위해 사용자 정의 MOK 키가 있는 적법한 shim을 사용하므로 작동 상태를 유지합니다. 이 경우 가장 안전한 완화 솔루션은 Windows를 다시 설치하고 다음을 사용하여 공격자의 등록된 MOK 키를 제거하는 것입니다. 모쿠틸 유틸리티(부팅 중 MOK Manager와의 사용자 상호 작용이 필요하기 때문에 이 작업을 수행하려면 물리적 존재가 필요함).
테이크 아웃
지난 몇 년 동안 UEFI 시스템의 보안에 영향을 미치는 많은 심각한 취약점이 발견되었습니다. 불행하게도 전체 UEFI 생태계의 복잡성과 관련 공급망 문제로 인해 이러한 취약성 중 많은 부분이 취약성이 수정된 후 오랜 시간이 지난 후에도 또는 적어도 수정되었다는 통보를 받은 후에도 많은 시스템을 취약한 상태로 남겨두었습니다. 더 나은 이미지를 위해 작년부터 UEFI 보안 부팅 우회를 허용하는 패치 또는 해지 실패의 몇 가지 예는 다음과 같습니다.
- 우선 BlackLotus가 악용한 취약점인 CVE-2022-21894입니다. 취약점이 수정된 지 XNUMX년이 지난 후에도 취약한 UEFI 바이너리는 여전히 취소되지 않아 BlackLotus와 같은 위협이 UEFI 보안 부팅이 활성화된 시스템에서 은밀하게 작동할 수 있어 피해자에게 잘못된 보안 감각을 제공합니다.
- 2022년 초에 우리는 무엇보다도 UEFI 보안 부팅을 비활성화할 수 있는 몇 가지 UEFI 취약성을 공개했습니다. 영향을 받는 많은 장치는 더 이상 OEM에서 지원하지 않으므로 수정되지 않습니다(이러한 장치가 취약성 공개 시점에서 3-5년처럼 오래되지 않았음에도 불구하고). 자세한 내용은 블로그 게시물에서 확인하세요. "보안"이 전혀 안전하지 않은 경우: Lenovo 소비자 노트북에서 발견된 고영향 UEFI 취약성
- 2022년 후반에 우리는 몇 가지 다른 UEFI 취약점, 이를 악용하면 공격자가 UEFI 보안 부팅을 매우 쉽게 비활성화할 수 있습니다. 동료 연구자들이 지적한 바와 같이 이진법, 목록에 나열된 여러 장치 자문 권고가 있은 지 몇 개월이 지난 후에도 패치가 적용되지 않았거나 올바르게 패치되지 않아 장치가 취약해졌습니다. 말할 필요도 없이 이전 사례와 마찬가지로 일부 장치는 지원 종료 날짜에 도달했기 때문에 영원히 취약한 상태로 유지됩니다.
누군가가 이러한 실패를 이용하여 UEFI 보안 부팅이 활성화된 시스템에서 작동할 수 있는 UEFI 부트킷을 만드는 것은 시간 문제였습니다. 우리가 작년에 우리의 RSA 프레젠테이션, 이 모든 것이 공격자에게 ESP로의 이동을 보다 실현 가능하게 만들고 UEFI 위협에 대한 가능한 방법을 제공합니다. BlackLotus의 존재가 이를 확인합니다.
IoC
파일
SHA-1 | 파일 이름 | Detection System | 상품 설명 |
---|---|---|---|
05846D5B1D37EE2D716140DE4F4F984CF1E631D1 | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
A5A530A91100ED5F07A5D74698B15C646DD44E16 | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
D82539BFC2CC7CB504BE74AC74DF696B13DB486A | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
16B12CEA54360AA42E1120E82C1E9BC0371CB635 | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
DAE7E7C4EEC2AC0DC7963C44A5A4F47D930C5508 | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
45701A83DEC1DC71A48268C9D6D205F31D9E7FFB | 해당 사항 없음 | Win64/BlackLotus.A | BlackLotus 설치 프로그램. |
2CE056AE323B0380B0E87225EA0AE087A33CD316 | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
5A0074203ABD5DEB464BA0A79E14B7541A033216 | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
5DC9CBD75ABD830E83641A0265BFFDDD2F602815 | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
97AEC21042DF47D39AC212761729C6BE484D064D | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
ADCEEC18FF009BED635D168E0B116E72096F18D2 | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
DBC064F757C69EC43517EFF496146B43CBA949D1 | 해당 사항 없음 | EFI/BlackLotus.B | BlackLotus UEFI 부트킷. |
06AF3016ACCDB3DFE1C23657BF1BF91C13BAA757 | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
0C0E78BF97116E781DDE0E00A1CD0C29E68D623D | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
6D8CEE28DA8BCF25A4D232FEB0810452ACADA11D | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
74FF58FCE8F19083D16DF0109DC91D78C94342FA | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
ACC74217CBE3F2E727A826B34BDE482DCAE15BE6 | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
111C4998F3264617A7A9D9BF662D4B1577445B20 | 해당 사항 없음 | Win64/BlackLotus.B | BlackLotus HTTP 다운로더. |
17FA047C1F979B180644906FE9265F21AF5B0509 | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
1F3799FED3CF43254FE30DCDFDB8DC02D82E662B | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
4B882748FAF2C6C360884C6812DD5BCBCE75EBFF | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
91F832F46E4C38ECC9335460D46F6F71352CFFED | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
994DC79255AEB662A672A1814280DE73D405617A | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
FFF4F28287677CAABC60C8AB36786C370226588D | 해당 사항 없음 | Win64/BlackLotus.C | BlackLotus 커널 드라이버. |
71559C3E2F3950D4EE016F24CA54DA17D28B9D82 | 해당 사항 없음 | EFI/BlackLotus.C | BlackLotus 설치 프로그램이 삭제한 BlackLotus BCD(부팅 구성 데이터) 저장소. |
D6D3F3151B188A9DA62DEB95EA1D1ABEFF257914 | 해당 사항 없음 | EFI/BlackLotus.C | BlackLotus 설치 프로그램이 삭제한 BlackLotus BCD(부팅 구성 데이터) 저장소. |
547FAA2D64B85BF883955B723B07635C0A09326B | 해당 사항 없음 | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 익스플로잇 페이로드 로더. |
D1BBAA3D408E944C70B3815471EED7FA9AEE6425 | 해당 사항 없음 | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 익스플로잇 페이로드 로더. |
0E6DD7110C38464ECAA55EE4E2FA303ADA0EDEFB | 해당 사항 없음 | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 악용 페이로드 – MokInstaller EFI 앱. |
D6BB89D8734B3E49725362DAE9A868AE681E8BD6 | 해당 사항 없음 | EFI/BlackLotus.A | BlackLotus CVE-2022-21894 악용 페이로드 – MokInstaller EFI 앱. |
164BB587109CFB20824303AD1609A65ABB36C3E9 | 해당 사항 없음 | Win64/BlackLotus.D | BlackLotus 설치 프로그램 UAC 바이패스 모듈. |
인증서
일련 번호 | 570B5D22B723B4A442CC6EEEBC2580E8 |
지문 | C8E6BF8B6FDA161BBFA5470BCC262B1BDC92A359 |
주제 CN | 그들이 울 때 CA |
과목 O | 해당 사항 없음 |
피험자 L | 해당 사항 없음 |
피험자 S | 해당 사항 없음 |
과목 C | 해당 사항 없음 |
유효 | 2022-08-13 17:48:44 |
까지 유효하다 | 2032-08-13 17:58:44 |
네트워크
IP | 도메인 | 호스팅 제공 업체 | 처음 본 | 세부 정보 |
---|---|---|---|---|
해당 사항 없음 | xrepositoryx[.]이름 | 해당 사항 없음 | 2022-10-17 | 블랙로터스 C&C. https://xrepositoryx[.]name/network/API/hpb_gate.php |
해당 사항 없음 | myrepositoryx[.]com | 해당 사항 없음 | 2022-10-16 | 블랙로터스 C&C. https://myrepositoryx[.]com/network/API/hpb_gate.php |
104.21.22[.]185 | erdjknfweklsgwfmewfgref[.]com | 클라우드플레어, Inc. | 2022-10-06 | 블랙로터스 C&C. https://erdjknfweklsgwfmewfgref[.]com/API/hpb_gate.php |
164.90.172[.]211 | harrysucksdick[.]com | 디지털오션, LLC | 2022-10-09 | 블랙로터스 C&C. https://harrysucksdick[.]com/API/hpb_gate.php |
185.145.245[.]123 | heikickgn[.]com frassirishiproc[.]com |
시아 베스프 | 2022-10-12 | 블랙로터스 C&C. https://heikickgn[.]com/API/hpb_gate.php https://frassirishiproc[.]com/API/hpb_gate.php |
185.150.24[.]114 | myrepository[.]이름 | SkyLink 데이터 센터 BV | 2022-10-14 | 블랙로터스 C&C. myrepository[.]이름/네트워크/API/hpb_gate.php |
190.147.189[.]122 | egscorp[.]넷 | Telmex 콜롬비아 SA | 2022-08-24 | 블랙로터스 C&C. https://egscorp[.]net/API/hpb_gate.php |
MITRE ATT&CK 기술
이 테이블은 다음을 사용하여 제작되었습니다. 버전 12 MITRE ATT&CK 프레임워크.
술책 | ID | 성함 | 상품 설명 |
---|---|---|---|
자원 개발 | T1587.002 | 기능 개발: 코드 서명 인증서 | 일부 BlackLotus 샘플은 자체 서명된 인증서로 서명됩니다. |
T1588.005 | 능력 획득: 활용 | BlackLotus는 공개적으로 알려진 익스플로잇을 사용하여 UEFI 보안 부팅을 우회했습니다. | |
실행 | T1203 | 클라이언트 실행을 위한 악용 | BlackLotus 설치 프로그램은 CVE-2022-21894를 악용하여 UEFI 보안 부팅이 활성화된 시스템에서 임의 코드 실행을 달성할 수 있습니다. |
T1559 | 프로세스 간 통신 | BlackLotus HTTP 다운로더는 명명된 섹션을 사용하여 커널 모드 구성 요소에 명령을 전달합니다. | |
T1106 | 네이티브 API | BlackLotus HTTP 다운로더는 다양한 기본 Windows API를 사용하여 손상된 시스템에서 코드를 실행합니다. | |
T1129 | 공유 모듈 | BlackLotus HTTP 다운로더는 C&C 서버에서 받은 DLL을 로드하고 실행할 수 있습니다. | |
고집 | T1542.003 | 사전 OS 부팅: 부트킷 | BlackLotus 부트킷은 EFI 시스템 파티션에 배포되고 부팅 중에 실행됩니다. |
권한 에스컬레이션 | T1548.002 | 악용 고도 제어 메커니즘: 사용자 계정 제어 우회 | BlackLotus 설치 프로그램은 사용자 계정 제어를 우회하여 권한 상승을 시도합니다. |
T1134.002 | 액세스 토큰 조작: 토큰으로 프로세스 생성 | BlackLotus HTTP 다운로더는 WTSQueryUserToken 및 CreateProcessAsUserW를 사용하여 로컬 시스템 권한으로 새 프로세스 내에서 다운로드된 페이로드를 실행할 수 있습니다. | |
방어 회피 | T1622 | 디버거 회피 | BlackLotus 구성 요소는 다양한 기술을 사용하여 커널 모드 또는 사용자 모드 디버거가 피해자에서 실행 중인지 여부를 감지합니다. |
T1574 | 도용 실행 흐름 | BlackLotus 부트킷은 초기 Windows 부팅 프로세스 단계(Windows 부팅 관리자, Windows OS 로더, Windows 커널 및 특정 드라이버)에 포함된 다양한 구성 요소를 하이재킹하여 다양한 Windows 보안 기능(VBS, Windows Defender)을 비활성화하여 탐지를 피하고 커널 모드를 은밀하게 실행합니다. 및 사용자 모드 구성요소 | |
T1562 | 방어력 약화 | BlackLotus 구성 요소는 탐지를 피하기 위해 BitLocker 및 Windows Defender를 비활성화할 수 있습니다. | |
T1070.004 | 표시 제거: 파일 삭제 | BlackLotus 설치 프로그램은 파일을 EFI 시스템 파티션에 성공적으로 배포한 후 자체적으로 삭제됩니다. 또한 BlackLotus는 CVE-2022-21894 악용에 성공한 후 EFI 시스템 파티션에서 악용 체인에 포함된 모든 파일을 삭제하여 악용 흔적을 제거합니다. | |
T1070.009 | 표시기 제거: 명확한 지속성 | BlackLotus는 ESP에서 모든 부트킷 파일을 제거하고 원래 피해자의 Windows 부팅 관리자를 복원하여 자체적으로 제거할 수 있습니다. | |
T1036.005 | 가장 무도회: 적법한 이름 또는 위치 일치 | BlackLotus는 grubx64.efi(손상된 컴퓨터에서 UEFI 보안 부팅이 활성화된 경우) 또는 bootmgfw.efi(손상된 컴퓨터에서 UEFI 보안 부팅이 비활성화된 경우)와 같은 합법적인 파일 이름을 사용하여 ESP에 배포된 파일을 숨기려고 시도합니다. | |
T1112 | 레지스트리 수정 | BlackLotus 설치 프로그램은 Windows 레지스트리를 수정하여 Windows HVCI 보안 기능을 비활성화합니다. | |
T1027 | 난독화된 파일 또는 정보 | BlackLotus 구성 요소에 포함된 거의 모든 문자열은 사용자 지정 결합 암호를 사용하여 암호화되고 필요할 때만 해독됩니다. | |
T1027.007 | 난독화된 파일 또는 정보: 동적 API 해결 | BlackLotus 구성 요소는 이름 대신 API 이름의 해시를 사용하는 동안 동적 API 해상도를 사용합니다. | |
T1027.009 | 난독화된 파일 또는 정보: 임베디드 페이로드 | BlackLotus 구성 요소에 포함된 거의 모든 파일은 AES를 사용하여 암호화됩니다. | |
T1542.003 | 사전 OS 부팅: 부트킷 | BlackLotus 부트킷은 EFI 시스템 파티션에 배포되고 초기 OS 부팅 단계에서 실행되므로 OS 부팅 프로세스를 제어하고 탐지를 피할 수 있습니다. | |
T1055.012 | 프로세스 주입: 동적 링크 라이브러리 주입 | BlackLotus HTTP 다운로더는 새로 생성된 파일에 DLL을 주입할 수 있습니다. svchost.exe를 공정 중공을 사용하는 공정. | |
T1055.002 | 프로세스 주입: 휴대용 실행 파일 주입 | BlackLotus 드라이버는 HTTP 다운로더 휴대용 실행 파일을 Winlogon.exe가 프로세스. | |
T1014 | 루트 킷 | BlackLotus 커널 드라이버는 ESP의 부트킷 파일이 제거되지 않도록 보호합니다. | |
T1497.001 | 가상화/샌드박스 회피: 시스템 검사 | BlackLotus는 가상화 및 분석 환경을 감지하고 방지하기 위해 샌드박스별 레지스트리 값 확인을 포함한 다양한 시스템 검사를 사용합니다. | |
발견 | T1622 | 디버거 회피 | BlackLotus 구성 요소는 다양한 기술을 사용하여 커널 모드 또는 사용자 모드 디버거가 피해자에서 실행 중인지 여부를 감지합니다. |
T1082 | 시스템 정보 검색 | BlackLotus는 손상된 호스트에서 시스템 정보(IP, GPU, CPU, 메모리, OS 버전)를 수집합니다. | |
T1614 | 시스템 위치 검색 | 손상된 호스트에서 다음 시스템 로케일 중 하나가 식별되면 BlackLotus가 종료될 수 있습니다. ro-MD, ru-MD, ru-RU, uk-UA, be-BY, hy-AM, kk-KZ. | |
T1016 | 시스템 네트워크 구성 검색 | BlackLotus HTTP 다운로더는 요청을 통해 손상된 호스트의 공용 IP를 확인할 수 있습니다. api.ipify[.]org 서비스를 제공합니다. | |
T1016.001 | 시스템 네트워크 구성 검색: 인터넷 연결 검색 | BlackLotus HTTP 다운로더는 Microsoft의 www.msftncsi[.]com/ncsi[.]txt | |
T1497.001 | 가상화/샌드박스 회피: 시스템 검사 | BlackLotus는 가상화 및 분석 환경을 감지하고 방지하기 위해 샌드박스별 레지스트리 값 확인을 포함한 다양한 시스템 검사를 사용합니다. | |
명령 및 제어 | T1071.001 | 애플리케이션 계층 프로토콜: 웹 프로토콜 | BlackLotus는 C&C와의 통신에 HTTPS를 사용합니다. |
T1132.001 | 데이터 인코딩: 표준 인코딩 | BlackLotus는 URL 안전 base64를 사용하여 C&C 통신에서 암호화된 데이터를 인코딩합니다. | |
T1573.001 | 암호화된 채널: 대칭 암호화 | BlackLotus는 C&C에서 받은 메시지를 해독하기 위해 CBC 모드에서 256비트 AES를 사용합니다. | |
T1573.002 | 암호화된 채널: 비대칭 암호화 | BlackLotus는 포함된 RSA 공개 키를 사용하여 C&C로 전송되는 메시지를 암호화합니다. |
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- 플라토 블록체인. Web3 메타버스 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://www.welivesecurity.com/2023/03/01/blacklotus-uefi-bootkit-myth-confirmed/
- 000
- 1
- 10
- 11
- 2018
- 2020
- 2022
- 7
- 9
- a
- 할 수 있는
- 소개
- 위의
- 남용
- ACCESS
- 얻기 쉬운
- 액세스
- 계정
- 달성
- 달성하다
- 행동
- 행위
- 배우
- 행위
- 추가
- 또한
- 추가
- 주소
- 구애
- 관리자
- 많은
- 이점
- 광고
- 자문
- AES
- 에 영향을 미치는
- 후
- 반대
- 아카
- All
- 할당
- 할당
- 허용
- 수
- 이미
- 이기는하지만
- 항상
- AMD
- 중
- 분석
- 분석하다
- 및
- 애니메이션
- 다른
- API를
- API
- 앱
- 응용할 수 있는
- 어플리케이션
- 어플리케이션
- 적당한
- APT
- 아카이브
- 약
- 기사
- 평가
- 관련
- 시도
- 주의
- 8월
- 저자
- 가능
- 백업
- 백업
- 기반으로
- 기본
- 기초
- 비컨
- 때문에
- 전에
- 처음
- 뒤에
- 존재
- 벨라루스
- 믿으세요
- 이하
- 더 나은
- 사이에
- 멍청한 컴퓨터
- 블록
- 파란색
- 보너스
- 부츠
- 봇넷
- 흩어져
- 파괴
- 돌파구
- 가져
- 가져
- 대체로
- 가져
- 버퍼
- 빌드
- 내장
- 내장
- 전화
- 부름
- 통화
- 기능
- 수
- 한
- 주의
- 케이스
- 가지 경우
- 평상복
- 잡아라
- 발생
- 원인
- 일으키는
- 센터
- 증명서
- 체인
- 기회
- 이전 단계로 돌아가기
- 채널
- 확인
- 확인하는 것이 좋다.
- 암호
- 주장
- 선명한
- 클라이언트
- 닫기
- 닫은
- 자세히
- 폐쇄
- 암호
- 동료
- 콜롬비아
- 결합
- 결합 된
- 왔다
- 댓글
- 공통의
- 일반적으로
- 소통
- 통신
- 의사 소통
- 비교
- 비교
- 호환성
- 완전히
- 복잡한
- 복잡성
- 구성 요소
- 구성 요소들
- 타협
- 손상된
- 개념
- 관심
- 자신
- 구성
- 확인 됨
- 연결
- 치고는
- 소비자
- 포함하는
- 이 포함되어 있습니다
- 함유량
- 계속
- 계속
- 지속적으로
- 제어
- 제어
- 협력
- 핵심
- 동
- 수
- 코스
- 피복
- 만들
- 만든
- 생성
- 만들기
- 신임장
- 임계
- Current
- 현재
- 관습
- 위험한
- 데이터
- 데이터 센터
- 데이터베이스
- 날짜
- 비활성화
- 취급
- 죽음
- 해독
- 깊은
- 깊이
- 태만
- 한정된
- 명확히
- 따라
- 배포
- 배포
- 배치
- 전개
- 배치하다
- 파생
- 설명
- 기술 된
- 원하는
- 무례
- 목적지
- 세부 묘사
- 상세한
- 세부설명
- 탐지 된
- Detection System
- 결정
- 결정
- 개발
- 개발자
- 개발자
- 장치
- 디바이스
- DID
- 차이
- 다른
- DIG
- 곧장
- 직접
- 디렉토리
- 사용
- 폭로
- 발견
- 발견
- 발견
- 분산
- 분포
- 배포
- 하기
- 도메인
- 말라
- 다운로드
- 드라이브
- 운전사
- 드라이버
- 드롭
- 떨어 뜨린
- 적하
- 중복
- ...동안
- 동적
- 마다
- 초기의
- 쉽게
- 용이하게
- 생태계
- 판
- 효과적으로
- 노력
- 요소
- 올리다
- 높은
- 임베디드
- 고용하다
- 사용 가능
- 암호화
- 암호화
- 엔지니어링
- 충분히
- 등록
- 확인
- 항목
- 환경
- 환경
- 필수
- 설립
- 등
- 평가
- 조차
- 이벤트
- 이벤트
- 모든
- 증거
- 예
- 예
- 독점적으로
- 실행
- 실행
- 실행
- 실행
- 현존하는
- 출구
- 설명
- 설명
- 공적
- 착취
- 악용
- 공격
- 탐험
- 확장자
- 외부
- 실행할 수 있는
- 특색
- 추천
- 특징
- 사람
- 를
- Fields
- 그림
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 필터링
- 최후의
- Find
- 발견
- 먼저,
- 고정
- 플래시
- 흐름
- 따라
- 수행원
- 다음
- 영원히
- 형태
- 체재
- 이전
- 포럼
- 앞으로
- 발견
- 에
- 가득 찬
- 충분히
- 기능
- 기능의
- 기능
- 기능
- 추가
- Games
- 게이트웨이
- 생성
- 얻을
- 주어진
- 제공
- 골
- GPU
- 초록색
- 여러 떼
- 스테이블 가드
- 컴퓨터 조작을 즐기기
- 처리
- 손
- 발생
- 발생
- 하드웨어
- 데
- 헤더
- 여기에서 지금 확인해 보세요.
- 숨는 장소
- 높은
- 조회수
- 후크
- 주인
- 방법
- 그러나
- HTTPS
- 수백
- 확인
- 식별자
- 확인
- 영상
- 형상
- 바로
- 영향
- 구현
- 구현
- 수입
- 불가능한
- in
- 포함
- 포함
- 개인
- 정보
- 유익한 정보
- 처음에는
- 설치
- 설치
- 를 받아야 하는 미국 여행자
- 통합 된
- 보전
- 인텔
- 인텔리전스
- 상호 작용
- 인터넷
- 인터넷 연결
- 개요
- 조사
- 참여
- IP
- 발행물
- IT
- 그 자체
- 일월
- 일
- 점프
- 카스퍼 스키
- 카자흐스탄
- 유지
- 키
- 키
- 알려진
- 성
- 작년
- 늦은
- 최근
- 시작
- 층
- 리드
- 오퍼
- 출발
- 레노버
- Li
- 도서관
- 아마도
- 제한
- 링크드인
- 리눅스
- 명부
- 상장 된
- 기울기
- 작은
- 하중
- 짐을 싣는 사람
- 로드
- 잔뜩
- 지방의
- 위치한
- 위치
- 긴
- 장기
- 보기
- 잃다
- 낮은
- 맥
- 기계
- 기계
- 만든
- 마법
- 본관
- 주요한
- 확인
- 제작
- 유튜브 영상을 만드는 것은
- 악성 코드
- 관리
- 매니저
- 시장 조작
- 수동으로
- .
- 경기
- 문제
- 최대 폭
- 의미
- 기구
- 메모리
- 말하는
- 단지
- 메시지
- 메시지
- 방법
- Microsoft
- 수도
- 최저한의
- 분
- 완화
- 모드
- 수정
- 수정
- 모듈
- 순간
- 모니터링
- 모니터
- 개월
- 배우기
- 가장
- 동기
- 움직임
- 여러
- name
- 이름
- 이름
- 출신
- 필요한
- 필요
- 불필요한
- 요구
- 네트워크
- 신제품
- 다음 것
- 일반적으로
- 번호
- 숫자
- 사물
- 획득
- 십월
- 제공
- 오프라인
- 낡은
- ONE
- 온라인
- 열립니다
- 운영
- 운영
- 조작
- 연산자
- 선택권
- 옵션
- 주문
- 실물
- OS
- 기타
- 그렇지 않으면
- 극복하다
- 개요
- 자신의
- 소유
- 소유자
- 매개 변수
- 매개 변수
- 부품
- 부품
- 패치
- 패치
- 패치
- 통로
- 무늬
- 패턴
- 완전한
- 수행
- 실행할 수 있는
- 고집
- 물리적
- 조각
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- PoC
- 포인트 적립
- 전철기
- 정책
- 가능한
- 게시하다
- 게시물
- 가능성
- 강한
- 존재
- 제시
- 예방
- 너무 이른
- 이전에
- 원칙
- 사설
- 개인 키
- 권한
- 문제
- 문제
- 수입
- 방법
- 처리됨
- 프로세스
- 프로덕트
- 프로그램
- 현저한
- 증명
- 개념 증명
- 정확히
- 보호
- 보호
- 보호
- 보호
- 프로토콜
- 제공
- 제공
- 공개
- 공개 키
- 출판물
- 공개적으로
- 출판
- 목적
- 모집
- 램
- 닥치는대로의
- 빠르게
- 도달
- 읽기
- 리더
- 읽기
- 현실
- 현실
- 실현
- 이유
- 합리적인
- 접수
- 최근
- 복구
- 회복
- 참조
- 참조
- 관계없이
- 레지스터들
- 레지스트리
- 정규병
- 관련
- 남아
- 제거
- 제거
- 제거됨
- 제거
- 교체
- 대체
- 보고서
- 저장소
- 의뢰
- 필수
- 연구
- 연구원
- 연구원
- 분해능
- 해결
- 의지
- 응답
- 책임
- REST
- 복원
- 결과
- return
- 역
- 직위별
- 뿌리
- RSA
- 회의
- 달리기
- 달리는
- 러시아
- 안전한
- 같은
- 모래 상자
- 사기
- 스캐닝
- 계획
- 화면
- 수색
- 둘째
- 초
- 섹션
- 섹션
- 안전해야합니다.
- 보안
- 것
- 전송
- 감각
- 일련의
- 연속
- 서비스
- 서비스
- 세션
- 세트
- 설정
- 설정
- 몇몇의
- 공유
- 짧은
- 영상을
- 표시
- 쇼
- 기호
- 신호
- 서명
- 로그인
- 안전표시
- 비슷한
- 단순, 간단, 편리
- 단순화
- 간단히
- 이후
- SIX
- 크기
- So
- 지금까지
- 부드러움
- 소프트웨어
- 판매
- 해결책
- 일부
- 어떤 사람
- 무언가
- 지우면 좋을거같음 . SM
- 스페이스 버튼
- 구체적인
- 명세서
- 지정
- 복음
- 단계
- 단계
- 독립
- 표준
- 서
- 스타트
- 시작
- 시작
- 시작
- Status
- 유지
- 단계
- 단계
- 아직도
- 정지
- 저장
- 저장
- 똑 바른
- 구조
- 제출
- 후속의
- 성공한
- 성공적으로
- 이러한
- 제안
- 요약
- 개요
- SUPPORT
- 지원
- 지원
- 지원
- 가정
- 정지
- 상징
- 구문
- 체계
- 시스템은
- 테이블
- 받아
- 소요
- 복용
- 말하는
- 목표
- 작업
- 팀
- 테크니컬
- 기법
- 일시적인
- XNUMXD덴탈의
- 기초
- 정보
- 그들의
- 따라서
- 맡은 일
- 일
- 수천
- 위협
- 위협 행위자
- 위협
- 세
- 을 통하여
- 시간
- 타임 라인
- 팁
- 에
- 오늘
- 함께
- 토큰
- 너무
- 검색을
- 화제
- 방아쇠를 당긴
- 신뢰할 수있는
- 회전
- 돌린
- 선회
- 전형적인
- 우크라이나
- 아래에
- 이해
- 최신의
- 업데이트
- 업데이트
- 업데이트
- us
- 용법
- 사용
- 사용자
- 보통
- 유틸리티
- 가치
- 마케팅은:
- 여러
- 확인
- 확인
- 확인
- 버전
- 를 통해
- 희생자
- 피해자
- 위반
- 위반
- 가시성
- 음량
- 볼륨
- 취약점
- 취약점
- 취약
- 기다리는
- 방법
- 웹
- 잘 알려진
- 뭐
- 여부
- 어느
- 동안
- 모든
- 넓은
- 위키 백과
- 야생
- 의지
- 창
- 윈도우 11
- 이내
- 없이
- 작업
- 일
- 가장 나쁜
- 겠지
- 쓰기
- 쓴
- year
- 년
- 자신의
- 너의
- 제퍼 넷
- 제로