IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

WMI C# accès refusé


Sujet :

C#

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Par défaut WMI C# accès refusé
    Bonjour,

    Je suis en train de faire une application en utilisant le WMI pour accéder a des informations sur des pc sur mon domaine, mais j'ai des problèmes de connexions avec un poste. J'ai le message d'erreur
    Accès refusé.
    Pourtant sur un autre poste sa marche, voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ConnectionOptions aConnectionOptions = new ConnectionOptions();
                    aConnectionOptions.Authority = "ntlmdomain:MONDOMAINE";
                    aConnectionOptions.Impersonation = impersonationLevel.Impersonate;
                    aConnectionOptions.Authentication = AuthenticationLevel.Packet;
                    aConnectionOptions.Timeout = new TimeSpan(0, 0, 30);
                    aConnectionOptions.EnablePrivileges = true;
                    aConnectionOptions.Username = "monUtilisateur";
     
    ManagementScope aManagementScopeInit = new ManagementScope("\\\\192.168.1.10\\root\\cimv2", aConnectionOptions);
    aManagementScopeInit.Connect();
    Ce code marche sur un poste mais sur l'autre j'ai accès refusé, les paramètres DCOM ET COM sont les mêmes sur les 2 machines et les parfeux sont désactivée.
    Je ne vois pas d'où vient le problème.

    Si vous pouvez m'aider merci

  2. #2
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Salut.

    J'ai bien conscience que les exceptions renvoyées par les objets WMI ne sont pas très parlantes mais... tu ne pourrais pas donner plus d'éléments ? La trace exacte de l'exception, etc., ce serait plus facile de pouvoir t'aider

    A part ça, tu utilises des comptes locaux pour chaque machine ? Une compte de domaine pour toutes les machines sur lesquelles tu te connectes ? S'il s'agit d'un compte de domaine, tu as pensé à vérifier s'il avait les mêmes droits entre un poste sur lequel cela fonctionne et un poste sur lequel cela ne fonctionne pas ? Sur l'event log du poste sur lequel ça déconne il n'y pas des entrées qui correspondent à ta tentative de bind ?

    En gros il faut que tu blindes la description de ton problème

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Par défaut
    Bonjour,

    voici l'erreur exacte :
    Accès refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED))
    Je me connecte en tant qu'utilisateur de mon domaine sur les poste, les 2 poste ont le profil administrateur.

    Sur le poste qui ne marche pas, si je rentre le mot de passe dans le ConnectionOption sa marche, je peux voir les éléments du PC grâce au requête WMI.
    Ce qui m'intéresse c'est d'attaquer des postes dont je ne connais pas forcément le mot de passe.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    pas de mot de passe = pas de droits = pas de connexion

    soit tu as les user/pass locaux de chaque poste
    soit tu as un user/pass d'utilisateur avec pouvoir du domaine

    sinon ce qu'il te faut c'est un forum de hack ...

  5. #5
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par exile69 Voir le message
    Ce qui m'intéresse c'est d'attaquer des postes dont je ne connais pas forcément le mot de passe.
    Il faut bien se rendre compte qu'avec WMI, on peut faire tout et n'importe quoi, à savoir simplement requêter des informations sur des machines comme dans le cas présent, mais également créer / détruire des partages réseau, donner des droits, modifier le registre, faire joujou avec des processus distants, arrêter des clusters, etc., etc.. En d'autre termes, avec WMI, t'es le roi du pétrole ... ce qui peut donc être très dangereux d'un point de vue sécurité

    C'est pourquoi, à mon humble avis, dès que tu attaques différentes machines d'un domaine, l'authentification est obligatoire ! Je pense donc que ton problème n'est pas un problème de code ou de conception, mais plus une problématique de gestion des droits. La solution adoptée chez mon client, et que je trouve plutôt pas mal :

    • au niveau de l'AD, un groupe du type "administrateurs du domaine"
    • à chaque ajout de serveur au réseau, ce même groupe est ajouté comme administrateur de la machine (automatique avec la GPO)
    • ajout de membres très contrôlé et très restreint à ce groupe

    Dans ton cas, on pourrait imaginer que tu disposes d'un "utilisateur technique" qui fait partie de ce groupe et qui te permet de faire toutes tes requêtes sous contrôle. Voilà mon avis sur le sujet

    Bon courage

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Par défaut
    Ok ok, merci pour vos réponses, le seul truc que je comprend pas, est pourquoi j'arrive a me connecter sur une machine de mon domaine en passant aucun mot de passe mais juste le nom de l'utilisateur ?

    Merci

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    je dirais que l'utilisateur n'a pas mis de mot de passe ^^
    ou alors ton compte a les droits dessus
    (du coup le mot de passe est déja défini)

  8. #8
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 256
    Par défaut
    Effectivement mon utilisateur est déclaré sur l'autre poste ou sa marche.
    Une dernière petite question qui m'embête un peu c'est que si je me connecte en tant qu'administrateur du domaine sur un pc distant j'obtiens bien les informations du pc mais pas toute les imprimantes réseau.
    Je m'explique : Si l'utilisateur Toto a sur sa session 3 imprimantes réseaux, si je me connecte en tant qu'administrateur du domaine je ne les verrais pas, car elles ne sont pas défini pour la session administrateur du domaine. Y a t il un moyen de connaitre quand même en WMI les imprimantes réseau d'un utilisateur en étant connecté en tant qu'administrateur du domaine ?

    J'espère avoir été claire.

    Je vous remercie par avance

    Cordialement

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    heuu la je répond un peu au pif, mais je pense que c'est ta requête WMI qu'il faut changer

  10. #10
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Je crois que les imprimantes réseaux dont dispose un utilisateur sont liées à une machine, pas à une session : par exemple, si un user change de machine, il devra refaire la manipulation d'ajout des imprimantes réseaux.

    Ce que tu peux faire : lister les imprimantes réseaux installées sur la machine attitrée d'un user :

    • le nom de la machine en question facile à récupérer via AD
    • les imprimantes une simple requête sur Win32_Printer

    Ensuite, sur chaque imprimante, tu exécutes la méthode "GetSecurityDescriptor" et à partir de là tu pourras savoir qui a quoi comme droit sur l'imprimante C'est un peu long, mais ça fonctionne

    Il y a même un exemple en VBS sur MSDN

  11. #11
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    simplement pour confirmer ce qui est dit plus haut, WMI c'est du controle à distance à condition d'avoir un compte sur la machine distante. sachant qu'on peut couper les services/processus, encore heureux que ca soit protégé.
    donc pour une appli d'entreprise, il faut faire en sorte que l'application utilise un compte admin domaine pour être sûr d'être maitre sur les machines distantes.

    enfin, WMI n'ouvre pas une session, il a accède à la couche WMI locale, rien de plus. une fois sur cette couche, on est au niveau système, pas au niveau d'un utilisateur.

  12. #12
    Max
    Max est déconnecté
    Expert confirmé

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Par défaut
    Citation Envoyé par eusebe19 Voir le message
    "GetSecurityDescriptor"
    Windows Server 2003, Windows XP, Windows 2000, Windows NT 4.0, and Windows Me/98/95: The SetSecurityDescriptor and GetSecurityDescriptor methods in the Win32_Printer class are not available.
    Bon bah, à moins que tu disposes d'un parc 100% dernier cri, pour l'instant je ne vois pas

Discussions similaires

  1. WMI + accès refusé
    Par Minoucha2006 dans le forum C#
    Réponses: 3
    Dernier message: 14/05/2008, 13h21
  2. réseau local (accès refusé)
    Par le y@m's dans le forum Sécurité
    Réponses: 7
    Dernier message: 24/07/2005, 13h48
  3. [DCOM] Accès refusé au lancement du programme à distance
    Par raoulmania dans le forum Web & réseau
    Réponses: 7
    Dernier message: 22/06/2005, 13h01
  4. Kerio / Composants Indy / Accès refusé
    Par ixpe dans le forum Composants VCL
    Réponses: 3
    Dernier message: 10/09/2004, 13h38
  5. acces refusé
    Par pram dans le forum XMLRAD
    Réponses: 3
    Dernier message: 02/04/2003, 15h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo