A càrrec de Hunters Team Axon
L'equip de caçadors AXON ha descobert i està supervisant activament una campanya d'amenaça en curs anomenada "VEILDrive". Inicialment descobert durant una investigació d'activitat maliciosa a la infraestructura d'un client, VEILDrive aprofita la suite SaaS de Microsoft, especialment Teams, SharePoint, Quick Assist i OneDrive, per Executar les seves tàctiques, l'actor d'amenaces utilitza un mètode de comandament i control (C&C) basat en OneDrive integrat en un programari maliciós personalitzat que es desplega en entorns compromesos Microsoft i les organitzacions afectades per mitigar una major explotació.
La nostra investigació va començar el setembre de 2024 després d'una resposta a un atac a una entitat d'infraestructura crítica als Estats Units. Les tècniques d'atac de VEILDrive divergeixen clarament del comportament d'amenaça típic. Depenen molt de la infraestructura SaaS de Microsoft per distribuir campanyes de pesca i emmagatzemar programari maliciós. Aquesta estratègia depenent de SaaS complica la detecció en temps real i evita les defenses convencionals.
El programari maliciós associat a VEILDrive és un fitxer .jar basat en Java que no té ofuscament, cosa que el fa inusualment llegible i ben estructurat. Malgrat la seva senzillesa, el programari maliciós va evadir la detecció per part d'una eina de detecció i resposta de punt final (EDR) de primer nivell i tots els motors de seguretat de VirusTotal. Això posa de manifest un risc crític: fins i tot el codi senzill i no ofuscat pot evadir els mecanismes de detecció moderns, cosa que suggereix una necessitat més àmplia de revisar les estratègies de detecció en entorns d'alt risc.
Aquest informe proporciona informació sobre les metodologies de VEILDrive i les limitacions dels enfocaments de detecció actuals per equipar millor la comunitat de ciberseguretat contra les amenaces en evolució.
El setembre de 2024, l'equip AXON va respondre a un incident dirigit a una empresa d'infraestructura crítica als Estats Units. Aquesta investigació va revelar una campanya d'amenaça única, "VEILDrive", que mostrava tàctiques, tècniques i procediments (TTP) inusuals que es desviaven significativament dels que es veuen habitualment en incidents similars.
A partir dels nostres resultats, calculem que la campanya VEILDrive va començar a principis d'agost de 2024 i continua activa a partir d'aquest informe. Aprofitant els serveis SaaS de Microsoft (inclosos Teams, SharePoint, Quick Assist i OneDrive), l'atacant va explotar les infraestructures de confiança d'organitzacions anteriorment compromeses per distribuir atacs de pesca i emmagatzemar programari maliciós. Aquesta estratègia centrada en el núvol va permetre a l'actor de l'amenaça evitar la detecció pels sistemes de monitorització convencionals.
En particular, VEILDrive va introduir un nou mètode de comandament i control (C&C) basat en OneDrive integrat en programari maliciós basat en Java desplegat en dispositius compromesos. El mateix programari maliciós, un fitxer .jar, presenta dues característiques sorprenents:
Aquestes característiques posen de manifest que, fins i tot sense tècniques d'evasió sofisticades, el programari maliciós dissenyat amb cura i no ofuscat pot evadir les defenses modernes. Aquesta investigació subratlla un buit en les estratègies de detecció actuals i posa l'accent en la necessitat de vigilar contra els enfocaments d'atac menys convencionals.
L'equip AXON ha compartit les seves conclusions amb Microsoft i les organitzacions afectades, oferint intel·ligència accionable per mitigar aquesta amenaça en curs.
A principis de setembre de 2024, un dels clients de Hunters, anomenat a continuació "Org C", va contractar l'equip AXON per rebre suport per gestionar un incident actiu. El cas es va centrar en un dispositiu específic de l'Org C que s'havia vist compromès mitjançant l'enginyeria social.
Una tasca programada creada de manera sospitosa al dispositiu d'un empleat de l'Org C va activar una alerta, que va provocar una investigació addicional. Mitjançant la correlació dels registres i la comunicació amb l'usuari afectat, l'equip va aclarir el mètode d'accés inicial.
A continuació es mostra un diagrama d'atac que proporciona una visió general d'alt nivell del flux d'atac:
La seqüència d'esdeveniments es va desenvolupar de la següent manera:
L'actor maliciós va aprofitar Microsoft Teams per enviar missatges a quatre empleats seleccionats de l'Org C, que, a part de no ser tècnics segons els seus rols, no tenien cap altra connexió aparent. L'atacant es va suplantar a un membre de l'equip informàtic i va sol·licitar accés al dispositiu de cada empleat mitjançant l'eina d'utilitat remota Quick Assist .
En lloc d'utilitzar un compte recentment creat per a la suplantació d'identitat, l'atacant va utilitzar un compte d'usuari compromès d'una possible víctima anterior, que es coneix com "Org A".
Els registres d'auditoria de l'M365 es van utilitzar per identificar el spear-phishing de Microsoft Teams.
Es van identificar diversos esdeveniments " MessageSent " i " ChatCreated ", tots originats de l'usuari anteriorment compromès de l'Org A , propietat de l'actor de l'amenaça.
Tot i que s'han apuntat 4 empleats, només s'ha identificat un esdeveniment " MemberAdded " dirigit a l'usuari compromès de l'Org A .
La visió anterior va ser intrigant i valuosa, i va destacar la creixent prevalença de la pesca mitjançant Microsoft Teams i eines de comunicació similars. La distinció entre intents de pesca reeixits i fallits mitjançant els registres d'auditoria M365, juntament amb la correlació amb els registres EDR, pot ser molt important per a les investigacions.
Els missatges de Microsoft Teams rebuts pels usuaris objectiu de l'Org C van ser possibles gràcies a la funcionalitat " Accés extern " de Microsoft Teams, que permet la comunicació One-on-One amb qualsevol organització externa de manera predeterminada.
L'atacant va atraure amb èxit la víctima de l'Org C perquè executés l'eina d'assistència ràpida de Microsoft i li va proporcionar el codi d'accés mitjançant Microsoft Teams. Això va provocar l'accés interactiu de l'actor d'amenaça a l'ordinador de la víctima.
Aleshores, l'actor de l'amenaça va compartir un enllaç de descàrrega al SharePoint d'una organització independent (la víctima pertanyia a un inquilí diferent del que s'utilitzava per a la pesca mitjançant el xat de Microsoft Teams, que ens referirem com a "Org B"). Aquest enllaç contenia un fitxer .zip protegit amb contrasenya anomenat Client_v8.16L.zip, que incloïa diversos fitxers, entre ells una eina RMM addicional.
El fitxer va ser descarregat, probablement a través de mitjans interactius, per l'atacant, ja equipat amb accés remot, que operava sota el context d'explorer.exe, cosa que els va permetre fer clic a l'enllaç i descarregar les eines segons sigui necessari.
Val la pena esmentar que durant la investigació, vam correlacionar els registres d'auditoria M365, que proporcionaven informació precisa sobre els URL entrants als missatges de Microsoft Teams, amb la telemetria EDR de l'amfitrió de la víctima per entendre completament els TTP de l'atacant.
Es van fer diversos intents per dur a terme operacions malicioses manuals mitjançant accés remot. Aquestes activitats van implicar principalment esforços de persistència, com ara crear tasques programades per executar repetidament un dels fitxers descarregats per l'atacant: una eina RMM anomenada LiteManager ("ROMServer.exe").
schtasks /Create /TN "Perfomance monitoring" /SC MINUTE /TR C:\ProgramData\500000003\ROMServer.exe
Després de les activitats anteriors, l'actor baixa manualment un altre fitxer .zip anomenat Cliento.zip.
Com abans, l'enllaç es va compartir al xat entre l'usuari víctima i l'actor de l'amenaça. Aquest fitxer .zip incloïa el programari maliciós .JAR principal, així com tot el kit de desenvolupament de Java per executar el programari maliciós .JAR.
L'actor de l'amenaça va executar el programari maliciós .JAR mitjançant el següent: C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar
Es van identificar diverses activitats de xarxa i execucions d'ordres en el context del fitxer .JAR maliciós, com ara:
Diverses sol·licituds de DNS/activitat de xarxa sortints a → safeshift390-my.sharepoint.com
Diverses sol·licituds de DNS/activitat de xarxa sortints a → graph.microsoft.com
Diverses sol·licituds de DNS/activitat de xarxa sortints a → login.microsoftonline.com
Execució d'ordres d'enumeració local:
Systeminfo
net time
Get-WmiObject -Class
Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
{$_.interfacetype -eq \"USB\"}"
La següent captura de pantalla mostra les parts principals de l'arbre de processos relacionades amb activitats malicioses:
L'atacant també va afegir un binari JAR maliciós com a clau d'execució al registre per a l'execució persistent del programari maliciós Java.
Línia d'ordres:
Set-ItemProperty -Path \"HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" -Name \"current\" -Value \"C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar\" -ErrorAction Stop"
La contenció i l'eradicació d'aquest incident va ser molt ràpida i eficaç, i segons les proves forenses que teníem, no hi havia indicis que l'atacant aconseguís causar cap dany important a l'amfitrió i l'organització de la víctima.
Una idea clau del flux d'atac detallat anteriorment és que l'atacant va utilitzar diferents serveis de Microsoft coneguts i utilitzats habitualment com a part del seu atac, tant per amagar-se a la vista com per a la seva comoditat.
Resumim ràpidament els serveis de Microsoft utilitzats per l'actor de l'amenaça a partir de la següent taula:
Servei | Llogater | Propòsit |
---|---|---|
Microsoft Teams | De l'Org A a l'Org C | Spear Phishing Missatges per atraure la víctima a descarregar i executar l'eina de gestió remota |
Assistència ràpida | Org C | L'actor de l'amenaça envia un codi d'assistència ràpida mitjançant un missatge de Microsoft Teams per obtenir el control remot inicial |
SharePoint | De l'Org B a l'Org C | Els fitxers maliciosos estan "allotjats" a l'arrendatari de SharePoint de l'Org B. Els enllaços de descàrrega es comparteixen amb l'Org C mitjançant missatges de SharePoint i l'atacant els obre mitjançant Quick Assist |
API de gràfics | De l'Org C a N/A | Teníem indicis d'accés maliciós a Microsoft Graph (graph[.]microsoft[.]com) iniciat pel cliento.jar maliciós. |
En aquesta fase, havíem identificat els quatre serveis/aplicacions de Microsoft esmentats anteriorment. Tot i que vam entendre el propòsit dels tres primers, l'activitat dirigida a l'API Graph no estava clara. Teníem diverses hipòtesis sobre el seu propòsit potencial, però en resposta a incidents, les hipòtesis per si soles no són suficients, oi?
Per recollir més informació i entendre millor el programari maliciós .JAR 'Cliento.jar' a OneDrive/SharePoint, tant per avaluar les possibles accions de l'atacant com per conèixer les seves intencions, vam procedir a una anàlisi detallada del programari maliciós.
Hem utilitzat un descompilador Java anomenat "JDGUI" per descompilar el programari maliciós Client.jar (hem anomenat "ODC2").
Només des de la mirada inicial d'alt nivell al programari maliciós, podríem correlacionar-lo immediatament amb l'execució de PowerShell que vam veure a la investigació de l'incident. Això es deu a la inclusió del paquet Java " jPowerShell ": un embolcall de PowerShell per a Java.
A més, vam poder veure paquets addicionals com "ordres", "connexió", "llançador", "o connectar", etc. Això ens va proporcionar una comprensió d'alt nivell de l'estructura del programari maliciós.
Vam començar amb el Main.class sota el paquet "launcher" i vam trobar un conjunt de credencials codificades en dur utilitzades pel programari maliciós. Això ens va sorprendre una mica, però molt interessant.
En analitzar més el programari maliciós (tal com es descriu a l'anàlisi detallada següent), vam trobar que el programari maliciós utilitzava aquestes credencials per dur a terme l'autenticació "en nom" a Entra ID. Per dur a terme aquesta autenticació, es va utilitzar el testimoni d'actualització codificat amb l'identificador de client i el secret del client per sol·licitar un testimoni d'accés.
L'autenticació va permetre que el programari maliciós accedeixi a OneDrive d'usuaris específics d'Entra ID, en inquilins suposadament propietat de l'actor, abusant d'aquest accés amb finalitats C2.
A la funció principal de Main.class podem veure el propi punt d'entrada, que inclou diversos fils. Inclou l'execució de les funcions "odThread1" i "mainThread1".
"odThread1" inclou l'execució de la funció "odRun" del controlador que obté el primer conjunt de credencials codificades (Token d'actualització, etc.) per a l'autenticació.
Utilitza l'adreça IP "40.90.196.221" per a la configuració de connexió "odRun"
L'adreça IP "40.90.196.228" per a "Run" inicialitza el sòcol HTTPS al C2 de l'atacant. Aquesta IP també és la IP d'Azure i és molt probable que sigui una màquina virtual. Aquest canal C2, tal com es detalla a continuació, és més "clàssic" i condueix a l'execució d'ordres de PowerShell
Per obtenir més informació sobre aquestes adreces IP, vam comprovar recursos coneguts com ipinfo.io i les etiquetes de servei de les adreces IP d'Azure publicades per Microsoft, tal com es mostra a la captura de pantalla següent:
També val la pena esmentar que l'adreça IP codificada addicional que es troba en aquest programari maliciós (38.180.136.85) sembla que pertany a un altre proveïdor de serveis i està associada amb serveis d'allotjament. Segons les nostres estadístiques, aquesta adreça IP no va ser utilitzada activament pel programari maliciós. Suposem que hi era per motius heretats (infraestructura C2 anterior).
Aprofundint una mica més en el "mainThread1()" que executa la funció "ctrl.run()", podem veure que la funció run() intenta crear una connexió i comprova habitualment si la connexió està activa. A continuació, intenta "analitzar el comandament", eliminant-ne les parts irrellevants.
Aquesta funció "executa" utilitza "connect()" per configurar/restablir una connexió. Crea un sòcol a l'adreça IP remota que hem vist més amunt: 40.90.196.228.
Aquesta funció "executa" utilitza "CommandManager", que inclou diferents maneigs per als diferents tipus d'ordres/capacitats que ofereix aquest programari maliciós, inclosa la transferència de fitxers de client a servidor i de servidor a client, compressió de fitxers, captures de pantalla, tancament de connexions de xarxa i, per descomptat, execució d'ordres.
Comprova si l'ordre rebuda està buida o si s'ha rebut una ordre real del servidor C2.
Si es troba una ordre, l'analitza i l'executa. L'execució es fa bàsicament en el context de PowerShell.
L'execució de l'ordre entrant com a ordre PowerShell s'està realitzant mitjançant l'embolcall jPowerShell que hem esmentat anteriorment.
Abans d'aprofundir en el nucli de la funcionalitat OneDrive C2, és important tenir en compte que les parts crítiques del codi del programari maliciós depenen en gran mesura de tres "tipus" específics de fitxers OneDrive: UUID, cf_UUID i rf_UUID. Tal com hem observat en la nostra investigació, l'ordre Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
Es va executar Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
, revelant l'UUID del maquinari del dispositiu. Aquest identificador únic serveix per distingir cada víctima de la campanya VEILDrive.
Cada tipus de fitxer té un paper diferent en les operacions del programari maliciós. La captura de pantalla següent proporciona exemples d'aquests fitxers i les seves funcions principals en l'execució de programari maliciós.
Aprofundim en el flux de la funcionalitat OneDrive C2 i com s'utilitzen aquests fitxers UUID a la pràctica:
A més de les funcions clàssiques d'execució remota a PowerShell, la funció "odRun" és responsable d'un altre fil basat en "OneDrive" com a canal de comunicació. Aquesta és la part única d'aquest programari maliciós.
El "odRun", tal com el veiem, probablement rep el nom de "OneDrive" (OneDriveRun) i inclou la creació d'una connexió OneDrive mitjançant la funció "Odconnect" com a primer pas:
Com podeu veure, primer la cadena "machineUUID" s'estableix com una cadena buida. Seguida de l'execució de la funció "getMachineUUID()", que, com el seu nom indica, obté l'UUID de la màquina del dispositiu víctima:
Aleshores podem veure que la connexió OneDrive s'està duent a terme mitjançant la funció "OdConnect": la connexió s'està realitzant a "iniciar sessió[.]microsoftonline[.]com" per a la creació/actualització d'un conjunt de fitxes d'accés nous i fitxes d'actualització. .
"checkFile": aquesta funció comprova si hi ha un fitxer anomenat == machineUUID a la carpeta inicial de l'usuari actual OneDrive
Fitxer OneDrive que rep el nom de machineUUID del dispositiu (sense prefixos).
S'executarà el contingut del fitxer cf_MachineUUID.
Seguit de nou escrivint un fitxer a OneDrive, utilitzant " writeFileToOneDrive ", primer "rf_" + machineUUID, amb el contingut de la resposta d'execució.
I un altre ús de " writeFileToOneDrive ", per escriure i buidar el fitxer "cf_", bàsicament impedint una altra execució de la mateixa ordre (ja que el programari maliciós s'executa en bucle).
Per resumir breument, aquest programari maliciós sembla tenir dos canals C2 diferents amb els quals pot funcionar:
HTTPS Socket C2 : un enfocament més clàssic, rebent ordres d'una màquina virtual Azure remota i executant-les en el context de PowerShell.
C2 basat en OneDrive : això és més únic i la seva manera de funcionar és una mica més complexa i creativa. Inclou tres fitxers diferents, tots els quals inclouen l'UUID del dispositiu víctima, alguns amb prefixos (rf_ i cf_). Per facilitar a l'actor d'amenaces enviar ordres i rebre-les mitjançant Microsoft Graph.
Nota : és important esmentar que aquest programari maliciós té capacitats addicionals a més de l'execució d'ordres estàndard, inclosa la transferència de fitxers. Tanmateix, la informació detallada anterior se centra només en l'aspecte d'execució de comandaments.
En aquest punt, està clar que aquest atac combinava hàbilment tècniques senzilles amb tàctiques úniques i sofisticades. Una característica destacada de la nostra investigació inicial va ser l'ús extensiu de la infraestructura i els serveis de Microsoft integrats al llarg de la campanya.
Després d'analitzar el programari maliciós i correlacionar la nova informació amb les nostres estadístiques de la investigació, vam tenir una comprensió més clara de l'ús que l'atacant fa de diversos serveis i els seus propòsits. Vam descobrir que la utilització dels serveis i la infraestructura de Microsoft era encara més extensa del que es pensava inicialment.
Vegeu la taula següent per a un breu resum:
Servei | Llogater | Propòsit |
---|---|---|
Microsoft Teams | De l'Org A a l'Org C | Spear Phishing Missatges per atraure la víctima a descarregar i executar una eina de gestió remota |
Assistència ràpida | Org C | L'actor de l'amenaça envia un codi d'assistència ràpida mitjançant un missatge de Microsoft Teams per obtenir el control remot inicial |
SharePoint | De l'Org B a l'Org C | Els fitxers maliciosos estan "allotjats" a l'inquilí de SharePoint de l'Org B. Els enllaços de descàrrega es comparteixen amb l'Org C a través de missatges de SharePoint i l'atacant els obre mitjançant Quick Assist |
Azure VM | Infraestructura de l'atacant | El programari maliciós es va comunicar amb una màquina virtual d'Azure propietat de l'actor d'amenaces amb finalitats HTTPS Socket C2 |
OneDrive (API de gràfics) | Entre els hostes OneDrive i Org C de l'atacant | L'actor de l'amenaça va utilitzar OneDrive com a canal C2 addicional, per obtenir capacitats com l'execució remota d'ordres, fer captures de pantalla, baixar/carregar fitxers, etc. dirigits als host(s) de l'Org C. |
Registre de l'aplicació Azure AD | Entre l'amfitrió OneDrive de l'atacant i l'Org C (s | L'aplicació es va utilitzar per a l'autenticació en nom d'un compte d'usuari d'Azure AD propietat de l'actor i accedir a la seva carpeta d'inici de OneDrive |
C5f077f6-5f7e-41a3-8354-8e31d50ee4d
893e5862-3e08-434b-9067-3289bec85f7d
B686e964-b479-4ff5-bef6-e360321a9b65
2c73cab1-a8ee-4073-96fd-38245d976882
SafeShift390[.]onmicrosoft[.]com
GreenGuard036[.]onmicrosoft[.]com
a515634efa79685970e0930332233aee74ec95aed94271e674445712549dd254
1040aede16d944be8831518c68edb14ccbf255feae3ea200c9401186f62d2cc4
7f61ff9dc6bea9dee11edfbc641550015270b2e8230b6196e3e9e354ff39da0e
d6af24a340fe1a0c6265399bfb2823ac01782e17fc0f966554e01b6a1110473f
7f33398b98e225f56cd287060beff6773abb92404afc21436b0a20124919fe05
40.90.196[.]221
40.90.196[.]228
38.180.136[.]85
213.87.86[.]192
A més dels IOC específics esmentats anteriorment, hem creat diverses consultes de caça d'amenaces que es poden utilitzar per detectar atacs originats pel mateix actor, realitzats sota la mateixa campanya o compartint característiques similars (TTP).
Nota: el període de caça recomanat per a VEILDrive és a partir del juliol de 2024.
Lògica de consulta: durant la nostra anàlisi, vam identificar que l'eina d'accés remot (RAT) de l'atacant utilitzava Powershell per obtenir l'UUID de la màquina com a part del seu procés d'execució. Aquesta consulta detecta casos inusuals de Powershell generat per javaw.exe amb els indicadors de línia d'ordres específics utilitzats per l'actor de l'amenaça.
Consulta:
SELECT EVENT_TIME, AGENT_ID, PARENT_PROCESS_NAME, PARENT_PROCESS_COMMANDLINE, INITIATING_PROCESS_NAME, INITIATING_PROCESS_COMMANDLINE, TARGET_PROCESS_NAME, TARGET_PROCESS_COMMANDLINE, TARGET_PROCESS_OS_PID FROM INVESTIGATION.EDR_PROCESS_CREATION_EVENTS WHERE 1=1 AND PARENT_PROCESS_NAME ILIKE '%javaw%' AND INITIATING_PROCESS_NAME ILIKE '%cmd%' AND TARGET_PROCESS_NAME ILIKE '%powershell%' AND TARGET_PROCESS_COMMANDLINE ILIKE 'powershell.exe -ExecutionPolicy Bypass -NoExit -NoProfile %' AND EVENT_TIME > current_timestamp - interval '60d'
Lògica de consulta: aquesta consulta detecta les instàncies d'una tasca programada registrada amb l'execució d'una eina ROM utilitzada per l'actor de l'amenaça per a la persistència.
Consulta:
SELECT EVENT_TIME AS EVENT_TIME, AID AS AGENT_ID, CID AS COMPUTER_ID, EVENT_SIMPLE_NAME AS EVENT_NAME, RAW:TaskName AS TASK_NAME, RAW:TaskExecCommand AS TASK_EXEC_COMMAND, RAW:TaskAuthor AS TASK_AUTHOR, RAW:UserName AS USER_NAME --- Adjust according to your EDR of choice FROM RAW.CROWDSTRIKE_RAW_EVENTS WHERE EVENT_SIMPLE_NAME = 'ScheduledTaskRegistered' AND TASK_EXEC_COMMAND ILIKE '%romserver%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'
SET YOUR_ORGANIZATION_NAME = 'hunters'; SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, OPERATION AS EVENT_TYPE, SPLIT_PART(LOWER(SPLIT_PART(USER_ID, '@', 2)), '.', 1) AS SENDER_ORG_DOMAIN, RECORD_SPECIFIC_DETAILS:message_ur_ls AS MESSAGE_URLS, WORKLOAD AS WORKLOAD, USER_ID AS USER_ID, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS FROM RAW.O365_AUDIT_LOGS WHERE NOT USER_ID ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND (NOT (MESSAGE_URLS ILIKE '%' || SENDER_ORG_DOMAIN || '%') AND MESSAGE_URLS ILIKE '%sharepoint%') AND NOT MESSAGE_URLS ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'
Lògica de consulta: la consulta següent detecta missatges enviats en un xat un a un per usuaris externs de dominis no comuns. La consulta filtra els dominis molt utilitzats en funció de l'activitat històrica i identifica els membres externs afegits als xats que poden estar duent a terme atacs de pesca.
Consulta:
SET YOUR_DOMAIN_NAME = 'hunters'; --- GET EXTERNAL TEAMS AND ONEDRIVE USERS OF THE LAST 3 MONTHS - TO CLEAN EXTENSIVELY USED DOMAINS WITH COMMONLY_USED_DOMAINS AS ( SELECT LOWER(SPLIT_PART(USER_ID , '@', 2)) AS DOMAIN_COMMONLY_USED, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE WORKLOAD IN ('MicrosoftTeams', 'OneDrive') AND EVENT_TIME > CURRENT_TIMESTAMP - interval '90d' AND USER_ID ILIKE '%@%' GROUP BY DOMAIN_COMMONLY_USED HAVING COUNTER > 20 ), ---- Get List of External Domains that recently communicated with our organization using Microsoft Teams LATEST_EXTERNAL_DOMAINS AS ( SELECT USER_ID AS LATEST_EXT_USERS, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, ARRAY_AGG(DISTINCT RECORD_SPECIFIC_DETAILS:communication_type) AS COMMUNICATION_TYPE, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE EVENT_TIME > CURRENT_TIMESTAMP - interval '50d' AND NOT USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND NOT USER_ID IN ('app@sharepoint') AND USER_ID ILIKE '%@%' -- CLEAN-UP OF EXTENSIVELY USED DOMAINS AND USER_DOMAIN NOT IN (SELECT DISTINCT DOMAIN_COMMONLY_USED FROM COMMONLY_USED_DOMAINS) AND OPERATION IN ('MemberAdded', 'ChatCreated') AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' GROUP BY USER_ID HAVING COUNT(*) > 5 ) SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, WORKLOAD AS WORKLOAD, OPERATION AS OPERATION, USER_ID AS USER_ID, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME_0, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN_0, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS_0, RECORD_SPECIFIC_DETAILS:members[1].DisplayName AS MEMBER_DISPLAY_NAME_2, RECORD_SPECIFIC_DETAILS:members[1].UPN AS MEMBER_UPN_2, RECORD_SPECIFIC_DETAILS:members[1] AS MEMBERS_2, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS, RAW:ClientIP AS CLIENT_IP FROM RAW.O365_AUDIT_LOGS WHERE 1=1 AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' AND ( RECORD_SPECIFIC_DETAILS:members[0].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) OR RECORD_SPECIFIC_DETAILS:members[1].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) ) AND USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND OPERATION = 'MemberAdded' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '50d';
Lògica de consulta en profunditat: com que aquesta consulta és una mica complexa, aquí teniu una explicació de la lògica. Primer, utilitzem la funció "CTE" de Floquet de neu per construir dues vistes:
Finalment, obtenim informació detallada sobre l'usuari i el seu domini associat consultant els resultats filtrats de LATEST_EXTERNAL_DOMAINS.
Vam tractar aspectes de caça i investigació relacionats amb les múltiples tècniques d'atac utilitzades per l'actor. També se sap que alguns d'aquests mètodes i tècniques maliciosos s'utilitzen en diferents campanyes.
Protegir la vostra organització d'aquestes amenaces pot reduir significativament el risc d'atacs reeixits dirigits a diferents parts de la vostra infraestructura organitzativa.
A continuació, es mostren alguns consells d'higiene que es poden utilitzar per millorar la vostra postura de seguretat:
VEILDrive combina simplicitat i sofisticació. Va ser interessant presenciar l'ús de les característiques clàssiques C2 en paral·lel amb C2 sobre OneDrive, així com l'ús de la persistència clàssica basada en tasques programades combinada amb l'execució de programari maliciós que un EDR de primer nivell no detecta.
Les característiques identificades com a part de la investigació i la investigació sobre amenaces eren interessants i ens van permetre entendre millor com funciona aquest actor d'amenaça, de quins serveis coneguts està abusant, com n'està abusant i amb quina finalitat.
La forma en què es va abusar de OneDrive per a la comunicació C2 a VEILDrive tenia característiques úniques. Tanmateix, el concepte general d'abús de OneDrive amb finalitats C2 ha anat augmentant durant els darrers mesos i és una cosa que cal tenir en compte.
L'accés inicial mitjançant spear-phishing a plataformes de comunicació com Microsoft Teams, Slack i serveis similars és cada cop més habitual.
Preveiem que serà encara més comú amb el pas del temps. Per tant, les mesures d'higiene i postura relacionades amb aquest aspecte (com s'ha esmentat a les Higiene Nuggets anteriors) són crucials.
Les eines d'administració remota ja són molt populars entre els actors d'amenaça. Es poden adoptar diferents enfocaments per minimitzar el potencial d'accés no autoritzat mitjançant aquestes eines. Des del nostre punt de vista, l'enfocament recomanat en aquesta àrea és la llista blanca (llista permesa) combinada amb un seguiment sòlid.
Preveiem que sorgiran més campanyes d'aquestes característiques, amb mètodes i característiques similars. Per tant, es recomana el seguiment continu i la recerca proactiva d'amenaces per a aquest tipus d'amenaces.
Per mantenir-vos al dia sobre investigacions, activitats i consultes sobre la caça d'amenaces, seguiu el compte X/Twitter de Team Axon ( @team__axon ).