La plupart des trojans se configurent sur n'importe quel port (même le 80). C'est pas pour rien qu'une cie doit impérativement avoir un IDS en plus du firewall car même pour le peu de port qu'elle a d'ouvert (disons ftp, telnet, web, ssl, https, gre, pop et smtp), il y a des chances d'attaques.
Le protocole réseau principalement utilisé de nos jours : IP fonctionne de manière telle que ce sont les programmes qui écoutent sur les ports. Il reçoivent donc les messages de cette façon. Lorsqu'on veut tester la sécurité d'un système, on regarde quels ports sont accessibles de l'extérieur, ou de la zone non-sécurisée. Ensuite on vérifie si les programmes qui écoutent sur ces ports sont sécuritaires et ne possèdes pas de faille de sécurité connue et exploitable. On peut donc se considéré en sécurité si ces conditions sont respectées et que nos mots de passe sont assez complexes et bien chiffrés. Un firewall permet de contrôler l'accès aux ports d'un système. Il peut bloquer complètement l'accès ou permet l'accès à des ports spécifiques, ce qui équivaut à donner accès à des programmes précit. Afin de m'assurer de la sécurité sur mon serveur Linux, je lance la commande "netstat -an" (qu'on peut d'ailleurs aussi effectuer sous Windows) et je regarde les lignes de type LISTEN ou Idle elles représentent les ports ouverts. Je m'assure donc que les deamons ou programmes associés à ces ports soient sécuritaires.
http://www.hsc.fr/ressources/breves/min_srv_res_win.html
http://www.devicelock.com/freeware.html
Y en n'a plusieurs Port Number(U=udp;les autres TCP-IP) / Hacker Programs : 5 Midnight Commander 21 Doly Trojan 25 AntiGen, Email Password Attacks 80 Executer 109 Sekure SDI, b00ger 137 NetBios exploits 555 phAse zero, Stealth Spy 1001 SK Silencer 1011 Doly Trojan 1234 Ultor's Trojan 1243 Sub-7 1245 VooDoo Doll 1807 SpySender 1981 ShockRave 1999 BackDoor 2001 The Trojan Cow 2023 Ripper Pro, HackCity 2140 Deep Throat, The Invasor 2801 Phineas Phucker 3024 WinCrash 3129 Master Paradise 3150 DeepThroat, The Invaser 4092 WinCrash 4950 ICQ Trojan 5321 BackDoorz, Firehotchker 5568 Robo-Hack 5714 WinCrash 5741 WinCrash 5742 WinCrash 6006 Bad Blood 6670 DeepThroat 6711 Sub-7, DeepThroat 6969 GateCrasher 9989 Ini-Killer 10167 U Portal of Doom 10529 Acid Shivers 10666 U Ambush 12345 GirlFriend 19932 DropChute 21544 NetBus 23456 EvilFtp, UglyFtp 26274 Delta Source 27374 Sub-7 30100 NetSphere 31789 Hack'a'Tack 31337 U BackOrifice 31338 NetSpy 31339 NetSpy 34324 Big Gluck, TN 40412 The Spy 47262 Delta Source 50505 Sockets de Troie 50766 Fore 53001 Remote Windows Shutdown 60000 DeepThroat 61466 TeleCommando 65000 Devil 65535 RC1 Trojan * Et lorsque BlackICE Defender(très bon soft) est a jour,il vous indique quels sortes d'attaques se produit sur votre PC.Votre Firewall lui, bloquera les ports ouverts de votre PC.
Attention, le daemon NFS (sous unix,linux)est connu pour permettre à un hacker de parvenir à root ; limitez donc au strict minimum le nombre d'hôtes de confiance pouvant accéder au protocole NFS. crond : Ordonnancement des travaux kswapd : Configuration de la zone swap syslogd : Exécution de l'ouverture de session du système klogd : Exécution de l'ouverture de session du noyau inetd : Exécution de tous les services réseau (super daemon) sendmail : Mise en file d'attente et transmission des messages httpd : Daemon du server Web Apache in.telnetd : Daemon telnet (pour les connexions entrantes) ftpd : Daemon ftp (pour les connexions entrantes) sshd : Deamon Secure Shell (pour les connexions entrantes) popd : Pour les connexions pop3 (accès à un courrier électronique distant) imapd : Pour les connexions IMAO (accès à un courrier électronique distant) ipd : impression réseau named : Server de noms de domaine xntpd : Protocole NTP (Network Time Prtotocol) pppd : Protocole point-to-point rpc.mountd : Montage de système de fichiers distants .
La commande netstat ne liste pas exactement l'état des sockets TCP ou UDP mais reporte en fait l'état des objets de l'interface TDI (Transport Driver Interface) du pilote TCP/IP. Plus précisément, netstat rapporte l'état, dans certains cas, des objets TDI du pilote TCP/IP de type adresse de transport (transport address) et terminaison de connexion (connection endpoint), alors que seuls les terminaisons de connexion correspondent à des sockets (TCP ou UDP). Ce problème se manifeste notamment lorsqu'un système Windows établit une connexion TCP sortante (ouverture active). Dans ce cas, un port TCP local est utilisé comme port source de la connexion TCP établie. Le problème est que la commande netstat affiche ce port source comme étant en écoute sur toutes les interfaces, ce qui peut laisser croire qu'un service TCP est en écoute sur ce port, ce qui n'est pas le cas. Dans l'exemple suivant, la machine locale a établi une connexion TCP du port source 1367 vers le port 22 d'une machine distante. Le résultat de la commande netstat, filtré pour ne contenir que les lignes contenant le numéro de port 1367 est le suivant : C:\WINDOWS>netstat -anp tcp find ":1367" TCP 0.0.0.0:1367 0.0.0.0:0 LISTENING TCP 192.70.106.142:1367 192.70.106.76:22 ESTABLISHED La deuxième ligne montre bien qu'une connexion est établie, du port local 1367 vers le port 22 d'un système distant. En revanche, la première ligne laisse à penser que le port 1367 est en écoute alors qu'il n'en est rien. Ainsi, pour toute connexion sortante établie, une ligne supplémentaire et n'ayant pas lieu d'être apparaît dans la sortie de netstat. Il est donc important de bien faire la différence entre un port réellement ouvert et un port rapporté par erreur par netstat comme étant en écoute. Ce problème a été corrigé dans Windows Server 2003.
Nous dénombrons à l'heure actuelle environ une centaine de systèmes de détections d'intrusions (ou IDS pour Intrusion Détection System), que ce soit des produits commerciaux ou du domaine public. Snort est le système de détection des intrusions open source le plus répandu. Avec plus de 100 000 installations recensées dans le monde, il est devenu l'une des principales applications de sécurité. Snort dispose de fonctionnalités similaires voire meilleures que celles proposées par des systèmes de détection chers et adhère au modèle open source de distribution publique gratuite. Il a ainsi été rapidement accepté dans le monde de l'entreprise comme dans celui de l'environnement domestique. Un IDS ou un NIDS peut être vulnérable! Le fait par exemple de changer le port sur lequel agit un cheval de troie,aussi l ' IP Spoofing font parties des techniques anti-ids. Par les méthodes classiques de scan : les scans furtifs SYN, FIN, XMAS, NULL implémentés par le très connu Nmap(celui qu'ont voient dans le film Matrix) permettent de ne pas etre détectes par les NIDS. Le but du scan SYN par exemple (le plus simple) est de ne pas ouvrir une connexion complètement. Par le flood : tout comme n'importe quel serveur sur Internet, un NIDS peut etre victime de flood, c'est à dire d'un trafic très important. Etant surchargé, il détecte donc peu ou pas d'attaques en conséquence. Par la méthode Decoy de Nmap : le principe est de le surcharger de fausses attaques simultanées (avec de fausses adresses sources) tout en lancant une attaque réelle sur un hote choisi. Elle passera inapercue aux yeux de l'administrateur qui sera occupé à analyser tous les logs. Par fragmentation : le principe est de fragmenter les paquets IP, c'est à dire de les découper en paquets de plus petites tailles pour empecher les NIDS de détecter les attaques (les paquets étant réassemblés au niveau du destinataire). Des scans très lents : le fait de scanner un réseau très lentement, c'est à dire un scan toutes les heures, n'est souvent pas détecté. Les NIDS maintiennent un état de l'information (TCP, IP Fragments, TCP Scan ...) pendant une période bien définie (tout dépend de la mémoire ). Donc si deux scans consécutifs n'appartiennent pas à la meme période, le NIDS peut ne rien détecter. Rain Forest Puppy ou RFP a développé plusieurs techniques anti-IDS au niveau du protocole HTTP qu'il a implémenté dans son scanner cgi Whisker.Encodage : cette technique code les caractères sous la forme hexadécimale. L'URL sera tout de meme comprise par le protocole HTTP. Double slashes : avec cette méthode, notre requete est de la forme '//cgi-bin//script'. Les IDS vérifiant les requetes de la forme '/cgi-bin/script', nous passons au travers de l'IDS. Self-reference directories : une autre technique est de remplacer tous les '/' par '/./'. C'est normal puisque sous Unix par exemple, '/tmp/./././././' est équivalent à '/tmp/'. Notre requete n'est alors pas détectée.Paramètre caché : cette technique est assez simple. Certains IDS cherchent le nom du script avant '?'. Si nous remplacons '?' par sa valeur en ASCII (?), c'est à dire '%3f', l'IDS échoue et la requete est valide. Formatage : le principe est de remplacer les espaces par des tabulations. Longue URL : certains IDS ne regardent que le début d'une URL, il est donc possible de créer une longue URL pour tromper l'IDS Case sensitive : très simple aussi, cette technique consiste à remplacer les minuscules par des majuscules. La requete est toujours valide. Syntaxe de Bill : le principe est d'utiliser la syntaxe Windows/DOS dans les URLs en remplacant certains '/' par '\'. Url coupée : la requete http est coupée en plusieurs paquets TCP. L'url "GET /cgi/bin/phf" deviend par exemple "GET", "/cgi/b", "in/ph" "f HTTP/1.0". Agissant de facon similaire à la fragmentation réseau, notre attaque n'est pas détectée. Filtrage des NOPs Nous savons que les attaques de type buffer overflow utilisent une série de NOP (0x90 sur plate-forme x86). Le principe dans la détection est donc le suivant : il analyse le trafic, regarde s'il voit passer une série de caractères "0x90" et agit en conséquence.Le but ici, est de trouver une instruction équivalente aux NOPs afin de rendre notre attaque indétectable. Il suffit de remplacer 0x90 par 0x41: Pourquoi '0x41' ? Cette instruction '0x41' (équivalente à la lettre 'A' en ascii) représente en assembleur 'inc %ecx' (elle incrémente de 1 la valeur du registre %ecx). Quelque soit la valeur de %ecx, cette instruction n'a aucune importance dans le contexte de l'exploit. Elle a donc les memes avantages que l'instruction NOP : codée sur un octet et ne faisant rien. Il arrive aussi que l'IDS cherche à détecter la chaine de caractères /bin/sh. Pour passer au travers de cette détection, une des methodes est de crypter par un simple XOR cette chaine et le shellcode la décrypte ensuite au moment ou il s'execute. Comme vous avez pu le voir, les systèmes de détection d'intrusions ne sont pas infaillibles. Vous etes alors en train de vous demander quel système peut nous assurer un maximum de sécurité. Il existe une alternative à ces systèmes qui sont les systèmes distribues à tolérance d'intrusions. "De ce que j'ai lu" ; pour etre plus clair, le concept de tolérance d'intrusion peut etre utilisé sur des systèmes distribués de par leur nature à distribuer, répartir de l'information à plusieurs endroits géographiques. Donc, si nous considérons que notre information sensible est répartie sur plusieurs sites, un pirate meme s'il a réussi à s'introduire sur une partie de notre système ne pourra récupérer qu'une partie de l'information sans aucune signification pour lui. Avec la technique de fragmentation-scattering, nous tolérons donc un certain nombre d'intrusions tout en gardant une confidentialité et une integrité de l'information. A cette tolérance d'intrusions, nous ajoutons la tolérance de destruction des informations grace à une redondance des fragments. Plusieurs copies de chaque fragment sont archivées sur plusieurs sites différents. Une disponibilité de l'information est donc assurée. Le domaine des systèmes de détection d'intrusions est un sujet très vaste. Il y a les honey pots aussi, cette nouvelle méthode de détection d'intrusions et du projet Honeynet (http:// project.honeynet.org), de la facon de placer un IDS dans un système d'information en complément du firewall. Toutefois, nous pouvons conclure que les IDS sont loin d'etre infaillibles meme s'ils apportent un complément à la sécurité du système d'information.
GRC.COM est un bon site pour tester les ports
Aucun commentaire:
Publier un commentaire