Este documento presenta un taller de reversing aplicado a sistemas Windows y CTFs. Incluye información sobre herramientas de reversing como editores hexadecimales y depuradores, así como sobre la configuración de un entorno de laboratorio con máquinas virtuales y proxies. También describe retos de la plataforma Atenea para practicar reversing, como crackmes y programas protegidos, y explica conceptos básicos para empezar en reversing como arquitectura x86 y formato PE.
Setup ephemeral password for TURN, Learn RTC in less than 200 Lines of codeAmitesh Madhur
TURN is used for relaying data from source to target. TURN consumes bandwidh and it is expensive.
Therefore there is a need for authorizing the TURN connection. However given that the connection is made from a client using javascript, use of a static username/password can be easily compromised.
Ephemeral password comes to the rescue here.
Learn WebRTC in 200 Line of code:
You will need a lot of patience going through libraries that are present today simply because they have thousands of line of code. So I will highly encourage you all to refer the source code located here: github.com/amiteshawa/learn-rtc
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'initier les élèves à l'apprentissage de PHP : comprendre sa logique, expliquer les bases de ce langage, sa syntaxe et dans quels cas il peut être utilisé.
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
Voici le plan de la présentation :
• Php, Le principe
• Les basiques
- Les variables
- Afficher un élément
• Les indispensables
- Les conditions
- Les boucles
- Les tableaux
• Les utiles
- Les fonctions
- GET & POST
- Include
Setup ephemeral password for TURN, Learn RTC in less than 200 Lines of codeAmitesh Madhur
TURN is used for relaying data from source to target. TURN consumes bandwidh and it is expensive.
Therefore there is a need for authorizing the TURN connection. However given that the connection is made from a client using javascript, use of a static username/password can be easily compromised.
Ephemeral password comes to the rescue here.
Learn WebRTC in 200 Line of code:
You will need a lot of patience going through libraries that are present today simply because they have thousands of line of code. So I will highly encourage you all to refer the source code located here: github.com/amiteshawa/learn-rtc
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'initier les élèves à l'apprentissage de PHP : comprendre sa logique, expliquer les bases de ce langage, sa syntaxe et dans quels cas il peut être utilisé.
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
Voici le plan de la présentation :
• Php, Le principe
• Les basiques
- Les variables
- Afficher un élément
• Les indispensables
- Les conditions
- Les boucles
- Les tableaux
• Les utiles
- Les fonctions
- GET & POST
- Include
e-Portfolio 2.0 : Typologie, processus réflexifs et usages du portfolio numér...Philippe-Didier GAUTHIER
Cette étude présente un état des recherches sur les usages du portfolio numérique. Elle s’intéresse en particulier aux pratiques et processus réflexifs relatifs au portfolio de développement personnel et professionnel numérique (ou e-portfolio).
Dans un premier temps, nous nous attacherons à rechercher les définitions les plus exhaustives du e- portfolio, au regard des usages qui en sont fait. Cette recherche montre qu’il n’existe encore aujourd’hui pas de définition complète, capable de mettre en évidence la diversité des contextes et des pratiques. Ainsi deux définitions sont retenues, et l’analyse mettra en évidence leur complémentarité.
Puis l’étude s’appuie sur la typologie récemment proposée par Josette Layec (2006), qui présente l’avantage d’un certain réalisme au regard de la dynamique des usages. L’exemple du Portfolio Européen des Langues Etrangères illustrera les caractéristiques dominantes des usages du e-portfolio de conception « capitaliste », notamment dans son intentionnalité de traçabilité du patrimoine professionnel tout au long de la vie. Un second exemple de portfolio illustre la conception « existentielle » du portfolio, à travers une démarche d’usage pour la valorisation des ressources et compétences clés par des femmes citoyennes d’Uruguay. Cet exemple présente notamment l’intérêt d’une conscientisation, puis remobilisation des savoirs issus d’apprentissages non formels et informels. Enfin, le troisième exemple -une étude longitudinale- illustrera une conception plus « formative » du e-portfolio, approche bien connue et largement développée en éducation et formation. Ainsi, l’étude interroge les classifications plus anciennes (portfolio d’apprentissage, d’évaluation, de présentation (2000 ?); portfolio adéquationiste, communicationnel, d’orientation (de Rosario, 2005), ou portfolio réflexif (Tartwijk et Driessen (2005)) sur la question de la dynamique des processus d’élaboration d’un e-portfolio.
Dans un troisième temps, l’étude propose donc, à partir d’une synthèse de littérature, la description d’un processus de « production » d’un e-portfolio « personnel », en tentant de mettre en évidence le caractère réflexif de chacune des 5 phases : a) phase de contractualisation, b) phase rétrospective et introspective de « bilan de soi », c) phase analytique et de reformulation des ressources, apprentissages et compétences, d) phase projective d’orientation et de construction du projet, e) phase de réalisation, de validation des acquis ou de publication ou diffusion du projet professionnel. Ce processus réflexif nous permet de mettre en évidence le caractère praxéologique d’une démarche de e-portfolio, et sa ressemblance avec un apprentissage biographique selon Alheit et Dausien (2000).
La dernière partie de notre étude propose une synthèse critique des recherches sur les avantages et inconvénients des e-portfolios, à travers la littérature scientifique de ces dernières années. Cette analyse met en exergue que les principales critiques portent notamment sur le soutien aux processus réflexifs (accompagnement pédagogique, cognitif), sur les conditions juridiques et sécuritaires liées à l’accessibilité et à la disponibilité, mais surtout sur les facilités et contraintes du support technologique des e-portfolios. Elle étudie enfin l’intérêt et les limites de l’apprentissage réflexif. Elle souligne, par les travaux de Crinon et Guigue (2003) et de Morisse (2006) les difficultés d’une écriture réflexive, ainsi que la rupture de paradigme nécessaire chez l’apprenant (Saint Arnaud, 2001) et le nécessaire changement de pratique d’évaluation (Bucheton, 2003).
Au regard de la rareté des études longitudinales, de nombreuses questions (effets à long terme sur l’identité professionnelle numérique, sur la compétence à s’orienter tout au long de l
Support de la conférence donné par Olivier ALLAIN au Forum PHP Afup 2019.
Quand les solutions e-commerce ne peuvent plus rien pour vous, il ne vous reste plus qu’un recours, un seul : Sylius ! Venez découvrir ce qui se cache sous le capot : de l’architecture à la roadmap en passant par les plugins ou les tests afin que le lancement de votre prochain projet de site e-commerce se déroule comme votre plan préféré, c’est-à-dire, sans accroc !
Delivered a 10-15 minute presentation and Q&A session with co-presenters Rula Danno and Darren Rolfe in January 2015 for the Introduction to Computer Security (EECS 3482) course at York University, Canada, about the software vulnerability in the Bash command interpreter, dubbed Shellshock, that was discovered in September 2014.
http://www.eecs.yorku.ca/course_archive/2014-15/W/3482/
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]RootedCON
El objetivo de la conferencia es exponer cómo se puede llevar a cabo, de forma lo más sencilla y estructurada posible, la coexistencia de diversos elementos cotidianos en las casas actuales, controlados por un único sistema, con la finalidad de mejorar la seguridad del lugar donde más tranquilos deberíamos estar: nuestra propia vivienda. Se explicará cómo diseñar un mecanismo de seguridad física casero basado en:
Mecanismos de monitorización mediante cámaras web genéricas, con técnicas de reconocimiento facial de los habitantes de la casa, así como detección por bluetooth.
Grabación de videos a sospechosos
Interacción con una alarma controlable vía TCPIP
Reconocimiento facial de personas clasificadas como “buscadas por las autoridades”, en modo lista negra, integrado con el aviso teléfonico a la policía mediante una centralita basada en VoIP, indicando la ubicación de qué persona de dicha lista, se encuentra en el domicilio.
Sistema de notificaciones de las alertas a Twitter, correo y mensajería instantánea.
Asimismo, se hablará de automatización de mecanismos de control de aire acondicionado/calefacción, robots dedicados a la limpieza y estaciones meteorológicas, demostrando que cualquier elemento casero con interfaz de red, puede ser un sistema SCADA. Además de implementar un sistema de autenticación biométrica, aprovechando el reconocimiento facial de quien entra en la casa, se podrá disponer de una lista blanca de usuarios, sobre los que poder personalizar un mensaje de bienvenida para cada usuario, pudiendo avisarle de diversos aspectos.
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)Iván Portillo
Taller impartido en las Jornadas STIC XV del CCN-CERT (2021) junto a Wiktor Nykiel.
Taller enfocado en la capacitación de técnicas de cibervigilancia a través de diferentes escenarios y casos prácticos para la detección de amenazas utilizando las fuentes abiertas. El objetivo principal del taller es mostrar una metodología de investigación guiada de un caso real y un entorno de entrenamiento con diferentes escenarios para mejorar las capacidades y procedimientos utilizados para la identificación de amenazas de manera proactiva.
e-Portfolio 2.0 : Typologie, processus réflexifs et usages du portfolio numér...Philippe-Didier GAUTHIER
Cette étude présente un état des recherches sur les usages du portfolio numérique. Elle s’intéresse en particulier aux pratiques et processus réflexifs relatifs au portfolio de développement personnel et professionnel numérique (ou e-portfolio).
Dans un premier temps, nous nous attacherons à rechercher les définitions les plus exhaustives du e- portfolio, au regard des usages qui en sont fait. Cette recherche montre qu’il n’existe encore aujourd’hui pas de définition complète, capable de mettre en évidence la diversité des contextes et des pratiques. Ainsi deux définitions sont retenues, et l’analyse mettra en évidence leur complémentarité.
Puis l’étude s’appuie sur la typologie récemment proposée par Josette Layec (2006), qui présente l’avantage d’un certain réalisme au regard de la dynamique des usages. L’exemple du Portfolio Européen des Langues Etrangères illustrera les caractéristiques dominantes des usages du e-portfolio de conception « capitaliste », notamment dans son intentionnalité de traçabilité du patrimoine professionnel tout au long de la vie. Un second exemple de portfolio illustre la conception « existentielle » du portfolio, à travers une démarche d’usage pour la valorisation des ressources et compétences clés par des femmes citoyennes d’Uruguay. Cet exemple présente notamment l’intérêt d’une conscientisation, puis remobilisation des savoirs issus d’apprentissages non formels et informels. Enfin, le troisième exemple -une étude longitudinale- illustrera une conception plus « formative » du e-portfolio, approche bien connue et largement développée en éducation et formation. Ainsi, l’étude interroge les classifications plus anciennes (portfolio d’apprentissage, d’évaluation, de présentation (2000 ?); portfolio adéquationiste, communicationnel, d’orientation (de Rosario, 2005), ou portfolio réflexif (Tartwijk et Driessen (2005)) sur la question de la dynamique des processus d’élaboration d’un e-portfolio.
Dans un troisième temps, l’étude propose donc, à partir d’une synthèse de littérature, la description d’un processus de « production » d’un e-portfolio « personnel », en tentant de mettre en évidence le caractère réflexif de chacune des 5 phases : a) phase de contractualisation, b) phase rétrospective et introspective de « bilan de soi », c) phase analytique et de reformulation des ressources, apprentissages et compétences, d) phase projective d’orientation et de construction du projet, e) phase de réalisation, de validation des acquis ou de publication ou diffusion du projet professionnel. Ce processus réflexif nous permet de mettre en évidence le caractère praxéologique d’une démarche de e-portfolio, et sa ressemblance avec un apprentissage biographique selon Alheit et Dausien (2000).
La dernière partie de notre étude propose une synthèse critique des recherches sur les avantages et inconvénients des e-portfolios, à travers la littérature scientifique de ces dernières années. Cette analyse met en exergue que les principales critiques portent notamment sur le soutien aux processus réflexifs (accompagnement pédagogique, cognitif), sur les conditions juridiques et sécuritaires liées à l’accessibilité et à la disponibilité, mais surtout sur les facilités et contraintes du support technologique des e-portfolios. Elle étudie enfin l’intérêt et les limites de l’apprentissage réflexif. Elle souligne, par les travaux de Crinon et Guigue (2003) et de Morisse (2006) les difficultés d’une écriture réflexive, ainsi que la rupture de paradigme nécessaire chez l’apprenant (Saint Arnaud, 2001) et le nécessaire changement de pratique d’évaluation (Bucheton, 2003).
Au regard de la rareté des études longitudinales, de nombreuses questions (effets à long terme sur l’identité professionnelle numérique, sur la compétence à s’orienter tout au long de l
Support de la conférence donné par Olivier ALLAIN au Forum PHP Afup 2019.
Quand les solutions e-commerce ne peuvent plus rien pour vous, il ne vous reste plus qu’un recours, un seul : Sylius ! Venez découvrir ce qui se cache sous le capot : de l’architecture à la roadmap en passant par les plugins ou les tests afin que le lancement de votre prochain projet de site e-commerce se déroule comme votre plan préféré, c’est-à-dire, sans accroc !
Delivered a 10-15 minute presentation and Q&A session with co-presenters Rula Danno and Darren Rolfe in January 2015 for the Introduction to Computer Security (EECS 3482) course at York University, Canada, about the software vulnerability in the Bash command interpreter, dubbed Shellshock, that was discovered in September 2014.
http://www.eecs.yorku.ca/course_archive/2014-15/W/3482/
Lorenzo Martínez - Welcome to your secure /home, $user [Rooted CON 2012]RootedCON
El objetivo de la conferencia es exponer cómo se puede llevar a cabo, de forma lo más sencilla y estructurada posible, la coexistencia de diversos elementos cotidianos en las casas actuales, controlados por un único sistema, con la finalidad de mejorar la seguridad del lugar donde más tranquilos deberíamos estar: nuestra propia vivienda. Se explicará cómo diseñar un mecanismo de seguridad física casero basado en:
Mecanismos de monitorización mediante cámaras web genéricas, con técnicas de reconocimiento facial de los habitantes de la casa, así como detección por bluetooth.
Grabación de videos a sospechosos
Interacción con una alarma controlable vía TCPIP
Reconocimiento facial de personas clasificadas como “buscadas por las autoridades”, en modo lista negra, integrado con el aviso teléfonico a la policía mediante una centralita basada en VoIP, indicando la ubicación de qué persona de dicha lista, se encuentra en el domicilio.
Sistema de notificaciones de las alertas a Twitter, correo y mensajería instantánea.
Asimismo, se hablará de automatización de mecanismos de control de aire acondicionado/calefacción, robots dedicados a la limpieza y estaciones meteorológicas, demostrando que cualquier elemento casero con interfaz de red, puede ser un sistema SCADA. Además de implementar un sistema de autenticación biométrica, aprovechando el reconocimiento facial de quien entra en la casa, se podrá disponer de una lista blanca de usuarios, sobre los que poder personalizar un mensaje de bienvenida para cada usuario, pudiendo avisarle de diversos aspectos.
STIC XV CCN-CERT - Cibervigilancia con warrior (Ivan Portillo y Wiktor Nykiel)Iván Portillo
Taller impartido en las Jornadas STIC XV del CCN-CERT (2021) junto a Wiktor Nykiel.
Taller enfocado en la capacitación de técnicas de cibervigilancia a través de diferentes escenarios y casos prácticos para la detección de amenazas utilizando las fuentes abiertas. El objetivo principal del taller es mostrar una metodología de investigación guiada de un caso real y un entorno de entrenamiento con diferentes escenarios para mejorar las capacidades y procedimientos utilizados para la identificación de amenazas de manera proactiva.
Taller: Exploración de redes con Nmap.
Exploración de redes.
○ Conceptos.
○ Fundamentos básicos de Nmap
○ Técnicas de descubrimiento de hosts
○ Identificación de sistemas operativos
Descubrimiento de servicios.
○ Técnicas de escaneo de puertos
○ Identificación de servicios
Detección de vulnerabilidades.
○ Recolección de información
○ Ataques de fuerza bruta
○ Detectando vulnerabilidades en servidores web
En esta presentación se habla sobre la Seguridad de las Redes, junto con las distintas configuraciones de proxy, firewalls y restricciones que se pueden utilizar, además de como configurar un servidor kerberos
A veces la diferencia entre poder acceder a un sistema remoto con éxito o fallar puede ser el conocimiento de una herramienta, una línea de comando o incluso una técnica de evasión de AV/Firewall. Esta plática brindará consejos y trucos para poder hackear "like a Boss", que le dará una ventaja durante la auditoría de un sistema
Ponente: Roberto Salgado. Director técnico y co-fundador de Websec México. Roberto ha participado y contribuido en proyectos importantes como ModSecurity, PHPIDS, sqlmap y el libro “Web Application Obfuscation“. Creó la base de conocimientos de inyección SQL, una de las referencias más completas disponibles en la web y Panoptic, un buscador de rutas de archivos comunes con vulnerabilidades tipo LFI. También desarrollo el método más rápido para extraer información de bases de datos vulnerables a inyección a ciegas.
Abel Valero - VM + VFS = The Wooden Horse [rooted2018]RootedCON
Se mostrara como analizar malware altamente ofuscado con tecnicas avanzadas como es la implementacion de una maquina virtual para evitar mostrar el codigo real.
El objetivo es descifrar todos y cada uno de los componentes de este malware obteniendo el codigo original antes de pasar por su VM.
Para ello se ha creado distintas herramientas que facilitan esta tarea, veremos como fueron implementandose.
Por ultimo analizaremos el payload final y las tecnicas que utiliza para realizar sus implantes en distintos procesos del sistema, como es el uso de un sistema de archivos virtual (VFS), utilizado para ocultar los distintos componentes.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
2. Who Am I
@voidm4p
voidm4p@protonmail.com https://voidm4p.me
• Mariano Palomo
• Graduado en Ingeniería Informática por la UGR
• Malware Analyst en Entelgy InnoTec Security
• Con interés en reversing, análisis de malware y no tan
análisis...
4. Hardening
• Instrucción CPUID y clon de BIOS: fichero .vmx
• Direcciones MAC
• Registros, tamaño disco duro, número de
procesadores, etc.
cpuid.1.ecx="0---:----:----:----:----:----:----:----"
SMBIOS.reflectHost = TRUE
9. ATENEA
• Plataforma de desafíos de seguridad informática
• Compuesta por diferentes retos
• Criptografía y Esteganografía
• Exploiting
• Forense
• Networking
• Reversing https://atenea.ccn-cert.cni.es
10. ATENEA ESCUELA
• Plataforma básica de desafíos de seguridad informática
• Fomentar el aprendizaje de los usuarios menos entendidos en el
campo de la seguridad.
https://atenea.ccn-cert.cni.es/escuela/home
11. Reversing: ¿por donde empezar?
• Arquitectura de computadores
• Ensamblador sintaxis Intel x86
• Formato Portable Executable (PE)
• Desensamblador/Decompilador
• Código ensamblador
• Depurador
• Programación: C/C++, Delphi, .NET, Python, …
• Microsoft Developer Network (MSDN)
• Unpacking
13. Crackme! If you can…
• El objetivo principal del crackme es obtener determinada clave
codificada embebida dentro del binario.
• Dicha clave podrá visualizarse en claro cuando se ejecute el mismo
de la manera adecuada.
8fd4bfa088881776a16b1155e7639bbe
14. Crackme! If you can…
$ file Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe
Crypt0-8fd4bfa088881776a16b1155e7639bbe.exe: PE32 executable
(console) Intel 80386, for MS Windows
• DETECT IT EASY (DIE)
• Compilador: Visual C/C++
• No parece estar empaquetado
15. Crackme! If you can…
• Análisis estático para entender el flujo del programa
• Partimos del Entry Point
• Este no es el “Main” que ha creado el programador, hay código
que ha insertado el compilador.
16. Crackme! If you can…
• Pseudocódigo C de la
función main generado
por el decompilador
• param_1 > 2: hay que
pasarle al menos dos
parámetros al programa
• FUN_0040100 tiene que
devolver != 0
17. Crackme! If you can…
• FUN_0040100
• Comprobación de procesos en ejecución con blacklist
https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-createtoolhelp32snapshot
https://docs.microsoft.com/en-us/windows/desktop/api/tlhelp32/nf-tlhelp32-process32first - https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/nf-tlhelp32-process32next
https://docs.microsoft.com/es-es/windows/desktop/api/tlhelp32/ns-tlhelp32-tagprocessentry32
23. Matrioska
• Averigua la flag y supera este reto de especial dificultad.
• PISTA: Piensa en el verdadero cifrado...
• La contraseña del zip es infected
56cec8a0d69e0e458ffdc6855ea97834
29. Matrioska - T.exe
• Array con los botones de la GUI
• offset con el código que maneja
la pulsación de cada tecla
• Poniendo un breakpoint en cada
uno y pulsando las teclas
podemos averiguar cuál
corresponde con cada uno…
33. Matrioska - T.exe
• Llama la atención una cadena
con cabezera MZ
• >>> chr(0x4d)+chr(0x5a)
• 'MZ'
• A continuación una escritura
en fichero “t.tmp”
34. Matrioska - T.exe
• Hay varias secciones de código
iguales a esa
• ¿Qué orden siguen?
• xrefs de cada variable
35. Matrioska - T.exe
• Se podría extraer cada parte y concatenarla en un fichero, pero…
Hemos venido a jugar!!
• Localizamos dónde es llamada cada función en la que tenemos esas
cadenas
Parte 1
Parte 2
Parte 3
Parte 4
Parte 5
Parte 6
Parte 7
Parte 8
A
OK
OK
C
45. Matrioska - a.exe
• Si se introduce el
valor esperado
• Se escribe en una
clave de registro la
segunda parte (6
caracteres)
• Se iguala a 1
byte_452BC4
61. Matrioska - 1.ps1
• Se escribe el valor tras el XOR en
un fichero “dork”
• Se calcula el carácter resultado
de restar 4056 a cada valor de un
array
• Se escribe en un fichero
“a.xsl”
• Se ejecuta mediante wmic
(técnica de bypass)
• Se borra
62. Matrioska - a.xls
• Fichero XML con código JScript.
• Técnica dotNetToJscript
63. Matrioska - a.xls
• _0x2cf9: Un
array con
valores
codificados en
base64
• Funciones
varias…
65. Matrioska - a.xls
• Objeto
serializado
• No es
funcional,
pero basta
para
analizar su
código
66. Matrioska - serialized_obj
• La fecha del sistema debe
ser 1/1/2019
• La URL devuelve 500 El
flujo continúa en el catch
67. Matrioska - serialized_obj
• p: ciphertext
• dork: w10123shark01
• Se borran “p” y “dork”
• Anti-debug basado en
tiempo
• Descifrado con AES de “p”
usando con la clave de dork
68. Matrioska - serialized_obj
• La fecha del sistema debe
ser 1/1/2019
• La URL devuelve 500 El
flujo continúa en el catch
69. Matrioska - w
• El verdadero cifrado…
http://www.cyber-forensics.ch/how-to-find-truecrypt-containers/
70. Matrioska - w
• ¿Cuál es la pass? John…
• $ python truecrypt2john.py w_decoded > true_hashes.txt
• john --wordlist=rockyou.txt true_hashes.txt
https://raw.githubusercontent.com/magnumripper/JohnTheRipper/2a18678301cef281a168ea6d84980449d5c8e4da/run/truecrypt2john.py
71. Matrioska - w
• ¿Cuál es la pass? Hashcat…
$ dd if=w_decoded of=w_decoded_hidden bs=1 skip=65536 count=512
$ hashcat --help | grep "True" -A 14
62XY | TrueCrypt | Full-Disk Encryption (FDE)
X | 1 = PBKDF2-HMAC-RIPEMD160 | Full-Disk Encryption (FDE)
X | 2 = PBKDF2-HMAC-SHA512 | Full-Disk Encryption (FDE)
X | 3 = PBKDF2-HMAC-Whirlpool | Full-Disk Encryption (FDE)
X | 4 = PBKDF2-HMAC-RIPEMD160 + boot-mode | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure AES | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure Serpent | Full-Disk Encryption (FDE)
Y | 1 = XTS 512 bit pure Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure AES | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure Serpent | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit pure Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded AES-Twofish | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded Serpent-AES | Full-Disk Encryption (FDE)
Y | 2 = XTS 1024 bit cascaded Twofish-Serpent | Full-Disk Encryption (FDE)
Y | 3 = XTS 1536 bit all | Full-Disk Encryption (FDE)
$ hashcat -m 6211 w_decoded -w 3 rockyou.txt --force
$ hashcat -m 6211 w_decoded_hidden -w 3 rockyou.txt --force
75. Matrioska - Flag
import sys
import subprocess
for cipher,v in rockyiu.iteritems():
for digest,v2 in v.iteritems():
for x in v2:
bashCommand = 'openssl %s -d -md %s -in %s -out ./decrypt/Flag-%s-
%s-%s.txt -pass pass:%s' % (cipher.lower(), digest.lower(), sys.argv[1],
cipher.lower(), digest.lower(), x, v2)
process = subprocess.Popen(bashCommand.split(),
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
print output
print error
76. Matrioska - Flag
import string
import sys
printable_chars = set(bytes(string.printable, 'ascii'))
with open(sys.argv[1], 'rb') as f:
printable = all(char in printable_chars for char in f.read())
if printable:
print(sys.argv[1])
https://stackoverflow.com/questions/42064158/checking-if-a-byte-is-ascii-printable