elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Avira 1 - Yo 0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Avira 1 - Yo 0  (Leído 14,352 veces)
lucasluks1004

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #10 en: 12 Septiembre 2011, 17:03 pm »

Utilizo :

Código:
Private cCall As New Clas222
Public Function CallAPI(ByVal strLib As String, ByVal strMod As String, ParamArray Params()) As Long
    Dim Params2()
    Params2 = Params
    CallAPI = cCall.Invoke(strLib, strMod, Params2())
End Function


Código:
Private Type tAPICall
    ptsLIB              As Long
    ptsProc             As Long
    lReserved           As Long
    lPointer            As Long
    lpBuffer(3)         As Long
End Type
Private c_lVTE          As Long
Private c_lOldVTE       As Long
Private c_bvASM(&HFF)   As Byte
Private Declare Function DllFunction Lib "MSVBVM60" Alias "DllFunctionCall" (ByRef typeAPI As tAPICall) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal dlen As Long)
Public Function zDoNotCall() As Long
End Function
Public Function Invoke(ByVal sLib As String, ByVal sFunc As String, Params()) As Long
    Dim lPtr        As Long
    Dim i           As Long
    Dim sData       As String
    Dim sParams     As String
    Dim lMod        As Long
   
    lMod = GetAPIPtr(sLib, sFunc)
   
    If lMod = 0 Then Exit Function
   
    For i = UBound(Params) To 0 Step -1
        sParams = sParams & "68" & GetLong(CLng(Params(i)))
    Next
   
    lPtr = VarPtr(c_bvASM(0))
    lPtr = lPtr + (UBound(Params) + 2) * 5
    lPtr = lMod - lPtr - 5
   
    sData = "8B4C240851<PATCH1>E8<PATCH2>5989016631C0C3"
    sData = Replace(sData, "<PATCH1>", sParams)
    sData = Replace(sData, "<PATCH2>", GetLong(lPtr))
   
    Call PutThunk(sData)
   
    Invoke = PatchCall
End Function
Private Function GetAPIPtr(ByVal sLib As String, ByVal sProc As String) As Long
    On Error Resume Next
    Dim tAPI            As tAPICall
    Dim bvLib()         As Byte
    Dim bvMod()         As Byte
   
    Call Unicode2ANSI(sLib, bvLib)
    Call Unicode2ANSI(sProc, bvMod)
   
    With tAPI
        .ptsLIB = VarPtr(bvLib(0))
        .ptsProc = VarPtr(bvMod(0))
        .lReserved = &H40000
        .lPointer = VarPtr(.lpBuffer(0))
    End With
   
    GetAPIPtr = DllFunction(tAPI)
End Function
Private Sub Unicode2ANSI(ByVal sUNICODE As String, ByRef bvANSI() As Byte)
    Dim i           As Long
   
    ReDim bvANSI(Len(sUNICODE))
    For i = 1 To Len(sUNICODE)
        bvANSI(i - 1) = Asc(Mid$(sUNICODE, i, 1))
    Next i
End Sub
Private Function GetLong(ByVal lData As Long) As String
    Dim bvTemp(3)   As Byte
    Dim i           As Long
   
    CopyMemory bvTemp(0), lData, &H4
    For i = 0 To 3
        GetLong = GetLong & Right("0" & Hex(bvTemp(i)), 2)
    Next
End Function
Private Sub PutThunk(ByVal sThunk As String)
    Dim i   As Long
    For i = 0 To Len(sThunk) - 1 Step 2
        c_bvASM((i / (1 + 1))) = CByte("&h" & Mid(sThunk, i + 5 - 4, 1 + 1))
    Next i
End Sub
Private Function PatchCall() As Long
    CopyMemory c_lVTE, ByVal ObjPtr(Me), &H4
    c_lVTE = c_lVTE + &H1C
    CopyMemory c_lOldVTE, ByVal c_lVTE, &H4
    CopyMemory ByVal c_lVTE, VarPtr(c_bvASM(0)), &H4
    PatchCall = zDoNotCall
    CopyMemory ByVal c_lVTE, c_lOldVTE, &H4
End Function

Lo q tmb probe es hacer un TLB para sacar esas apis del codigo pero no lo e logrado
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #11 en: 12 Septiembre 2011, 20:02 pm »

Utiliza un código más reciente, ese esta quemadisimo
En línea

lucasluks1004

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #12 en: 13 Septiembre 2011, 23:17 pm »

Gracias por molestarte en seguir con mis dudas!!..

Uso el el codigo q has expuesto en http://foro.elhacker.net/programacion_visual_basic/asmvb6invoke_llamas_apis_sin_declararlas_kinvokebas-t290072.0.html  ,o  ya es muy viejo?

Igual Karcrack  mi stub es solo detectado por el Avira asi q aunque este quemado lo modifique lo suficiente como para q no sea detectado por la mayoria ,,pero el avira no me detecta el codigo ya q le puse 00 a todo el codigo con el hex y aun asi es detectado
« Última modificación: 14 Septiembre 2011, 00:18 am por lucasluks1004 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #13 en: 15 Septiembre 2011, 16:39 pm »

Utiliza esta pequeña modificación:
Código:
http://foro.elhacker.net/programacion_visual_basic/asmvb6invoke_llamas_apis_sin_declararlas_kinvokebas-t290072.0.html;msg1489017#msg1489017
Esta mucho menos quemada :)

Si dices que te lo detecta antes de agregar la información debe ser con total seguridad cuestión de las importaciones de VB6... Ves quitando APIs a ver cuales te detecta... o mételas todas en un TLB...
En línea

lucasluks1004

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #14 en: 16 Septiembre 2011, 03:28 am »

Sin duda alguna cuando lo tenga fud ,,tu nombre estara entre los mas agradecidos al subirlo al foro,,intente sacar las apis con TLB las cuales solo logre sacar una sola me quedan estas q probe de mil  formas y no obtuve buen resultado

Código:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal dlen As Long)
Private Declare Function DllFunction Lib "MSVBVM60" Alias "DllFunctionCall" (ByRef typeAPI As tAPICall) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal dlen As Long)

CopyMemory esta dos veces por q la uso en distintos modulos


Edito:carge tu modulo y lo probe funciona excelente pero es mas detectado q el q tenia antes
« Última modificación: 16 Septiembre 2011, 04:43 am por lucasluks1004 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #15 en: 16 Septiembre 2011, 12:52 pm »

Código:
http://cobein.com/wp/?p=567
Aquí tienes otro método para cargas las APIs dinámicamente y abajo del todo esta el TLB que necesitas :) Por cierto, no necesitas declarar dos veces RtlMoveMemory() aunque la utilices en distintos módulos... desde el TLB queda como función Public ;)
En línea

lucasluks1004

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #16 en: 17 Septiembre 2011, 04:39 am »

Gracias Karcrack realmente viendo los codigos q creas me doy cuenta q me esta ayudando uno de los grandes en este tema en español aunque tmb vi tu nombre en varios foros en ingles ,pero buen el link del TLB esta caido  igual el codigo funciona sin el TLB ya q no sustituiste las apis ,,si me puedes pasar el .tlb se agradeceria !
« Última modificación: 17 Septiembre 2011, 04:46 am por lucasluks1004 » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #17 en: 18 Septiembre 2011, 16:38 pm »

Código:
http://www.cobein.com/wp/wp-content/2010/08/Zombie.zip

El dominio advancevb se cayó pero sigue estando toda la copia en el de Cobein :)
En línea

lucasluks1004

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #18 en: 18 Septiembre 2011, 20:59 pm »

Gracias Karcrack  ,estoy rehaciendo todo mi stub y cargando nuevas ideas q tenia desde antes como doble encryptacion , cargar los datos en una nueva sección y mezclar el archivo a encryptar con codigo limpio ,ahora quiero darle una alternativa a
Código:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal dlen As Long)

Con un .tlb no se puede cargar no?
La otra opcion es reemplzarla lei tu post (http://foro.elhacker.net/programacion_visual_basic/vb6asm_alternativa_copymemoryrtlmovememorycopybytes-t300862.0.html)

pero no me funciona ,o nose bien como llamarlo ,,si me podes dar una mano se agradece,,saludos
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Avira 1 - Yo 0
« Respuesta #19 en: 19 Septiembre 2011, 00:20 am »

No te recomiendo esa alternativa, ya que CallWindowProc() esta bastante taggeada. Te recomiendo usar __vbaCopyBytes() con TLB ya que es como si la importase el propio VB6 y no tú.
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AVIRA y troyanos
Análisis y Diseño de Malware
duna50 3 3,278 Último mensaje 2 Septiembre 2010, 21:43 pm
por bizco
RX Crypter y Avira
Análisis y Diseño de Malware
duna50 5 4,745 Último mensaje 1 Septiembre 2010, 22:43 pm
por bizco
Avira AntiVir Personal 10.0.0.592: el antivirus gratuito Avira se renueva
Seguridad
wolfbcn 0 3,412 Último mensaje 4 Noviembre 2010, 15:46 pm
por wolfbcn
avast vs avira??
Seguridad
Haker304 1 4,567 Último mensaje 21 Junio 2011, 08:49 am
por .:UND3R:.
Avira experimenta en la nube con el nuevo Avira Protection Cloud
Noticias
wolfbcn 0 1,413 Último mensaje 30 Julio 2012, 21:47 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines