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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 75
31  Programación / Programación Visual Basic / Re: [Source] Easy Edit Header (Editor de ejecutables) en: 7 Octubre 2010, 08:29 am
Pasaba por aca y me llamo la atencion esto

Código:
 If Dir(Str, vbArchive) <> "" Or Str = "" Or Len(Str) < 4 Then

no esta mal pero la logica que se utiliza para filtrar con Len(Str) < 4 dejaria de lado posibles archivos existentes con rutas validas, ejemplo una ruta relativa como ser "\<archivo>" siendo el nombre del archivo menor o igual a 2 caracteres en total, que podria ser el eqivalente a "c:\a" o como ruta relativa "\a" 
32  Programación / Programación Visual Basic / Re: C a VB6, Ayuda :P en: 29 Septiembre 2010, 19:40 pm
Lo mire muy por arriba y donde te complicas mucho es con el tema de el VirtualFree, no es 100% necesario lo que utilices pero bueno. La funcion que tenes que armar (shellcode) es como un callapi basicamente.

Otra cosa que vi en el codigo es que utilizas el Heap para armar la funcion, esto lo podes reemplzar facilmente por un bytearray para no complicar mas las cosas.

Muy a lo bruto te diria que necesitas 5 bytes por cada parametro que le pases mas otros 5 para el call (esto podria ser mas si queres limpiar etc) si pasas strings una manera de hacerlo es reservar memoria para copiar el string y despues pushear el address an el stack... Si no me equivoco hay un modulo por ahi para hacer esto me parece que en HH
33  Programación / Programación Visual Basic / Re: System Call Dispatcher en: 29 Septiembre 2010, 19:28 pm
Como dice Karcrack, los indices de las funciones son diferentes en cada OS, en este caso hay una funcion en el modulo para averiguar el indice automaticamente pero no seria la manera correcta de utilizarlo en realidad.
34  Programación / Programación Visual Basic / System Call Dispatcher en: 28 Septiembre 2010, 21:32 pm
Un ejemplo de como utilizar Syscall (o mejor dicho en este caso int 2e) para ejecurar APIs directamente, sin llamar al stub de ntdll.

Post Original:
Código:
http://cobein.com/wp/?p=618

Source:
Código:
http://cobein.com/wp/wp-content/uploads/2010/09/SysCall.zip
35  Programación / Programación Visual Basic / Re: Problema con AddressOf en: 26 Septiembre 2010, 22:20 pm
Donde tenes la funcion a la que haces referencia con el AddressOf?
36  Programación / Programación Visual Basic / Re: Reverse Shell en: 14 Septiembre 2010, 04:05 am
@ Karcrack
Lo de las cadenas en el array fue simplemente porque tenia otra idea que nunca termine, pero era para en algun punto quitarlas del codigo. Tenia intension de agregar inyeccion y otras cosas pero... veremos si me vuelven las ganas.
37  Programación / Programación Visual Basic / Re: Reverse Shell en: 13 Septiembre 2010, 23:14 pm
@ BlackZeroX

Es similar, pero este es de conexión inversa.
38  Programación / Programación Visual Basic / Reverse Shell en: 13 Septiembre 2010, 19:19 pm
Aca les dejo una reverse shell que hice el otro dia con cliente incluido, utiliza el modulo de Karcrack para llamar apis.

Post Original:
Código:
http://www.advancevb.com.ar/?p=599

Descarga:
Código:
http://www.advancevb.com.ar/wp-content/2010/09/Reverse-Shell.zip
39  Programación / Programación Visual Basic / Re: ayuda con logica para el GetDiskFreeSpaceEx en: 13 Septiembre 2010, 03:23 am
http://foro.elhacker.net/empty-t214383.0.html;msg1017277#msg1017277
40  Programación / Programación Visual Basic / Re: Como obtener el "Nombre de Producto" de una Dll o un Exe en: 29 Agosto 2010, 06:48 am
Código:
Private Const UVI_COMMENTS          As String = "Comments"
Private Const UVI_INTERNALNAME      As String = "InternalName"
Private Const UVI_PRODUCTNAME       As String = "ProductName"
Private Const UVI_COMPANYNAME       As String = "CompanyName"
Private Const UVI_LEGALCOPYRIGHT    As String = "LegalCopyright"
Private Const UVI_PRODUCTVERSION    As String = "ProductVersion"
Private Const UVI_FILEDESCRIPTION   As String = "FileDescription"
Private Const UVI_LEGALTRADEMARKS   As String = "LegalTrademarks"
Private Const UVI_PRIVATEBUILD      As String = "PrivateBuild"
Private Const UVI_FILEVERSION       As String = "FileVersion"
Private Const UVI_ORIGINALFILENAME  As String = "OriginalFilename"
Private Const UVI_SPECIALBUILD      As String = "SpecialBuild"

Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long
Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, Source As Any, ByVal length As Long)
Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long


Public Function GetFileDetails(ByVal sFile As String, ByVal sUVI As String) As String
    Dim lLen        As Long
    Dim lHandle     As Long
    Dim bvBuffer()  As Byte
    Dim lVerPointer As Long
       
    lLen = GetFileVersionInfoSize(sFile, lHandle)
   
    If Not lLen = 0 Then
        ReDim bvBuffer(lLen)
        If Not GetFileVersionInfo(sFile, 0&, lLen, bvBuffer(0)) = 0 Then

            If Not VerQueryValue(bvBuffer(0), _
               "\VarFileInfo\Translation", _
               lVerPointer, _
               lLen) = 0 Then
                   
                Dim iVal            As Integer
                Dim sLangCharset    As String
   
                CopyMemory iVal, ByVal lVerPointer, 2
                sLangCharset = Right$("0000" & Hex(iVal), 4)
   
                CopyMemory iVal, ByVal lVerPointer + 2, 2
                sLangCharset = sLangCharset & Right$("0000" & Hex(iVal), 4)
                   
                Dim sBuffer         As String
               
                sBuffer = String(&HFF, 0)
 
                If Not VerQueryValue(bvBuffer(0), _
                   "\StringFileInfo\" & sLangCharset & "\" & sUVI, _
                   lVerPointer, lLen) = 0 Then

                    lstrcpy sBuffer, lVerPointer
                    sBuffer = Left$(sBuffer, lstrlen(sBuffer))
                   
                    GetFileDetails = sBuffer
                    Exit Function
                Else
                    Debug.Print "Err VerQueryValue"
                End If
            Else
                Debug.Print "Err VerQueryValue"
            End If
        Else
            Debug.Print "Err GetFileVersionInfo"
        End If
    Else
        Debug.Print "No Info available"
    End If
    GetFileDetails = "None"
End Function
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 75
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines