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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1] 2 3
1  Programación / Programación C/C++ / Permisos admin luego de inyectar en: 16 Febrero 2017, 13:07 pm
Buen día gente!!
No se si esto va acá o en la parte de Seguridad, quería plantear el siguiente problema...
Tengo una DLL y un Injector.
La DLL requiere permisos de administrador para funcionar correctamente.
El injector se ejecuta como administrador y carga la DLL en un proceso que ya estaba ejecutadose, tambien como administrador. Hasta aca todo perfecto.

Ahora:
El injector se ejecuta como administrador y carga la DLL en un proceso que ya estaba ejecutandose pero NO como administrador. Por lo tanto la DLL no consigue acceso para realizar ciertas acciones (open process, readprocessmemory, etc.)

Hasta donde se, no existe forma de elevar los privilegios a un proceso ya ejecutandose verdad?
Hay alguna alternativa? O solo me queda elegir un proceso que este ejecutandose como administrador nada mas?

Desde ya, gracias y saludos!
2  Programación / Programación C/C++ / (Solucionado) Ayuda obtener id de vb a c++ en: 26 Junio 2015, 17:53 pm
Buenas tardes estimados, estoy necesitando convertir esta parte de código que esta en vb.net a c++... La idea es poder hacer la misma función, pero para codeblocks c++...

Código:
Public Function ProcessorID()
        Dim cpuInfo As String = String.Empty
        Dim temp As String = String.Empty
        Dim mc As ManagementClass = New ManagementClass("Win32_Processor")
        Dim moc As ManagementObjectCollection = mc.GetInstances
        For Each mo As ManagementObject In moc
            If (cpuInfo = String.Empty) Then
                cpuInfo = mo.Properties("ProcessorId").Value.ToString
                ProcessorID = cpuInfo
                Exit Function
            End If
        Next
        ProcessorID = cpuInfo
    End Function

Buscando por internet encontre esto:
Código:
void getPSN(char *PSN)
{
    int varEAX, varEBX, varECX, varEDX;
    char str[9];
    //%eax=1 gives most significant 32 bits in eax
    __asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (1));
    sprintf(str, "%08X", varEAX); //i.e. XXXX-XXXX-xxxx-xxxx-xxxx-xxxx
    sprintf(PSN, "%C%C%C%C-%C%C%C%C", str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
    //%eax=3 gives least significant 64 bits in edx and ecx [if PN is enabled]
    __asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (3));
    sprintf(str, "%08X", varEDX); //i.e. xxxx-xxxx-XXXX-XXXX-xxxx-xxxx
    sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN, str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
    sprintf(str, "%08X", varECX); //i.e. xxxx-xxxx-xxxx-xxxx-XXXX-XXXX
    sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN, str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);
}

Pero solo me devuelve la última parte del ID... Tienen idea si hay alguna alternativa para C++ que haga lo mismo? Imagino que si pero no estoy buscando bien...

Desde ya gracias!


EDIT: Ya esta, toqueteando como buen novato despues de varios intentos, agregue este bloquesito:

Código:
__asm__ __volatile__ ("cpuid"   : "=a" (varEAX), "=b" (varEBX), "=c" (varECX), "=d" (varEDX) : "a" (1));
    sprintf(str, "%08X", varEDX); //i.e. XXXX-XXXX-xxxx-xxxx-xxxx-xxxx
    sprintf(PSN, "%s-%C%C%C%C-%C%C%C%C", PSN,str[0], str[1], str[2], str[3], str[4], str[5], str[6], str[7]);

Y me trajo la primer parte del ID, ahora lo reacomodo y listo...

No se lo que hice y tampoco quiero saber por ahora JAJAJA, no se nada de asm...
No mentira, si alguien tiene conocimiento, digame que hice.

Saludos y solucionado.
3  Seguridad Informática / Hacking Wireless / Consultas varias - wifi en: 9 Febrero 2015, 01:03 am
Buenas tardes estimados...
Estoy analizando la posibilidad de compartir mi conexion a internet entre algunos domicilios...

La idea es llegar desde mi dpto hasta lo de mi vieja y tambien a lo de mi abuela...
Los tres domicilios entre si no estan a mas de 3km...
De mi dpto a lo de mi vieja, 1,8km.
De mi dpto a lo de mi abuela, 2.4km.

Vivo en un departamento de 6 pisos, puedo instalar una antena arriba de todo perfectamente...

Me gustaría saber que es lo que necesito (aparte de dinero jaja)
Mi idea es usar algun nanostation, rocket m5...

1- Los nanostations son direccionales o omnidireccionales?
2- 2.4ghz o 5.8ghz, que me conviene? Entiendo que estos ultimos tienen menos interferencia y son menos suceptibles al clima?
3- En caso de ser los 5.8, necesitaria uno cerca de las antenas de mi departamento verdad?
4- Si son 5.8, para conectarlos al internet de mi router domestico, tengo que subir un cable de red si o si? Mi router reparte el wifi comun...
5- Para que puedan recibir tanto mi vieja como mi abuela, necesitan cada uno su receptor 5.8? Seria comprar 3 nanostation identicos?
6- Para que entre internet a traves de esos dos equipos, tengo que bajar su respectivo cable de red de cada nanostation? O reparten wifi comun tambien?

Disculpen tantas preguntas, es solo de curioso y la verdad no estoy muy metido en el tema, pero me interesa mucho aprender sobre esto!

Desde ya, gracias por el tiempo!!

Saludos!

PD: Los aparatos quiero que sean buenos y que soporten mas clientes en caso de ser necesario!
4  Programación / Ingeniería Inversa / Consulta ollydbg - Identificar funcion y parametros en: 3 Diciembre 2014, 16:03 pm
Buen día!
Estoy abriendo un ejecutable de VB con el OllyDbg, encontre la direccion de la funcion que quiero, y la cantidad de parametros segun el RETN que se encuentra al final de la funcion...

Mi duda surge en saber QUE TIPO de parametros son...

Por ejemplo, si la funcion recibe un numero como primer parametro y un varchar como segundo parametro... Tengo forma de detectar eso desde Ollydbg?

Perdon la ignorancia, no tengo idea de meterme 100% en asm, solo quería saber si existe forma sencilla de detectar esto con el olly...

Gracias!

EDIT: Entiendo que usualmente los parametros se pasan con PUSH antes del CALL a X funcion... Pero sigo en la misma, como identifico que tipo de parametros son?
5  Programación / Programación C/C++ / Consulta inyectar dll32 en proceso64 en: 17 Junio 2014, 22:34 pm
Buenas tardes estimados, estuve buscando por la web y por lo que entiendo no hay posibilidad de inyectar una dll de 32 bits en un proceso de 64 bits verdad?
Quería estar 100% seguro nada mas.

Saludos y gracias!
6  Programación / Programación C/C++ / readprocessmemory to memcopy en: 24 Mayo 2014, 01:41 am
Hola compañeros, estoy teniendo un problema...
Yo usaba readprocessmemory para obtener un STRING de un proceso, ahora me inyecto al proceso, asi que quiero utilizar memcpy y hacerlo solo en una linea sin hProcess...

Leía un String de 50...

Código:
BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);

Supuse que para pasarlo a memcopy seria algo asi:
Código:
memcpy (&tmp, (PVOID)(0x123456), 50);

Pero me crashea constantemente...

Alguna idea? Gracias y saludos!
7  Programación / Ingeniería Inversa / Consulta hook en: 14 Mayo 2014, 15:38 pm
Buen día compañeros!
Estoy teniendo dudas al tratar de hookear una función, el tema es así:
Supongamos que tengo una función de VB6 dentro de una clase (modulo de clase).
Esa función recibe un parámetro tipo numérico.

EJEMPLO
Código:
Private function NUMERITO (num as integer)
      MSGBOX num
end function

Yo quiero hookear esa funcion, desde mi programa en C++, puede ser que me este fallando debido a que VB6 trabaja con un hilo únicamente? O por cantidad de parametros incorrectos, tengo esto:

Código:
typedef void (WINAPI * Numerito)(int);
Numerito MyNumerito;

VOID WINAPI MyNumerito(int num)
{
__asm PUSHAD
     //ACA GUARDARIA LO QUE TENGO EN EL PARAMETRO num
__asm POPAD
    //LLAMO A LA FUNCION ORIGINAL:
    OrigNumerito(num);
}

Pero me falla, puede ser que me falte algún parámetro que se le pasa siempre a las clases de vb6? Ayuda!

Gracias y saludos!

EDIT: Estoy intentando hookear desde mi DLL en C++ inyectada al proceso VB6.
8  Programación / Programación C/C++ / Descargar DLL en: 22 Septiembre 2013, 07:00 am
Buenas noches a todos! Queria hacer una consulta...
Tengo una DLL en c++ la cual inyecto en un proceso cualquiera, y la misma crea sus hilos haciendo su trabajo...
Queria consultar si hay forma de descargarse a si misma del proceso en cual se inyecto...
Es decir que abra el inyector nuevamente (que esta en vb6), y que pueda volverla a inyectar en el mismo proceso por ejemplo.

Solo se puede usando DLL Cloacking?

Gracias y saludos!
9  Programación / Programación C/C++ / ProcessorID c++? en: 7 Septiembre 2013, 17:01 pm
Buenos días! Queria saber si me pueden orientar un poco para obtener el processorid desde C++, encontre varios ejemplos para C#, pero me gustaria saber tienen alguno por ahi para c++, uso codeblocks...

Gracias de antemano!
10  Programación / Programación C/C++ / Abrir URL desde DLL C en: 28 Agosto 2013, 17:08 pm
Buenas tardes!!

Queria hacer una consulta...
Tengo una DLL dinamica en CodeBlocks y me estoy volviendo loco tratando de hacer que obtenga la hora desde internet...
La misma, la llamo desde un ejecutable con loadlibrary y por si sola crea un hilo principal que hace lo que necesito, pero no logro obtener la hora!

En un servidor web, subi un PHP que lo unico que hace es imprimir la hora actual.
La idea es que la DLL pueda abrir ese PHP y guardar la hora en una variable...

Se cuelga en esta parte:
Código:
HINTERNET OpenAddress = InternetOpenUrl(connect,"http://www.google.com", 0, 0, 0, 0);

La verdad que no entiendo, el mismo codigo funciona en consola y me trae el fuente de google.com, pero en la DLL queda tildado en esa parte...

Alguna idea?

Gracias!
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines