A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Investigando casos relacionados con phishing, botnets, transaccións fraudulentas e grupos de hackers criminais, os expertos de Group-IB levan moitos anos utilizando análise de gráficos para identificar varios tipos de conexións. Os diferentes casos teñen os seus propios conxuntos de datos, os seus propios algoritmos para identificar conexións e interfaces adaptadas a tarefas específicas. Todas estas ferramentas foron desenvolvidas internamente por Group-IB e só estaban dispoñibles para os nosos empregados.

Análise gráfica da infraestrutura de rede (gráfica de rede) converteuse na primeira ferramenta interna que integramos en todos os produtos públicos da empresa. Antes de crear o noso gráfico de rede, analizamos moitos desenvolvementos similares no mercado e non atopamos un só produto que satisfaga as nosas propias necesidades. Neste artigo falaremos de como creamos o gráfico da rede, como o usamos e que dificultades atopamos.

Dmitry Volkov, CTO Group-IB e xefe de intelixencia cibernética

Que pode facer o gráfico de rede do Grupo-IB?

Investigacións

Desde a fundación de Group-IB en 2003 ata a actualidade, identificar, denunciar e levar ante a xustiza aos ciberdelincuentes foi unha prioridade no noso traballo. Nin unha soa investigación de ciberataques estivo completa sen analizar a infraestrutura de rede dos atacantes. Ao comezo da nosa viaxe, foi un "traballo manual" bastante minucioso buscar relacións que puidesen axudar na identificación de criminais: información sobre nomes de dominio, enderezos IP, pegadas dixitais dos servidores, etc.

A maioría dos atacantes tentan actuar na rede do xeito máis anónimo posible. Non obstante, como todas as persoas, cometen erros. O obxectivo principal desta análise é atopar proxectos históricos "brancos" ou "grises" de atacantes que teñan interseccións coa infraestrutura maliciosa utilizada no incidente actual que estamos investigando. Se é posible detectar "proxectos brancos", atopar o atacante, por regra xeral, convértese nunha tarefa trivial. No caso dos "gris", a busca leva máis tempo e esforzo, xa que os seus propietarios intentan anonimizar ou ocultar os datos de rexistro, pero as posibilidades seguen sendo bastante altas. Como regra xeral, ao comezo das súas actividades criminais, os atacantes prestan menos atención á súa propia seguridade e cometen máis erros, polo que canto máis profundamos na historia, maiores serán as posibilidades de que a investigación teña éxito. É por iso que un gráfico de rede cun bo historial é un elemento extremadamente importante desta investigación. En pocas palabras, cantos máis profundos datos históricos teña unha empresa, mellor será a súa gráfica. Digamos que un historial de 5 anos pode axudar a resolver, condicionalmente, 1-2 de cada 10 delitos, e un historial de 15 anos dá a oportunidade de resolver os dez.

Phishing e detección de fraude

Cada vez que recibimos unha ligazón sospeitosa a un recurso de suplantación de identidade, fraudulento ou pirateado, creamos automaticamente un gráfico de recursos de rede relacionados e comprobamos todos os hosts atopados en busca de contido similar. Isto permítelle atopar sitios antigos de phishing que estaban activos pero descoñecidos, así como outros completamente novos que están preparados para futuros ataques, pero que aínda non se usan. Un exemplo elemental que ocorre con bastante frecuencia: atopamos un sitio de phishing nun servidor con só 5 sitios. Ao comprobar cada un deles, atopamos contido de phishing noutros sitios, o que significa que podemos bloquear 5 en lugar de 1.

Busca backends

Este proceso é necesario para determinar onde reside realmente o servidor malicioso.
O 99 % das tendas de tarxetas, foros de piratas informáticos, moitos recursos de phishing e outros servidores maliciosos están ocultos tanto detrás dos seus propios servidores proxy como dos proxies de servizos lexítimos, por exemplo, Cloudflare. O coñecemento sobre o backend real é moi importante para as investigacións: coñécese o provedor de hospedaxe do que se pode incautar o servidor e faise posible establecer conexións con outros proxectos maliciosos.

Por exemplo, tes un sitio de phishing para recoller datos de tarxetas bancarias que se resolven co enderezo IP 11.11.11.11 e un enderezo de tenda de tarxetas que se resolve co enderezo IP 22.22.22.22. Durante a análise, pode resultar que tanto o sitio de phishing como a tenda de tarxetas teñen un enderezo IP de backend común, por exemplo, 33.33.33.33. Este coñecemento permítenos establecer unha conexión entre ataques de phishing e unha tenda de tarxetas onde se poden vender datos de tarxetas bancarias.

Correlación de eventos

Cando teñas dous disparadores diferentes (por exemplo, nun IDS) con malware e servidores diferentes para controlar o ataque, tratarás como dous eventos independentes. Pero se hai unha boa conexión entre infraestruturas maliciosas, entón faise obvio que non se trata de ataques diferentes, senón de etapas dun ataque multietapa máis complexo. E se un dos eventos xa está atribuído a algún grupo de atacantes, entón o segundo tamén se pode atribuír ao mesmo grupo. Por suposto, o proceso de atribución é moito máis complexo, polo que trata isto como un exemplo sinxelo.

Enriquecemento de indicadores

Non prestaremos moita atención a isto, xa que este é o escenario máis común para o uso de gráficos en ciberseguridade: dás un indicador como entrada e como saída obtén unha matriz de indicadores relacionados.

Identificación de patróns

Identificar patróns é esencial para unha caza eficaz. Os gráficos permítenche non só atopar elementos relacionados, senón tamén identificar propiedades comúns que son características dun determinado grupo de hackers. O coñecemento de tales características únicas permítelle recoñecer a infraestrutura do atacante mesmo na fase de preparación e sen probas que confirmen o ataque, como correos electrónicos de phishing ou malware.

Por que creamos o noso propio gráfico de rede?

De novo, analizamos solucións de diferentes provedores antes de chegar á conclusión de que necesitabamos desenvolver a nosa propia ferramenta que puidese facer algo que ningún produto existente podería facer. Levou varios anos crealo, durante os cales o cambiamos completamente varias veces. Pero, a pesar do longo período de desenvolvemento, aínda non atopamos un só análogo que satisfaga os nosos requisitos. Usando o noso propio produto, finalmente puidemos resolver case todos os problemas que descubrimos nos gráficos de rede existentes. A continuación consideraremos estes problemas en detalle:

problema
decisión

Falta dun provedor con diferentes coleccións de datos: dominios, DNS pasivos, SSL pasivos, rexistros DNS, portos abertos, execución de servizos en portos, ficheiros que interactúan con nomes de dominio e enderezos IP. Explicación. Normalmente, os provedores proporcionan tipos de datos separados e, para obter unha imaxe completa, cómpre mercar subscricións a todos. Aínda así, non sempre é posible obter todos os datos: algúns provedores de SSL pasivos só proporcionan datos sobre certificados emitidos por CA de confianza e a súa cobertura de certificados autoasinados é extremadamente escasa. Outros tamén fornecen datos mediante certificados autoasinados, pero só os recollen desde portos estándar.
Recollimos todas as coleccións anteriores nós mesmos. Por exemplo, para recoller datos sobre certificados SSL, escribimos o noso propio servizo que os recolle tanto de CA de confianza como escaneando todo o espazo IPv4. Os certificados recolléronse non só da IP, senón tamén de todos os dominios e subdominios da nosa base de datos: se tes o dominio example.com e o seu subdominio www.example.com e todos resolven a IP 1.1.1.1, entón cando tentas obter un certificado SSL do porto 443 nunha IP, dominio e subdominio, podes obter tres resultados diferentes. Para recoller datos sobre portos abertos e servizos en execución, tivemos que crear o noso propio sistema de dixitalización distribuído, porque outros servizos adoitan ter os enderezos IP dos seus servidores de dixitalización en "listas negras". Os nosos servidores de dixitalización tamén acaban en listas negras, pero o resultado de detectar os servizos que necesitamos é superior ao dos que simplemente escanean o maior número de portos posibles e venden o acceso a estes datos.

Falta de acceso a toda a base de datos de rexistros históricos. Explicación. Todo provedor normal ten un bo historial acumulado, pero por razóns naturais nós, como cliente, non puidemos acceder a todos os datos históricos. Eses. Podes obter o historial completo dun único rexistro, por exemplo, por dominio ou enderezo IP, pero non podes ver o historial de todo e sen iso non poderás ver a imaxe completa.
Para recoller o maior número posible de rexistros históricos de dominios, compramos varias bases de datos, analizamos moitos recursos abertos que tiñan este historial (é bo que houbese moitos) e negociamos cos rexistradores de nomes de dominio. Todas as actualizacións das nosas propias coleccións mantéñense, por suposto, cun historial completo de revisións.

Todas as solucións existentes permítenche construír un gráfico manualmente. Explicación. Digamos que compraches moitas subscricións de todos os posibles provedores de datos (normalmente chamados "enriquecedores"). Cando necesitas construír un gráfico, as "mans" dan o comando para construír a partir do elemento de conexión desexado, despois selecciona os necesarios entre os elementos que aparecen e dá o comando para completar as conexións a partir deles, etc. Neste caso, a responsabilidade do ben que se vai construír a gráfica é totalmente da persoa.
Fixemos construción automática de gráficos. Eses. se necesitas construír un gráfico, as conexións do primeiro elemento constrúense automaticamente e tamén de todas as seguintes. O especialista só indica a profundidade á que se debe construír o gráfico. O proceso de completar gráficos automaticamente é sinxelo, pero outros provedores non o implementan porque produce un gran número de resultados irrelevantes, e tamén tivemos que ter en conta este inconveniente (ver máis abaixo).

Moitos resultados irrelevantes son un problema con todos os gráficos de elementos de rede. Explicación. Por exemplo, un "dominio incorrecto" (participado nun ataque) está asociado a un servidor que ten outros 10 dominios asociados durante os últimos 500 anos. Cando se engade manualmente ou se constrúe automaticamente un gráfico, todos estes 500 dominios tamén deberían aparecer no gráfico, aínda que non estean relacionados co ataque. Ou, por exemplo, verifica o indicador IP do informe de seguridade do provedor. Normalmente, estes informes publícanse cun atraso significativo e adoitan abarcar un ano ou máis. O máis probable é que, no momento en que le o informe, o servidor con este enderezo IP xa estea alugado a outras persoas con outras conexións, e a construción dun gráfico fará que obteñas de novo resultados irrelevantes.
Adestramos o sistema para identificar elementos irrelevantes usando a mesma lóxica que o fixeron os nosos expertos manualmente. Por exemplo, estás comprobando un dominio defectuoso example.com, que agora se resolve coa IP 11.11.11.11, e hai un mes, coa IP 22.22.22.22. Ademais do dominio example.com, a IP 11.11.11.11 tamén está asociada a example.ru e a IP 22.22.22.22 está asociada a outros 25 mil dominios. O sistema, como unha persoa, entende que 11.11.11.11 é probablemente un servidor dedicado, e dado que o dominio example.ru é similar na ortografía a example.com, entón, con moita probabilidade, están conectados e deberían estar no gráfico; pero a IP 22.22.22.22 pertence ao aloxamento compartido, polo que non é necesario incluír todos os seus dominios no gráfico a non ser que existan outras conexións que mostren que tamén hai que incluír un destes 25 mil dominios (por exemplo, example.net) . Antes de que o sistema entenda que hai que romper as conexións e non mover algúns elementos ao gráfico, ten en conta moitas propiedades dos elementos e grupos nos que se combinan estes elementos, así como a forza das conexións actuais. Por exemplo, se temos un clúster pequeno (50 elementos) no gráfico, que inclúe un dominio malo, e outro clúster grande (5 mil elementos) e ambos os grupos están conectados por unha conexión (liña) con moi baixa resistencia (peso) , entón tal conexión romperase e eliminaranse os elementos do clúster grande. Pero se hai moitas conexións entre grupos pequenos e grandes e a súa forza aumenta gradualmente, neste caso a conexión non se romperá e os elementos necesarios de ambos os grupos permanecerán no gráfico.

Non se ten en conta o intervalo de propiedade do servidor e do dominio. Explicación. Os "dominios incorrectos" caducarán tarde ou cedo e volverán comprarse con fins maliciosos ou lexítimos. Mesmo os servidores de hospedaxe a proba de balas aluganse a diferentes piratas informáticos, polo que é fundamental coñecer e ter en conta o intervalo no que un determinado dominio/servidor estaba baixo o control dun propietario. Moitas veces atopamos unha situación na que un servidor con IP 11.11.11.11 úsase agora como C&C para un bot bancario e hai 2 meses estaba controlado por Ransomware. Se construímos unha conexión sen ter en conta os intervalos de propiedade, parecerá que hai unha conexión entre os propietarios da botnet bancaria e o ransomware, aínda que en realidade non a hai. No noso traballo, tal erro é fundamental.
Ensinamos o sistema a determinar os intervalos de propiedade. Para os dominios isto é relativamente sinxelo, porque o whois adoita conter datas de inicio e caducidade do rexistro e, cando hai un historial completo de cambios de whois, é fácil determinar os intervalos. Cando o rexistro dun dominio non caducou, pero a súa xestión foi transferida a outros propietarios, tamén se pode rastrexar. Non hai tal problema para os certificados SSL, porque se emiten unha vez e non se renovan nin se transfiren. Pero cos certificados autoasinados, non pode confiar nas datas especificadas no período de validez do certificado, porque pode xerar un certificado SSL hoxe e especificar a data de inicio do certificado a partir de 2010. O máis difícil é determinar os intervalos de propiedade dos servidores, porque só os provedores de hospedaxe teñen datas e períodos de aluguer. Para determinar o período de propiedade do servidor, comezamos a utilizar os resultados da dixitalización de portos e a creación de impresións dixitais dos servizos en execución nos portos. Usando esta información, podemos dicir con bastante precisión cando cambiou o propietario do servidor.

Poucas conexións. Explicación. Hoxe en día, nin sequera é un problema para obter unha lista gratuíta de dominios cuxo whois contén un enderezo de correo electrónico específico, ou para descubrir todos os dominios que estaban asociados a un enderezo IP específico. Pero cando se trata de piratas informáticos que fan todo o posible por ser difíciles de rastrexar, necesitamos trucos adicionais para atopar novas propiedades e construír novas conexións.
Pasamos moito tempo investigando como podíamos extraer datos que non estaban dispoñibles dun xeito convencional. Non podemos describir aquí como funciona por razóns obvias, pero en determinadas circunstancias, os piratas informáticos, ao rexistrar dominios ou alugar e configurar servidores, cometen erros que lles permiten descubrir enderezos de correo electrónico, alias de hackers e enderezos de backend. Cantas máis conexións extraes, máis gráficos precisos podes construír.

Como funciona o noso gráfico

Para comezar a usar o gráfico de rede, cómpre introducir o dominio, o enderezo IP, o correo electrónico ou a pegada dixital do certificado SSL na barra de busca. Hai tres condicións que o analista pode controlar: tempo, profundidade do paso e claridade.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Tempo

Hora: data ou intervalo no que se utilizou o elemento buscado con fins maliciosos. Se non especifica este parámetro, o propio sistema determinará o último intervalo de propiedade deste recurso. Por exemplo, o 11 de xullo publicou Eset informe sobre como Buhtrap usa o exploit de 0 días para a espionaxe cibernética. Hai 6 indicadores ao final do informe. Un deles, secure-telemetry[.]net, volveu rexistrarse o 16 de xullo. Polo tanto, se creas un gráfico despois do 16 de xullo, obterás resultados irrelevantes. Pero se indicas que este dominio se utilizou antes desta data, entón o gráfico inclúe 126 novos dominios, 69 enderezos IP que non aparecen no informe de Eset:

  • ukrfreshnews[.]com
  • unian-search[.]com
  • vesti-mundo[.]info
  • runewsmeta[.]com
  • foxnewsmeta[.]biz
  • sobesednik-meta[.]info
  • rian-ua[.]net
  • etc

Ademais dos indicadores de rede, inmediatamente atopamos conexións con ficheiros maliciosos que tiñan conexións con esta infraestrutura e etiquetas que nos indican que se utilizaron Meterpreter e AZORult.

O gran é que obtén este resultado nun segundo e xa non necesitas pasar días analizando os datos. Por suposto, este enfoque ás veces reduce significativamente o tempo para as investigacións, o que adoita ser crítico.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

O número de pasos ou profundidade de recursividade coa que se construirá o gráfico

Por defecto, a profundidade é 3. Isto significa que todos os elementos directamente relacionados atoparanse a partir do elemento desexado, entón construiranse novas conexións de cada novo elemento a outros elementos e crearanse novos elementos a partir dos novos elementos do último. paso.

Poñamos un exemplo non relacionado con APT e exploits de 0 días. Recentemente, describiuse en Habré un caso interesante de fraude relacionado coas criptomoedas. O informe menciona o dominio themcx[.]co, usado polos estafadores para aloxar un sitio web que pretende ser un Miner Coin Exchange e buscar teléfono[.]xyz para atraer tráfico.

Pola descrición despréndese que o esquema require unha infraestrutura bastante grande para atraer tráfico a recursos fraudulentos. Decidimos mirar esta infraestrutura construíndo un gráfico en 4 pasos. A saída foi un gráfico con 230 dominios e 39 enderezos IP. A continuación, dividimos os dominios en dúas categorías: aqueles que son similares aos servizos para traballar con criptomoedas e aqueles que están destinados a xerar tráfico a través dos servizos de verificación telefónica:

Relacionado coa criptomoeda
Asociado cos servizos de perforación telefónica

monedeiro[.]cc
rexistro de chamada[.]sitio.

mcxwallet[.]co
teléfono-rexistros[.]espazo

btcnoise[.]com
fone-descubrir[.]xyz

criptomineiro[.]reloxo
número-descubrir[.]información

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Limpeza

Por defecto, a opción "Limpeza de gráficos" está activada e todos os elementos irrelevantes eliminaranse do gráfico. Por certo, utilizouse en todos os exemplos anteriores. Prevén unha pregunta natural: como podemos asegurarnos de que algo importante non se borra? Vou responder: para os analistas aos que lles gusta construír gráficos a man, pódese desactivar a limpeza automatizada e seleccionar o número de pasos = 1. A continuación, o analista poderá completar o gráfico a partir dos elementos que necesita e eliminar elementos de os gráficos que son irrelevantes para a tarefa.

Xa no gráfico, o historial de cambios en whois, DNS, así como os portos e servizos abertos que se executan neles está dispoñible para o analista.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Phishing financeiro

Investigamos as actividades dun grupo APT, que durante varios anos levou a cabo ataques de phishing contra clientes de varios bancos en diferentes rexións. Un trazo característico deste grupo era o rexistro de dominios moi similares aos nomes dos bancos reais, e a maioría dos sitios de phishing tiñan o mesmo deseño, as únicas diferenzas estaban nos nomes dos bancos e nos seus logotipos.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso
Neste caso, a análise automatizada de gráficos axudounos moito. Tomando un dos seus dominios - lloydsbnk-uk[.]com, en poucos segundos construímos un gráfico cunha profundidade de 3 pasos, que identificou máis de 250 dominios maliciosos que foron utilizados por este grupo desde 2015 e que se seguen utilizando. . Algúns destes dominios xa foron adquiridos polos bancos, pero os rexistros históricos mostran que previamente estaban rexistrados para atacantes.

Para máis claridade, a figura mostra un gráfico cunha profundidade de 2 pasos.

Cabe destacar que xa en 2019, os atacantes cambiaron un pouco as súas tácticas e comezaron a rexistrar non só os dominios dos bancos para hospedar phishing web, senón tamén os dominios de varias empresas de consultoría para o envío de correos electrónicos de phishing. Por exemplo, os dominios swift-department.com, saudconsultancy.com, vbgrigoryanpartners.com.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Banda de cobalto

En decembro de 2018, o grupo de hackers Cobalt, especializado en ataques dirixidos a bancos, enviou unha campaña de correo en nome do Banco Nacional de Casaquistán.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso
As cartas contiñan ligazóns a hXXps://nationalbank.bz/Doc/Prikaz.doc. O documento descargado contiña unha macro que iniciaba Powershell, que tentaría cargar e executar o ficheiro desde hXXp://wateroilclub.com/file/dwm.exe en %Temp%einmrmdmy.exe. O ficheiro %Temp%einmrmdmy.exe tamén coñecido como dwm.exe é un stager CobInt configurado para interactuar co servidor hXXp://admvmsopp.com/rilruietguadvtoefmuy.

Imaxina non poder recibir estes correos electrónicos de phishing e realizar unha análise completa dos ficheiros maliciosos. O gráfico do dominio malicioso nationalbank[.]bz mostra inmediatamente as conexións con outros dominios maliciosos, atribúeo a un grupo e mostra que ficheiros se utilizaron no ataque.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso
Tomemos o enderezo IP 46.173.219[.]152 deste gráfico e creemos un gráfico a partir dun só paso e desactivemos a limpeza. Hai 40 dominios asociados a el, por exemplo, bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
criptoelips[.]com

A xulgar polos nomes de dominio, parece que se usan en esquemas fraudulentos, pero o algoritmo de limpeza deuse conta de que non estaban relacionados con este ataque e non os puxo no gráfico, o que simplifica moito o proceso de análise e atribución.

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso
Se reconstruír o gráfico usando nationalbank[.]bz, pero desactivando o algoritmo de limpeza do gráfico, entón conterá máis de 500 elementos, a maioría dos cales non teñen nada que ver co grupo Cobalt nin cos seus ataques. A continuación móstrase un exemplo do aspecto deste gráfico:

A túa saída, gráfico: como non atopamos un bo gráfico de rede e creamos o noso

Conclusión

Despois de varios anos de perfeccionamento, probas en investigacións reais, investigación de ameazas e caza de atacantes, conseguimos non só crear unha ferramenta única, senón tamén cambiar a actitude dos expertos da empresa cara a ela. Inicialmente, os expertos técnicos queren un control total sobre o proceso de construción do gráfico. Convencelos de que a construción automática de gráficos podería facelo mellor que unha persoa con moitos anos de experiencia foi extremadamente difícil. Todo decidiuse polo tempo e varias comprobacións "manuais" dos resultados do que produciu o gráfico. Agora os nosos expertos non só confían no sistema, senón que tamén utilizan os resultados que obtén no seu traballo diario. Esta tecnoloxía funciona dentro de cada un dos nosos sistemas e permítenos identificar mellor as ameazas de calquera tipo. A interface para a análise manual de gráficos está integrada en todos os produtos do Grupo IB e amplía significativamente as capacidades para a caza de ciberdelincuencia. Isto é confirmado polas opinións de analistas dos nosos clientes. E nós, á súa vez, seguimos enriquecendo a gráfica con datos e traballando en novos algoritmos utilizando intelixencia artificial para crear o gráfico de rede máis preciso.

Fonte: www.habr.com

Engadir un comentario