
USB HID 드라이버 에뮬레이션으로, Mimikatz가 지원하는 Plenom A/S Busylight Alpha의 PID/VID(0x3bca/0x27bb)를 사용합니다. Mimikatz가 실행되면 기본적으로 스레드가 생성되어 지원되는 Busylight 중 하나를 찾으려고 시도합니다. 모든 HID 장치가 열거되며, PID/VID가 일치하면 다양한 색상으로 Busylight를 점멸시키는 패킷이 전송됩니다.
Mimikatz가 지원하는 Plenom A/S Busylight Alpha의 PID/VID(0x3bca/0x27bb)를 사용한 USB HID 드라이버 에뮬레이션입니다. Mimikatz가 실행되면 기본적으로 지원되는 busylight 중 하나를 찾으려는 스레드가 생성됩니다. 모든 HID 장치가 열거되며, PID/VID가 일치하면 busylight를 다양한 색상으로 깜박이게 하는 패킷이 전송됩니다.
Mimikatz가 이 장치로 보내는 패킷에는 세 가지 유형이 있습니다:
busylight::off가 호출될 때 전송됨이 장치는 실제 USB 장치를 완전히 모방하는 HID 장치를 에뮬레이션하므로 mimikatz는 둘을 구분할 수 없습니다.
이 드라이버는 umdf2 드라이버입니다. 즉, 다음과 같은 특징이 있습니다:
이는 busylight의 동작을 투명하게 에뮬레이션합니다. 드라이버는 세 가지(start, keepalive, stop) 패킷 중 하나라도 수신되었는지 확인하고, 수신된 경우 DLL을 로드하여 각각 세 개의 내보낸 함수를 호출합니다. DLL은 서명할 필요가 없지만, 신뢰할 수 있는 배포에는 서명이 도움이 될 수 있습니다. DLL의 기능은 쉽게 변경할 수 있습니다.
이 DLL에는 세 개의 내보낸 함수가 있습니다:
이 함수들은 각각 드라이버에 의해 호출됩니다. 현재 세 가지 서로 다른 보고 모드가 구현되어 있습니다:
다음 형식이 Windows 로그\응용 프로그램의 이벤트 로그(또는 다른 두 로깅 인터페이스)에 표시됩니다.
Tool started. PID: 13456
기본적이지만 가장 중요한 두 가지 정보가 담겨 있습니다. 그것은 시작/중지 또는 keepalive 중 하나이며, 이는 도구가 해당 시점에 실행 중이었다는 것을 의미합니다. PID는 프로세스 ID입니다.
UMDF 드라이버는 낮은 권한의 사용자로 사용자 공간에서 실행되므로 다른 프로세스에 대한 정보를 자세히 가져올 수 없습니다. 이 작업은 더 높은 권한을 가진 다른 서비스에서 수행해야 합니다.
다음은 관리자 권한 사용자로 수행해야 합니다:
install.bat다음은 관리자 권한 사용자로 수행해야 합니다:
uninstall.batrsyslog 서버를 사용하는 세 가지 다른 Windows 10 설치 환경에서 테스트되었습니다.
다음 Mimikatz 변형이 테스트되었습니다:
2015년 10월 8일 이후의 원본 Mimikatz 버전 (탐지됨)
DLL로 컴파일된 원본 (탐지됨)
PowerShell로 컴파일된 원본 (Invoke-Mimikatz) (탐지됨)
PowerSploit - Invoke-Mimikatz (탐지됨)
CrackMapExec - Invoke-Mimikatz (탐지됨)
Shellenium - Invoke-Mimikatz (탐지됨)
Cobalt Strike (탐지되지 않음)
Metasploit kiwi 모듈 (탐지되지 않음)
Pypykatz (탐지되지 않음)