윈도 운영체제는 태생적으로 갖고 있는 문제들로 인해 아직도 매우 취약한 운영체제로 분류됩니다. 현재 진행형인 보안사고 사례에서 재미있는(?) 윈도 운영체제의 취약성을 알게 되어 소개하고자 합니다. 윈도서버에 매우 손쉽게 백도어를 생성할 수 있는 방법 중 하나입니다.
유닉스나 리눅스가 갖고 있는 쉘카피백도어와 비슷한 백도어 생성기법 중 하나입니다. sethc.exe는 C:\Windows\system32 디렉토리에 있는 시스템 파일입니다.(이 파일의 용도 설명은 생략합니다.) 그리고 이 명령어는 Shift 키를 다섯번 연속으로 누르면 실행되는 다음 화면을 보여주는 명령어 입니다.
아마 많은 분들이 “아하~~이 화면…”이라고 생각하실 겁니다. 맞습니다. sethc.exe는 바로 이 화면을 보여주는 명령어 입니다. 그리고 아래 화면처럼 작업관리자에서 확인할 수 있습니다. 그런데 웃긴 것은 로그아웃 된 상태에서도 shift 키를 다섯 번 누르면 실행된다는 사실입니다.
해커들은 여기서 힌트를 얻은 것으로 보입니다. 만약 sethc.exe 파일을 삭제하고 cmd.exe를 복사하여 sethc.exe로 바꿔치기 하거나 해커들이 실행되기를 원하는 악성코드파일로 변조하면 어떨까?? 라는 생각을 하게 된 것입니다. 그리고 해커들은 더 나아가 sethc.exe가 shift 키 5회 연속 눌림이 아닌 다른 방법으로도 원격에서 호출할 수 있다는 것과 sethc.exe가 관리자 계정의 비밀번호를 변경할 수 있는 취약점이 있다는 것도 찾아냈습니다. (정말 존경스러울 만큼 대단한 열정을 갖고 있습니다.. -.-)
Windows 2003 서버는 물론이고 Windows7도 이 아이디어가 그대로 현실로 적용됩니다. Windows 2008 이상의 서버는 운영체제의 변조를 막아주긴 합니다만 관리자 권한을 얻으면 얼마든지 해제할 수 있기 때문에 실상 큰 도움은 되지 않습니다. 오늘 현재 해커의 공격을 받고 있는 서버도 이 sethc.exe가 변조된 것을 확인했으니까요.
그래서 위 화면을 캡쳐한 Windows 2008에서 테스트를 해봤습니다. sethc.exe를 다른이름으로 변경해놓고 cmd.exe를 sethc.exe로 복사하여 두고 로그오프된 상태에서 Shift 키를 5회 연속으로 눌러봤습니다. 로그인을 하지 않고도 cmd.exe를 호출할 수 있었습니다. 로그인하지 않은 채 cmd.exe를 사용할 수 있는 완벽한 백도어인 셈입니다.
이 취약점은 운영체제 파일들에 대한 변조(수정,삭제,생성,리네임)등을 관리자 권한으로도 하지 못하도록 통제하지 않으면 제거할 수 없는 매우 크리티컬한 취약점이라고 할 수 있습니다. 방법은 RedCastle과 같은 SecureOS를 통해 관리자 권한으로도 해제할 수 없는 운영체제 파일의 수정/변조 차단을 적용하는 것입니다.
아래 동영상을 확인하세요. 로그오프 상태에서 15초 지점에서 Shift키를 5회 연속으로 눌렀고 로그인 한 뒤 55초 지점에서 또 shift키를 5회 연속으로 눌러줬습니다. 두 번 모두 cmd.exe가 실행되는 것을 확인할 수 있습니다.
너무 쉽죠??? 그만큼 Windows 운영체제는 보안에 취약합니다. 위 화면에 표시된 대로 접근성 센터에 가서 이 기능을 꼭 꺼주시기 바랍니다.