Su salida, gráfico: cómo no encontramos un buen gráfico de red y creamos el nuestro



Investigando casos de phishing, botnets, transacciones fraudulentas y grupos de piratas informáticos, los expertos del Grupo IB han estado utilizando el análisis gráfico durante muchos años para identificar todo tipo de conexiones. Los diferentes casos tienen sus propias matrices de datos, sus propios algoritmos de identificación de conexión e interfaces personalizadas para tareas específicas. Todas estas herramientas fueron un desarrollo interno del Grupo IB y estaban disponibles solo para nuestros empleados.

El análisis gráfico de la infraestructura de red ( gráfico de red ) fue la primera herramienta interna que incorporamos en todos los productos públicos de la empresa. Antes de crear nuestro propio gráfico de red, analizamos muchos desarrollos similares en el mercado y no encontramos un solo producto que satisfaga nuestras propias necesidades. En este artículo hablaremos sobre cómo creamos el gráfico de red, cómo usarlo y qué dificultades encontramos.

Dmitry Volkov, CTO Group-IB y jefe de ciberinteligencia

¿Qué puede hacer un gráfico de red del Grupo IB?


Investigaciones


Desde la fundación del Grupo IB en 2003 hasta el presente, la identificación, el decano y la responsabilidad de los cibercriminales han sido la principal prioridad en nuestro trabajo. Ninguna investigación de ciberataques podría funcionar sin un análisis de la infraestructura de red del atacante. Al comienzo de nuestro viaje, fue bastante arduo "trabajo manual" encontrar relaciones que pudieran ayudar a identificar delincuentes: información sobre nombres de dominio, direcciones IP, huellas digitales de servidores, etc.

La mayoría de los atacantes intentan actuar de la manera más anónima posible en la red. Sin embargo, como todas las personas, cometen errores. La tarea principal de este análisis es encontrar los proyectos históricos "blancos" o "grises" de los atacantes que se cruzan con la infraestructura maliciosa utilizada en el incidente real que estamos investigando. Si es posible detectar "proyectos blancos", encontrar al atacante, como regla, se convierte en una tarea trivial. En el caso de los "grises", lleva más tiempo y esfuerzo buscar, ya que sus propietarios intentan anonimizar u ocultar los datos de registro, pero las posibilidades siguen siendo bastante altas. Como regla general, al comienzo de su actividad criminal, los atacantes prestan menos atención a su propia seguridad y cometen más errores, por lo que cuanto más profundicemos en la historia, mayores serán las posibilidades de una investigación exitosa. Es por eso que un gráfico de red con una buena historia es un elemento extremadamente importante de tal investigación. En pocas palabras, cuanto más profundos sean los datos históricos que posee una empresa, mejor será su gráfico. Supongamos que una historia de 5 años puede ayudar a resolver, condicionalmente, 1-2 de 10 delitos, y una historia de 15 años da la oportunidad de resolver los diez.

Detectando phishing y fraude


Cada vez que recibimos un enlace sospechoso a phishing, recursos fraudulentos o pirateados, creamos automáticamente un gráfico de recursos de red relacionados y verificamos que todos los hosts encontrados tengan contenido similar. Esto le permite encontrar sitios de phishing antiguos que estaban activos pero desconocidos, y sitios nuevos que estaban preparados para futuros ataques, pero que aún no se utilizan. Un ejemplo elemental que es bastante común: encontramos un sitio de phishing en un servidor con solo 5 sitios. Al revisar cada uno de ellos, también encontramos contenido de phishing en otros sitios, lo que significa que podemos bloquear 5 en lugar de 1.

Búsqueda de backend


Este proceso es necesario para establecer dónde se encuentra realmente el servidor malicioso.
El 99% de las tiendas de tarjetas, foros de piratería, muchos recursos de phishing y otros servidores maliciosos se esconden detrás de sus propios servidores proxy y servidores proxy de servicios legítimos, por ejemplo, Cloudflare. Conocer el verdadero backend es muy importante para las investigaciones: se conoce el proveedor de alojamiento del que puede eliminar el servidor, se hace posible establecer conexiones con otros proyectos maliciosos.

Por ejemplo, tiene un sitio de phishing para recopilar datos de tarjetas bancarias que se resuelven en la dirección IP 11/11/11/11, y una dirección de tienda de tarjetas que se resuelve en la dirección IP 22.22.22.22. Durante el análisis, puede resultar que tanto el sitio de phishing como la tienda de tarjetas tengan una dirección IP de backend común, por ejemplo, 33.33.33.33. Este conocimiento le permite construir un vínculo entre los ataques de phishing y una tienda de tarjetas en la que, tal vez, venden datos de tarjetas bancarias.

Correlación de eventos


Cuando tiene dos disparadores diferentes (por ejemplo, en IDS) con malware diferente y servidores diferentes para controlar el ataque, los considerará como dos eventos independientes. Pero si hay una buena conexión entre las infraestructuras maliciosas, entonces resulta obvio que no se trata de ataques diferentes, sino etapas de un ataque de varias etapas más complejo. Y si uno de los eventos ya se atribuye a algún grupo de atacantes, el segundo también se puede atribuir al mismo grupo. Por supuesto, el proceso de atribución es mucho más complejo, así que trate la escritura como un ejemplo simple.

Indicadores de enriquecimiento


No prestaremos mucha atención a esto, ya que este es el escenario más común para usar gráficos en ciberseguridad: le das un indicador a la entrada y obtienes una serie de indicadores relacionados en la salida.

Detección de patrones


La identificación del patrón es esencial para una caza efectiva. Los gráficos permiten no solo encontrar elementos relacionados, sino también revelar propiedades comunes que son inherentes a un determinado grupo de hackers. Conocer estas características únicas le permite reconocer la infraestructura del atacante incluso en la etapa de preparación y sin evidencia que confirme el ataque, como correos electrónicos de phishing o malware.

¿Por qué creamos nuestro propio gráfico de red?


Repito que consideramos soluciones de diferentes proveedores antes de llegar a la conclusión de que necesitamos desarrollar nuestra propia herramienta que pueda hacer lo que no se encuentra en ningún producto existente. Nos llevó varios años crearlo, durante el cual lo hemos cambiado por completo más de una vez. Pero, a pesar del largo período de desarrollo, todavía no hemos encontrado un solo análogo que satisfaga nuestros requisitos. Usando nuestro propio producto, pudimos resolver casi todos los problemas que encontramos en los gráficos de red existentes. A continuación consideramos estos problemas en detalle:

El problemaSolución
Falta de un proveedor con diferentes colecciones de datos: dominios, DNS pasivo, SSL pasivo, registros DNS, puertos abiertos, servicios en ejecución en puertos, archivos que interactúan con nombres de dominio y direcciones IP. Explicación Los proveedores suelen proporcionar tipos de datos separados, y para obtener una imagen completa, debe comprar suscripciones de todos. Pero aun así, no siempre es posible obtener todos los datos: algunos proveedores de SSL pasivos solo proporcionan datos sobre certificados emitidos por CA de confianza, y la cobertura de los certificados autofirmados es extremadamente pobre. Otros proporcionan datos en certificados autofirmados, pero solo los recopilan de puertos estándar.Hemos recopilado todas las colecciones anteriores nosotros mismos. Por ejemplo, para recopilar datos sobre certificados SSL, escribimos nuestro propio servicio que los recopila de CA de confianza y escaneando todo el espacio IPv4. Los certificados se obtuvieron no solo de IP, sino también de todos los dominios y subdominios de nuestra base de datos: si tiene el dominio example.com y su subdominio www.example.com y todos se resuelven a IP 1.1.1.1, cuando intenta obtener SSL- certificado del puerto 443 por IP, dominio y su subdominio, puede obtener tres resultados diferentes. Para recopilar datos en puertos abiertos y servicios en ejecución, tuve que crear mi propio sistema de escaneo distribuido, porque para otros servicios las direcciones IP de los servidores de escaneo a menudo estaban en las "listas negras". Nuestros servidores de escaneo también están en la lista negra, pero el resultado de encontrar los servicios que necesitamos es más alto que aquellos que simplemente escanean tantos puertos como sea posible y venden el acceso a estos datos.
Falta de acceso a toda la base de datos de registros históricos. Explicación Cada proveedor normal tiene un buen historial acumulado, pero por razones naturales, como cliente, no pudimos acceder a todos los datos históricos. Es decir puede obtener toda la historia mediante un registro separado, por ejemplo, por dominio o dirección IP, pero no puede ver el historial de todo, y sin esto no puede ver la imagen completa.Para recopilar tantos registros históricos por dominio como sea posible, compramos varias bases de datos, analizamos muchos recursos abiertos que poseían este historial (es bueno que haya muchos) y acordamos con los registradores de nombres de dominio. Todas las actualizaciones en nuestras propias colecciones, por supuesto, se almacenan con un historial completo de cambios.
Todas las soluciones existentes le permiten crear un gráfico en modo manual. Explicación Supongamos que compró muchas suscripciones de todos los proveedores de datos posibles (generalmente se denominan "enriquecimiento"). Cuando necesita construir un gráfico, le da el comando "manos" para construir desde el elemento de comunicación deseado, luego, desde los elementos aparecidos, seleccione los necesarios y dé el comando para completar las conexiones desde ellos, y así sucesivamente. En este caso, la responsabilidad de qué tan bien se construirá el gráfico recae enteramente en la persona.Hicimos gráficas automáticas. Es decir Si necesita crear un gráfico, las conexiones desde el primer elemento se crean automáticamente, más allá de todas las posteriores. El especialista solo indica la profundidad con la que construir el gráfico. El proceso de completar automáticamente los gráficos es simple, pero otros proveedores no lo implementan porque brinda una gran cantidad de resultados irrelevantes, y también tuvimos que considerar este inconveniente (ver más abajo).
Una gran cantidad de resultados irrelevantes es el problema de todos los gráficos en elementos de red. Explicación Por ejemplo, un "mal dominio" (participó en el ataque) está asociado con un servidor con el que en los últimos 10 años se han asociado otros 500 dominios. Al agregar manualmente o construir automáticamente un gráfico, todos estos 500 dominios también deberían rastrearse en el gráfico, aunque no están relacionados con el ataque. O, por ejemplo, verifica el indicador de IP del informe de seguridad del proveedor. Como regla, tales informes salen con un retraso significativo y a menudo cubren un año o más. Lo más probable es que, en el momento en que lea el informe, el servidor con esta dirección IP ya esté alquilado a otras personas con otras conexiones, y la construcción del gráfico conducirá al hecho de que nuevamente recibió resultados irrelevantes.Capacitamos al sistema para identificar elementos irrelevantes de acuerdo con la misma lógica que nuestros expertos hicieron a mano. Por ejemplo, verifica el dominio incorrecto example.com, que ahora se resuelve a IP 11.11.11.11, y hace un mes a IP 22.22.22.22. Además del dominio example.com, example.ru está asociado con IP 11.11.11.11, y otros 25 mil dominios están asociados con IP 22.22.22.22. El sistema, como una persona, entiende que 11.11.11.11 es, muy probablemente, un servidor dedicado, y dado que el dominio example.ru es similar en ortografía a example.com, entonces, con una alta probabilidad, están conectados y deberían estar en el gráfico; pero IP 22.22.22.22 pertenece al alojamiento compartido, por lo que no necesita poner todos sus dominios en el gráfico si no hay otros enlaces que muestren que uno de estos 25 mil dominios también debe eliminarse (por ejemplo, ejemplo.net). Antes de que el sistema se dé cuenta de que las conexiones deben romperse y que algunos de los elementos no deben colocarse en el gráfico, tiene en cuenta las muchas propiedades de los elementos y grupos en los que se combinan estos elementos, así como la fuerza de las conexiones actuales. Por ejemplo, si tenemos un grupo pequeño (50 elementos) en el gráfico, que incluye un dominio defectuoso, y otro grupo grande (5 mil elementos) y ambos grupos están conectados por un enlace (línea) con muy baja fuerza (peso), entonces esta conexión se romperá y los elementos del clúster grande se eliminarán. Pero si habrá muchos vínculos entre grupos pequeños y grandes y su fuerza aumentará gradualmente, entonces en este caso la conexión no se romperá y los elementos necesarios de ambos grupos permanecerán en el gráfico.
El intervalo de propiedad del servidor y el dominio no se tiene en cuenta. Explicación El registro de "dominios malos" caduca tarde o temprano, y se vuelven a comprar con fines maliciosos o legítimos. Incluso con el alojamiento a prueba de balas, los servidores se alquilan a diferentes hackers, por lo tanto, es fundamental conocer y tener en cuenta el intervalo cuando un dominio / servidor en particular estaba bajo el control de un propietario. A menudo nos encontramos con una situación en la que ahora se usa un servidor con IP 11.11.11.11 como C&C para un bot bancario, y Ransomware se administró hace 2 meses. Si crea una conexión, sin tener en cuenta los intervalos de propiedad, parecerá que hay una conexión entre los propietarios de la botnet bancaria y el ransomware, aunque en realidad no es así. En nuestro trabajo, tal error es crítico.Enseñamos al sistema a determinar los intervalos de propiedad. Para los dominios, esto es relativamente simple, porque whois a menudo muestra las fechas de inicio y finalización del registro y, cuando hay un historial completo de cambios de whois, es fácil determinar los intervalos. Cuando el dominio no ha expirado, pero su administración se ha transferido a otros propietarios, también puede realizar un seguimiento. No existe tal problema para los certificados SSL, ya que se emite una vez, no se renueva y no se transmite. Pero para los certificados autofirmados, no puede confiar en las fechas indicadas en las fechas de vencimiento del certificado, porque puede generar un certificado SSL hoy y especificar la fecha de inicio del certificado a partir de 2010. Lo más difícil es determinar los intervalos de propiedad de los servidores, ya que solo los proveedores de alojamiento tienen las fechas y los arrendamientos. Para determinar el período de propiedad del servidor, comenzamos a usar los resultados del escaneo de puertos y a crear huellas digitales de los servicios en ejecución en los puertos. Según esta información, podemos decir con bastante precisión cuándo cambió el propietario del servidor.
Pocas conexiones. Explicación Ahora no es un problema incluso obtener una lista de dominios de forma gratuita con una dirección de correo electrónico específica, o averiguar todos los dominios asociados con una dirección IP específica. Pero, cuando se trata de piratas informáticos que hacen todo lo posible para dificultar el seguimiento, se necesitan "trucos" adicionales para encontrar nuevas propiedades y construir nuevas conexiones.Pasamos mucho tiempo investigando cómo recuperar datos que no están disponibles de la manera habitual. No podemos describir cómo funciona esto aquí por razones obvias, pero bajo ciertas circunstancias, los piratas informáticos cometen errores al registrar dominios o alquilar y configurar servidores, lo que le permite encontrar direcciones de correo electrónico, alias de piratas informáticos, direcciones de back-end. Cuantas más conexiones extraigas, más exactamente podrás construir gráficos.

Cómo funciona nuestro gráfico


Para comenzar a utilizar el gráfico de red, debe ingresar el dominio, la dirección IP, el correo electrónico o la huella digital del certificado SSL en el cuadro de búsqueda. Hay tres condiciones que un analista puede controlar: tiempo, profundidad de paso y limpieza.



Tiempo


Hora: la fecha o intervalo en que se utilizó el elemento de búsqueda con fines maliciosos. Si no especifica este parámetro, el sistema determinará el último intervalo de propiedad de este recurso. Por ejemplo, el 11 de julio, Eset publicó un informe sobre cómo Buhtrap usa un exploit de 0 días para el espionaje cibernético. Al final del informe hay 6 indicadores. Uno de ellos, telemetría segura [.] Net, se volvió a registrar el 16 de julio. Por lo tanto, si crea un gráfico después del 16 de julio, recibirá resultados irrelevantes. Pero si indica que este dominio se utilizó antes de esta fecha, 126 nuevos dominios y 69 direcciones IP que no figuran en el informe de Eset se incluyen en el gráfico:

  • ukrfreshnews [.] com
  • unian-search [.] com
  • información de vesti-world [.]
  • runewsmeta [.] com
  • biz foxnewsmeta [.]
  • sobesednik-meta [.] información
  • rian-ua [.] net
  • y otros

Además de los indicadores de red, inmediatamente encontramos enlaces a archivos maliciosos que tenían enlaces a esta infraestructura y etiquetas que nos dicen que se utilizaron Meterpreter, AZORult.

Lo bueno es que obtienes este resultado en un segundo y ya no necesitas pasar días analizando los datos. Por supuesto, este enfoque a veces reduce el tiempo de investigación en varias ocasiones, lo que a menudo es crítico.


El número de pasos o la profundidad de recursión con la que se construirá el gráfico.


Por defecto, la profundidad es 3. Esto significa que todos los elementos directamente relacionados se encontrarán a partir del elemento requerido, luego cada nuevo elemento construirá nuevas conexiones con otros elementos, y a partir de los nuevos elementos del último paso habrá nuevos elementos.

Tomemos un ejemplo no relacionado con APT y exploits de 0 días. Recientemente, Habré describió un caso interesante con fraude asociado con las criptomonedas. El informe menciona el dominio: themcx [.] Co, utilizado por los estafadores para alojar el sitio del supuestamente intercambiador Miner Coin Exchange y la búsqueda telefónica [.] Xyz, para atraer tráfico.

A partir de la descripción, está claro que el esquema requiere una infraestructura suficientemente grande para atraer tráfico a recursos fraudulentos. Decidimos analizar esta infraestructura construyendo un gráfico en 4 pasos. El resultado fue un gráfico con 230 dominios y 39 direcciones IP. A continuación, desglosamos los dominios en 2 categorías: los que son similares a los servicios para trabajar con criptomonedas y los que están diseñados para atrapar el tráfico a través de los servicios de verificación telefónica:
Criptomoneda relacionadaAsociado con servicios de perforación telefónica
tenedor de monedas [.] ccsitio de registro de llamadas [.].
mcxwallet [.] coespacio de registros telefónicos [.]
btcnoise [.] comfone-destape [.] xyz
reloj cryptominer [.]número-descubrir [.] información


Limpieza


Por defecto, la opción "Borrar gráfico" está habilitada y todos los elementos irrelevantes se eliminarán del gráfico. Por cierto, se usó en todos los ejemplos anteriores. Preveo una pregunta natural: ¿cómo asegurarse de que algo importante no desaparezca? : , , = 1. .

whois, DNS, .



APT- , . , , , .


. — lloydsbnk-uk[.]com, 3 , 250 , 2015 . , , .

2 .

, 2019 -, . , swift-department.com, saudconsultancy.com, vbgrigoryanpartners.com.


Cobalt gang


2018 Cobalt, , .


hXXps://nationalbank.bz/Doc/Prikaz.doc. , powershell, hXXp://wateroilclub.com/file/dwm.exe %Temp%\einmrmdmy.exe. %Temp%\einmrmdmy.exe aka dwm.exe — CobInt stager, hXXp://admvmsopp.com/rilruietguadvtoefmuy.

, . nationalbank[.]bz , .


IP- 46.173.219[.]152 . 40 , , bl0ckchain[.]ug
paypal.co.uk.qlg6[.]pw
cryptoelips[.]com

, , , , .


nationalbank[.]bz, , 500 Cobalt, . , :


Conclusión


, , , . . , , , . “” , . , . . Group-IB . . , , , , .

Source: https://habr.com/ru/post/461639/


All Articles