포스트

Windows의 고정키 기능 위변조 취약점

Windows의 고정키 기능 위변조 취약점

기기에 물리적으로 접근해야만 유효한 보안 취약점은 덜 중요한 것으로 취급됩니다. 특별한 조치를 취하지 않는 이상 바이오스 비밀번호는 보드의 전지만 제거하면 지워지고, 저장장치는 물리적으로 분리해서 다른 기기에서 로드하면 그 속에 든 내용을 확인할 수 있습니다.

sethc.exe

Windows에는 sethc.exe, 고정키 기능을 사용해 다른 실행 파일을 실행할 수 있는 보안 취약점이 존재합니다. 이 취약점은 고정키 기능이 등장하면서부터 존재했지만 아직까지 남아있는 역사적인 취약점입니다.

sethc.exe는 Shift키를 5회 연달아 입력하면 무조건 실행되는 응용 프로그램 파일입니다. 시스템은 이 프로그램 파일에 대해 그 어떤 무결성 검사도 거치지 않고 실행합니다. 만약 sethc.exe가 다른 실행 파일로 대체되었다면 시스템은 대체된 프로그램을 그대로 실행합니다.

고정키는 잠금 화면에서도 작동하므로 만약 sethc.exe가 명령 프롬프트나 PowerShell 등으로 위변조되었다면 공격자는 시스템에 로그인하지 않고도 무제한적인 시스템 접근권을 획득합니다.

1
2
net user user new_passw0rD
del /f /s /q C:\

일단 Windows도 sethc.exe를 자체 권한 기능으로 보호하고 있습니다. Windows 시스템 위에서 이 파일에 조작을 시도하면 권한 문제로 막히고 맙니다. 따라서 잘 알려진 Take Ownership 스크립트로 sethc.exe파일에 대해 소유권 이전 처리를 하거나, 외부 시스템에서 이 파일을 조작해야 이 취약점을 이용할 수 있습니다. 공격자는 공격 대상에 물리적 접근을 수반해야합니다.

외부, 다른 시스템, 혹은 다른 부트로더에서 공격 대상 Windows에 접근한다면 BitLocker라도 활성화라지 않은 이상 이미 이 시점에서 시스템 암호같은 것들은 없는 것과 다름없습니다. 그래서 이 취약점이 방치되고 있는 것일지도 모릅니다.