📝
Home
Pentesting
  • 📝Home
  • ⚒️PENTESTING
    • Foundational
      • Gaining Access
      • Session Hijacking
      • Buffer Overflows
        • Finding the Offset
        • Spiking
        • Fuzzing
      • Attack Basics
        • Brute Force Attacks
        • Credential Stuffing and Password Spraying
        • Netcat Shell Stabilization
        • Reverse Shells vs Bind Shells
        • Staged vs Non-Staged Payloads
      • Footprinting
    • Reconnaissance
      • Discovering Email Addresses
      • Hunting Subdomains
    • Scanning and Enumeration
      • Banner Grabbing
      • Enumerating HTTP and HTTPS
      • Enumerating SMB
      • Enumerating SSH
      • NetBIOS Enumeration
      • SNMP Enumeration
      • Sniffing
    • Privilege Escalation
      • 🐧Linux Privilege Escalation
      • 🪟Windows Privilege Escalation
        • Initial Enumeration
    • Defense Evasion
      • Hiding Files and Covering Tracks
      • Network Evasion
    • Attacking Services
      • Attacking Kerberos
      • Attacking VPNs
      • Denial of Service
      • Exploiting FTP
      • Exploiting NFS
      • Exploiting SMTP
      • Exploiting Telnet
    • Attacking Active Directory
      • Initial Attack Vectors
        • Gaining Shell Access
        • LLMNR Poisoning
        • SMB Relay
        • Passback Attacks
        • IPv6 Attacks
      • Post-Compromise Enumeration
        • Bloodhound
        • ldapdomaindump
        • PowerView
        • PlumHound
      • Post-Compromise Attacks
        • GPP Attacks
        • Print Nightmare
        • Token Impersonation using Incognito
        • URL File Attack
        • Pass Attacks
        • Kerberoasting
        • LNK File Attacks
        • Mimikatz
      • Post-Domain Compromise Attacks
        • Dumping the NTDS.dit
        • Golden Ticket Attacks
      • Post Exploitation
    • Toolkit
      • Burp Suite
        • Intruder
      • Hping
        • Crafting TCP and UDP Packets
      • Metasploit
        • Meterpreter
        • Shell Handler
        • Gather Information
        • Gaining Root
    • Web Application Hacking
      • Attack Methodology
      • Attacking Web Applications
      • Authentication Bypass
      • Cross-Site Scripting
      • Cross-Site Request Forgery
      • File Inclusion
      • Server-Side Request Forgery
      • Injection
        • Command Injection
        • LDAP Injection
        • SQL Injection
  • 👽MALWARE ANALYSIS
    • Malware Analysis Primer
    • Malware Types
      • Rootkits
      • Viruses
      • WannaCry
    • Analyzing Malicious Windows Programs
    • Static Analysis
      • Basic Static Techniques
      • Advanced Static Analysis
    • Reverse Engineering
      • Crash Course in x86 Disassembly
      • Recognizing Code in Assembly Language
    • Dynamic Analysis
    • Detecting Malware
      • Evasion Techniques
      • Detecting Mimikatz
      • Hunting Malware
      • Hunting Metasploit
      • Hunting Persistence
  • 🏹THREAT HUNTING
    • Foundational
      • ATT&CK Framework
      • CIA Triad
    • APTs
  • 🐍PROGRAMMING & SCRIPTING
    • Foundational
      • Computer Memory
    • C Programming
    • Assembly Language
      • Assembly File Structure
      • Debugging with gdb
    • Bash
    • Python
      • Foundational
        • Booleans and Operators
        • Comprehensions
        • Conditionals
        • Dictionaries
        • Exceptions and Error Handling
        • Functions
        • Lambdas
        • Lists
        • Loops
        • Modules
        • Numbers
        • Reading and Writing Files
        • Sets
        • Sockets
        • String Formatting
        • Tuples
        • User Input
        • Variables
      • Extending Python
        • Virtual Environments
        • Sys Module
        • Requests
        • pwntools
    • Regular Expressions
    • SQL
  • 🕵️DIGITAL FORENSICS
    • Anti-Forensic Techniques
    • 🪟Windows Security Internals
      • Windows Security Internals
        • Kernel
          • Security Reference Monitor (SRM)
          • Object Manager
            • System Calls
            • NTSTATUS Codes
            • Object Handles
            • Query and Set Information System Calls
          • The I/O Manager & The Process and Thread Manager
          • The Memory Manager
          • The Configuration Manager
  • 💼GRC (CISSP Notes)
    • Security Assessment and Testing
    • Security Governance Principles
    • Security Policies Standards and Procedures
    • Preventing and Responding to Incidents
    • Organizational Roles and Responsibilities
    • Organizational Processes
  • 📦Networking
    • Foundational
      • DHCP
      • DNS Basics
      • HTTP Protocol
      • IPSec
      • IPv6 Fundamentals
    • Wireless Technologies
      • 802.11
      • Bluetooth
      • Wireless Authentication
      • Wireless Encryption
Powered by GitBook
On this page
  • What is a rootkit?
  • What are the six types of rootkits?
  • What are protection rings in relation to rootkits?
  • Ways to detect rootkits
  • Other methods
  1. MALWARE ANALYSIS
  2. Malware Types

Rootkits

What is a rootkit?

  • A rootkit is a collection of software put in place by an attacker that is designed to obscure system compromise

  • It is software that replaces or substitutes administrator utilities and capabilities with modified versions that obscure or hide malicious activity

  • They are designed to provide back doors for the attacker to use later and include ways to remove and hide evidence of any activity

  • Examples of rootkits

    • Horsepill

    • A linux rootkit inside "initrd" with three main parts

      • klibc-horsepill.patch — creates a new, malicious run-init

      • horsepill_setopt — moves command line arguments to the new malicious run-init

      • hrsepill_infect — splats files

    • Grayfish

      • A Windows rootkit that injects code in the booth record

      • It creates its own virtual file system (VFS)

    • Sirefef

      • More like malware on steroids

      • Often called a multi-component family of malware

    • Azazel

    • Avatar

    • Necurs

    • ZeroAccess

What are the six types of rootkits?

  • Hypervisor level — these rootkits modify the boot sequence of the host system to load a virtual machine as the host OS

  • Hardware (firmware) — hide in hardware devices or firmware

  • Boot loader level — replace the boot loader with one controlled by the hacker

  • Application level — directed to replace valid application files with Trojan binaries. They work inside an application and can change the application's behavior, user rights level and actions.

  • Kernel level — Attacks the boot sectors and kernel level of the operating system themselves, replacing kernel code with back-door code. These are the most dangerous and are hard to detect and remove.

  • Library level — Use system-level calls to hide their existence

What are protection rings in relation to rootkits?

  • Refers to concentric, hierarchical rings from the kernel out to the applications

  • Each has its own fault tolerance and security requirements

  • Rings

    • Ring 0 — kernel

    • Ring 1 — drivers

    • Ring 2 — libraries

    • Ring 3 — Applications

Ways to detect rootkits

  • ECC provides these commands, they tend to result in a lot of false positives and does not detect all stealth software

# Run these commands in the potentially infected system and save the results 
dir /s /b /ah 
dir /s /b /a-h 

# Boot a clean CD version and run the same commands for the same drive 
  • Use WinDiff on both results to see any hidden malware

Other methods

- Run integrity verifiers
PreviousMalware TypesNextViruses

Last updated 1 year ago

👽