2011.11.14
안녕하세요. 안랩인입니다. 지난번 포스팅에서는 TDL4 부트킷의 유래와 배포 과정, 그 특징에 대해 알아봤습니다.
TDL3와 TDL4 식별법
이번호에서는 TDL4 코드 감염에 따른 부팅 시 재감염에 대해 상세히 살펴보겠습니다. 지난번에도 살펴봤듯이, TDL4는 윈도우 비스타 이후 버전과 윈도우 XP, x64, x86에 따라 감염 루틴이 달라집니다. 하지만 실제 동작하는 드라이버의 코드는 사실상 같습니다(32비트 코드를 64비트 코드로 컴파일한 것처럼 보입니다). 따라서 악성 TDL4 드라이버의 기능은 같은 것으로 보입니다. 드라이버를 드롭하는 악성코드와 은폐 및 자기 보호, 감염된 MBR이 수행하는 기능에 대해 상세히 알아보겠습니다.
1. TDL4 드로퍼
TDL4 드로퍼(Dropper)는 각각 전혀 다른 바이너리를 가진 Custom Packer로 돼 있습니다. 해당 Packer를 분석하면 실제 코드가 나오는데, 감염 시스템의 OS 버전을 체크합니다. 윈도우 비스타나 윈도우 7에서 관리자 권한을 얻기 위해 MS10-092 취약점을 이용합니다.
드로퍼는 [그림 1]과 같이 동작합니다.
[그림 1] TDL4 드로퍼 동작
MS10-092는 Task Scheduler 취약점을 이용하는데, 윈도우 비스타 이후 버전의 운영체제에서 Task Scheduler는 환경 설정 정보가 있는 XML 파일 형태로 Job을 등록합니다. Job 환경 설정 파일은 일반적으로 %SystemRoot%\system32\TaskFolder\에 생성되며, Job Type, 실행 파일 Path, 실행 파일의 아규먼트, 실행 권한 등이 포함됩니다.
위와 같이 Job 환경 파일을 보호하기 위해 윈도우에서는 CRC32 CheckSum을 계산하여 비교합니다. 비교된 값이 동일해야만 실행이 가능합니다.
해당 취약점을 실행시키는 시나리오는 아래와 같습니다.
[그림 2] MS10-092 취약점 시나리오
Job 환경 파일을 아래와 같이 변경합니다.
[그림 3] 변경된 Job 파일
LocalSystem의 권한으로 등록된 실행 파일이 실행됩니다. 변경된 Job 환경 파일에 아래와 같은 이상한 문자열이 등록되는데, 이것은 reversing한 CRC 값이 추가된 것입니다. <Ahn>
* 더 자세한 내용은 안랩 홈페이지 를 참고해주시기 바랍니다.
'AhnLab 보안in' 카테고리의 다른 글
동의없이 설치되는 불필요한 프로그램들 (0) | 2020.04.13 |
---|---|
니트로 보안 위협의 대상이 된 화학업체들 (0) | 2020.04.13 |
윈도우 커널 제로 데이 취약점을 악용한 Duqu 악성코드 (0) | 2020.04.13 |
Adobe Flash Player 악용 악성코드 발견 (0) | 2020.04.13 |
현재까지 4천 4백만개의 악성코드 발견 (0) | 2020.04.13 |