sábado, 8 de marzo de 2014

Falsa Postal Gusanito.com: Crimeware Citadel

Hace un tiempo que no veía este tipo de falsas postales de el Gusanito.com, estas casi siempre descargaban malware muy extendidos en Latam, como ser Dorkbot, S.A.P.Z, PiceBot, vOlks u otro simple QHost. 
Esta vez, para sorpresa, nos encontramos que descarga Citadel, un troyano muy sofisticado de la familia Zeus. Citadel hizo su aparición en el mundo del cibrecrimen luego de que se filtro su código fuente. 

Aquí vemos la falsa postal con un link que descarga un ejecutable.





Contador de descargas ubicado en la web donde esta alojado el malware.




 El análisis en V.T. demuestra que es casi indetectable ante las firmas de los AntiVirus





El ejecutable contiene un RAR, por lo que seguramente se trate de un extractor que luego de extrar el RAR intentara por ultimo ejecutar el Payload.


Lo cargamos en el Olly, y ponemos un BP a ShellExecuteExW para que se detenga antes de ejecutar la carga maliciosa.




Y tenemos éxito!

Podemos observar que se genero en la carpeta temp de Windows la extracción de los archivos con dos .bat
El primero .bat unirá con el comando copy /b todos los archivos en un solo ejecutable y por ultimo el otro .bat lo renombra y ejecuta.





También podemos observar lo que hace este extractor en la Sandbox de Comodo.

http://camas.comodo.com/cgi-bin/submit?file=5642f5231e5fad89edabf8913f1331ab0ca5105ca0045a242733c8e211ec815c


Icono del malware luego de la extracción.





Bajas detecciones en V.T. 





Este nuevo binario tiene una capa de ofuscación con un clásico crypter.

BP en IsDebuggerPresent + WriteProcessMemory luego Dumpear y listo..



Aquí la cosa cambia y es detectado por casi todos los Anti Virus.




Podemos observar un mensaje o dedicatoria a un reconocido investigador del Cybercrimen Brian Krebs




Strings Interesantes:



Anti virus que intenta desactivar (gracias @dimitribest):


00403D80 DD dumped.00409F98 UNICODE "Microsoft"
00403D84 DD dumped.00409F70 UNICODE "Microsoft"
00403D88 DD dumped.00409F44 UNICODE "Microsoft"
00403D8C DD dumped.00409F24 UNICODE "ESET"
00403D90 DD dumped.00409F04 UNICODE "ESET"
00403D94 DD dumped.00409EE8 UNICODE "AVG"
00403D98 DD dumped.00409ECC UNICODE "AVG"
00403D9C DD dumped.00409EB0 UNICODE "AVG"
00403DA0 DD dumped.00409E8C UNICODE "AntiVir"
00403DA4 DD dumped.00409E68 UNICODE "avast!"
00403DA8 DD dumped.00409E3C UNICODE "Kaspersky"
00403DAC DD dumped.00409E14 UNICODE "Kaspersky"
00403DB0 DD dumped.00409DEC UNICODE "Norton"
00403DB4 DD dumped.00409DC4 UNICODE "Symantec"
00403DB8 DD dumped.00409DA0 UNICODE "Symantec"
00403DBC DD dumped.00409D74 UNICODE "Symantec"
00403DC0 DD dumped.00409D50 UNICODE "Symantec"
00403DC4 DD dumped.00409D20 UNICODE "McAfee"
00403DC8 DD dumped.00409CF0 UNICODE "McAfee"
00403DCC DD dumped.00409CE0 UNICODE "McAfee"
00403DD0 DD dumped.00409CB8 UNICODE "SafenSoft"


00418CB9 PUSH dumped.00402648 UNICODE "nspr4.dll" 00418CE0 PUSH dumped.00402690 UNICODE "chrome.dll" 00418DF7 PUSH dumped.00409FC0 ASCII "GetProcAddress" 00418E01 PUSH dumped.00409FD0 ASCII "LoadLibraryA" 00418ECE PUSH dumped.00409FE0 ASCII "NtCreateThread" 00418ED6 PUSH dumped.00409FF0 ASCII "NtCreateUserProcess" 00418EE8 PUSH dumped.0040A004 ASCII "NtQueryInformationProcess" 00418EFA PUSH dumped.0040A020 ASCII "RtlUserThreadStart" 00418F0C PUSH dumped.0040A034 ASCII "LdrLoadDll" 00418F1E PUSH dumped.0040A040 ASCII "LdrGetDllHandle" 00419642 MOV ECX,dumped.00401C58 ASCII "C1F20D2340B519056A7D89B7DF4B0FFF" 004196FD MOV EDI,dumped.004084A0 UNICODE "SOFTWARE\Microsoft" 00419750 PUSH dumped.0040A060 UNICODE ".dat" 004197C4 PUSH dumped.004084A0 UNICODE "SOFTWARE\Microsoft" 0041A000 PUSH dumped.00402D30 ASCII "Coded by BRIAN KREBS for personal use only. I love my job & wife." 0041A012 CALL dumped.004131F8 (Initial CPU selection) 0041B3A3 PUSH dumped.0040A06C ASCII "RFB 003.003

00420C5D   MOV ECX,dumped.0040A1E0                   ASCII "GET "
00420C76   MOV ECX,dumped.0040A1E8                   ASCII "POST "
00421802   PUSH dumped.0040A1F0                      ASCII "FAIL"
00423332   PUSH dumped.0040A1F8                      ASCII ".swf"
0042334D   PUSH dumped.0040A200                      ASCII ".flv"
00423368   PUSH dumped.0040A208                      ASCII "facebook.com"
00423505   MOV ECX,dumped.0040A10C                   ASCII "https://"
00423876   MOV ECX,dumped.0040A21C                   ASCII "%BOTID%"
004238B3   MOV ECX,dumped.0040A224                   ASCII "%BOTNET%"
00423963   MOV ECX,dumped.0040A230                   ASCII "%BC-*-*-*-*%"
00423A30   MOV ECX,dumped.0040A240                   ASCII "%VIDEO%"
0042413F   MOV EDI,dumped.00407CAC                   ASCII "POST"
00424146   MOV EDI,dumped.00407CB4                   ASCII "GET"
00424168   PUSH dumped.00401A24                      ASCII "HTTP/1.1"
0042421B   PUSH dumped.0040A248                      ASCII "Cookie: %s



0042F0C8   PUSH dumped.00407C64                      UNICODE "ComSpec"
0042F135   MOV ECX,dumped.00407C74                   ASCII "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)"
0042F273   MOV ECX,dumped.00407CAC                   ASCII "POST"
0042F27A   MOV ECX,dumped.00407CB4                   ASCII "GET"
0042F287   PUSH dumped.00401A24                      ASCII "HTTP/1.1"
0042F2AF   MOV DWORD PTR SS:[EBP+C],dumped.00407CB8  ASCII "Connection: close


Análisis dinámico de RED.


Se puede observar la conexión al C&C para la descarga de la config del zbot.






En el día de hoy ya no funciona....





Gracias a Dimitry Bestuzhev @dimitribest y Santiago Pontiroli @spontiroli por confirmar que se trata de Citadel y por sus buenos comentarios.






Muestas + dumps: https://www.dropbox.com/s/itaqjuq1i1lml0e/CITADEL-postal_gusanito.060314.zip

password = infected

Eso fue todo por el momento.




@Dkavalanche 2014



PD: La semana próxima no se pierdan de SegurInfo 2014 , va a estar muy interesante, sobre todo las charlas de Cesar Cerrudo, Julio Ardita, Gustavo Presman y las del Csirt Banelco entre otros.


viernes, 7 de marzo de 2014

CryptoVirus: bitCrypt 2.0

Hace unos días apareció una nota sobre la rotura del cifrado del Ramson bitcrypt, se trata de uno de los tantos Ransomware que cifran archivos. A muy grandes rasgos la nota explica que por un error en la programación del ransom se dejo una clave de cifrado publica lo suficientemente corta como para aplicar criptoanálisis y obtener la clave privada para poder recuperar los archivos cifrados por esta amenaza.

Esta nota fue publicada el 20/02/2014, y los chicos malos no se tardaron en fixear su engendro y volvieron a la carga con la versión bitCrypt 2.0...si si los malos también leen los blog's de seguridad... 
Hace unos día un compañero me acerco una maquina infectada con la versión 2.0, presuntamente se infecto con solo navegar con una PC desactualizada y sin anti-virus.....

Le pase KaV booteando desde un USB y encontramos lo siguiente:



3/5/14 3:32 PM Detected Trojan program Trojan-Ransom.Win32.Blocker.dxgq C:/Documents and Settings/User001/Application Data/NTMoV.exe High

3/5/14 3:33 PM Detected Trojan program HEUR:Exploit.Java.Generic C:/Documents and Settings/User001/Application Data/Sun/Java/Deployment/cache/6.0/3/1807b203-75e412a4 High

3/5/14 3:33 PM Detected Trojan program HEUR:Exploit.Java.Generic C:/Documents and Settings/User001/Application Data/Sun/Java/Deployment/cache/6.0/49/6bfc50f1-36f65919 High

3/5/14 3:33 PM Detected Trojan program Exploit.Java.Agent.hi C:/Documents and Settings/User001/Application Data/Sun/Java/Deployment/cache/6.0/50/5f58af32-7bbf83f4//y/main.class High

3/5/14 3:36 PM Detected Trojan program Trojan-PSW.Win32.Tepfer.thee C:/Documents and Settings/User001/Local Settings/Temp/000104be.exe High

3/5/14 3:36 PM Detected Trojan program Trojan-Ransom.Win32.Blocker.dvck C:/Documents and Settings/User001/Local Settings/Temp/00161458.exe High


Por lo que dado el estado de la PC,  desde mi punto de vista, la victima se infecto por medio de un exploit de Java que le descargo y ejecuto arbitrariamente un Fareit (000104be.exe), y este ultimo descargo el bitCrypt2 (00161458.exe)


Fareit (downloader)

Analisis en VT detección 15/40


Clásico Crypter


Password Stealer

Dinamicamente comprobamos que automáticamente descarga una amenaza (bitCrypt2) desde un sitio presuntamente hackeado.

Analisis en VT


Esta amenaza tiene dos capas de ofuscación, para dificultar su análisis, la primera es un clásico crypter y la segunda esta compactada con ASPack 2.12

Pushad del inicio de la rutina de ASPack





Verificamos con RDG, vale tambien PEid o similar



Para quitar esta capa de ASPack tenemos que encontrar el OEP .

Tenemos que poner un Hardware  BP como word sobre los 4 bytes sobre la data que apunta en ECX (follow in dump), 



Luego ejecutamos con (F9) y obtenemos el BP, avanzamos paso a paso (F7) hasta caer en el OBP



Analysis -> Analyse code


Listo ya estamos en el OBP y procedemos a realizar el DUMP


Usamos ImportRec para arreglar la IAT del dump





El archivo final lo cargo en el Olly para probar que carga todo bien.





A partir de ahora puedo analizar el binario con PE Explorer o IDR sumado al analisis dinámico y entender como funciona.

Strings

00476333   MOV EDX,win-dump.004764A4                 ASCII "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
00476395   PUSH win-dump.004764DC                    ASCII "del ""
004763CD   PUSH win-dump.004764DC                    ASCII "del ""
004763D8   PUSH win-dump.004764F8                    ASCII "del.bat""
00476402   MOV ECX,win-dump.0047650C                 ASCII "del.bat"
0047643A   MOV ECX,win-dump.0047650C                 ASCII "del.bat"
004764A4   ASCII "SOFTWARE\Microso"
004764B4   ASCII "ft\Windows\Curre"
004764C4   ASCII "ntVersion\Run",0
004764DC   ASCII "del "",0
004764EC   ASCII """,0
004764F8   ASCII "del.bat"",0
0047650C   ASCII "del.bat",0
004765D2   MOV EDX,win-dump.004767DC                 ASCII "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
00476625   MOV ECX,win-dump.00476814                 ASCII ".exe"
004766EC   MOV ECX,win-dump.00476814                 ASCII ".exe"
004767DC   ASCII "SOFTWARE\Microso"
004767EC   ASCII "ft\Windows\Curre"
004767FC   ASCII "ntVersion\Run",0
00476814   ASCII ".exe",0
00476824   ASCII """,0
00476830   ASCII "\",0
00476873   MOV EDX,win-dump.00476940                 ASCII "SYSTEM\CurrentControlSet\Control\SafeBoot"
0047687D   MOV EDX,win-dump.00476974                 ASCII "SYSTEM\CurrentControlSet\Control\SafeBoot\Network"
004768AD   MOV EDX,win-dump.00476940                 ASCII "SYSTEM\CurrentControlSet\Control\SafeBoot"
004768B7   MOV EDX,win-dump.004769B0                 ASCII "SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal"
004768DB   PUSH win-dump.004769E4                    ASCII "/K bcdedit /set {bootmgr} displaybootmenu no"
004768E0   PUSH win-dump.00476A14                    ASCII "cmd.exe"
004768FC   PUSH win-dump.00476A1C                    ASCII "/K bcdedit /set {default} bootstatuspolicy ignoreallfailures"
00476901   PUSH win-dump.00476A14                    ASCII "cmd.exe"


00477D44   ASCII "EncryptComplete",0
00477D5C   ASCII "false",0


004773A9   PUSH win-dump.004774DC                    ASCII "Your computer was infected by BitCrypt v2.0 cryptovirus."
004773C4   PUSH win-dump.00477520                    ASCII "For more information you should find txt file named Bitcrypt.txt on your hard drive."
00477431   MOV EDX,win-dump.00477580                 ASCII "Control Panel\Desktop"
00477453   MOV EDX,win-dump.004775A0                 ASCII "Wallpaper"
00477464   MOV EDX,win-dump.004775A0                 ASCII "Wallpaper"

Archivos elegidos para cifrar.

0459441   ASCII "TCrypt"
00459450   ASCII "*.dbf",0
00459460   ASCII "*.mdb",0
00459470   ASCII "*.mde",0
00459480   ASCII "*.xls",0
00459490   ASCII "*.xlw",0
004594A0   ASCII "*.docx",0
004594B0   ASCII "*.doc",0
004594C0   ASCII "*.cer",0
004594D0   ASCII "*.key",0
004594E0   ASCII "*.rtf",0
004594F0   ASCII "*.xlsm",0
00459500   ASCII "*.xlsx",0
00459510   ASCII "*.txt",0
00459520   ASCII "*.xlc",0
00459530   ASCII "*.docm",0
00459540   ASCII "*.xlk",0
00459550   ASCII "*.text",0
00459560   ASCII "*.ppt",0
00459570   ASCII "*.djvu",0
00459580   ASCII "*.pdf",0
00459590   ASCII "*.lzo",0
004595A0   ASCII "*.djv",0
004595B0   ASCII "*.cdx",0
004595C0   ASCII "*.cdt",0
004595D0   ASCII "*.cdr",0
004595E0   ASCII "*.bpg",0
004595F0   ASCII "*.xfm",0
00459600   ASCII "*.dfm",0
00459610   ASCII "*.pas",0
00459620   ASCII "*.dpk",0
00459630   ASCII "*.dpr",0
00459640   ASCII "*.frm",0
00459650   ASCII "*.vbp",0
00459660   ASCII "*.php",0
00459670   ASCII "*.js",0
00459680   ASCII "*.wri",0
00459690   ASCII "*.css",0
004596A0   ASCII "*.asm",0
004596B0   ASCII "*.jpg",0
004596C0   ASCII "*.jpeg",0
004596D0   ASCII "*.dbx",0
004596E0   ASCII "*.dbt",0
004596F0   ASCII "*.odc",0
00459700   ASCII "*.sql",0
00459710   ASCII "*.abw",0
00459720   ASCII "*.pab",0
00459730   ASCII "*.vsd",0
00459740   ASCII "*.xsf",0
00459750   ASCII "*.xsn",0
00459760   ASCII "*.pps",0
00459770   ASCII "*.lzh",0
00459780   ASCII "*.pgp",0
00459790   ASCII "*.arj",0
004597A0   ASCII "*.gz",0
004597B0   ASCII "*.pst",0
004597C0   ASCII "*.xl",0



No SafeBoot
Las siguientes llaves de registro para XP deshabilita el SafeBoot

"SYSTEM\CurrentControlSet\Control\SafeBoot"
SYSTEM\CurrentControlSet\Control\SafeBoot\Network"
"SYSTEM\CurrentControlSet\Control\SafeBoot"
"SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal"

Aquí para Windows 8 mediante el comando bcdedit

"/K bcdedit /set {bootmgr} displaybootmenu no"
"/K bcdedit /set {default} bootstatuspolicy ignoreallfailures"


Persistencia en el sistema.
El troyano permanecerá en el sistema mientras no se termine de encriptar tos los archivos elegidos, una vez finalizada la tarea, se borrara así mismo y cambiara el fondo de escritorio con un mensaje para la victima.

004765D2   MOV EDX,win-dump.004767DC                 ASCII "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
00476625   MOV ECX,win-dump.00476814                 ASCII ".exe"
004766EC   MOV ECX,win-dump.00476814                 ASCII ".exe"



Mensaje mostrado a la Victima.


Instrucciones para el pago y desbloqueo de nuestros archivos.


Sitio para pagar y obtener el decodificador:







Archivo de configuración bitcrypt.ccw creado en %APPDATA% contiene la clave, el bitCryptID y un string que indica si finaliza o no la encripcion, en este caso se encuentra en false.

bitcrypt.ccw 

ElNR6cJQJlfR91ZURM1lDoYpTyo8Sl=zQf6GWe=vnzCyMd5ffbqvduDlChq3iR444dcaDCiYFRV5V3s8gcEm0tn=ffk6T4NqtUm+y5N6teS5q1lWbEfXmVzfVgEvVvYix83zP6lVGKIkrqPDrD5xgyVyqA4kqoX75ZyGK1WL8BG

WIN-217-4772477

false


00477D44   ASCII "EncryptComplete",0

00477D5C   ASCII "false",0

Una vez finalizado el trabajo false cambiara por EncryptComplete.

Nótese que la clave ya no es corta como en el caso descrito en el blog de cassidiancybersecurity por lo que el método de descifrado propuesto ya no sirve.

Solo encontré que esta amenaza ataca al disco donde se encuentra el S.O. instalado, no alcanzando otras unidades mapeadas.
Los archivos una vez cifrados son borrados en forma segura (sobre escritos) y no pueden ser recuperados.



Recomendación: Como siempre, las buenas practicas, de contar con el S.O. actualizado, contar con un antivirus activo y actualizado, que si bien no es garantía de que no nos infectemos, reduciremos dramáticamente la posibilidades de ser infectados. 
Realizar backups regulares de los archivos importantes, en DVD o BlueRay, también valen los discos extremos, asegurándonos de no dejarlos siempre conectados al PC a backupear, debido a que estos backups pueden ser alcanzados por un Ransomware de este estilo.
También se puede contar con una solución de backups en la nube, pero ya entra otro paradigma sobre la privacidad de nuestra información confiada a dicha nube.




Muestra: https://www.dropbox.com/s/urirypb8i1xdae4/BitCrypt2-06-03-14.zip

Sea cuidadoso!


Es todo por el momento.
@Dkavalanche 2014


Android: BankBot. Hace un tiempo se filtro el fuente de un Bankbo t para android y se masifico bastante, creo que muchos lo han lanzado pa...