Alternate Data Streams (ADS)
Aplicații practice, dar de bază, ale ADS în mediile CTF și Pentesting
Atunci ce sunt Alternate Data Streams (ADS) ?
Este o caracteristică care a fost adăugată la New Technology File System, cunoscut și sub numele de NT File System (NTFS), pentru a crește comparabilitatea cu Macintosh Hierarchical File System (HFS), în termeni simpli, este ceva care a facilitat utilizarea fișierelor dvs. atât pe Mac (Apple), cât și pe PC (Windows).
Cum funcționează și de ce ar trebui să-mi pese de el?
De obicei, atunci când salvați ceva într-un fișier, un fișier .txt de exemplu, stocați conținutul fișierului dvs.(text ascii) într-un flux de date pe care Windows îl recunoaște ca fiind fluxul implicit, astfel încât data viitoare când deschideți fișierul dvs. veți accesa același flux pentru a vizualiza datele.
Ca exemplu
Dacă creez un fișier .txt folosind Notepad pe sistemul meu Windows și îl salvez într-un fișier (secret.txt), atunci de fiecare dată când îl deschid voi vedea datele mele.
Dar ce se întâmplă dacă există mai multe date în fișier de care nu sunteți conștienți?
Atunci intră în joc fluxurile alternative de date.
Voi folosi cmd.exe (Command Prompt) pentru a demonstra exemplele pentru a ușura înțelegerea CLI (Command Line Interface), dar aceleași rezultate pot fi obținute și folosind Power Shell.
Așa că atunci când folosesc Command Prompt pentru a vizualiza conținutul directorului meu, pot vedea secretul meu.txt și dimensiunea fișierului fiind de 33 de octeți.
dir
Acesta arată ca un fișier normal, dar ce se întâmplă dacă adaug /r la comanda mea ?
dir /r
Acum putem vedea un alt fișier în același director cu același prefix ca și secretul nostru creat inițial.txt, dar cu sufixul evil.txt, în timp ce $DATA ne spune că acesta este un flux de tip $DATA.
Aducând /r la comanda noastră, putem vedea că ambele fișiere se află în același director, dar putem vedea doar secretul.txt pe desktop, putem vedea, de asemenea, diferența de dimensiune a fișierului, în timp ce fișierul nostru secret.txt are încă 33 de octeți, fișierul nostru secret.txt:evil.txt are 74 de octeți, ceea ce este de peste 2 ori mai mult decât secret.txt.
Comparând rezultatul ambelor comenzi.
# First Command
dir# Second Command
dir /r