DLL Hijacking y WinSxS

DLL Hijacking i WinSxS


L'any 2023, segons un estudi publicat per Qualys, es van registrar un total de 26,447 vulnerabilitats, mercant una fita com l'any amb la major quantitat de vulnerabilitats publicades a la història. Amb l'objectiu de començar el 2024 amb una consciència renovada sobre la importància de la seguretat cibernètica, és crucial estar al corrent de les noves amenaces que han sorgit.

Tot i que el segrest de DLL és una vulnerabilitat de llarga data, un recent estudi de SecurityJoes ha identificat una nova variació d'aquesta tècnica. Aquesta variant aprofita els binaris presents a la Carpeta WinSxS, la qual cosa amplia les possibilitats per a potencials atacants.

Carpeta WinSxS:

La carpeta WinSxS és un component crític del sistema, ja que és on Windows emmagatzema els fitxers de les actualitzacions que s'instal·len, les còpies de seguretat i punts de restauració que l'equip genera automàticament cada vegada que s'instal·la una nova aplicació. És per això que el contingut daquesta carpeta sol augmentar amb el temps, ampliant així la superfície datac. Sol estar localitzat al directori “C:\Windows\WinSxS”.

Biblioteques d'enllaços dinàmics (DLL):

Les DLLs són fitxers que conté codi executable i parts de programari que es poden utilitzar per diferents aplicacions al mateix temps. Aquests arxius, a l'ecosistema de Windows, permeten la reutilització de funcions i recursos per diferents programes sense necessitat de replicar el codi, cosa que optimitza l'ús de memòria i facilita el desenvolupament de programari.

El segrest de DLL capitalitza el mètode natural pel qual els programes de Windows busquen i accedeixen a les Biblioteques d'Enllaços Dinàmics (DLL). Aquest procés segueix un ordre específic per localitzar les DLL requerides:

1. El directori des d'on s'executa l'aplicació

2. La carpeta C: Windows Syste m32

3. La carpeta C: Windows Syste m

4. La carpeta C: Windows

5. El directori de treball actual

6. Directoris llistats a la variable d'entorn PATH del sistema.

7. Directoris llistats a la variable d'entorn PATH de l'usuari.

Quan un atacant aconsegueix carregar una DLL maliciosa amb el mateix nom que una biblioteca dinàmica legítima i aquesta versió maliciosa es troba abans a la seqüència de cerca que la versió autèntica, l'aplicació carrega la DLL maliciosa. Això pot conduir a l'execució de codi arbitrari, cosa que permet a l'atacant realitzar accions com l'establiment d'un "reverse shell", proporcionant-li accés remot no autoritzat al sistema compromès. Windows, en la configuració per defecte, no realitza una verificació d'autenticitat de les DLLs abans de carregar-les.

Comparat amb els mètodes tradicionals que impliquen pujar un fitxer executable maliciós, en aquest cas s'aprofiten diversos executables maliciosos presents a la carpeta WinSxS per al segrest de DLL. Aquesta tècnica evita l'escalada del privilegi per poder injectar codi maliciós, ja que es fan servir recursos legítims del sistema. un avantatge addicional d'aquest nou enfocament és que és més susceptible de passar desapercebuda per antivirus del sistema i que en saltin alerta, ja que s'utilitzen legítims executables del sistema per dur a terme accions malicioses, cosa que redueix la possibilitat de detecció en generar menys activitat sospitosa.




Si us ha semblat un tema interessant us deixem un enllaç sobre com evadir AMSI fent ús de DLL Hijacking i per si voleu repassar conceptes bàsics sobre DLL Hijacking també podeu fer-ho.


Xuquiang Liu Xu, Pentester Jr. at Zerolynx.


Tornar al bloc

Deixa un comentari

Tingueu en compte que els comentaris s'han d'aprovar abans que es publiquin.