Hola a todos! Me llamo Vitaliy Malkin. Soy el jefe del departamento de análisis de seguridad en Informzashchita y el capitán a tiempo parcial del equipo True0xA3. Hace poco más de una semana, ganamos una de las competencias más prestigiosas de hackers blancos en la CEI. En el último artículo (si se lo perdió, puede leerlo
aquí ) hablamos sobre la importancia de la preparación preliminar. En esto, hablaré sobre lo que sucedió directamente en las competiciones, explicaré por qué a veces es importante hacer ajustes a los planes existentes durante el juego y por qué, en mi opinión, ninguna de las oficinas protegidas fue pirateada.
Primer dia
9:45 MSKEl día comenzó con el hecho de que nos dieron los resultados del lanzamiento de MassScan-a. Comenzamos por el hecho de que inmediatamente escribimos todos los hosts con un puerto 445 abierto y, exactamente a las 10.00, lanzamos el comprobador de metasplit listo para MS17-010. Guiada por nuestro plan, la tarea No. 1 era capturar el dominio de bigbrogroup, por lo que dos personas de nuestro equipo lo rompieron simultáneamente. En el siguiente diagrama puede ver la distribución inicial de los miembros de nuestro equipo por oficina.

Como se puede ver en el diagrama, cubrimos casi todas las oficinas. Y aquí el hecho de que había 20 personas en el equipo ayudó mucho.
10:15En este momento, uno de los miembros del Equipo-1 encuentra un host en bigbrogroup.phd que es vulnerable a MS17-010. Explotamos la vulnerabilidad con una prisa increíble. Hace unos años, ya estábamos en una situación en la que llevamos un medidor a un nodo importante y después de 10 segundos nos expulsaron, cerrando simultáneamente el puerto. Este año esto no sucedió: tomamos con éxito el nodo, cerramos el puerto SMB y cambiamos el puerto RDP a 50002. Tomamos una actitud muy responsable con respecto al problema de mantener el acceso, por lo que agregamos algunos administradores locales más y configuramos nuestra propia RAT. Después de eso seguimos adelante.
10:25Seguimos lidiando con lo que encontramos. Además del hecho de que este nodo tiene acceso a la red interna y al controlador de dominio, también se encuentra un token de administrador de dominio. Este es el premio gordo! De inmediato verificamos si está "podrido", y no hay límite para nuestra alegría. El primer dominio ha caído. Tiempo de piratería: 27 minutos 52 segundos.
Finalmente, después de media hora desde el comienzo de la competencia, todavía vamos al portal de los piratas informáticos y tratamos de entender lo que debemos hacer para atraer al público. Vemos un conjunto estándar: credenciales de un administrador de dominio, administrador de estaciones de trabajo, intercambio, así como varias partes superiores. Lo descargamos del dominio ntds.dit, descubriendo simultáneamente la estación CUDA. Imagine nuestra sorpresa cuando vimos que el dominio tiene habilitado un modo de cifrado reversible, que nos permite obtener todas las contraseñas de los usuarios en texto claro. Para comprender qué usuarios nos interesan, involucramos a dos personas del Equipo-1 para analizar la estructura de AD y sus grupos. Cinco minutos después, obtuvimos todas las respuestas. Los enviamos al portal y comenzamos a esperar. Honestamente, para ese momento realmente quería derramar la primera sangre para mantener la moral, por así decirlo, pero solo después de una hora pudimos entender cómo funciona el corrector:
a) el verificador está automatizado;
b) el corrector tiene un formato duro;
c) el verificador no aceptó nuestra respuesta unos segundos después de enviar la respuesta, porque Estaba en el formato incorrecto.
Habiendo dominado el formato, aproximadamente a las 11.00 obtenemos la codiciada Primera sangre. Si!
11:15El equipo 1 se divide en dos partes. Los participantes de un subcomando continúan ganando terreno en el dominio: reciben krbtgt, fortalecen el dominio, cambian las contraseñas de las cuentas. Incluso en la sesión informativa, los organizadores de PHDays dejaron en claro que quien se levantó primero llevaba zapatillas. Por lo tanto, cambiamos las contraseñas en las cuentas para estar seguros: si alguien nos expulsa, recibirá un mínimo de puntos.
Team-2 continúa investigando el dominio y encuentra la respuesta a otra tarea. En el escritorio del director financiero se encontró un informe financiero, tan necesario para alguien. Pero el problema es que está en el archivo, que está protegido con contraseña. Bueno, no en vano descubrimos una estación CUDA. Con un simple movimiento de la muñeca, convertimos el archivo en un hash y lo enviamos a hashcat.
El equipo 2 en este momento encuentra algunos servicios interesantes con RCE y comienza a "torcerlos". Esto es monitoreo en medios CF, construido sobre la base de Nagios. Este es un sistema de cartografía de una compañía de barcos, basado en la tecnología que vemos por primera vez. Y también algunos otros servicios potencialmente interesantes como el convertidor de DOC a PDF.
Mientras tanto, el segundo subcomando del Equipo-1 está involucrado en el banco y encuentra una base interesante en MongoDB, que, entre otras cosas, tiene el nombre de nuestro equipo y su equilibrio en algún sistema. "Giramos" nuestro saldo de 50 millones y seguimos adelante.
2 p.m.Nos sorprenden los primeros reveses. En primer lugar, los dos servicios en los que recibimos RCE en los segmentos protegidos dejaron de estar disponibles. Los defensores simplemente los apagaron. Por supuesto, vamos a quejarnos con los organizadores. Esto no lleva a nada. Bueno, sí, en Standoff, por desgracia, no hay negocio que le otorgue ese límite. Además, no podemos encontrar una lista de clientes. Suponemos que está oculto en algún lugar en las profundidades de 1C, pero no hay bases ni configuraciones de trabajo. Este es un callejón sin salida.
Estamos tratando de aumentar el canal VPN entre nuestros servidores remotos y la red ICS. Por razones desconocidas, hacemos esto en el controlador de dominio de bigbrogroup, y cuando se construye el puente entre las interfaces, la conexión se desconecta. El controlador de dominio no está disponible. La parte del equipo que capturó el grupo grande casi sufrió un ataque cardíaco: comienzan las primeras disputas, la tensión general está creciendo.
De repente, nos damos cuenta de que el controlador de dominio todavía está disponible desde nuestros servidores, pero el canal es muy inestable. Al igual que en la estrategia por turnos: deshabilitamos el modo puente a través de RDP, el controlador de dominio vuelve a estar disponible. Fuh !!! Todos se calman. Eventualmente elevamos la VPN de otro servidor, apreciamos y apreciamos el controlador de dominio. Todos los equipos tienen puntajes cero, esto es tranquilizador.
16:50Los organizadores finalmente publican el minero y nosotros, usando psexec, lo instalamos en todos los nodos controlados por nosotros. Obtenemos un ingreso estable adicional.
Team-2 está arruinando la vulnerabilidad de Nagios. Allí se instala una versión vulnerable <= 5.5.6 CVE-2018-15710 CVE-2018-15708. Existe un exploit público, pero utiliza una conexión inversa para descargar un shell web. Estamos detrás de NAT, por lo que tenemos que reescribir el exploit y dividirlo en dos partes. El primero obliga a Nagios a conectarse a nuestro servidor remoto a través de Internet, y el segundo, ubicado directamente en el servidor, le da a Nagios un shell web. Después de recibir el shell web, se descargó WSO y se eliminó el script PHP vulnerable "magpie_debug.php". Esto nos da acceso proxy al dominio de medios CF. La conexión es inestable y es difícil de usar, decidimos enviar el exploit a Bug-bounty, y en este momento estamos tratando de "actualizar" a Root.
18:07Y aquí están las sorpresas prometidas de los organizadores: ¡BigBroGroup compra CF-media! En general, asumimos un giro similar. En el curso del estudio del controlador de dominio bigbrogroup, notamos la confianza entre este dominio y el dominio cf-media.
Desafortunadamente, en ese momento no había acceso a la red. Pero en el momento del anuncio de la fusión, él apareció. Esto nos liberó del dolor de cabeza asociado con la paginación a través de los nagios. Las credenciales de Bigbrogroup se ejecutan en cf-media, pero los usuarios no tienen privilegios. No hay vulnerabilidades fácilmente explotables, pero no nos desesperamos. Algo debe ser.
18:30Estamos fuera del controlador de dominio BigBroGroup. Quien? Donde Parece un equipo CARK. Cambian la contraseña del administrador de dominio, pero tenemos cuatro copias de seguridad. Cambiar de nuevo, restablecer todas las contraseñas. No ayuda, nos noquean de nuevo. Al mismo tiempo, encontramos vectores en los medios CF. Uno de los servidores usa la misma contraseña de administrador local que en el dominio bigbrogroup. Bueno, reutilización de contraseña, ¡queda por recoger el hash! Usando hashkiller encontramos la contraseña - "P @ ssw0rd". Rompemos más.
19:00La batalla por bigbrogroup no se detiene. TSARKA cambia la contraseña dos veces a krbtgt, perdimos todos los administradores. ¿Es este el final?
19:30Obtenemos el dominio de administrador de medios CF, comenzamos a pasar banderas. A pesar de que el dominio parece estar configurado de la forma más segura posible, el cifrado inverso se habilita nuevamente. Recibimos apariencias, inicios de sesión, contraseñas. Repetimos todo como en el dominio anterior: arreglamos, endurecemos, cambiamos contraseñas, pasamos VPN. Encontramos el segundo informe financiero. Por cierto, ¿qué pasa con el primero? El primero ya ha sido retorcido, pero las organizaciones no lo han aceptado. ¡Resulta que necesitas entregar el 7z encriptado! ¡No había necesidad de hacer nada en bruto, tres horas en vano!
Como resultado, entregamos ambos. Tenemos alrededor de 1 millón de puntos, el CARK 125,000, el resto por ceros. CARKA comienza a entregar banderas con Bigbrogroup. Entendemos que esto debe detenerse urgentemente, pero ¿CÓMO?
19:45¡Había una solución! Todavía tenemos las credenciales de los administradores locales. Nos conectamos, recogemos el ticket y decidimos simplemente abandonar el dominio. El dominio se envía para apagar, cerrar todos los puertos en los servidores excepto RDP, cambiar las contraseñas de los administradores locales. Ahora estamos solos y ellos están solos. Aún así, lograr una operación VPN estable y todo en general sería excelente. Exhalado ...
Dispersamos minero en todos los nodos en el dominio de medios CF. El TsARKA nos alcanza en total, pero claramente los estamos alcanzando, porque tenemos más poder.
La noche
En la imagen puedes ver la distribución del equipo por la noche.

Los chicos gradualmente comienzan a irse a casa. A medianoche, quedan nueve personas. La eficiencia se reduce considerablemente. Cada hora nos vamos a lavar y respirar para no quedarnos dormidos.
Cómo llegar al ACS TP.
02:00La noche es muy dura. Encontramos vectores varias veces, pero ya están cerrados. No está del todo claro si se cerraron originalmente o si CARKA ya nos visitó aquí y los cerró. Poco a poco, acostumbrándonos a los sistemas automatizados de control de procesos, encontramos un controlador vulnerable al ataque a través de NetBus. Usando el módulo metasplit, hacemos algo, sin entender completamente qué. La luz en la ciudad se apaga. Los organizadores están listos para iniciar la tarea si podemos volver a encender la luz. En este punto, la conexión VPN cae nuevamente. El servidor en el que se implementa la VPN está bajo el control de CARK. De nuevo, parece que este es el final: discutimos el ICS demasiado ruidoso y pudieron desconectarnos de alguna manera.
3:30 a.m.El más persistente "corta" un sueño. Solo siete permanecen despiertos. De repente (sin razón aparente) la VPN comienza a funcionar nuevamente. Repetimos rápidamente el enfoque con luz. ¡Hay más de 200,000 publicaciones!
Parte del equipo continúa buscando otros vectores, parte continúa trabajando activamente con ICS. Encontramos dos vulnerabilidades potenciales más. Logramos explotar uno de ellos. El resultado puede estar sobrescribiendo el firmware del controlador. Estamos de acuerdo con los organizadores en que esperaremos hasta la mañana y juntos decidiremos qué hacer.
05:30VPN funciona 10 minutos por hora, el resto del tiempo muere. Estamos tratando de encontrar al menos algo. Nuestro rendimiento es casi cero. Decidimos dormir al menos una hora. SPOILER: una mala idea.
Cinco chicos continúan rompiendo el ACS TP.
Mañana
Por la mañana, nos damos cuenta de que hemos superado sustancialmente los puntos del resto, en casi 1 millón. El CARKA pudo pasar dos tareas de ACS TP y varias tareas de telecomunicaciones y bigbrogroup. Ya han extraído mucho, pero según nuestras estimaciones, tienen una acción que aún no han vendido. Al ritmo actual, alcanzó 200-300 toneladas de público. Esto nos asusta: existe la sensación de que pueden tener varias banderas más en el zashashnik que pueden guardar para el brote final. En nuestro regimiento llega. La prueba de sonido de la mañana en el sitio es un poco molesta, pero estimulante.
Todavía estamos tratando de romper el ACS TP, pero sin mucha esperanza. La brecha entre los equipos que solicitan el primer y segundo lugar, y el resto es demasiado grande. No creemos que los organizadores dejen todo como está.
Después de una actuación conjunta con CARK en el escenario, cambiamos el paradigma de “necesitas anotar más puntos” a “necesitas evitar que CARK gane más puntos”.
En uno de nuestros servidores, inicie Cain & Abel y transfiera todo el tráfico a nuestro servidor. Encontramos varias VPN kazajas, las "cortamos". Como resultado, decidimos piratear todo el tráfico, configurar un firewall local en la puerta de enlace para prohibir todo el tráfico en la red ICS (así es como proteger el ICS). Los organizadores vienen corriendo y dicen que no tienen acceso a ACS TP. Los vimos acceder a sus direcciones IP (así es como no necesita proteger ICS).
12:47No es de extrañar que estuvieran nerviosos. Los organizadores lanzan otra sorpresa. De la nada, aparecen cuatro cuentas de dominio para cada dominio. Movilizamos al equipo.
La tarea del Equipo-1 es entrar en los segmentos protegidos lo más profundo y rápido posible. La tarea de Team-2 es usar Outlook Web Access para cambiar las contraseñas de las cuentas. Algunos defensores, después de haber visto algo, simplemente apagan la VPN. Algunos lo hacen más complicado: traducen sus sistemas al chino. La funcionalidad funciona, pero es imposible de usar (¡orgía, ay!). A través de VPN, nos conectamos a tres redes. Nos echa del primero en un minuto.
12:52Encontramos un servidor saludable en la red que es vulnerable a MS17-010 (segmento protegido). Operamos sin encontrar resistencia, obtenemos el hash del administrador de dominio y a través de Pth vamos al controlador de dominio. Adivina lo que encontramos allí? Cifrado reversible!
Parece que aquellos que defendieron este segmento hicieron mal la tarea. Obtenemos toda la información para las tareas, excepto la parte relacionada con 1C. Hay una opción para recogerlo durante otros 40-50 minutos, pero decidimos simplemente abandonar el dominio. No necesitamos competidores.
13:20Entregamos tareas: tenemos 2.900.000 puntos y varias recompensas por errores no aceptados. Los CARK tienen poco más de 1 millón. Entregan su criptomoneda y recaudan 200 toneladas. Ya no tenemos mucho miedo, es casi imposible alcanzarnos.
13:55La gente sube, felicidades. Todavía tenemos miedo de algún tipo de configuración, pero parece que no, ¡somos realmente campeones!
Aquí hay una crónica de 28 horas de True0xA3. Mucho de lo que queda detrás de escena. Por ejemplo, subir al escenario, atormentar Wi-Fi y GSM, hablar con reporteros, pero me parece que no es lo más interesante.
Fue una experiencia genial para todos nosotros y espero haber logrado transmitir al menos un poco la atmósfera que nos ha rodeado todo este tiempo y mostrar lo interesante que es participar por nuestra cuenta. Hay otro, el último artículo, en el que evaluaremos nuestros errores e intentaremos elaborar un plan para su corrección. Después de todo, no hay nada mejor que aprender de los errores de los demás.