jueves, 17 de octubre de 2013


Ransom/Bocker o Qhost

En el día de ayer llego a mis manos esta muestra de malware que les traigo hoy (gracias a Raul que me la alcanzo). En Virus Total veo que los A.V. no se ponen de acuerdo en identificar a que familia pertenece, Ransom o Qhost... veamos de que se trata.

Correo falso que es enviado a las victimas reportado por @rfb_:


Se trata un SFX (self-extracting Zip) con un ejecutable en su interior setup.exe

SHA256:70c9df99b1613e08bdecf85531e1566a23e714205558c4a2cf4b2a5817deb32a
Nombre:e7c6f7390fdb2735558e49c63d5d0428
Detecciones:8 / 48


En una primera aproximación el A.V. de McAfee lo detecta como un Ransom (Wow!)


En V.T.  vemos que es detectado por mas A.V. con distintos resultados en la identificación.




SHA256:69505e6b4f2d5b97e7d361048c96222104592870d618e0a26955b22eebbacc67
Nombre:setup.exe
Detecciones:29 / 47
Fecha de análisis:2013-10-16 20:18:49 UTC ( hace 16 horas, 18 minutos )



IsDebuggerPresent



Strings Codificados:

00403CD8   MOV EDX,Control.00402C88                  UNICODE "/kqh"
00403D1B   PUSH Control.00402C7C                     UNICODE "/21"
00403F99   MOV DWORD PTR SS:[EBP-90],Control.00402C  UNICODE " ho"
00403FD6   MOV DWORD PTR SS:[EBP-80],Control.00402C  UNICODE "ry="
004040C5   MOV EDX,Control.00402D14                  UNICODE "Sfwjtbs"
004041AA   MOV EDX,Control.00402D38                  UNICODE "Error!!"
004042A4   MOV EDX,Control.00402D5C                  UNICODE "Control"
004044A9   MOV DWORD PTR SS:[EBP-78],Control.00402D  UNICODE "..J"
0040452C   MOV EDX,Control.00402D84                  UNICODE "G..?"
004046DB   PUSH Control.00402D38                     UNICODE "Error!!"
00404970   MOV EDX,Control.00402D9C                  UNICODE "BQQEBUB"
00404AD8   MOV EDX,Control.00402DF0                  UNICODE "Tfswjdjpt"
00404AF2   MOV EDX,Control.00402D9C                  UNICODE "BQQEBUB"
00404B2E   MOV EDX,Control.00402DF0                  UNICODE "Tfswjdjpt"
00404B4A   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00404C31   MOV EDX,Control.00402E20                  UNICODE "vqebuf"
00404C4B   MOV EDX,Control.00402D9C                  UNICODE "BQQEBUB"
00404C8A   MOV EDX,Control.00402E20                  UNICODE "vqebuf"
00404CAA   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00404D8F   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00404E33   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00404EC7   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00405221   MOV DWORD PTR SS:[EBP-98],Control.00402E  UNICODE "..V"
004052E0   MOV DWORD PTR SS:[EBP-98],Control.00402E  UNICODE "..V"
00405328   MOV EDX,Control.00402ACC                  UNICODE "V..?"
00405742   MOV EDX,Control.00402CA8                  UNICODE "N["
004057AF   MOV EDX,Control.00402E48                  UNICODE "UFNQ"
00405879   MOV EDX,Control.00402E48                  UNICODE "UFNQ"
0040609F   MOV EDX,Control.00403110                  UNICODE "TztufnEsjwf"
00406281   MOV EDX,Control.0040312C                  UNICODE "Xtdsjqu/Tifmm"
004062EF   MOV EDX,Control.0040314C                  UNICODE "ILFZ`MPDBM`NBDIJOF]TPGUXBSF]NJDSPTPGU]XJOEPXT]DVSSFOUWFSTJPO]SVO]"
0040633D   PUSH Control.004031D0                     UNICODE "RegWrite"
00406500   PUSH EBP                                  (Initial CPU selection)
004068DB   MOV EDX,Control.004031E8                  UNICODE "iuuq;00hfpjquppm/dpn0ebub/qiq"
0040697B   MOV EDX,Control.00403228                  UNICODE "iuuq;00xxx/jnh/dbsbevsb/vt"
00406AF7   MOV EDX,Control.00402E10                  UNICODE "/fyf"
00406C11   MOV EDX,Control.00403264                  UNICODE "XJOEJS"
00406C52   MOV EDX,Control.00403278                  UNICODE "]tztufn43]esjwfst]fud]iptut"
00406DE3   MOV EDX,Control.00402D9C                  UNICODE "BQQEBUB"
00406E0A   MOV EDX,Control.004032B4                  UNICODE "]Ufnq/uyu"
00406E87   MOV EDX,Control.00402D9C                  UNICODE "BQQEBUB"
00406EAE   MOV EDX,Control.004032B4                  UNICODE "]Ufnq/uyu"

Rutina decodificadora de datos:
podemos poner un BP en el Inicio y al final de la rutina para ver como se cargan y se decodifican los datos.



00406500   $ 55             PUSH EBP
00406501   . 8BEC           MOV EBP,ESP
00406503   . 83EC 0C        SUB ESP,0C
00406506   . 68 06144000    PUSH  ;  SE handler installation
0040650B   . 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00406511   . 50             PUSH EAX
00406512   . 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00406519   . 83EC 74        SUB ESP,74
0040651C   . 53             PUSH EBX
0040651D   . 56             PUSH ESI
0040651E   . 57             PUSH EDI
0040651F   . 8965 F4        MOV DWORD PTR SS:[EBP-C],ESP
00406522   . C745 F8 301340>MOV DWORD PTR SS:[EBP-8],Control.0040133>
00406529   . 33C0           XOR EAX,EAX
0040652B   . 8945 E4        MOV DWORD PTR SS:[EBP-1C],EAX
0040652E   . 8945 E0        MOV DWORD PTR SS:[EBP-20],EAX
00406531   . 8945 DC        MOV DWORD PTR SS:[EBP-24],EAX
00406534   . 8945 D8        MOV DWORD PTR SS:[EBP-28],EAX
00406537   . 8945 C8        MOV DWORD PTR SS:[EBP-38],EAX
0040653A   . 8945 B8        MOV DWORD PTR SS:[EBP-48],EAX
0040653D   . 8945 A8        MOV DWORD PTR SS:[EBP-58],EAX
00406540   . 8945 98        MOV DWORD PTR SS:[EBP-68],EAX
00406543   . 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
00406546   . 8B08           MOV ECX,DWORD PTR DS:[EAX]
00406548   . 51             PUSH ECX
00406549   . FF15 18104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>;  MSVBVM60.__vbaLenBstr
0040654F   . 8B3D 70114000  MOV EDI,DWORD PTR DS:[<&MSVBVM60.__vbaSt>;  MSVBVM60.__vbaStrMove
00406555   . 8B1D 20104000  MOV EBX,DWORD PTR DS:[<&MSVBVM60.__vbaSt>;  MSVBVM60.__vbaStrVarMove
0040655B   . 8945 80        MOV DWORD PTR SS:[EBP-80],EAX
0040655E   . BE 01000000    MOV ESI,1
00406563   > 3B75 80        CMP ESI,DWORD PTR SS:[EBP-80]
00406566   . 0F8F AD000000  JG Control.00406619
0040656C   . 8B55 08        MOV EDX,DWORD PTR SS:[EBP+8]
0040656F   . 8D45 C8        LEA EAX,DWORD PTR SS:[EBP-38]
00406572   . 8955 A0        MOV DWORD PTR SS:[EBP-60],EDX
00406575   . 50             PUSH EAX
00406576   . 8D4D 98        LEA ECX,DWORD PTR SS:[EBP-68]
00406579   . 56             PUSH ESI
0040657A   . 8D55 B8        LEA EDX,DWORD PTR SS:[EBP-48]
0040657D   . 51             PUSH ECX
0040657E   . 52             PUSH EDX
0040657F   . C745 D0 010000>MOV DWORD PTR SS:[EBP-30],1
00406586   . C745 C8 020000>MOV DWORD PTR SS:[EBP-38],2
0040658D   . C745 98 084000>MOV DWORD PTR SS:[EBP-68],4008
00406594   . FF15 90104000  CALL DWORD PTR DS:[<&MSVBVM60.#632>]     ;  MSVBVM60.rtcMidCharVar
0040659A   . 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]
0040659D   . 8D4D D8        LEA ECX,DWORD PTR SS:[EBP-28]
004065A0   . 50             PUSH EAX
004065A1   . 51             PUSH ECX
004065A2   . FF15 04114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrVa>;  MSVBVM60.__vbaStrVarVal
004065A8   . 50             PUSH EAX
004065A9   . FF15 3C104000  CALL DWORD PTR DS:[<&MSVBVM60.#516>]     ;  MSVBVM60.rtcAnsiValueBstr
004065AF   . 66:2D 0100     SUB AX,1
004065B3   . 0F80 CA000000  JO Control.00406683
004065B9   . 0FBFD0         MOVSX EDX,AX
004065BC   . 8D45 A8        LEA EAX,DWORD PTR SS:[EBP-58]
004065BF   . 52             PUSH EDX
004065C0   . 50             PUSH EAX
004065C1   . FF15 F8104000  CALL DWORD PTR DS:[<&MSVBVM60.#608>]     ;  MSVBVM60.rtcVarBstrFromAnsi
004065C7   . 8D4D A8        LEA ECX,DWORD PTR SS:[EBP-58]
004065CA   . 51             PUSH ECX
004065CB   . FFD3           CALL EBX
004065CD   . 8BD0           MOV EDX,EAX
004065CF   . 8D4D DC        LEA ECX,DWORD PTR SS:[EBP-24]
004065D2   . FFD7           CALL EDI
004065D4   . 8D4D D8        LEA ECX,DWORD PTR SS:[EBP-28]
004065D7   . FF15 94114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStr
004065DD   . 8D55 A8        LEA EDX,DWORD PTR SS:[EBP-58]
004065E0   . 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]
004065E3   . 52             PUSH EDX
004065E4   . 8D4D C8        LEA ECX,DWORD PTR SS:[EBP-38]
004065E7   . 50             PUSH EAX
004065E8   . 51             PUSH ECX
004065E9   . 6A 03          PUSH 3
004065EB   . FF15 24104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
004065F1   . 8B55 E4        MOV EDX,DWORD PTR SS:[EBP-1C]
004065F4   . 8B45 DC        MOV EAX,DWORD PTR SS:[EBP-24]
004065F7   . 83C4 10        ADD ESP,10
004065FA   . 52             PUSH EDX
004065FB   . 50             PUSH EAX
004065FC   . FF15 44104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCa>;  MSVBVM60.__vbaStrCat
00406602   . 8BD0           MOV EDX,EAX
00406604   . 8D4D E4        LEA ECX,DWORD PTR SS:[EBP-1C]
00406607   . FFD7           CALL EDI
00406609   . B8 01000000    MOV EAX,1
0040660E   . 03C6           ADD EAX,ESI
00406610   . 70 71          JO SHORT Control.00406683
00406612   . 8BF0           MOV ESI,EAX
00406614   .^E9 4AFFFFFF    JMP Control.00406563
00406619   > 8B55 E4        MOV EDX,DWORD PTR SS:[EBP-1C]
0040661C   . 8D4D E0        LEA ECX,DWORD PTR SS:[EBP-20]
0040661F   . FF15 40114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>;  MSVBVM60.__vbaStrCopy
00406625   . 68 6D664000    PUSH Control.0040666D
0040662A   . EB 30          JMP SHORT Control.0040665C
0040662C   . F645 FC 04     TEST BYTE PTR SS:[EBP-4],4
00406630   . 74 09          JE SHORT Control.0040663B
00406632   . 8D4D E0        LEA ECX,DWORD PTR SS:[EBP-20]
00406635   . FF15 94114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStr
0040663B   > 8D4D D8        LEA ECX,DWORD PTR SS:[EBP-28]
0040663E   . FF15 94114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStr
00406644   . 8D4D A8        LEA ECX,DWORD PTR SS:[EBP-58]
00406647   . 8D55 B8        LEA EDX,DWORD PTR SS:[EBP-48]
0040664A   . 51             PUSH ECX
0040664B   . 8D45 C8        LEA EAX,DWORD PTR SS:[EBP-38]
0040664E   . 52             PUSH EDX
0040664F   . 50             PUSH EAX
00406650   . 6A 03          PUSH 3
00406652   . FF15 24104000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
00406658   . 83C4 10        ADD ESP,10
0040665B   . C3             RETN
0040665C   > 8B35 94114000  MOV ESI,DWORD PTR DS:[<&MSVBVM60.__vbaFr>;  MSVBVM60.__vbaFreeStr
00406662   . 8D4D E4        LEA ECX,DWORD PTR SS:[EBP-1C]
00406665   . FFD6           CALL ESI                                 ;  <&MSVBVM60.__vbaFreeStr>
00406667   . 8D4D DC        LEA ECX,DWORD PTR SS:[EBP-24]
0040666A   . FFD6           CALL ESI
0040666C   . C3             RETN
0040666D   . 8B4D EC        MOV ECX,DWORD PTR SS:[EBP-14]
00406670   . 8B45 E0        MOV EAX,DWORD PTR SS:[EBP-20]
00406673   . 5F             POP EDI
00406674   . 5E             POP ESI
00406675   . 64:890D 000000>MOV DWORD PTR FS:[0],ECX
0040667C   . 5B             POP EBX
0040667D   . 8BE5           MOV ESP,EBP
0040667F   . 5D             POP EBP
00406680   . C2 0400        RETN 4
00406683   > FF15 1C114000  CALL DWORD PTR DS:[<&MSVBVM60.__vbaError>;  MSVBVM60.__vbaErrorOverflow
00406689   . 90             NOP
0040668A   . 90             NOP
0040668B   . 90             NOP
0040668C   . 90             NOP
0040668D   . 90             NOP
0040668E   . 90             NOP
0040668F   . 90             NOP

Por lo que podemos ver:



Modificación del archivo .host de la PC (se confirma el Qhost...)


Utilización de GeoIP para dirigir el ataque




Armado del string donde ira a buscar en el servidor c&c la configuración del pharming dirigido.


En caso de que el país no corresponde al pharmng dirigido, se hace un GET a una imagen común y corriente para que pase desapercibido ante miradas indiscretas.





muestra: https://dl.dropboxusercontent.com/u/80008916/Qhost%20-%2016-10-13.zip


password: infected



Eso es todo por el momento.


@Dkavalanche 2013



No hay comentarios:

 Hola, me mudé a medium .... nos vemos!!! FELIZ 2022!!!