| Accueil | FAQ | Statistiques | Divers | Contact |

Sécurité : Windows : spamMonitor
spamMonitor est un programme qui vous permet de détecter si votre ordinateur envoie des spams, notamment dans le cas où celui-ci serait infecté par un virus/rootkit. Il vous alerte lorsqu'un logiciel tente d'envoyer un email ou d'établir une connexion SMTP sortante depuis votre PC et vous donne toutes les informations relatives à ce programme.
spamMonitor se compose d'un seul et unique fichier : spammon.exe
Désinstallation :
Pour le désinstaller, il suffit de détruite spammon.exe et le fichier log.
Lancement :
Lors de son lancement, spamMonitor affiche une boîte de dialogue en bas à droite de l'écran :
Si vous souhaitez restaurer la boîte de dialogue, cliquez sur son icône et sélectionnez [Ouvrir] :
Lorsque spamMonitor détecte qu'un logiciel est en train d'établir une connexion SMTP*, sa boîte de dialogue apparaît immédiatement accompagnée d'une alerte sonore :
Il vous affiche dans la fenêtre du haut les connexionx SMTP* en cours, et dans celle du bas les connexions SMTP* terminées.
*SMTP (Simple Mail Transfer Protocol) est le protocle utilisé pour envoyer un email en se connectant au port 25 du serveur de messagerie distant.
Pour chaque alerte, les indications affichées dans la boîte de dialogue sont aussi enregistrées dans un fichier log : c:\spammon.log
Le fichier contient toutes les informations vues ci-dessus et un champ supplémentaire, le PID du programme. Il s'agit de l'identifiant du processus (Process ID) que vous pouvez aussi retrouver dans le Gestionnaire de Tâches de Windows (taskmgr.exe) et pouvant être utile pour détecter les programmes/virus/rootkits les plus coriaces.
Le bouton [Kill !] vous permet de terminer immédiatement un programme qui se trouve dans la fenêtre "Connexion SMTP actives".
Attention : comme son nom l'indique, cette option ne laisse aucune chance au programme, donc assurez-vous de ne pas vous tromper !
spamMonitor vous informera du succès ou de l'échec de l'opération :
La case à cocher en bas à gauche de la boîte de dialogue permet de désactiver l'alerte interne de spamMonitor et de la remplacer par un simple bip plus discret :
Autres articles : Commentaires (3) De : Vassili bonjour et merci pour le code source en assembler ! c'est génial de voir qu'il y a encore des gens qui n'aiment pas gacher les octets et préferent même sous vista coder en assembler plutot qu'en horrible visual basic De : spamCle@ner Bonjour. De : Vassili je viens de modifier le source et ca fonctionne parfaitement! je ne comprenais pas pourquoi la modification des retours à la ligne était nécessaire mais après compiltation avec et sans, son utilité est claire. *Message (4 Ko maxi) :
Entièrement écrit en langage machine/assembleur, il est rapide, compact (seulement 20 Ko) et très peu gourmand en ressources système. Il est gratuit, distribué sous licence GPL et son code source est aussi disponible en téléchargement.
Dernière version : v0.20 (10-09-2008)
Installation :
Vous pouvez l'installer dans n'importe quel répertoire ou dossier de votre odinateur. Il ne modifie aucun fichier de votre système et ne rajoute aucune entrée dans la base de registre. Il créé simplement un fichier log (c:\spammon.log) où seront enregistrés les détails des connexions détectées en plus de vous les afficher à l'écran.
Cliquer sur le bouton [OK] pour minimiser spamMonitor dans la zone de notification de la barre des tâches. L'icône indique qu'il est actif et surveille toutes les connexions sortantes de votre PC :

Important : il vous est conseillé, à ce stade, de tester son efficacité tout simplement en envoyant un email avec votre logiciel de messagerie. spamMonitor devrait vous alerter de cet envoi.
Détections et alertes :
Dans les connexions en cours, il indique le nom du programme, l'adresse IP distante où ce programme se connecte ainsi que l'état de cette connexion. Dans la fenêtre des connexions terminées, il indique en plus l'heure à laquelle ces connexions ont été établies.
Fichier log :
Vous pouvez afficher le contenu de celui-ci à tout moment en cliquant sur [Voir] :
A noter qu'à chaque lancement, spamMonitor écrase le précedent fichier log si celui-ci existe.

Forcer l'arrêt d'un programme :
Si vous suspectez un programme malveillant d'envoyer des spams, sélectionnez-le dans la liste puis cliquez sur le bouton :


A noter que l'envoi d'un email étant en général très rapide, il y a de fortes chances pour que le programme effectuant cet envoi n'apparaisse qu'un très brèf instant dans la fenêtre des connexions actives et qu'il ne soit pas facile d'agir à temps. Cependant, l'essentiel est de pouvoir le retrouver grâce à son nom enregistré par spamMonitor pour pouvoir le détruire.
Autres options :
Téléchargement :
- Licence : GPL

Le : 5-Janv-2009 à 22:46:42
je me suis mis a ce langage il y a 6 mois et j'avance pas mal mais j'aimerais poser 2 petites questions:
-pourquoi tasm au lieu de masm? y a t'il une raison? tasm est-il mieux?
-quel debugger utilisez-vous?
ps: est-ce que ce ne serait pas mieux si le fichier spamon.log n'était pas écrasé a chaque démarrage?
Le : 6-Janv-2009 à 09:03:52
Je n'utilise pas Masm32 par simple goût : je trouve qu'il a une syntaxe moche et 'fasciste' !
Pour les debuggers, je n'en utilise pas puisque je suis sous Linux et code sous VirtualBox donc la virtualisation n'est pas toujours idéale pour du deboggage poussé. Il y avait l'excellent SoftICE de Compuware (ex-Numega) mais ils ont arrêté son développement. Il était fantastique pour debugger en ring0 (drivers) puisqu'il se chargeait au démarrage. Il me semble qu'il pouvait fonctionner sous VMware. Pour une simple application comme spamMonitor, vous avez le bon vieux debugger de Tasm (td.exe 16-bit et td32.exe 32-bit) au look 'Turbo Vision' sinon il y a Olydebug qui devrait bien faire l'affaire.
Quant au fichier log, je pense aussi que ce serait mieux s'il n'était pas systématiquement détruit à chaque lancement, mais en attendant une nouvelle version, vu que vous apprenez l'Assembleur vous pouvez le faire vous-même 
Il faut tout d'abord créer une structure OVERLAPPED dans le fichier 'spammon.w32const' : OVERLAPPED struc
Internal dd ?
InternalHigh dd ?
Offset dd ?
OffsetHigh dd ?
hEvent dd ?
OVERLAPPED ends
Rajouter dans spammon.asm la référence à cette structure dans la section '.data' : ovl OVERLAPPED <?,?,0ffffffffh,-1,?>
Pour info, 0xffffffff correspond a FILE_WRITE_TO_END_OF_FILE.
Ensuite, modifier l'appel à CreateFileA vers la ligne 280, en changeant le flag CREATE_ALWAYS (0x2) par un OPEN_ALWAYS (0x4) : push 0
push 80h
push 4 ; <= ici
push 0
push 1
push 40000000h
push offset logFile
call CreateFileA
Puis modifier les appels a WriteFile pour y inclure la référence à la structure OVERLAPPED en modifiant le paramètre pOverlapped :
- vers la ligne 290 : push offset ovl ; <= ici
push offset bWritten
push eax
push offset logFileHeader
push logFileHandle
call WriteFile
- vers la ligne 488, les 2 appels : push offset ovl ; <= ici
push offset bWritten
push 11
push offset timeBuffer
push logFileHandle
call WriteFile
call lstrlenA, offset outBuffer
push offset ovl ; <= ici
push offset bWritten
push eax
push offset outBuffer
push logFileHandle
call WriteFile
- vers la ligne 897 : push offset ovl ; <= ici
push offset bWritten
push eax
push offset logFileHeader
push logFileHandle
call WriteFile
Puis il faudra supprimer le CR/LF de 'timeFormat' : timeFormat db "hh:mm:ss",9,0
Et et le mettre à la fin de 'stringFormat' : stringFormat db '%s',9,'%i.%i.%i.%i',9,'[%hS]',9,'%i',13,10,0
Et comme vous le dites, en Assembleur on ne gâche pas les octets : donc on réduit la taille du buffer 'timeBuffer' de 2 octets qui correspondent aux 2 octets enlevés de 'timeFormat' qui sont maintenant inutiles : timeBuffer db 9 dup (0)
Je pense que c'est tout ? Compilez et essayez !
Le : 6-Janv-2009 à 19:43:33
je préfere tasm aussi pour la syntaxe.
merci pour le nouveau code et aussi pour olydebug, je le trouve vraiment très inmpressionnant mais je n'ai pas encore eu le temps de faire le tour de toutes ses options.
Poster un commentaire
Nom :