35
TDL 4 TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4 A Sophisticated Fraudster’s Rootkit

  • Upload
    sissy

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

TDL 4 A Sophisticated Fraudster’s Rootkit. Agenda. What are rootkits? TDL4 System Infection Anti-rootkits Conclusion. A rootkit is “A set of programs and code that allows a permanent or consistent, undetectable presence on a computer” [1]. - PowerPoint PPT Presentation

Citation preview

Page 1: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

TDL 4A Sophisticated Fraudster’s Rootkit

Page 2: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Agenda What are rootkits? TDL4 System Infection Anti-rootkits Conclusion

Page 3: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

A rootkit is

“A set of programs and code that allows a permanent or consistent, undetectable presence on a computer” [1]

Page 4: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Polymorphic Virus

- toolkits for creating viruses become available online

Boot sector Virus

- command com infector

Theories for self-replicating programs are created

First Apple virus found “in the wild”

- Spreads through pirated computer games

Macro Virus

Java infectors

Chernobyl

-destructive viruses that destroy data on certain dates

ILoveYou virus

Sends via email

Melissa

-Email spammer

- uses MS Word documents

Conficker Worm

- Most number of computers infected since Slammer in 2003

Slammer Worm

- fastest spreading worm to date; infecting 75,000 computers in approximately ten minutes

TDL

Stuxnet

Rustock

Trojans

Mobile trojans

An exponential growth on malware technology throughout the years.

Page 5: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Experts in the security industry have seen how rootkits rose and continue to advance in its level of sophistication.

Rootkits are gaining popularity…

Data from http://www.securelist.com/en/analysis/168740859/

Page 6: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

In fact, there is no reason for them not to...

As rootkits provides the most basic yet most effective feature a malware needs…

Stealth

Page 7: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

- Replacing / Modifying system files

- Modification of internal Windows structures

- Direct Kernel Object Manipulation

- Memory hooking (Shadow Walker)

How they avoid detection

Page 8: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

• SSDT – System Service Dispatch Table

• IDT – Interrupt Descriptor Table

• GDT – Global Descriptor Table

Commonly “hooked” system tables

Page 9: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Normal Behaviour

User Mode Process

Kernel32.dll

Kernel

ZwCreateFile

SSDTCreateFile()

Page 10: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

User Mode Process

Kernel32.dll

Kernel

ZwCreateFile

SSDTCreateFile()

Malicious Code

Compromised

Page 11: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

“One of the stealthiest rootkit in the wild”

“Uses sophisticated techniques to avoid detection”

“32bit and 64bit support”

“Owns a very large botnet”

“Continously evolving”

TDL 4

Page 12: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Evolution of TDL

TDL1 TDL2 TDL3 TDL4RC4 encryption no no YES YES

Hooked Functions NtFlushInstructionCache IofCallDriver AddPrintProcessor AddPrintProvidorNtEnumerateKey IofCompleteRequest AddPrintProvidor ZwConnectPort

PsLoadedModuleList NtSaveKeyNtQueryValueKey

Encrypted File System no no YES YESPriveledge Escalation no no no YES

64 bit support no no no YESOverwriting of MBR no no no YES

Complexity (1-5) 2 2 3 4

Hiding of TDL RegistriesHiding of TDL FilesHiding TCP portsProcess injection

Page 13: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

• Bypasses Windows PatchGuard for 64bit mode support• Exploits MS10-092 for privilege escalation• Infects the MBR to ensure survivability upon reboot• Loaded before the operating system can initialize• Hiding the critical files & registry keys it uses• Creates own file system to store rootkit components• Injecting malicious code into system processes from a kernel-mode driver• Disables kernel debugger to avoid being analyzed• Uses a watchdog to guard the system hooks and the MBR• Able to re-infect if a discrepancy is found

Key Features of TDL4

MS10-092Task Scheduler Vulnerability that

could allow for elevation of privilege

Task Scheduler improperly validates whether scheduled tasks run within the intended security

context

Page 14: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

- creates a hidden and encrypted(RC4 algorithm) partition in the last sector of the hard disk

-Using its own file system, it saves other rootkit components and the original MBR for later use.

Hex view of the last sector of an infected hard disk

Page 15: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

TDL4 components

Module Descriptionmbr Original MBR of infected systemldr16 16bit real mode loader codeldr32 fake kdcom.dll for 32 bit systemsldr64 fake kdcom.dll for 64 bit systemsdrv32 rootkit driver for 32 bit systemsdrv64 rootkit driver for 64 bit systems

cmd.dll payload for 32 bit processescmd64.dll payload for 64 bit processes

cfg.ini configurationbckfg.tmp encrypted list of C&C URLs

Page 16: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

System Infection

Page 17: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Unpack and Initialize

What bit is

running proces

s

32bit infection 64bit infection

Page 18: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Make a copy of itself on temp folder

Privileged Account?

OS Check

MS10-092

Make a manifest to request privilege escalation

ShellExecute

Hook ZwConnectPort

Call AddPrintProvidor

Modifies MBR

Fail Installation

XP

Success

Vista/7

Fail

Infecting 32bit Systems

Displays the little dialog message box requesting administrative

rights

Page 19: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

64bit, Improved defence?

- Code Integrity Policy prevents unsigned kernel-mode drivers on loading- Windows PatchGuard protects modification of

- SSDT System Service Dispatch Table- IDT Interrupt Descriptor Table- Global Descriptor Table- Patching codes on kernel

Page 20: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Force Shutdown BSOD

Prepare FileSystem(FS) image

Modifies MBR and write FS on disk

Infecting 64bit systems

Make a copy of itself on temp folder

MS10-092

Make a copy of itself on temp folder

ShellExecute

Fail

Success

Page 21: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

“The Master Boot Record (MBR) is the first 512 bytes of a data storage device that contains code for bootstrapping an operating system. It houses the table of primary partitions using the IBM partition table

scheme. It’s primary purpose is to load the boot sector and pass control to it (volume boot record)”

Page 22: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Load MBR

Load VBR

Load Bootmgr

Load winload.exe or winresume.exe

Load kernel and other drivers

MBRMaster Boot Record

Loads the VBR

VBRVolume Boot Record

Loads the Bootmgr

Bootmgr

Reads BCD (Boot Configuration Data)Loads either winload.exe or

winresume.exe (restore the state of hibernating system)

Winload.exe

Initializes code integrity policy 

loads kernel and its dependencies hal.dll, bootvid.dll, kdcom.dll 

Kernel InitializationCalls KdDebuggerInitialize1

from kdcom.dll to initialize the debugging facilities of the system

Page 23: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Load infected MBR

Load LDR16 from its file system

Hooks INT13 and restore original MBR

Load VBR

Load Bootmgr

Load Winload.exe(WINPE mode)

Call KdDebuggerInitialize1

Initialize kernel

Infected MBRContains malicious codes for

loading TDL4

Loads LDR16Replaces a key BCD value in registry to

initiate WinPE mode

Hooks INT13Hook INT13Waits for kdcom.dll to be loaded, then

replaces the image of it in memory with LDR32 or LDR64 (platform dependent)

WINPE modeSince the value in BCD registry hive

was replaced WinPE mode is activated.

Code Integrity disabled

Loads kernel dependencies

Loads dependencies, when hook finds kdcom.dll in memory, replaces the

image with LDR32 or LDR64Why KDCOM.DLLContains a function that is called by the system to initialize system debuggers.

LDR32 / 64Contains the same functions as original

kdcom.dll but only one works

KdDebuggerInitialize1

All others are dummies and return 0Kernel debugger disabled

DRV32 or DRV64 (rootkit’s main component for hooking) will be

loaded

Continue loading as if nothing happened

OWNED

Load ntoskernel.exe, hal.dll and kdcom.dll

Page 24: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Page 25: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

• TDL – “Trojan Downloader”– Keyloggers– Clickers– Fake AVs– Adware

• Receives commands from botnet C&C and runs them • Intercepts user searches and spoofs the search result• Creates search requests to popular search engines.

PAYLOAD

Page 26: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Should we be alarmed?

“Stealth is nothing new to the anti-virus industry"

Page 27: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

There is a war…

Page 28: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

-Signature Based

-Behavioural

-Kernel hooking

-Integrity Checkers

-Diff Based

Page 29: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

- Rootkit detection and removal is an integral part of Advanced Malware Detection- More and more companies are opting for this technology

Page 30: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

http://www.gfi.com/

Page 31: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

InfectedClean

Page 32: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

Infected MBR disassembly

Page 33: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

After decryption and loading LDR16

Page 34: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

INT13 hooked

Page 35: TDL 4 A Sophisticated Fraudster’s Rootkit

TDL 4

BCD modification