Rubeus contra YARA: ¿Quién ganará? Descubre la clave de la evasión

Rubeus YARAren aurka: Nor irabaziko du? Esku-hartzearen gakoa ezagutu

Celia Catalán



Sarrera

En ingurune korporatiboetan, Mimikatz, Rubeus eta beste ezagunak diren binarioen exekuzioa blokeatuta izaten da segurtasun neurrien aurreratuen inplementazioagatik, hala nola antivirus (AV) eta EDR irtenbideak. Oztopo hauek segurtasun ahultasunak frogatzerakoan erronka garrantzitsua dira. Arazo honi aurre egiteko, bi hurbilketa nagusi daude:

  • Alternatibako tresnak erabili, ustiapen teknikak modu desberdinean ezartzen dituztenak.
  • Existitzen diren tresnak aldatu detektatzea saihesteko

Helburua

Pillula honetan bigarren hurbilketa honetan zentratu gaitezke: funtzionalitatea konprometitu gabe, iturri kodea eskuragarri dagoen tresna bat nola aldatu. Horretarako, funtsezkoa da detekzio sistemek tresna hauek gaizto gisa identifikatzeko eta katalogatzeko erabiltzen dituzten metodologiak ulertzea. Oro har, sistemek bi estrategia nagusi erabiltzen dituzte:

  • Binarioaren analisi estatikoa: Fitxategia exekutatu gabe aztertzen du, patroiak, sinadurak eta gaiztoak diren artefaktuak identifikatzeko. 
  • Dinamiko analisia eta portaera detekzioa: Exekutatzen ari den binarioa monitorizatu, bere ekintzak ebaluatuz eta nola interaktzen duen sistemarekin.

Kasuan, analisi estatikoan jarriko gara, praktikan, sinadurak detektatzean oinarritzen dena. Analisi estatikoko tresnek binarioak deskonpilatu eta kodean patroi zehatzak bilatu ditzakete, tresna bat gaiztoa izan daitekeen zehazteko. Adibidez, funtzio izenak, kate estatikoak edo byte sekuentzia bereizgarriak susmagarri gisa markatu daitezke.

'Konzeptu hau YARA arauak erabiltzera egokitzen badugu, azalpena intuitiboagoa bihurtzen da. YARA arauak segurtasun analistek eta detekzio tresnek erabiltzen dituzte fitxategi susmagarriak identifikatzeko definitutako patroien multzo baten bidez. Arauek honako hauek osatzen dituzte:'

  • Hexadecimal kateak: Fitxategian binario edo byte zehatzak definitzen dituzte.
  • Testu kateak: Hitzen edo esamolen garrantzitsuen identifikazioa
  • Adierazpen erregularrak: Patroi konplexuago eta malguagoak definitzen laguntzen dute.



Adibidean, hasieran definitutako $a - $d arteko kate batzuk daude, eta geroago arauaren baldintzan erabiltzen dira. $a edo $b betetzen bada eta $c edo $d betetzen bada, araua exekutatuko da eta laginaren analisiaren emaitzan erakutsiko da.

Adibidea


Hurrengo adibidean, jada definitutako arau konbinazio bat erabiliko dugu Yaraforge Rubeus saihesteko. 

Rubeus C#-n idatzitako tresna bat da Kerberos-rekin interaktibatzeko eta abusatzeko, Kerberoasting, ASREPRoasting, Overpass-the-Hash, Pass-the-Ticket, baliabideen delegazio abusua eta Active Directory-n iraupenaren moduko erasoei aukera ematen diena. Iturburu kodea bere biltegian aurki daiteke. Honek sortzaileak emandako yara arau bat du, ulertzeko erraza.


Bi baldintza (logiko AND operadorearekin definituak) betetzen ez badira, araua ez da exekutatuko, saihestuz. Kateak proiektuaren GUID estandarrari egiten dio erreferentzia, beraz, GUID berri bat sortuz eta proiektuaren propietateetan aldatuz araua saihestu beharko zenuke.

Rubeus proiektuari aplikatzen zaizkion arauak ezagutzeko, honako hauek izan behar dira:
  • Rubeus hasierako bilduma 
  • YARA arauak egiaztatzeko binarioa
  • Yara Forge-ren arauak
'Hurrengo sintaxiarekin hasierako konpilatutako binarioa exekutatuko da. Hona hemen lau yara arau, Visual Studio-rekin Bilatu eta Aldatu utilitatea erabiliz saihestuko direnak.'


Araua: FIREEYE_RT_Hacktool_MSIL_Rubeus_1


"Araua aurretik komentatu genuen, izan ere, biltegian dagoen bera da. Proiektuaren GUID bat baliozkoa den beste batekin aldatuz, arau hau saihestea posible izango da." 


'Rubeus proiektuaren kodean GUID-a aldatzen da. Berriro konpilatzean eta yara arauen eskaneoa abiaraztean, arau honen arabera detekzio gaitasuna ezabatuko dugu.'

Araua: SIGNATURE_BASE_HKTL_NET_GUID_Rubeus


Aurretiko eskaneatzean, konturatuko gara ez dela bakarra ezta bi ere, barnean dago. Hori da, arau honek proiektuaren GUID-a detektatzeko ere hartzen duela.

Araua: ELASTIC_Windows_Hacktool_Rubeus_43F18623



Hurrengo arauaren helburua Rubeus-en irteerako mezuen literalen bila joatea da. Kasu honetan, OR logika operadoreak bi aldeak hartzen ditu kontuan, bai GUID-a bai aurretik definitutako lau literala lortzeko. Ezkerreko aldean GUID-a ez dagoenez, aurreko arauetarako aldatu den proiektuan, zortzi literaletatik lau besterik ez da ezabatu behar. Horiek guztiek zerbait komunean dute, [Y] identifikatzailea, non Y balio bat izan daitekeen *, +, X edo ! artean. Bilatu eta ordezkatu funtzionalitatea erabiliz, korchetekin dauden balio guztiak aldatu ahal izango ditugu literala match-a ezabatzeko. Aldaketa hau segurua da, izan ere, korcheteak irteerako mezuetan dekorazio gisa erabiltzen dira, baina eszenatokiaren arabera, binarioaren erabilgarritasuna ez galtzen dugula egiaztatu behar da.


Prozesua gainerako sinboloak ezabatuz yara arauaren detekzioa kenduz errepikatzen dugu.

Araua: DITEKSHEN_INDICATOR_TOOL_PWS_Rubeus


Azken arau honek Rubeus-en barnean erabiltzen diren funtzioen izenak eta sarrera parametro batzuk hartzen ditu kontuan. Lehenengo kasuan ez dago zailtasunik kodea aldatzerakoan, baina parametroekin bereziki kontuan hartu behar da, sarrera parametroak aldatzen ari garelako. Kasu bat rc4opsec da, segurtasun-txartel bat forgeatzeko kontsulta parametro gisa erabiltzen dena. Araua apurtzeko, AND operadorea denez, segmentu bat ezabatu behar da, adibidez, aurretik definitutako hamar literaletatik zortzi egon behar dira. Hiru aldatuz, arau hau ez da markatuko.

Hiru literala bilatzen ditugu eta alternatiboko izenekin aldatzen ditugu baldintzak betetzeko. Adibidez:

Prozesu hau errepikatzen dugu hurrengo literalekin: 

  • WriteUserPasswordToFile idatzi WriteTheUserPasswordCredentialsToFile
  • rc4opsec errege errec4opsec

"Araua ez da gehiago exekutatuko, eta horrek ezabatuko du eskaneoa erabiltzen duten defentsa sistemetako detekzio gaitasuna."

Ondorioak


'Entrega honetan, modu sinple batean, jatorrizko kodea aldatuz nola tresnak ezkutatu daitezkeen aztertu dugu. Hurbilketa honek Konpromiso Adierazleak (IOC) eta ezagunen tresnen arrasto tipikoak ezabatzea du helburu, normalean babestutako inguruneetan azkar detektatzen direnak. Hala ere, egoera errealetan, konplexutasuna askoz handiagoa da, eta aldaketa oinarrizko hauek modernoak diren Antivirus (AV) eta EDR irtenbideak saihesteko nahikoa izaten ez dira, faktore hauengatik:'
  • Jabetza-detekzio arauak: Segurtasun produktuak arau zehatz publiko ez direnak ditu, eta horrek saihestea zailtzen du.
  • Dinamiko analisia: Sinaduren gain, EDR askok jokabide analisia barne hartzen dute, tresnek nola interaktzen duten sistemarekin monitorizatzen dutenak.

Hurrengoan, aipatuko ditugu teknikak garatzerakoan kontuan hartu beharreko gako puntu batzuk eta zailtasunak:
  • YARA aurreratuen arauak: Zenbait arau ez dira soilik literalki edo funtzio zehatzak detektatzen, baizik eta byteen patroiak edo egitura konplexuagoak kontuan hartzen dituzte (hala nola, Mimikatz erabiliz, egoera bera erabiltzen badugu)
  • Segurtasun produktuen jabetza arauak: Detekzio publiko ez direnek probak zabaltzeko eta saihesteko teknika eraginkorrak aurkitzeko hurbilketa iteratiboa eskatzen dute.
  • Faktore gehigarriak: Araudi estatikoetatik haratago, segurtasun-sistemek ekintza susmagarriak, binarioaren sinadura digitalak eta exekuzio-fluxuaren anomaliak ebaluatzen dituzte, beraz, saihestea integrala izan behar da.

Axel Losantos, Senior Offensive Security Consultant Zerolynx-en Cybertix-en.
Itzuli blogera

Utzi iruzkin bat

Kontuan izan iruzkinak argitaratu aurretik onartu behar direla.