Example: marketing

Defeating x64 - cdn1.esetstatic.com

Defeating x64: Modern Trends of kernel -Mode Rootkits Aleksandr Matrosov Eugene Rodionov Who we are? Malware researchers at ESET. - rootkits analysis - development of cleaning tools - tracking new rootkit techniques - investigation of cybercrime groups Agenda Evolution of payloads and rootkits Bypassing code integrity checks attacking windows Bootloader Modern Bootkit details: Win64/Olmarik Win64/Rovnix How to debug bootkit with Bochs emulator HiddenFsReader as a forensic tool Evolution of Rootkits Evolution of Rootkit Installation exploit payload dropper rootkit Evolution of Rootkit Installation Malicious Exploit Bypass Escape Web-site Vulnerability ASLR/DEP Sandbox Execute Download Escalate Payload Rootkit Local Privilege kernel -Mode Exploit Install Rootkit Ev

Attacking Windows Bootloader ... ldr32 reads TDL4’s kernel-mode driver from hidden file system and maps it into kernel-mode address space ldr64 implementation of ldr32 module functionality for 64-bit OS

Tags:

  Windows, Kernel, Attacking, Attacking windows

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Defeating x64 - cdn1.esetstatic.com

1 Defeating x64: Modern Trends of kernel -Mode Rootkits Aleksandr Matrosov Eugene Rodionov Who we are? Malware researchers at ESET. - rootkits analysis - development of cleaning tools - tracking new rootkit techniques - investigation of cybercrime groups Agenda Evolution of payloads and rootkits Bypassing code integrity checks attacking windows Bootloader Modern Bootkit details: Win64/Olmarik Win64/Rovnix How to debug bootkit with Bochs emulator HiddenFsReader as a forensic tool Evolution of Rootkits Evolution of Rootkit Installation exploit payload dropper rootkit Evolution of Rootkit Installation Malicious Exploit Bypass Escape Web-site Vulnerability ASLR/DEP Sandbox Execute Download Escalate Payload Rootkit Local Privilege kernel -Mode Exploit Install Rootkit Evolution of Rootkit Features x86.

2 Dropper Rootkit bypassing HIPS/AV self-defense privilege escalation surviving reboot installing rootkit driver kernel mode injecting payload User mode Evolution of Rootkit Features x86. x64. Dropper Rootkit Rootkit bypassing HIPS/AV self-defense self-defense privilege escalation surviving surviving reboot reboot installing rootkit bypassing signature driver injecting payload check Rootkit bypassing MS PatchGuard kernel mode User mode injecting payload Obstacles for 64-bit Rootkits o kernel -Mode Code Signing Policy: It is difficult to load unsigned kernel -mode driver o kernel -Mode Patch Protection (Patch Guard): SSDT (System Service Dispatch Table).

3 IDT (Interrupt Descriptor Table). GDT ( Global Descriptor Table). MSRs (Model Specific Registers). Bypassing Code Integrity Checks Types of Integrity Checks o PnP Device Installation Signing Requirements o kernel -Mode Code Signing Policy Enforced on 64-bit version of windows Vista and later versions 64-bit windows Vista and 32-bit windows Vista later and later Boot-start driver . Non boot-start PnP driver . Non boot-start, non-PnP. driver . (except stream protected media drivers). Subverting KMCSP. o Abusing vulnerable signed legitimate kernel -mode driver o Switching off kernel -mode code signing checks by altering BCD data: abusing WinPe Mode disabling signing check enabling test signing o Patching Bootmgr and OS loader Bypassing Integrity Checks Bypassing Integrity Check Techniques USER-MODE kernel -MODE.

4 TESTSIGNING ON System Boot Modification MBR. DISABLE INTEGRITY CHECKS. (Master Boot Record). VBR. (Volume Boot Record). attacking windows Bootloader Boot Process First BIOS Boot Full kernel MBR User-Mode Initialization Loader Initialization Process Early kernel Initialization BIOS Services kernel Services Hardware Boot Process of windows OS. real mode real mode Load MBR Load MBR. real mode real mode Load VBR Load VBR. real mode/ real mode/. protected mode protected mode Load Load ntldr bootmgr real mode/. Load kernel Load protected mode and boot or start drivers Load kernel Boot Process of pre Boot Process of post and boot windows Vista OS windows Vista OS start drivers MBR Master Boot Record VBR Volume Boot Record Boot Process with Bootkit Infection load malicious MBR/VBR.

5 NT kernel modifications load rootkit driver Code Integrity Check Non boot-start OS kernel kernel -mode drivers OS kernel Bootmgr OS loader dependencies Boot-start drivers Evolution of Bootkits o Bootkit PoC evolution: o Bootkit Threats evolution: eEye Bootroot (2005) Win32/Mebroot (2007). Vbootkit (2007) Win32/Mebratix (2008). Vbootkit v2 (2009) Win32/Mebroot v2 (2009). Stoned Bootkit (2009) Win64/Olmarik (2010/11). Evilcore x64 (2011) Win64/Rovnix (2011). Win64/Olmarik Installation on x86 vs. x64. TDL4 Installation on x86.

6 Adjust fail SeLoadDriver success privilege Copy itself into Check OS. WinXP Vista/Win7 PrintProcessor version director Set IMAGE_FILE_DLL. Exploitation success flag in the PE header Fail fail install MS10-092. Copy itself into Call %TMP% directory AddPrintProvidorW. API. Create Call manifest requesting DeletePrintProvidorW. admin privilege API. Call ShellExecute TDL4 Installation on x64. Prepare hidden FS. image Write FS image, fail patch MBR and Adjust success SE_SHUTDOWN_PRIVILEGE. Exploitation success MS10-092.

7 Fail Call ZwRaiseHardError to create BSOD. Copy itself into %TMP% directory Restart Dropper Create manifest requesting admin privilege Call success ShellExecute Report to C&C. fail Boot Configuration Data (BCD). BCD. BCD BCD. Object1 Object2. BCD BCD BCD. Element1 Element2 Element3. windows boot Inheritable manager windows boot BCD Object Application loader Device Ntldr BCD Elements determining KMCSP. (before KB2506014). BCD option Description BcdLibraryBoolean_DisableIntegrityCheck disables kernel -mode code integrity (0x16000020) checks BcdOSLoaderBoolean_WinPEMode instructs kernel to be loaded in (0x26000022) preinstallation mode, disabling kernel -mode code integrity checks as a byproduct BcdLibraryBoolean_AllowPrereleaseSignatu res enables test signing (0x16000049).

8 BCD Elements determining KMCSP. (before KB2506014). BCD option Description BcdLibraryBoolean_DisableIntegrityCheck disables kernel -mode code integrity (0x16000020) checks BcdOSLoaderBoolean_WinPEMode instructs kernel to be loaded in (0x26000022) preinstallation mode, disabling kernel -mode code integrity checks as a byproduct BcdLibraryBoolean_AllowPrereleaseSignatu res enables test signing (0x16000049). Abusing Win PE mode: TDL4 modules Module name Description mbr (infected) infected MBR loads ldr16 module and restores original MBR in memory ldr16 hooks 13h interrupt to disable KMCSP and substitute with ldr32 or ldr64.

9 Ldr32 reads TDL4's kernel -mode driver from hidden file system and maps it into kernel -mode address space ldr64 implementation of ldr32 module functionality for 64-bit OS. int 13h service provided by BIOS to communicate with IDE HDD controller Abusing Win PE mode: Workflow Load infected MBR Continue kernel Infected mbr is initialization loaded and executed Load drv32 . Call or drv64". Load ldr16 from KdDebuggerInitialize1. hidden file system ldr16 is from loaded loaded and executed substitute Hook BIOS int 13h Load , with ldr32.

10 Handler and , ,b or ldr64". restore original Original mbr is ant etc MBR loaded and executed distrort /MININT option Load VBR Load VBR is loaded and executed Substitute EmsEnabled option with WinPe Load bootmgr read bcd Bootmgr is loaded and executed Abusing Win PE mode: Workflow Load infected MBR Continue kernel Infected mbr is initialization loaded and executed Load drv32 . Call or drv64". Load ldr16 from KdDebuggerInitialize1. hidden file system ldr16 is from loaded loaded and executed substitute Hook BIOS int 13h Load , with ldr32.


Related search queries