[..] Information cryptage mot de passe et compilation

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
win43
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 02 avr. 2013 10:49
Status : Hors ligne

[..] Information cryptage mot de passe et compilation

#1

Message par win43 »

Tout d'abord bonjour à tous et merci pour cette aide francophone sur ce fabuleux Autoit !

Je suis administrateur système et réseau, j'utilise essentiellement les scripts autoIt pour le déploiement de logiciels et de taches d'administration sur les postes clients. Mes scripts sont très simples et j'arrive à me dépatouiller en farfouillant dans le forum ou sur le net.

J'ai en faite une problématique : La plupart de mes scripts lance simplement une install silencieuse en admin du domaine, ex :

Code : Tout sélectionner

If FileExists("C:\Program Files\PDFCreator") Then
    Exit
EndIf
If FileExists("C:\Program Files (x86)\PDFCreator") Then
    Exit
Else
    RunAs("administrateur", "domaine", "password", 0, "\\monserveur\deploiement$\PDFCreator\PDFCreator-1_6_2.exe /ForceInstall /Printername=PDFCreator /SILENT /NOCANCEL /NORESTART /LANG=french /NoIcons=1 /Components=program,ghostscript,languages,languages\english,languages\french /tasks=!desktop_icon /f", @SystemDir)
EndIf
Cela fonctionne parfaitement. J'ai, par curiosité, voulu voir si il était facile de dé-compilé mes exe pour en récupérer le code et donc le mot de admin, et la consternation, il m'a fallu 5 minutes pour trouvé le soft qui va bien et récupérer le password :evil: .
Dans l'optique de rendre la chose un peux plus complexe à récupérer, n'y aurait t'il pas possibilité de crypter le password (j'ai des doutes...) ou mettre ce mot de passe dans un autres exe avec une clef de cryptage ?

En faite j'aimerai me prémunir du vol de mes exe pour décryptage à l’extérieur, je me dit que si le mot de passe n'est pas directement dans l'exe exécuté ça limite les risques...

J'attends vos réflexions !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#2

Message par jguinch »

Salut win43.
Effectivement, les mots de passe ne doivent surtout pas être inscrits en dur dans les scripts.
Comme tu as pu le constater, c'est facile de récupérer le code. Il n'existe pas de solution 100% efficace.
Quand on déploie un script, il faut toujours garder à l'esprit que l'utilisateur final possède en quelque sorte le code source.

Comme tu l'as suggéré, on peut externaliser le mode de passe, que ce soit dans un partage de fichiers, un serveur Web ou autre mais à partir du moment où on peut récupérer le code source, on peut aussi récupérer le mot de passe...

Je ne suis pas expert en la matière mais n'ayant pas trouvé de solution suffisamment sécurisée, je pense essayer de mettre en place le mécanisme suivant pour mes prochains déploiements :
- DLL externalisée sur un serveur Web
- Script AutoIt sans login/mdp en dur (le script télécharge la DLL)
- La DLL contient le checksum du programme AutoIt et le mot de passe
- La DLL dispose d'une fonction qui renvoie le mot de passe, uniquement si le checksum du programme qui a appelé la fonction correspond.

Forcément, ce n'est pas sécurisé à fond, mais "décompiler" un exécutable AutoIt et décompiler une DLL n'est pas du même niveau je pense.

Si quelqu'un a une meilleure/autre idée, je suis également preneur.
En attendant, c'est peut être une piste...
Bon courage.
A+
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#3

Message par lesolutionneur »

Le mieux reste d'utiliser Autoit3Cano qui à ce jour ne peut-être décompilé par aucun décompilateur.

http://www.autoitscript.com/forum/topic ... age__st__0

Par contre les exécutables produits par lui sont détectés comme des virus par certains antivirus.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#4

Message par Tlem »

Il n'y a pas de solutions.
Au mieux, vous pouvez complexifier la lecture du code ou rajouter l'utilisation de programmes externe ou DLL, mais celui qui voudra le mot de passe, finira par l'avoir.
Demandez-vous si le temps passé vaut la protection ou si il ne vaut pas mieux procéder autrement !
Si vous exécutez une commande DOS avec mot de passe par le biais d'Autoit, il y a forcément une plaie béante. :shock:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
win43
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 02 avr. 2013 10:49
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#5

Message par win43 »

lesolutionneur a écrit :Le mieux reste d'utiliser Autoit3Cano qui à ce jour ne peut-être décompilé par aucun décompilateur.

http://www.autoitscript.com/forum/topic ... age__st__0

Par contre les exécutables produits par lui sont détectés comme des virus par certains antivirus.
Je viens d'essayer, en effet avec le décompilateur que j'avais ça ne fonctionne plus mais.. j'en ai téléchargé un autre qui la dé-compilé sans problème....

Je vais déjà créer un utilisateurs admin temporaire, juste le temps de déployer... c'est vraiment pas top mais ça sera déjà mieux... Je vais me pencher du coté de OCS, je l'ai déployé par autoit sur mon parc récemment... ça sera surement un peu plus "secure".

L'idée serai peut être de créé un client/serveur autoit avec des exe signé qui eux seul puissent récupérer les passwords sur le serveur. Ainsi les exe de déploiements ne contiendraient pas de données sensible , ce n'est pas infaillible, mais on passe déjà au level au dessus.
Des motivés ;-)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#6

Message par jguinch »

Je vais me pencher du coté de OCS, je l'ai déployé par autoit sur mon parc récemment
Oui, il y a le télé-déploiement de paquets qui lui, n'aura pas besoin du mot de passe puisque l'agent OCS tourne/peut tourner en tant que service.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#7

Message par Sea »

Envoie moi un pm je te passerai un truc pour rendre plus chiant le reverse d'autoit(aucun tool peux le reverse du moins j'ai pas encore trouvé ^^)

(je le donnerais pas a tous car il s'agit d'un patcheur qui modifie le binaire donc logiquement si ce patch est répendu sur le net ça serai useless mais vu qu'il s'agit d'une société ici je veux bien aider ;))
Maurice
Niveau 3
Niveau 3
Messages : 37
Enregistré le : jeu. 01 nov. 2012 18:20
Localisation : Une région à bulles (pas de l'eau)
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#8

Message par Maurice »

Je suis confronté aussi à ce désagrément !
Je n'ai pas trouvé de solution 100% fiable, aussi j'ai testé plusieurs voies.
1 - OCS qui fonctionne plutôt bien,
2 - WSUS et son LUP qui fonctionne bien, mais dont le retour en arrière laisse à désirer,
3 - la gestion de comptes temporaires dédiés dans le domaine (+ Obfuscator), qui est plus lourd mais qui te laisse
maitre de ton déploiement.

J'avoue que la 3ème soluce me tente beaucoup pour les déploiements, car admettons que l'utilisateur récupère le scripte, admettons qu'il craque le code et admettons qu'il récupère le sésame .... Le compte reste actif très peu de jour puis est dévalidé.

C'est pas du 100%, mais qu'est ce qui est 100% en matière de sécurité informatique ?
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#9

Message par Sea »

Voici comment marche mon patcheur ^^

Le script autoit est contenu dans le l'OEP du programme en gros un exécutable autoit c'est un stub C contenant toute les fonctions nécessaire pour exécuter le code autoit.
Il suffit de modifier l'adresse du call pour qui ne lise plus l'OEP mais une autre partie de notre programme et après il nous suffit de mettre notre script autoit(compiler donc notre actuel OEP à l'adresse du call modifié et à la limite on met un fake code autoit compiler dans l'OEP comme ça tout les dessassembleur sont berné et prenne ce fake code ^^)

Si t'es sadique tu peux rajouter en plus une fonction de cryptage mais la c'est un peux plus chiant qu'une simple adresse de call à changer mais bon je te laisse chercher sur google pour ça ^^

@Tlem je préfère 100 fois debug sous ODBG une DLL en C/C++ que de me frotter a de l'autoit qui est un réel bordel ^^
Avatar du membre
SkyCritters
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 03 mai 2013 11:56
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#10

Message par SkyCritters »

Bonjour,

Si vous tournez sur Windows quel qu'il soit, il n'y aura jamais 100% de sécurité pour les comptes admin.
La solution est de changer régulièrement le mot de passe admin ... Pas impossible avec les bons logiciels.
A force d'être malade, on devient un bon médecin.

Celui qui surpasse les autres est fort. Celui qui se surpasse lui-même est encore plus puissant.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Information cryptage mot de passe et compilation

#11

Message par Sea »

Si tu changes le mot de passe admin il faut que tu le change dans ton programme aussi... Donc au final ça sers à rien...

Et puis c'est pas parce que vous êtes sur windows... Sur mac et unix il existe des débogueur donc y'aura toujours moyen de trouver le mot de passe...
Répondre