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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con LogonUser() / ImpersonateLoggedOnUser()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con LogonUser() / ImpersonateLoggedOnUser()  (Leído 1,737 veces)
APOKLIPTICO


Desconectado Desconectado

Mensajes: 3.871


Toys in the attic.


Ver Perfil
Problema con LogonUser() / ImpersonateLoggedOnUser()
« en: 24 Julio 2012, 16:15 pm »

Buenas! Tengo un problema con la función LogonUser
Estoy utilizando estas funciones.

Código
  1. #include <iostream>
  2. #include <windows.h>
  3. #define LOGON32_LOGON_NEW_CREDENTIALS 9
  4. #define LOGON32_PROVIDER_WINNT50 3
  5. #define REMOTE_USER_S "Administrador"
  6. #define REMOTE_PASS_S "password"
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.    HANDLE hToken;
  12.    bool bAnswer = false;
  13.    bAnswer = LogonUser(REMOTE_USER_S, (char*) ".", REMOTE_PASS_S, LOGON32_LOGON_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, &hToken);
  14.    cout << bAnswer << endl;
  15.    HANDLE hToken2;
  16.    bAnswer = DuplicateToken(hToken, SecurityImpersonation, &hToken2);
  17.    cout << bAnswer << endl;
  18.    bAnswer = ImpersonateLoggedOnUser(hToken2);
  19.    cout << bAnswer << endl;
  20.    HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
  21.    if(hSCManager == NULL) cout << "Error! " << GetLastError() << endl;
  22.    return 0;
  23. }

Este código devuelve
1
1
1
Error! 5 (Acceso denegado).

Pasa lo mismo si le pongo la contraseña válida o una inválida.

Como puedo hacer para asegurarme que el usuario haya sido correctamente logueado y cargado, es decir, como puedo hacer para comprobar que las credenciales que se le proveen (Usuario y contraseña, en este caso no hay dominio) son válidas.

Esto lo quiero utilizar para acceder a recursos de red que sólo están disponibles bajo ciertos usuarios.

Un saludo
APOKLIPTICO.

PD: Pasa lo mismo sino utilizo DuplicateToken.


« Última modificación: 24 Julio 2012, 16:42 pm por APOKLIPTICO » En línea

AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema BlueZScanner y problema de conexión
Hacking Mobile
Kasswed 3 6,236 Último mensaje 6 Mayo 2006, 22:04 pm
por Gospel
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines