[하루한줄] CVE-2020-1394 : Windows LockScreen Escalation of Privilege

URL

BitLocker Lockscreen bypass

Target

  • Windows

Explain

Windows BitLocker Lockscreen 우회를 통한 권한 상승 취약점에 대한 세부 사항이 공개되었습니다. BitLocker는 Windows에서 지원하는 디스크 암호화 기능으로 볼륨 전체에 암호화를 제공하여 자료를 보호하도록 설계된 기능입니다. 하지만 다음과 같은 방법으로 관리자 계정을 추가하여 BitLocker를 우회할 수 있습니다.

  1. 로그인 화면에서 “암호를 잊어버렸습니다.”를 선택합니다.
  2. 잠금 우회 후 이동식 드라이브의 자동 실행을 활성화합니다.
  3. exe 파일과 junction folder가 있는 USB를 삽입합니다.
  4. 실행 파일이 실행되면 USB를 제거한 후 다시 삽입하고 메인 화면으로 돌아갑니다.
  5. 내레이터가 시작되면 설치된 DLL 페이로드가 실행됩니다.

위의 작업을 수행하기 위해 LockScreen을 우회하는 방법은 다음과 같습니다.

  1. “암호/PIN을 잊어버렸습니다.”를 선택합니다.
  2. 화면을 볼 수 없으므로 내레이터를 사용하여 탐색을 진행합니다.
  3. shift 키를 5번 연속으로 누르면, 설정 창을 여는 링크가 있는 창이 뜹니다.
  4. 링크를 클릭해도 시작된 설정 창은 볼 수 없으므로 링크를 1초에 2번 정도 계속 클릭합니다.
  5. 화면에 focus box가 나타나면 해당 창은 설정 창이므로 CapsLock + 왼쪽 화살표를 통해 홈으로 이동합니다.
  6. CapsLock + 방향키를 통해 장치 - 자동 실행 - 이동식 드라이브 - 폴더를 열어 파일 보기(파일 탐색기)를 선택합니다.

이후 USB 연결 후 내레이터가 창이 떴다고 했을 때 Exploit.exe 파일을 실행하면 암호를 사용하지 않고 실행이 가능합니다.

USB가 마운트 될 때 BitLocker는 시스템 볼륨 정보에 ClientRecoveryPasswordRotation이라는 디렉터리를 생성하고 Authenticated Users: (F), SYSTEM: (I) (OI) (CI) (F) 권한을 부여합니다. 디렉터리 생성 작업을 리다이렉트 하기 위해 USB를 사용하여 \System Volume Information\RCP Control로 향하는 마운트 포인트로 만듭니다. 그 후 \RPC Control\ClientRecoveryPasswordRoation\??\C:\Windows\system32\Narrator.exe.local에 대한 심볼릭 링크를 생성합니다. USB를 다시 삽입하면, C:\Windows\System32\Narrator.exe.locl 폴더는 하위 디렉터리를 생성할 수 있는 권한으로 생성됩니다. 이 하위 디렉터리에 DLL 페이로드를 넣은 후 내레이터가 시작되면, DLL 페이로드가 실행됩니다.