Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Cromatico

#1
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
Si lo que hay es únicamente saltos de linea, sin ningún caracter extra entre cada salto, quiza te puede servir algo asi:
Text1.Text = Replace(Text1.Text, vbCrLf & vbCrLf, vbCrLf)
#3
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++...

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:
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:

__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.
#4
Hacking Wireless / Consultas varias - wifi
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!
#5
No se si será lo ideal o quizas hay una forma mejor...
Pero yo usaba SetParent para meter la ventana/form de X aplicacion dentro de la mia...

Ejemplo de google:
http://www.recursosvisualbasic.com.ar/htm/listado-api/152-incrustar-programa-en-picturebox.htm

Estimo que se podrá hacer con el chrome... Saludos
#6
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?
#7
Cita de: MCKSys Argentina en 17 Junio 2014, 22:41 PM
No, no puedes inyectar una DLL de 32 bits en un proceso de 64.

Saludos!

Gracias maestro... Estoy usando CodeBlocks con GCC...
Voy a ver si consigo la version de 64 bits y que tanto se complica pasar a 64 bits mi codigo jajaja

Saludos

SOLUCIONADO.
#8
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!
#9
x64Core gracias por tu respuesta, ahora no crashea pero no me copia nada...
Sera porque el STRING puede que sea unicode?

memcpy (tmp, (PVOID)(0x123456), 50);

Si intento con wmemcpy, como sería? Asi no me funciona:
wmemcpy (tmp, (PVOID)(0x123456), 50);

Saludos y gracias!
#10
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...

BYTE tmp[50];
ReadProcessMemory(hProcess,(LPCVOID)(0x123456), &tmp, 50, 0);


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

Pero me crashea constantemente...

Alguna idea? Gracias y saludos!