Filer: Download challenge files

Writeup: Persistence is Key

Kategori: Malware / Windows Persistence / Reverse Engineering
Flag: DDC{M4gnific3nt-M4lw4r3-R3mov4l}


Indledende Observationer

Ved opstart af den udleverede Windows 11 VM observeres følgende:

  • Ved hver reboot:

    • Der genereres tilfældige .txt filer på Desktop

    • calc.exe åbnes automatisk

  • Adfærden fortsætter efter genstart

Dette indikerer en persistence-mekanisme.


Persistensmekanismen

Jeg undersøgte derefter følgende registry (et ofte anvendt register, der bruges af malware til at opnå persistens):

1
HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Her fandt jeg et mistænkelig entry:

1
System32 : mshta.exe "javascript: ..."

Payloaden:

  • Læser fra registry:

    1
    
    HKCU\Software\Microsoft\Windows\Shell\Bags\1\Desktop
    
  • Evaluerer værdien Profile1

Registry key indeholdte:

1
2
Profile1        : new ActiveXObject("WScript.Shell").Run("%APPDATA%\\discord\\update.exe",0,false)
Secret_password : xSbRFPNuKpLeguYhiCAFcddbchSQMY

Persistence chain er altså:

1
2
3
4
5
1. HKCU Run
2. mshta
3. javascript
4. RegRead(Profile1)
5. Run(%APPDATA%\discord\update.exe)

Malwarens Placering

%APPDATA%\discord var skjult (Hidden + System attributes).

Jeg aktiverede “Show hidden files” i windows explorer:

1
C:\Users\windows\AppData\Roaming\discord\update.exe

Filen eksisterede og jeg kopierede den til host for analyse.


Statisk Analyse

Detect It Easy output

  • PE32 (C++)

  • Console binary

  • ZIP archive detected in overlay

  • Encrypted archive (99.9%)

  • Overlay offset:

    1
    
    0x00179600
    

Dette indikerede at der var et password-beskyttet ZIP-arkiv tilføjet til exe’en.


IDA-Analyse

main() funktion viste:

  • Random txt generation

  • Desktop path:

    1
    
    %USERPROFILE%\Desktop\
    
  • Randomized filnavne

  • “ha” * n + " you can’t delete me!"

  • Kald til run_shellcode()

Trolling-funktionen var altså kun støj.

Den interessante del var overlay + encryption.


Overlay-udpakning

Jeg åbnede update.exe i 7-Zip som identificerede, at der var et indlejret arkiv i filen (PE overlay).

Da jeg forsøgte at extract blev der bedt om password.

Her skrev jeg registry-værdien ind:

1
Secret_password : xSbRFPNuKpLeguYhiCAFcddbchSQMY

Arkivet blev herefter succesfuldt extractet, hvilket afslørede den interne fil, der indeholdt flaget.


Flaget

ZIP-arkivet indeholdt flaget:

1
DDC{M4gnific3nt-M4lw4r3-R3mov4l}

Opsummering af Angrebskæden

1
2
3
4
5
6
7
8
User login
1. HKCU Run key
2. mshta fileless loader
3. Registry-stored payload
4. Hidden update.exe
5. Console malware
6. Password-protected overlay ZIP
7. Flag stored inside encrypted archive

Læring

  • Persistence kan gemmes i:

    • HKCU Run

    • mshta + JavaScript

    • Registry-stored payload

  • Hidden folders kan skjule malware

  • PE overlays er ofte brugt i CTF

  • Registry-stored secrets bruges ofte som decrypt-keys


Det Endelige Flag

1
DDC{M4gnific3nt-M4lw4r3-R3mov4l}