[gen-hackman] List_Killem

Fermé
mOe - 5 juil. 2010 à 12:58
 Utilisateur anonyme - 3 sept. 2010 à 22:18
Salut Gen

Etant curieux de nature :-) et après avoir regardé plus en détail la composition et le code de List_Killem, je me permet de te faire un petit Feedback "de passage", ici.

1/ wait.bat

Génère une erreur si choice n'existe pas sur la bécane.
Choice n'étant pas un prog natif si je ne dis pas de bétises, il te faudra l'embarquer dans ton package si tu veux pouvoir utiliser ton script tel quel.


2/ Détection de la clé/sous-clés SafeBoot

Après un test sous infection Bagle le rapport mentionne les clés comme OK alors qu'elles n'existent pas.
Par exemple tout en restant dans l'idée de ton code, un truc dans le genre devrait résoudre le soucis :

FOR %%A in (
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot"
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal"
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Network"
) do Swreg query %%A >nul 2>&1 &&(echo %%~A : OK !!) || (echo %%~A : Not found !!)



3/ Les tools Sysinternals

Très bons outils mais depuis leur reprise par Microsoft si les tools sont exécutés pour la première fois, une fenêtre demandant d'accepter le Eula apparait.
C'est pas vraiment génant mais si dans le doute l'utilisateur refuse celà peut fausser les résultats.
Donc l'astuce que je te propose (si elle t'intéresse...) est d'anticiper et simuler l'acceptation du Eula directement via le registre et sans interaction du l'utilisateur.
Concrètement dans ton script et avant la première utilisation des tools, cela donnerait :

FOR %%A in (
"AutoRuns"
"Psinfo"
) do SWREG.EXE ADD HKEY_CURRENT_USER\Software\Sysinternals\%%~A /v EulaAccepted /t REG_DWORD /d 1



4/ SID.bat

RAS sur le fonctionnement, juste une idée de simplification de ton code pour le fun :-)

FOR /F "SKIP=1 TOKENS=*" %%A in (' reg.exe query "HKLM\software\microsoft\windows nt\currentversion\profilelist" ^|Find.exe /I "HKEY" ') do (reg.exe query "%%A" /v ProfileImagePath |find.exe /i "%username%")>nul && echo %%~nA>>a.txt

Voilou ! Bonne continuation !

++

24 réponses

Utilisateur anonyme
8 juil. 2010 à 18:28
une petite question à celui qui voudra repondre :

do SWREG.EXE ADD HKEY

pourquoi mettre .EXE alors que ca marche sans ?
0
Salut Gen

Perso je pense que c'est entre autre pour éviter de laisser le choix au système dans le cas ou 2 fichiers dans un dossier porteraient le même nom et limiter les risques d'erreur.

Ex:
tools\swreg.exe et tools\swreg.cmd

Dans ce cas là par exemple, si dans ton code tu ne précise pas l'extension, c'est l'exe (s'il existe) qui sera lancé en priorité, sinon dans le cas contraire le système au lieu de te renvoyer un retour console genre "fichier introuvable" et passer à la commande suivante, va malgrès tout insister en essayant de lancer tools\swreg.cmd.
Donc en précisant l'extension, tu annules ce risque et les conséquences possibles que ça peut engendrer.

De plus il peut y avoir un autre risque supplémentaire aussi, si tes outils se trouvent dans le même dossier que ton script de base.

Ex :

C:\List_Killem\1.exe
C:\List_Killem\start.cmd
Et un virus dans C:\windows\system32\1.exe ...

Si ton script contient une commande "1.exe >>Rapport.txt" et que pour une raison ou une autre C:\List_Killem\1.exe n'existe pas ou plus, bin le système va aller systématiquement tenter de piocher du côté de C:\windows\1.exe ou C:\windows\system32\1.exe si présent et aura donc relancé le virus par la même occasion :-)

C'est aussi pour limiter les risques, que souvent les tools sont dans un dossier bien distinct :

Ex :

C:\List_Killem\Tools\1.exe
et
C:\List_Killem\start.cmd qui contient "cd %~dp0 ... bla, bla, bla ... Tools\1.exe >>Rapport.txt"

Dans ce cas si le fichier C:\List_Killem\Tools\1.exe n'existe pas tu auras un message d'erreur classique tout en évitant que le système n'aille voir ailleurs :-)


Bonne continuation !

++
0
Utilisateur anonyme
9 juil. 2010 à 15:59
ok bonsoir mOe ,

retenu....merci de cette claire explication très significative :)

ca va me permettre de revoir certains parametres

et reecrire toutes les redirections ^^
0
Re,

De rien :-)
En plus ta question est vraiment très intéressante car elle permet bien de se rendre compte de l'importance que peuvent avoir parfois certains petits détails qui semblent anodins au premier abord !

Bon code et @++
0
Utilisateur anonyme
9 juil. 2010 à 16:38
heu......tools\swreg.exe et tools\swreg.cmd

sans "call" ?
0
Désolé je me suis mal expliqué lol.

Oui car Call est une commande propre à cmd.exe et donc ça n'influe pas sur le fait de pouvoir exécuter ou pas un script bat ou cmd.
La commande Call peut te servir dans ton script à exécuter un autre *.cmd et reprendre ensuite la main avec le script principal mais le système lui n'a juste besoin que de savoir quel prog est associé avec les *.cmd pour pouvoir les exécuter.
Tu saisis la différence ?
Si à la base avec le 1er exemple (SWREG ADD HKEY) tu pensais utiliser swreg.exe et s'il n'existe pas, c'est le *.cmd qui est lancé exactement comme si tu l'exécutais indépendamment en double cliquant dessus manuellement et donc sans besoin de CALL .

++
0
Utilisateur anonyme
9 juil. 2010 à 17:41
yes it's ok :)

thx
0
Utilisateur anonyme
11 juil. 2010 à 00:15
salut sinon à titre info je suis en train de voir d'utiliser setPaths , cedric tu as raison sur le fait de compatibilité , ca resoudra pas mal de soucis rapport aux OS ^^

@+
0
Utilisateur anonyme
3 sept. 2010 à 22:18
salut mOe , si tu peux me revenir pour une question qui me tarabuste.........

le fait de ne pas mettre un service en "désactivé" avec "sc config" mais le stopper et le supprimer directement , cela a-t-il un incidence sur le fonctionnement du tool ?
0