Land Of The Free #3
par Sirius Black
Bienvenue à vous pour un nouveau numéro de Land Of The Free !!! Si vous êtes un fidéle lecteur vous vous êtes sûrement rendu compte que les couleurs utilisées pour le mag ne changent pas ; en effet après le premier numéro j'ai trouvé qu'elles étaient pas si mal donc je les garde. A l'heure où j'écris ces lignes (merde où est ma montre ?... On est le samedi 6 avril 2002 à 21h55) le sommaire du mag est incertain : des articles vont sûrement être ajoutés et le sujet principal n'est pas encore au point... mais bon ça viendra, question de temps. Je cherche toujours plus de moyens de distribuer mon zine donc si vous avez un site qui parle de hacking/cracking... vous pouvez le proposer sur votre site (ou vous faites un lien c'est tout con et pas besoin de télécharger puis uploader). Quoi de neuf ? Et bien vous avez du remarquer la rubrique courrier dans le menu. Et bien oui il faut croire que LOTFREE est pas mal apprécié.
Edito 2 : et bien oui, voici un édito qui va mieux coller au mag car fait avant la conclusion, une fois que tout est écrit. La partie http (surtout la méthode POST) sera étudié en détail dans le numéro 4. Sinon OS4M4CKERS m'a écrit 3 petits articles mais pas les moindres donc un grand merci à lui. Surtout sur les mots de passe de partage de fichiers (Hack netbios), c'est tout beau tout neuf donc lisez le !!!!
Les fichiers joints : crypto est un programme de cryptage/décryptage (logique), color est un apperçu de ce qui est à venir pour LOTFREE#4, le reste, des articles, des sources et des images... Enjoy !!
Bon on va commencer par le premier mail que j'ai reçu (je sais plus qui c'est qui me la envoyé, g effacé le mail après l'avoir copié) :
Salut, je trouve ton zine super car il est détaillé et il est pas fait de " baratin " comme certains....
Je cherche des serveurs smtp qui vérifie
pas l'adresse d'éxpédition ( pour envoyer des messages style
"moi@jhdfjdhjsfdhfjkshfjhsdjk.com" ), j'ai essayé d'en chercher
sur les moteurs mais je trouve pas. Voila
si tu peux me dépanner, merci.
Bonne continuation
@+
Ah !! Alors celui là il m'a fait plaisir !!! J'ai pas pu répondre pour le serveur de mail la première fois mais plus tard je lui ai envoyé un autre mail avec donc un serveur smtp (ça va servir à tout le monde comme ça). Le serveur en question est mail.club-internet.fr , c'est l'adresse à entrer dans le telnet et le port c toujours le 25. Mais attention le serveur est loin d'être bavard (juste OK quand ça marche je crois). Et en plus il veut que des adresses "standards" (si vous mettez satan comme envoyeur il va pas accepter par contre satan@enfer.com il accepte).
Un autre mail me disait que le mag était trop court, Arf... C'est sûrement parce qu'il est cool à lire :-)
Sinon vous vous souvenez dans LOTFREE#2, dans l'article "Récupérer des documents sur un PC", je vous parlait d'une société de bourse en ligne qui ne cryptait pas ses cookies. Je ne citait pas son nom (pour pas lui faire de tors) mais il s'agissait de boursorama.Et bien quelques semaines plus tard, j'achète HZV et qu'est ce que je voit en première page ? "Une grosse faille dans Boursorama". Je peux vous dire que ça m'a fait bizarre sur le coup, comme un gros doute et puis finalement c'était bien ce que j'avais remarqué mais étant newbie j'y avait pas vraiment prété d'importance. Enfin bon, là je me suis dit : soit c'est une coïncidence (possible) soit ils ont grugé sur moi. Donc je leur ait envoyé un mail et j'en ai profité pour faire quelques remarques.
Voici le mail que j'ai envoyé à Fozzy (l'auteur de l'article de Hackerz Voice) :
To:fozzy@dmpfrance.com
from:lotfree@multimania.com
Cher Fozzy
Par ou commencer... Voila, je viens de lire HZV9, j'avais d'ailleurs été
surpris par l'annonce d'une faille dans boursorama. Surtout que deux semaines
auparavant (un peut plus en fait) j'avais, dans le numéro deux de mon
mag (LOTFREE#2), déjà mentionné le fait qu'une certaine
société de bourse en ligne ne cryptait pas ses cookies (toutefois
sans mentionner qu'il sagissait de boursorama) bien sur il peut s'agir d'une
coincidence mais au cas où l'idée te serait venue en lisant mon
mag j'aurais préféré que tu y fasses un clin d'oeil.
Bref parlons d'autre chose, puisque on est dans la série des remarques je trouve que votre mag (quoique bien il faut l'avouer) prend un certain ton (dès les premières lignes on voit le mot elite). J'ai toujours pensé qu'une personne qui s'autoproclame élite n'est rien de plus qu'un lamer, un peu à l'image de Kimble dont vous faites l'éloge qui s'autoproclame "roi des hackers" alors que c'est un escroc qui n'a fait que profiter des evennements du 11 septembre. Bien sur j'admet qu'il doit avoir énormément de connaissances en hacking mais il a dut oublier de lire certains textes de The Mentor. Bref vous adulez une personne qui n'a rien d'un héro et qui n'a fait qu'entretenir une vague de racisme qui a lieu en ce moment envers les sites islamiques.
Sinon un peu de compliments (ouf !!): j'adore ce que tu fait et j'ait adoré ton article sur le défacage par php (vraiment très bien), à la fin tu fait référence au hack de madchat qui a été fait par wizeman et un autre mec. Tu saurais où je peux trouver ce zine ? Je n'ai qu'une version texte et résultat un tas de truc on sautés (sans les images c pas facile).
Voilà je crois que j'ai tout dit. Réponds moi vite pour boursorama histoire que je dorme sur mes deux oreilles (quand on est newbie, si on se fait piquer une idée pour la voir plus tard dans un journal ça dégoute pas mal).
Mon site web : multimania.com/lotfree
Sinon comme je suis pas rancunier voici un article sur de VRAI hackers : le CCC de Hambourg (pas le ccf avec cet ****** de Condat). Allez @+. Sirius Black.
Le CCC condamne des attaques contre des systèmes
de communication
UNE COMPRÉHENSION INTERNATIONALE PLUS IMPORTANTE QUE JAMAIS
En réaction aux meurtres incroyables commis aux USA, circule actuellement au sein de la scène hacker un appel à détruire des sites Web, et d'autres systèmes de communication liés à l'Internet, dans des pays islamiques ou employés par des organisations islamistes.
Le Chaos Computer Club condamne fermement cet appel et demande à chacun d'ignorer celui-ci comme tout autre appel semblable. Étant une union galactique de hackers, nous ne pouvons tout simplement pas imaginer dans la situation actuelle de diviser le monde en bon et mauvais et d'utiliser - comme seule raison - la religion comme critère pour une telle ségrégation.
La compréhension des événements récents est un véritable défi pour toute personne vivant sur cette planète et dans le village global. Étant des hackers, cependant, nous devons essayer de faire le « world processing » nécessaire dans l'esprit de l'humanité. « Nous faisons face à cette puissance de destruction et nous nous sentons abandonnés. Nous croyons cependant dans le pouvoir de la communication, un pouvoir qui a toujours eu le dernier mot, et qui est une force bien plus positive que la haine », a déclaré Jens Ohlig, porte-parole du CCC.
« les infrastructures électroniques de communication comme l'Internet sont désormais nécessaires pour contribuer à une compréhension internationale d'une situation comme celle-ci, qui est tout naturellement tendue !, et il n'est tout simplement pas acceptable de vouloir couper des lignes de communication et de renforcer ainsi les bases de l'ignorance », a ajouté Andy Müller-Maguhn le porte parole du CCC.
Le Chaos Computer Club, qui célébre son 20ème anniversaire, revendique dans ses principes la liberté de l'information et une communication au minimum mondiale, et sans entrave, comme droit de l'homme.
En 1999, le CCC s'est associé à une coalition internationale des groupes de hackers (Cult of the Dead Cow, 2600, L0pht, Phrack, Pulhas, Toxyn, !Hispahack et plusieurs membres de la communauté hackers hollandaise) pour condamner fermement l'utilisation des réseaux comme champs de [bataille, pas bétail] : « ne participez à aucun acte [de] « cyberguerre ». Maintenez en vie les réseaux de communication. Ils sont le système nerveux pour le progrès de l'humanité. ».
Chaos Computer Club
09/13/2001
Bon voilà donc le mail que je lui ait envoyé, vous remarquez aussi l'article sur le CCC dont j'ai fait un dossier pour ce numéro. Cela dit j'aurais pu aussi leur dire que l'article sur Kimble ils ont dut le pomper sur Zataz Magazine mais bon qui ne pompe pas sur Zataz ? Bon voici la réponse de Fozzy (qui a répondu très vite d'ailleurs) :
De: FozZy <FozZy@dmpfrance.com>
Objet: Re: hzv
A: Sirius Black<lotfree@multimania.com>
Salut,
Merci de tes remarques.
Je cite toujours mes sources. En l'occurence, j'aurais évidemment cité
ton mag, mais en plus je t'aurais contacté pour savoir si tu voulais
écrire toi meme l'article ou une partie de celui-ci. Si ca peut te rassurer,
Boursorama ayant corrigé (tres mal) ce probleme depuis fin février,
si ton mag est paru apres cette date, c'est la preuve que je n'ai pas "pompé"
sur toi... D'autre part, regarde ce lien : c'est un gars qui a publié
cela APRES nous, sur bugtraq, apparemment en toute bonne foi :http://online.securityfocus.com/archive/1/265250
et j'ai un copain qui m'a dit l'avoir remarqué lui aussi, car il utilise
boursorama, mais il n'a jamais pensé a le dire au public car il ne travaille
pas dans la sécurité et n'a pas ce réflexe.
Donc tu vois, on n'est pas les seuls...
Si tu trouve des failles de ce genre, ou d'autres, si tu veux je pourrai t'aider
a les publier sur internet (bugtraq) et dans hzv, en citant ton e-zine, et en
précisant clairement que tu es le découvreur de la faille.
Si tu veux écrire des articles pour hzv, puisque tu pense que c'est améliorable
(ce qui est vrai !), pourquoi pas aussi mais il faut qu'ils soient bons. (of
course ;)
Concernant kimble et le ccf... je suis plutot d'accord avec le ccf. mais attention
il parait que l'idee originale de kimble a été détournéé
et a dégénérée sans qu'il arrive a recadrer les
choses.
Voila...
a+
FozZy
Je peux vous dire que ça m'a rassuré. Bien sûr il aurait pu me mentir mais je lis pas mal HZV et je sais que Fozzy a compris la notion de communauté chez les Hackers donc je lui fait confiance. C'est pas un truc dont on parle souvent, la notion de communauté du hacking mais elle consiste juste à partager ses conaissances et surtout à respecter les originaux (toujours laisser le nom du mec qui écrit l'article, laisser tel quel). Bien sûr on peut rajouter des commentaires... Ceux qui me font marrer ce sont ceux qui laissent le nom mais qui ne disent pas d'où ça vient. C'est à dire que le mec fait croire que par exemple, Mitnick a bien voulu écrire dans leur mag... LoL
Magic Lantern : Le virus du FBI
Il s'agit d'un truc très grâve et dont peut de personnes sont au courant. J'ai fait pas mal de recherche dessus et puis au boût d'un moment je suis tombé sur une petite revue de presse, les auteurs sont bien sûr marqués et j'ai rajoutés quelques articles pris ailleurs. Comme cela prenait trop de place c'est dans un fichier à part qui est ici.
Honnétement lisez les articles c'est vraiment un truc de dingues !!!
Voici un article que j'ai trouvé à part mais impossible de dire d'où il vient :
Le FBI crée le virus Magic Lantern
Lundi 17 Décembre 2001 M.O.
Après avoir alimenté la rumeur depuis deux semaines, l'existence du virus d'écoute Magic Lantern, développé par le FBI, vient d'être confirmée. Les principaux éditeurs d'antivirus se sont déjà prononcés pour ou contre sa détection. Cruel dilemme : un professionnel de la sécurité doit-il éradiquer ou non une infection conçue précisément à des fins sécuritaires ?
Les plus loyalistes, McAfee et Symantec, ont
déclaré aller dans le sens du Bureau fédéral et
ne rien tenter à l'encontre d'un Magic Lantern. L'éditeur AVP
est moins conciliant, et signale
que l'on commence déjà à voir fleurir des virus tels que
Malantern. Selon lui, si les éditeurs d'antivirus laissent une faille
dans leurs produits et qu'un pirate la détecte, il n'aura de cesse de
l'exploiter à des fins destructrices.
Dans la continuation de mes articles sur Telnet, on s'attaque au port 80 qui est celui qui vous permet de surfer sur le Web.
Le port 80 correspond au http (Hypertext Transfer Protocol), et comme tout protocole, il est composé de méthodes, de requêtes et de réponses. Il a été définit comme tout les autres protocoles par le W3C (le World Wide Web Consortium) dont l'adresse est www.w3.org. Cet organisme a pour but de créer des standarts pour le web. Car en effet avant le web il y avait un tas de réseaux et chacun utilisait un protocole différent (j'exagère un peux). Puis un jour on s'est dit que ce serait bien de faire une norme pour que tous les pc puissent communiquer entre eux. C'est pour cela que l'on a créé le protocole tcp/ip qui est en fait une suite contenant un tas de protocoles.
Chaque protocole, syntaxe... est défini dans un Request for Comments, ce sont des documents qui spécifient une norme. La connaissance complète d'un protocole se fait donc obligatoirement par ces documents. Cet article a été grandement inspiré de la RFC 2616 qui spécifie la norme http dans sa version 1.1. Evidement je ne vais pas tout mettre même si il y a beaucoup de choses intéressantes (l'original fait tout de même 176 pages). Je me suis aussi inspiré d'une doc sur les cgi surtout pour les exemples de type MIME.
Introduction
Le http est utilisé depuis 1990, la première version (0.9) permettait simplement de spécifier le transfert de données brutes. Il a ensuite été évolué en une version bien mieux (1.0) qui définissait le type MIME : Multipurpose Internet Mail Extensions qui permettait à l'origine de savoir le contenu d'un mail. Maintenant ça décrit aussi le contenu d'un document. Les plus utilisés sont :
- text/html : document html
-text/plain : fichier texte
- image/gif : je vous laisse deviner ;-)
- image/jpeg : pareil
- audio/x-wav : pour le format wave
La version 1.0 revoyait aussi la sémantique du protocole. Comme on peut s'en douter la version 1.0 présentait des lacunes, notemment la notion de connexion persistante (c bête ça) et d'hôte virtuel. De plus les applications utilisant HTTP/1.0 avait des capacitées qui variaient de l'une à l'autre. Tout a été corrigé dans la version 1.1 qui regarde d'abord les capacités des logiciels qui communiquent entre eux.
Le HTTP définit ses requêtes par des en-têtes (les headers). Il s'appuit sur les notions de URI (Uniform Resource Identifier), URL (pour Location) et URN (... Name) que nous allons voir plus en détail plus tard.
Terminologie : le vocabulaire à savoir.
Connection : (j'utilise le terme anglais sans x car les autres termes seront aussi en anglais) C'est une couche virtuelle (électronique) de transport de données qui s'établie entre deux programmes afin d'établir une communication.
Message : unité basique de communication http, c'est une séquence structurée d'octets transmise par la connection. Elle est basée sur une syntaxe que nous étudierons plus tard.
Request : message de requête (demande) http.
Response : message de réponse http.
Resource : un "objet de données en ligne" ou un service qui peut être identifié par une URI. Plus simplement c'est un objet auquel on peut accéder sur un réseau.
Entity : Je trouve que ce terme n'est pas très pratique car il définit le contenu d'un message (de requête ou de réponse). Il est divisé en deux : l'entity-header et l'entity-body (bref la tête et le corps du message).
Client : un programme qui établit une connection dans le but d'envoyer une requête.
User-Agent : on verra ça dans la pratique, c'est le client qui commence la requête. La plupart du temps il s'agit de votre navigateur (browser), mais ça peut-être un autre logiciel voire même un robot de recherche (style Yahoo!). D'ailleurs il ya un article dans le phrack 57 fichier 0x0a sur ces "agents intelligents".
Server : ne voyez pas un serveur comme un pc ou un site web. Voyez le plutôt comme un serveur dans un chevel de troie : un serveur est une aplication qui accepte la connexion afin de répondre à une requête. Presque tous les programmes sont à la fois client et serveur.
Origin server : le serveur sur lequel se trouve la ressource que l'on veut obtenir.
Proxy : un programme intermédiaire, à la fois client et serveur il fait donc le relais entre vous et la ressource que vous demandez. Il y a les proxy "transparents" qui ne modifient ni la requête ni la réponse quand elles passent par eux et les proxy "non-transparents" qui vont rajouter des détails... Ils sont utilisés par les hackers car certains proposent un service d'anonymat (anonymity filtering) qui leur permet d'être (relativement) intraçable.
Gateway : un serveur qui joue le rôle d'intermédiaire mais qui contrairement au proxy se fait passer pour le "origin serveur". Le client croit que le gateway possède la ressource. Si vous en savez plus sur les gateways, envoyez moi un mail car j'ai du mal à comprendre comment ça marche.
Tunnel : un programe intermédiaire qui fonctionne comme un relais "aveugle" entre deux connexions. Une fois actif le tunnel est comme invisible dans la communication http. Dès que la connexion est finie le tunnel cesse d'exister. Mais grâce au dossier d'anonymat sur internet qui a été écrit par le mec de anonymat.org (allez le prendre ainsi que celui sur la téléphonie c'est super génial), j'en sait un peu plus. Un tunnel est une "liaison cryptée" entre vous et votre proxy. Alors que vous n'étiez pas totalement anonyme avec un proxy car votre FAI (fournisseur accès Internet) pouvait déterminer où vous allez, avec un tunnel, le FAI reçoit les données en crypté et ne peux donc pas les lire. Plusieurs sites proposent ce service mais en général il est payant (il y a celui de anonymiser.com par exemple).
Voilà j'ai passé pas mal de trucs mais on a le principal.
Paramêtres du protocole
La version du http : la syntaxe est HTTP/num_version. Le numéro de la version que l'on utilisera sera 1.1. Notez que HTTP/2.04 se note HTTP/2.4 donc la version HTTP/2.13 serait plus récente que HTTP/2.4 (exemples fictifs).
Uniform Resource Identifiers : URIs ce sont des chemins (path) soit relatif soit absolus. On verra ça plus tard. En attendant ne les confondez pas avec les URLs.
Uniform Resource Location (URL) : L'adresse d'une ressource Internet, la syntaxe est "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]] . Le port n'est en général pas indiqué car il est pris par défaut (80). Le host est de la forme www.serveur.com ou encore serveur.org.... Le path est de la forme /lotfree/index.html par exemple. Au cas ou il s'agit d'une requête (généralement par un script) on peut avoir un truc du genre /machin/truc.php?nom=bidule
URI comparison : Les URIs ne sont pas case-sensitive
(pas de distinction maj/minuscule). Un caractère peut être encodé
par %xx ou xx correspond à son code ascii en hexa sur 2 caractères.
C'est très utilisé par les hackers car dans certaines failles
cela permet d'exécuter des commandes chez l'hôte.
Une faille ultra connue est :/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
passez votre souris sur le lien (sans cliquez) et regardez en bas de votre navigateur
comment sont interprétés les codes. Le %0a correspond à
la touche Entrée et le %20 à un espace.
Message types : On a vu qu'un message était
soit une requête soit une réponse. La syntaxe est la suivante :
generic-message = start-line
*(message-header
CRLF)
CRLF
[
message-body ]
start-line = Request-Line | Status-Line
Le CRLF correspond à carriage return (retour à la ligne) et LF
à line feed (fin de ligne). Les en-têtes sont des infos, le corps
est l'objet de la demande/réponse. Nous verrons des exemples plus tard.
La start line soit une demande soit l'état de la réponse.
Request : voyons la syntaxe d'une requête
:
Request = Request-Line
*((
general-header
|
request-header
|
entity-header ) CRLF)
CRLF
[
message-body ]
Et la request-line est de la forme : Method
SP Request-URI SP HTTP-Version CRLF avec SP représentant
un espace. La syntaxe de la requête est la plus importante que l'on va
voir.
Method : les méthodes sont les commandes que l'on peut utiliser. Il y a OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT.
Request-URI : on a vu ça dans la syntaxe
de la ligne de requête. C'est donc un chemin. Voici quelques exemples
dans lesquels il y a des URIs :
OPTIONS * HTTP/1.1 ici l'URI se
limite à *
GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
Ici l'URI est un chemin complet
(une URL).
Et en 2 ligne :
GET /pub/WWW/TheProject.html HTTP/1.1
ici l'URI est un chemin relatif
Host: www.w3.org
Cette dernière syntaxe est celle que l'on va utiliser.
Request header fields : Il y a tellement de champs d'en-têtes différents
qu'on va se limiter à un petit nombre. Ils apportent des infos bien pratique
tel que le type de données acceptées, le type d'encodage, des
données pour les proxys, des gestions de modification (utilisés
par les navigateurs afin de voir si une page doit être rafraîchie
ou si on charge une version enregistrée sur votre disque). Ceux que l'on
va utiliser sont HOST, Referer er User-Agent mais on peut en voir un peu en
plus.
Response : la syntaxe est semblable à celle
de la requête sauf qu'il sagit d'une status-line et de response-header...
La réponse est très utile au hacker car elle renvoit des informations
sur le serveur (surtout son type).
La syntaxe de la status-line : Status-Line = HTTP-Version
SP Status-Code SP Reason-Phrase CRLF
La version du http nous est renvoyé avec le status-code. Le plus
célébre code est le 404 que l'on voit souvent. La reason-phrase
est la traduction en mots du code.
Status Code and Reason Phrase : le status code
tient sur 3 chiffres. Le plus important est le premier. On peut les considérer
comme les panneaux de signalisations. Le premier numéro
étant le type du panneau (comme obligation, interdiction, info...).
Quelques codes :
1xx: Informational - Request received, continuing process (le navigateur va
réessayer)
2xx: Success - The action was successfully received, understood, and accepted
(ça marche !!! le code que vous ne verez pas dans votre navigateur ;-)
3xx: Redirection - Further action must be taken in order to complete the request
(redirection)
4xx: Client Error - The request contains bad syntax or cannot be fulfilled (arg
!! t'as mal tapé l'adresse ou mal tapé la requête dans telnet)
5xx: Server Error - The server failed to fulfill an apparently valid request
(problème côté serveur, rien à faire)
Et un peu plus en détail ceux sur lesquels
je suis déja tombé : 101 - switching protocols (?), 301 - move
permanently (vu une seule fois et il voulait pas m'afficher la page) 400 - Bad
request (erreur en tapant dans telnet) 404 - Not found (mauvaise adresse).
Perso je ne vois pas de différences entre 401 - Unauthorized et 403 -
Forbidden.
500 - Internal serveur error.
Il y en a beaucoup d'autres surtout dans les 4xx. Pour plus de
détails --> RFC2616 où chaque code est détaillé.
Response header fiels : on va faire très vite. Le plus intéressant dans la réponse est le champ Server. En règle général il y a Date, Age (Cache-control, Expires), Transfer-Encoding et Content-Type.
Methods (ce que vous attendez tous :-) :
- OPTIONS : permet de savoir les méthodes
qui s'appliquent à une ressource
ex : OPTIONS /index.html HTTP/1.1
HOST:www.perdu.com
Si vous mettez * comme ressource vous obtenez des méthodes générales,
des infos banales...
- GET : la méthode que l'on va le plus utiliser. C'est celle que vous utilisez pour lire les pages web. C'est donc une demande du client vers le serveur.
- HEAD : pratique puisqu'elle ne renvoit que les headers (prise d'info). S'utilise comme GET. Essayez HEAD / HTTP/1.1
- POST : demande d'acceptation de données par le client au serveur. Il s'agit en général des infos que vous transmettez via un formulaire. Je ne connais pas la syntaxe mais elle doit ressembler à celle utilisé dans les pages web (on verra ça dans le num 4).
- PUT et DELETE : semblable à leur fonctions ftp, poser et effacer une ressource. Des fonctions qui doivent être permises à l'admin. (gestion de site web)
Headers :
Bon là j'ai sauté énormément de trucs car ya pas grand chose qui va nous servir dans les headers.
- From : je ne sais pas vraiment à quoi il sert mais je le met quand même. Une méthode d'identification apparemment. Du style From: machin@truc.com
- HOST : la syntaxe est "Host" ":" host [ ":" port ] en général on met pas le port. Par exemple HOST:www.perdu.com. Ainsi pas besoin de mettre l'URI complète.
- Referer : arf !! L'adresse web d'où on vient (par un lien). Pas mal utilisé pour les statistiques. Ainsi on peut faire croire que l'on vient de n'importe où. Attention il faut mettre l'URL compléte avec le http:// on appelle aussi le referer le back-link.
- Location : même syntaxe que le referer. Utilisé pour les redirections.
- User-Agent : champs qui contient des infos sur le client par exemple :User-Agent: Mozilla/4.0 (compatible; MSIE 4.0; Windows NT) dit que vous utilisez Internet Explorer 4.0 avec Windows NT. Mozilla était au début le nom de code d'une version de Netscape mais évidemment Microsoft a piqué ce nom. Résultat : ils renvoient presque tous Mozilla. Voici un autre exemple : User-Agent: Lynx/2.7 celui-ci ne donne pas son système d'exploitation. Pour trouver des infos à envoyer comme User-Agent faites une recherche sur google.
Voilà on a fini pour la théorie. Sachez qu'après dans la RFC il y a d'autre trucs sur la sécurisation du HTTP/1.1, ça parle de DNS spoofing, d'attaques, de proxys de denial of service...
Bon c'est bien beau tout ça mais à
quoi ça nous sert ? Et bien déjà la connaissance d'un protocole
est super pratique surtout que celui là est sans doute le plus utilisé.
Ensuite cela permet d'exploiter certaines failles CGI, PHP... Ensuite si vous
utilisez un sniffer cela vous permet de comprendre ce que c'est que les GET
/index.html HTTP/1.1 qui sont enfouis dans le code ASCII que vous sniffez. On
peut aussi dire que c'est un pas vers l'anonymat : cela permet de faire croire
que l'on a tel OS et tel Navigateur.
Sinon vous pouvez toujours crâner devant vos potes en leur sortant
la définition de tel ou tel status-code ("he tu savais que le 402
c'est un Payment Required ?" ;-).
On peut bien se demander ce qui m'a poussé
à aller voir dans une RFC. Et bien j'ai été obligé
lors d'un level d'un challenge de hacking (www.try2hack.nl mon préféré
;-)
En effet pour passer le level je devais avoir Linux avec Internet Explorer et
venir d'un lien de chez Microsoft. D'abord ça m'a fait chier (pas de
PC où je peux mettre linux et IE et le mien n'est pas connecté
au web) quand au lien de chez microsoft avec un peu de cross site scripting
ça devais être possible mais g pas essayé. Mais si il suffisait
d'installer des logiciels se aurait été trop facile donc y'avait
un truc. Grâce au forum j'ai pu trouver des infos puis j'ai donc lu la
RFC et maintenant je suis au Level 9. Honnétement essayez try2hack c'est
vraiment trop fort même si j'ai bientôt fini :-(.
Voici donc quelques exemple de pratique mais étant donné que je vous ai donné toute la syntaxe ça va pas vous aidez beaucoup plus cependant cet exemple montre une utilité : la protection/selection du serveur sur le client.
Quand j'accedais au script par une simple requête
(basique) :
GET /cgi-bin/xxxxxx HTTP/1.1 //j'ai
masqué le script pour vous empéchez de tricher à try2hack
;-)
HOST: www.try2hack.nl
HTTP/1.1 200 OK
Date: Sun, 24 Mar 2002 09:13:22 GMT
Server: Apache //tiens tiens un serveur apache
Cache-Control: max-age=604800
Expires: Sun, 31 Mar 2002 09:13:22 GMT
Transfer-Encoding: chunked
Content-Type: text/html
16c
<HTML><HEAD><TITLE>Try2Hack</TITLE></HEAD><BODY><PRE>
<B>Browser check :</B><BR>Sorry, but you must use Microsoft
Internet Explorer 6. // ce connard veux IE 6.72
72<BR> <BR><B>OS check :</B><BR>Sorry,
but you must use a UNIX/LINUX system // sur un UNIX/LINUX
.<BR><BR> <BR><B>Link check :</B><BR>Sorry,
but you must get here from a li
nk on the page: http://www.microsoft.com/ms.htm</PRE></BODY></HTML>
// en plus il faut que je vienne de microsoft
0
En modifiant un peu ma requête :
GET /cgi-bin/xxxxxxx HTTP/1.1
HOST:www.try2hack.nl
Referer:http://www.microsoft.com/ms.htm //hehe je viens
de chez microsoft
User-Agent:Mozilla/4.0 (compatible; MSIE 6.72; UNIX/LINUX)
// on leur donne ce qu'ils demandent ;-)
HTTP/1.1 200 OK
Date: Sun, 31 Mar 2002 21:58:08 GMT
Server: Apache
Cache-Control: max-age=604800
Expires: Sun, 07 Apr 2002 21:58:08 GMT
Transfer-Encoding: chunked
Content-Type: text/html
118
<HTML><HEAD><TITLE>Try2Hack</TITLE></HEAD><BODY><PRE>
<B>Browser check :</B><BR>OK<BR> <BR><B>OS
check :</B><BR>OK<BR> <BR><
B>Link check :</B><BR>OK<BR> <BR><A HREF="../xxxxx.html">Level
8</A><BR>P // j'ai encore caché quelques
trucs
assword for the messageboard is : xxxxxxxxx</PRE></BODY></HTML>
// essayez franchement ce site vous fait progresser
0
Voilà c'est terminé pour cet article (ouf). D'ailleurs maintenant que je m'en rend compte j'ai utilisé de drôles de couleurs (vert jaune rouge), je vous jure que j'ai pas fait exprès.
Alors là je suis fan. Le CCC est un groupe très ancien de hackers allemands et il est toujours en activité, même si maintenant il est plus là en terme de revendications qu'en terme de hacking. Voici un dossier sur l'histoire de ce super crew.
Bon on commence avec l'article de Zataz (le plus complet que j'ai trouvé).
Chaos Computer Club
Il existe en Europe, depuis les années 80, un groupe de hackers pas comme les autres. Ils sont allemands, ont fait les 400 coups mais sont restés dans le droit chemin. Ils sont membres de la même équipe, celle du C.C.C., le Chaos Computer Club.
La communauté galactique
L'idée de ce groupe, Liberté d'expression et informatique sans
maître. Le Chaos revendique d'ailleurs la liberté de l'information
arguant Qu'il est impératif que les gens puissent se faire une opinion
par eux même. En 1984, ils lanceront leur manifeste : "Nous réclamons
la reconnaissance d'un nouveau droit de l'homme, le droit de la communication
libre, sans entrave, à travers le monde entier, entre tous les hommes
et tous les êtres doués d'intelligence, sans exception. Les ordinateurs
sont des instruments de jeu, de travail et de pensée. Mais il est surtout
le plus important des nouveaux médias. Nous nous élevons contre
la politique de panique et de crétinisation qui sévit en matière
d'ordinateurs, de même que contre les mesures de censure de groupements
industriels internationaux, des monopoles des postes et gouvernements".
Pour faire passer son message, le C.C.C. usera des médias
pour s'assurer que le public puisse véritablement se faire sa propre
opinion sur le merveilleux monde qu'est l'informatique. Son fondateur, Herwart
Holland-Moritz, expliquait ses agissements et celui de son groupe comme
" Un acte de création, pratique et irrespectueux". Herwart
Holland-Moritz, alias Wau
Holland est décédé le 29 juillet 2001 d'un arrêt
cardiaque.
Le premier coup d'éclat du C.C.C. se réalisera en 1984, de mémoire de vieux briscard de la micro, un coup qui restera gravé dans toutes les mémoires. Les hackers du C.C.C. détourneront 135 000 marks via la Caisse d'épargne de Hambourg. "Informer le public" était l'unique but avoué à l'époque. En 1997, des membres du Chaos Computer Club démontreront, en direct à la télévision allemande, la défaillance d'un logiciel utilisant les ActiveX de Microsoft. Ce logiciel était déstiné aux agences bancaires. Il devait permettre les transactions de l'argent d'un compte à un autre. Le Chaos Computer Club s'impose donc très vite comme le groupe représentatif de l'idéologie du hacking. "Ne rien détruire mais donner la réplique aux abus du corporatisme technologique." Le problème est que le C.C.C. a souvent divulgué ses actes après que la presse en parle dans ses colonnes. Le C.C.C. jouait-il un double jeu dans les années 80 ?
Hacker blanc et hacker rouge
Fin des années 80, le C.C.C. est devenu un groupe
de référence fort d'une centaine d'adhérents et prêt
de 400 sympathisants.
Dans ce groupe des ado, des ingénieurs, maîtrisant parfaitement
l'informatique et donc cible parfaite pour des services de renseignements étrangers,
comme le KGB, qui ne s'y trompera pas.
Des membres du C.C.C. pirateront de grandes sociétés, tels
que Thomson, le CERN ou encore le CRAY de polytechnique.
Le piratage de ce super calculateur était considéré, à
l'époque, impossible. Le KGB apparaît dans l'affaire du
piratage du VAX de Philips France en 1986 à Fontenay-sous-bois.
A cette époque Philips travaille avec les militaires sur un projet
proche des missiles Exocet. Des informations sont volées et revendues
à l'URSS.
L'un des pirates, membre du C.C.C., sera d'ailleurs retrouvé par
la police allemande, mort dans un mystérieux incendie à Hanovre.
Le C.C.C. connaîtra d'autres incidents et un autre décès,
tout aussi mystérieux. Ce nouveau mort se nomme TRON, un génial
concepteur dans sa spécialisation, la cryptographie. Il sera retrouvé
mort, dans le parc de Neukölln à Berlin. Pendu avec sa ceinture,
le problème est que ses pieds touchaient le sol. Le C.C.C. communiquera
son avis sur le sujet : "Les sources de la police laissent à croire
qu'il s'agirait d'un suicide. Nous ne partageons pas du tout cette opinion.
Tron fut l'une des plus brillantes têtes de file des hackers en
Europe. Il présenta les possibilités d'élaboration de cartes
contrefaites pour les téléphones publics. Il développa
et conclu la première de ces "miracle cards". Poussé
par l'envie de rechercher et d'explorer toutes les possibilités techniques,
il frôla les limites des lois et fut condamné avec sursis. Après
cette expérience, il ressentit le besoin de tirer un trait et contacta
le Chaos Computer Club. Il utilisa ensuite son énergie créative
et son potentiel sur des projets qui ne lui poseraient plus de problèmes
avec la loi. Dans sa récente thèse, il écrivit sur l'utilisation
de systèmes modernes de cryptage dans les télécommunications.
Le montage qu'il développa et présenta: un Brouilleur à
faible coût utilisant des méthodes de cryptage pour sécuriser
les conversations téléphoniques sur les lignes ISDN, devint un
standard due à sa simplicité et sa taille compacte. TRON
fut aussi un de ceux qui présenta le moyen de cloner les smart cards
GSM en Allemagne. Son grand savoir et sa créativité jouèrent
un grand rôle dans le succès de son projet. TRON a toujours
eu un caractère direct et une personnalité très ouverte
et n'a jamais eu de problèmes. Nous ne voyons aucunes raisons pour lui
de s'être suicidé et nous espérons avoir plus d'information
par l'enquête de la police."
Alors que le C.C.C. est devenu, en 1986, une organisation légale,
la police de Hambourg, à la demande d'un juge français, perquisitionne,
en 1987, les locaux du C.C.C., suite au piratage de Philips. Bilan,
la justice va découvrir que des membres du C.C.C. ont piraté
le C.E.A. français, le C.N.R.S., l'Observatoire de Paris,
la N.A.S.A.,
En 1989, la B.F.V., équivalent de notre
service français, la D.S.T. arrête une dizaine de membres
du C.C.C. qui ont eu la fâcheuse habitude de pirater des sites
militaires américains et des centres de recherches de l'aérospatiale
et nucléaire. Ils travaillaient pour le KGB, depuis 1985, en échange
d'argent et de drogue. La D.S.T. découvrira que le piratage de
Thomson ne servait en fait que de passerelle entre les pirates allemands
et les services de renseignements russes.
Le C.C.C. France, piége à pirates
Fin des années 80, la France commence sérieusement
à s'inquiéter de ces intrusions. Via son service de contre espionnage,
la Direction de la Surveillance du Territoire, l'Hexagone va mettre en
place un club identique au C.C.C. de Hambourg. Il sera crée en
1989 et sera judicieusement nommé le C.C.C. France.
A sa tête, Jean Bernard Condat, un jeune informaticien, comme porte-parole
et J.L.D. son officier de liaison. Le but de ce "club" regrouper des
pirates sous la même bannière, tracer leur savoir-faire et remonter
les piratages et leurs acteurs. Il ne faudra pas bien longtemps à la
D.S.T. pour organiser ce qui est encore appelé aujourd'hui "LA
grande rafle" avec pas moins d'une cinquantaine de jeunes pirates arrêtés.
Nous avions posé la question au responsable de la D.S.T. au sujet
de cette inflitration, voici sa réponse : "A partir du moment où
on s'intéresse à ce qui se passe dans ces milieux là, on
diligente des enquêtes tant en France que sur le plan international dans
la mesure ou l'Internet aboli les frontières. Nous avions une enquête
en cours sur des affaires d'intrusions sur notre territoire qui nous a amené
à identifier des auteurs qui se situaient en Allemagne. L'enquête
au sujet de certains membres notamment du Chaos Computer Club allemand,
a montré qu'ils ont voulu vendre des informations aux services secrets
soviétiques (K.G.B.) ". - L'interview de ce responsable de
la DST <dst.htm> -
Voici un extrait d'une interview
<http://the.wiretapped.net/security/info/textfiles/chaos-digest/chaos-digest-73.txt>
de monsieur Condat trouvée sur le web. "Au C.C.C.F. nous
ne sommes que 72, on ne peut pas être plus dans notre groupe... On les
prend à la sortie de Polytechnique, généralement ils sont
membres de la Mensa, sains de corps et d'esprit, ayant de quoi vivre largement
au-dessus de leurs moyens, et moi je suis la carotte. Moi, je suis secrétaire
général, je suis là pour parler et émettre, mais
je suis le plus con de tous. En informatique, je ne sais rien. Je ne suis pas
la cheville ouvrière, mais la reine (ou le roi) visible de l'essaim (
)
Tous les services du monde ont essaye de nous approcher, sauf les services français.
Ils ne vous approchent pas. Ils vous piétinent, et après ils vous
demandent l'autorisation." Le C.C.C.F <http://www.magic.be/InterieurNuit/SiteMars/Condat.html>.
n'existe plus depuis 1991 et Jean Bernard Condat est une marque déposée.
Nous lui avons posé quelques questions au sujet du C.C.C. - Interview
de M. Condat <cccf.htm> -
Le C.C.C. aujourd'hui
En ce début de siècle, le C.C.C. de Hambourg est devenu
une association comme les autres, connue et reconnue, avec ses petites fêtes,
ses conférences et ses coups d'éclats. Le dernier en date, la
remise du prix Big Brother, lors du CeBIT 2001, à la société
Siemens. Un prix satirique pour le logiciel "SmartFilter" un filtre
qui "Censure Internet et la communication." L'autre grand coup du
C.C.C. est l'élection d'Andy Müller-Maghun, représentant
européen auprès de l'Icann, l'organisme chargée
de la gestion des noms de domaine, mais aussi et surtout, le porte-parole du
Chaos. Il sera élu le 10 octobre 2000 avec 5 948 voix et représente
du coup l'Europe au sein du Conseil d'Administration de l'Icann. "Je
ne cache pas que j'ai été surpris d'être en tête dans
cette élection. Comme porte-parole du Chaos Computer Club je semble
être bien connu en tant que personne qui représente les intérêts
de la communauté des internautes. Liberté de parole, intimité
et maintenir l'Internet comme un espace public sans que cela ne devienne la
chasse gardée des compagnies ou des gouvernements. Je pense que les gens
s'attendent à ce que j'introduise nos positions de liberté dans
les discussions au sujet de l'architecture du Web, de sorte que de futures politiques
et règles ne soient pas faites uniquement par les industriels."
Nous Expliquera-t-il. - Interview de M. Müller-Maghun <ccc.htm>
-.
Le site de Wau Holland
<http://wauland.de/>
Le site du C.C.C.
<http://www.ccc.de/>
Un article de transfert.net :
Un hacker à l'ICANN
par Edgar Pansu
Les internautes étaient appelés à voter pour élire
une partie du conseil d'administration de l'ICANN, organisme responsable des
noms de domaine.
Le président d'un groupe de hacker fait partie des élus.
La consultation "at large" (élargie) de l'ICANN a pris fin mardi 10 octobre au soir. L'Internet Corporation for Assigned Names and Numbers, organisme qui gère les noms de domaine sur le Web (voir encadré), proposait aux internautes d'élire cinq membres (sur 19) de son conseil d'administration. À chaque continent correspondait un élu. Les électeurs européens, en majorité allemands, ont choisi pour les représenter Andy Müller-Magun, porte-parole du Chaos Computer Club, groupe "historique" de hackers teutons. Déjà largement en tête lors du premier tour, Müller-Magun a remporté la partie européenne du scrutin avec 5 948 voix. Arrivée en seconde position, l'Allemande Jeanette Hoffmann, issue elle aussi du premier tour, a recueilli 2 295 voix. Car c'est tout le paradoxe de ces élections sensées démocratiser l'ICANN : certains candidats, désignés par le conseil d'administration de l'organisme, se présentaient directement au deuxième tour. C'est le cas de trois des cinq nouveaux directeurs : le Ghanéen Nii Quaynor - élu pour l'Afrique -, le japonais Masanobu Katoh, pour l'Asie et le brésilien Ivan Moura Campos, pour l'Amérique Latine. Mis à part Andy Müller-Maghun, le seul élu issu du premier tour est l'Américain Karl Auerbach, employé de Cisco Systems, qui représentera l'Amérique du Nord.
Progression des scores en direct
Outre la contestable désignation de candidats par l'ICANN,
le mode de scrutin en a surpris plus d'un : lors du premier tour, les internautes
inscrits à l'élection pouvaient observer en temps réel
la progression des scores des divers candidats, ce qui pouvait les décourager
de voter pour les candidats ayant récolté peu de voix.
Andy Müller-Magun, qui se présente comme la voix des internautes
citoyens pourra-t-il imprimer ses idées à l'organisation et faire
changer les pratiques de l'ICANN ? Rien n'est moins sûr, puisqu'il ne
sera qu'un des 19 directeurs. "Il ne vient pas du sérail donc son
arrivée ne va pas plaire à tout le monde", confirme Loïc
Damilaville, spécialiste des noms de domaine pour qui la présence
du hacker "est un bon signe". Pour peu, précise-t-il "qu'il
joue le jeu et ne représente pas uniquement les intérêts
du Chaos Computer Club".
© 2000 Transfert.net
Un autre article made in transfert.net (ils existent aussi en journal) :
Wau Holland, un des fondateurs du Chaos Computer Club,
meurt à 49 ans.
Il l´avait compris avant tout le monde : les ordinateurs
ne sont pas réservés aux entreprises et à l´armée,
ce sont des moyens de communication et d´émancipation politique
pour tout un chacun. Wau Holland, de son vrai nom Herwart Holland-Moritz,
est mort dimanche 29 juillet, des suites d´une attaque cardiaque, survenue
le 27 mai. Sa disparition survient 21 ans après qu´il ait cofondé,
en Allemagne, le Chaos Computer Club, aujourd´hui le plus grand
collectif de hackers du monde. À 49 ans, il était une sorte de
parrain et d´âme du mouvement allemand, dont le porte-parole Andy
Müller-Maguhn est le représentant élu de l´Europe
au très officiel ICANN. Lors du dernier congrès annuel
du CCC, tenu du 27 au 29 décembre dernier à Berlin, il
était toujours là, à discuter de tout avec tous. Ce gros
et grand bonhomme, un original barbu éternellement en salopette, regardait,
alors avec tendresse la jeune génération du CCC, celle
qui usine dans les start-ups et n´a pas eu à se battre pour l´accès
aux ordinateurs et aux réseaux : "Durant toutes ces années,
nous avons appris comment monter des manifestations de hackers. Maintenant,
nous avons appris à les organiser de façon élégante",
répondait-il à ceux qui lançaient la polémique sur
l´hypertrophie du Club et son nouveau penchant festif. Hacker à
l´européenne Parmi ses nombreux faits d´arme, on compte le
"Btx hack", perpétré avec Stefan Wernery, l´autre
tête des premières années du CCC : en 1984, quand l´Allemagne
installe son réseau minitel, ils détournent 130 000 DM de la caisse
d´épargne de Hambourg vers le compte du CCC, qu´ils
rendent aussitôt après avoir publié un communiqué
sur les failles de sécurité du système. Il continuait aujourd´hui
à être membre de ce Club des "Robin des bois du Net",
sans responsabilité particulière, donnant toujours l´image
du hacker moderne à l´européenne : un état d´esprit
de curiosité et d´ouverture, croisant politique, social, culture
et technologie, à des années lumière de la révolte
adolescente paranoïaque des scripts kiddies américains. Tu vois
cette grosse armoire ? Observateur poétique et caustique, il trouvait
de la beauté et de l´ironie dans des détails frappants.
"Tu vois cette grosse armoire ?, demandait-il, hilare, en pointant un cube
métallique planté dans un coin du quartier général
du CCC Berlin. C´est un VAX, les systèmes informatiques
les plus puissants du monde dans les années 80. On pouvait faire des
années de taule pour y avoir pénétré. On l´a
acheté aux puces une bouchée de pain. C´est pour la déco..."
Sur son site, le livre de condoléances virtuel a déjà recueilli
plus d´un millier de contributions de toute la communauté, qui
a propagé la triste nouvelle dans les mailing-lists alternatives. Les
funérailles de Wau Holland auront lieu dans sa ville natale de
Marsburg, grâce à une collecte de fonds en cours sur le Réseau.
Dans dix jours, Hackers©Large, la grand-messe des hackers européens
qui se tiendra en Hollande, lui rendra hommage. "Ne faites quand même
pas un truc trop triste", aurait sûrement remarqué Holland,
éclatant de son rire aigu.
transfert.net 01.08.2001
Voilà, pour les liens qui ne marchent pas il vous faudra passer par zataz.com. A noter que l'histoire du C.C.C.F. a été publié dans zataz magasine n°2 (en vente dans la presse), et ce avec l'interview de Condat.
Dossier Cryptographie : Partie 1
Comme son nom l'indique, cet article aura pour
thème la cryptographie. J'ai mis partie 1 car il y aura peut-être
une suite dans lotfree#4 (ya des chances ;-).
Certains passeront directement à l'article suivant rien qu'à la
vue du mot cryptographie, pourtant c'est un domaine très vaste et qui
est utilisé de façon automatique aujourd'hui. C'est bien simple,
on crypte tout : vos cookies, vos transactions et même votre quatrième
chaine de tv.
La cryptographie tient plus du domaine des mathématiques que de l'informatique
pourtant sans l'informatique la cryptographie serait rien : imaginez décoder
une page entière sans utiliser un prog qui fait le travail à votre
place, ça peut prendre des heures.
La cryptographie peut vous être utile si vous avez peur que quelqu'un
intercepte vos données, ou lise vos mails. (au cas où l'admin
de votre bahut ne vous tient pas dans son cur ;-)
Aujourd'hui je vais vous faire découvrir (ou pas) la méthode de
Vigenere (le carre de Vigenere) mais on va aussi voir ses dérivés
(plus évolués). Mais vous allez voir c'est très facile.
Vigenere est une des méthodes de
cryptographie utilisant une clé que seul le destinataire et l'envoyeur
du message doivent connaitre. Ils n'utilisent pas tous ce système qui
semble pourtant naturel (si vous avez lu l'article qui suit vous savez déjà
que la base64 n'a pas de clé).
Bon on a donc une clé et un message a crypter. On agit lettre par lettre
(avec la première lettre de la clé et la première lettre
de la phrase à crypter on obtient la première lettre de la phrase
cryptée et ainsi de suite). L'algorithme utilisé est une addition
basée sur l'alphabet. Chaque lettre a une valeur, c'est à dire
que A vaut 0, B vaut 1, C vaut 2 ... Z vaut 25.
Ainsi A+A=0+0=0=A. Comme A vaut 0 tout lettre crypté
avec A vaudra elle même. Un autre exemple : S+B = 18 + 1 = 19=T.
Dernier exemple : Y + K = 24+10=34. On est sorti del'aphabet (on s'arrête
à 25) alors on revient au début.
On fait 34 divisé par 26 ça y va 1 fois il reste 8 soit la lettre
I. (on a fait un tour de boucle : 25 est Z, donc 26 est A, en gros 26 vaut 0).
On utilise donc le reste de la division entière (division euclidienne)
aussi appelé modulo (ici on fait un modulo 26).
K (key) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (plaintext) ------- --------------------------------------------------- P A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L ciphertext N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M C O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Souvent la cle est un mot, dans tous les cas elle est souvent
plus petite que la phrase à crypter. Alors pour crypter la phrase Vigenere
a eu l'idée de répéter la clé plusieurs fois.
Si la clé est lotfree et la phrase à crypter est "la cryptographie
c'est cool", on aura :
Clé : L O T F R E E L O T F R E E L O T F R E E L O Phrase : L A C R Y P T O G R A P H I E C E S T C O O L Résultat: W O V W P T X Z U K F G L M P Q X X K G S Z Z
Et pour déchiffrer c'est pas plus difficile : on reprend
l'exemple du Y et du K. On regarde dans la ligne (ou la colonne) de la lettre
K et on cherche la lettre I dans cette ligne. On remonte... On est dans la colonne
des Y, c'est bon. Peut importe que vous prenez les lignes ou les colonnes.
Il y a plus simple pour crypter/decrypter avec cette méthode, c'est en
utilisant les blocs :
Clé : L O T F R E E Phrase : L A C R Y P T Résultat : W O V W P T X O G R A P H I Z U K F G L M E C E S T C O P Q X X K G S O L Z Z
Maintenant, la méthode Variant : seul le carré change, il faut par contre respecter les colonnes et les lignes :
K (key) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (plaintext)
------- --------------------------------------------------- P
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
Y C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
X D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
W E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
V F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
U G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
T H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
S I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
R J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
Q K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
P L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
O M N O P Q R S T U V W X Y Z A B C D E F G H I J K L ciphertext
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M C
M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
L P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
K Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
J R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
I S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
H T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
G U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
F V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
E W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
D X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
C Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
B Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Donc ici si la clé est K et que l'on veut crypter Y on obtient O. Pour décrypter on a K comme clé et O comme résultat. On cherche O sur la ligne de K, on remonte, on tombe sur Y.
Je vous présente aussi la méthode Beaufort :
K (key) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (plaintext)
------- --------------------------------------------------- P
Z Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Y Y X W V U T S R Q P O N M L K J I H G F E D C B A Z
X X W V U T S R Q P O N M L K J I H G F E D C B A Z Y
W W V U T S R Q P O N M L K J I H G F E D C B A Z Y X
V V U T S R Q P O N M L K J I H G F E D C B A Z Y X W
U U T S R Q P O N M L K J I H G F E D C B A Z Y X W V
T T S R Q P O N M L K J I H G F E D C B A Z Y X W V U
S S R Q P O N M L K J I H G F E D C B A Z Y X W V U T
R R Q P O N M L K J I H G F E D C B A Z Y X W V U T S
Q Q P O N M L K J I H G F E D C B A Z Y X W V U T S R
P P O N M L K J I H G F E D C B A Z Y X W V U T S R Q
O O N M L K J I H G F E D C B A Z Y X W V U T S R Q P
N N M L K J I H G F E D C B A Z Y X W V U T S R Q P 0 ciphertext
M M L K J I H G F E D C B A Z Y X W V U T S R Q P 0 N C
L L K J I H G F E D C B A Z Y X W V U T S R Q P 0 N M
K K J I H G F E D C B A Z Y X W V U T S R Q P 0 N M L
J J I H G F E D C B A Z Y X W V U T S R Q P 0 N M L K
I I H G F E D C B A Z Y X W V U T S R Q P 0 N M L K J
H H G F E D C B A Z Y X W V U T S R Q P 0 N M L K J I
G G F E D C B A Z Y X W V U T S R Q P 0 N M L K J I H
F F E D C B A Z Y X W V U T S R Q P 0 N M L K J I H G
E E D C B A Z Y X W V U T S R Q P 0 N M L K J I H G F
D D C B A Z Y X W V U T S R Q P 0 N M L K J I H G F E
C C B A Z Y X W V U T S R Q P 0 N M L K J I H G F E D
B B A Z Y X W V U T S R Q P 0 N M L K J I H G F E D C
A A Z Y X W V U T S R Q P 0 N M L K J I H G F E D C B
Voilà, pas de commentaires.
Il y a aussi la façon de découper la phrase qui entre en jeu, par exemple la méthode slidefair consiste a découper par paire de lettres. Exemple :
Key = DIGRAPH
Phrase : the Slidefair can be used with Vigenere, Variant or Beaufort.
K = | D I G R A P H ------------------------------- P = | th es li de fa ir ca C = | EW KM CR NU AF CX TJ | nb eu se dw it hv ig | YQ MM YY FU TI GW ZP | en er ev ar ia nt or | KH JM PK BS AI EC KV | be au fo rt | CF MI IL CI
C: EW KM CR NU AF CX TJ YQ MM YY FU TI GW ZP KH JM PK BS AI EC KV CF MI IL CI
La méthode Interrupted key utilise un découpage par mots. Bref il y a pas mal de possibilitées : toutes les x lettres, tous les x mots, les x syllabes, ou en alternant 1 lettre / 2 lettres...
La méthode dérivée que je trouve la mieux est la Autokey, que je vous ai gardé pour la fin. Elle consiste à utiliser la phrase à crypter comme clé. Mais il y a toujours une vrai clé. On a vu qu'avec Vigenere on répétait la clé jusqu'à ce que le cryptage soit terminé. Ici la clé est la concaténation (l'accrochage) d'elle même avec la phrase à crypter. Voici un exemple :
Phrase : The autokey can be used with Vigenere, Variant or Beaufort.
Clé : PRIMER
Clé : P R I M E R T H E A U T O K E Y C A N B E U S E D W I T H V I G E N E R E V A R I A N T O R B E Phrase : t h e a u t o k e y c a n b e u s e d w i t h v i g e n e r e v a r i a n t o r b e a u f o r t Résultat : I Y M M Y K H R I Y W T B L I S U E Q X M N Z Z L C M G L M M B E E M R R O O I J E N N T F S X
Pour l'encryption il n'y a pas de problèmes, en revanche pour décrypter on découvre la clé en même temps que la phrase. Le problème c'est que si on se trompe une fois après tout le reste est faux. Mais cette méthode est plus intéressante.
Histoire de vous gater je vous ai codé un petit prog en Pascal (parce qu'en C++ la gestion des chaines de caractères c pas super facile) qui utilise la méthode autokey. Il crypte et décrypte ce que vous entrez au clavier. Si vous savez programmer vous pouvez l'améliorer pour la lecture de fichier... Voici la source :
program crypto;
var key,phrase,res : string;
choix,cpt : integer;
procedure touppercase(var mot:string); var i:integer; begin for i:=1 to length(mot) do if (mot[i]>='a') and (mot[i]<='z') then ord(mot[i]):=ord(mot[i])-32; end;
function inint(var c:char):boolean; begin if (c>='A') and (c<='Z') then inint:=true else inint:=false; end;
begin {debut du main} choix:=0; res:=''; writeln('Choisissez le mode de fonctionnement :'); while ((choix<1) or (choix>2)) do begin writeln('1->Cryptage'); writeln('2->Decryptage'); write('?'); readln(choix); end; writeln('Entrez la cle : '); readln(key); writeln('Entrez la phrase : '); readln(phrase); touppercase(key); touppercase(phrase);
if choix=1 then begin key:=key+phrase; for cpt:=1 to length(phrase) do begin if ( inint(key[cpt]) and inint(phrase[cpt]) ) then begin res := res + chr( (((ord(key[cpt]) mod 65) + (ord(phrase[cpt]) mod 65)) mod 26) + 65) end else res:=res+phrase[cpt]; end; writeln('--Resultat du cryptage--'); writeln(res); end else begin for cpt:=1 to length(phrase) do begin if ( inint(key[cpt]) and inint(phrase[cpt]) ) then begin choix:=(ord(phrase[cpt]) mod 65) - (ord(key[cpt]) mod 65); if choix<0 then choix:=choix+26; res := res + chr(choix+65); end else res:=res+phrase[cpt]; key:=key+res[cpt]; end; writeln('--Resultat du decryptage--'); writeln(res); end; write('Appuyez sur entree pour quitter'); readln; end.
Le prog est joint avec le mag, c'est crypto.exe, pas de valeurs a passer comme argument, ya un menu etc... J'espère que cet article vous aura plus.
Vous allez être décu, c'est sûr
mais cette méthode ne marche plus (du moins cela dépend de son
hébergeur ;-) Alors de quoi il sagit ? Et bien rappelez-vous, HZV avait
mis dans un de leur numéro une technique qui permettait d'envoyer un
fake mail soit disant venant de l'administrateur caramail et qui invitait la
victime à rentrer son login et password afin de valider son compte sans
quoi ses données personnelles seraient effacées. Ceci s'appuyait
donc sur le social engineering (se faire passer pour quelqu'un d'autre dans
le but d'obtenir des informations confidentielles) et sur la fonction mail()
de multimania permettant de forger ses mails.
Une erreur s'était glissée dans le mag, ou plutôt un oubli
(intentionnel ?) qui faisait que la personne ne recevait pas le document en
html mais en texte !!!
Imaginez la victime qui reçoit la source du fake mail !! Bref comment
passer pour un gros naze !!! En fait il suffisait juste de rajouter le type
MIME qui est utilisé dans pas mal de domaines de l'internet (dans les
requêtes HTTP par exemple :-) mais aussi pour les emails : cela permet
de décrire le contenu de la pièce jointe.
Il y a de nombreux types MIME tels que image jpeg, image gif,
document pdf, html, text, text/html, son wave...
La plupart des virus que l'on reçoit par mail sont d'ailleurs trompeurs
sur leur type MIME afin de ne pas effrayer la victime (c plus rassurant de voir
marqué document word que application com).
Enfin bref après quelques recherches g pu réparer le bug et cela
marchait très bien, au passage voilà quelques login / pass que
g pu récolter :
lolode thib
inkubus muse
sophie.port paris
fildar65 8185
bullglow djglobule
latina.boop katty
paulans 091185
lovetaze 6880
starlette61 lini
dragounette-de.flamme dragonbleu
julien-feron 0478964979
alexandre.mathieu1 magali
titlopia PoissonsRouge5
spegell 6167
mduc2 lolo
fofydeesse 12345
toxikzoe 210181
64dragon demon
laurent1224 vanessa
vishnou82 mouchtrav
le_scarla2 purew
iisnogud isnogud
erasor78 cacafg
n.ais muzdalifa
the_killer102 scream
kenny585 070371
dauberic mai1965
djeep11 durejp
than7 77170
wkarl1 11031977
2ROOL 041284
tommedeterre bigoudi
llorrenzo1 800826
miko_93 mico
mimiche95 00
miss_catastrophe3 melissa
le_bon_michel 003440
nicedevil06 1234
Merlu11 Breizh
karamello karamello
fred.thekiller1 fred
tiopin fcporto
stephane.spiess steph2
mkiane julien
b.reignault doudou
tou.toule usher
On remarque bien vite que les pass les plus utilisés
sont : le prénom de la personne, le prénom de l'être aimé
ou encore un mot en rapport avec le mot de passe (le mec qui voulait iznogud
comme login a été se rabatre sur iiznogud qui était libre,
ensuite il y avait toutes les chances pour qu'il prenne isnogud comme pass vu
qu'il avait pas pu le prendre comme login car déjà pris). Quand
on regarde cette liste on se rend compte du peu de méfiance dont font
preuve les utilisateurs. Il y en a même un qui a mis son numéro
de tel !!!!
G hésité à mettre ces pass mais ils sont là, vous
pouvez creer des forums à leur nom (du style fist fucking, plaisir sadomazo...
:-) A noter qu'apparemment si la victime est sur le chat et que vous vous connectez
sur son compte alors le chat se déclenche tout seul. Mais je l'ai toujours
fermé au démarrage et donc je ne sais pas ce que cela fait :-(
Bon je n'ai pas fait un article pour reprendre
texto ce qu'il y vait dans HZV !! En fait ce que je voulais c'était faire
un service de hack caramail sur mon site qui permettait en entrant juste son
login et celui de la victime d'obtenir son pass. Bref un truc que n'importe
quel couillon aurait pu utiliser !!
G eu bien des galères pour faire ce truc. La partie d'envoyer le formulaire
allait très bien. Seul hic l'adresse où doit revenir le pass de
la victime n'est pas inclus dans le fichier php.
Il fallait donc faire en sorte que l'adresse de l'attaquant soit mis en mémoire
quelque part. La seule solution que g trouvé était de foutre l'adresse
du hacker dans la source du formulaire.
Evidemment là vous vous dites : " C nul ça va se voir tout
de suite !!". Héhé !! Pas si cela est crypté !! G
choisi un cryptage très basique sur le web, le base64. Cela permet de
foutre 90% de la population hors jeu (même plus car si vous prenez 20
personnes il y a de grandes chances pour qu'aucune ne connaisse ce mode d'encryption
:-)
Bien sur il y a d'autres méthodes d'encryption, plus évoluées mais j'aime le fait de savoir qu'une personne qui s'y connait ne se fera pas hacker. Tout ceci est fait de manière très simple en php car ce sont des fonctions déjà implémentées dans le langage. Donc la victime reçoit le formulaire ; dedans 2 champs à remplir : login et password mais aussi un champ caché dont la valeur est l'adresse de retour cryptée. La victime appuie alors sur un bouton de type submit qui va appeler un script sur notre site (et là désolé impossible de cacher cette adresse à une personne qui afficherais la source html). Ce script décrypte l'adresse et y envoie les données... Hacked !!!
Du moins dans la théorie car la fusion lycos/multimania
a provoqué un tas de merdes !!! Tout est plus sécure !!! Je m'explique,
la méthode POST est plus discrète que la méthode GET.
La POST envoie les données de façon quasi transparente (à
la limite on voit "ouverture de ww.multimania.com/monsite/monscript.php"
durant 2 secs) alors que la méthode GET ouvre une nouvelle fenêtre
et on voit affiché les données dans la barre de navigation (du
style "www.multimania.com/monsite/monscript.php?hacker=moi@serveur.com&victime=toi@serveur.com&password=tonpass")
bref c pas super discret.
Le formulaire envoyait donc avec la méthode POST. Là où
il y a un gros bug c que multimania a décidé que seules les données
venant d'un POST de multimania seraient acceptées et toutes les autres
ne passeraient pas. Donc les données venant d'un mail en mémoire
sur cara... on peut se les mettre où on pense.
Je pense que la vérification se fait au niveau du referer (il faut avoir
lu l'article sur le http) mais je vérifierais ça.
G mis pas mal de temps à comprendre pourquoi
un formulaire en ligne sur multi réussisait à envoyer des données
et pas celui sur mon HD.
Alors comment passer par dessus cette protection ? G essayé en mettant
un base href=www.multimania.com mais ça marchait pas. Il faudrait réussir
avec un système de frames à rediriger la victime vers une page
en ligne. Ou beaucoup plus simple trouver un hebergeur autre que multimania
qui accepte la méthode mail() ; ça doit bien exister !!
Au fait g dit une connerie : le type MIME ne fait que donner une précision (nécessaire) sur le contenu car le contenu est marqué par le Content-Type mais sans version du MIME ça marche pas, bizarre non ?
Enfin bon les fichiers sont avec le zine.
hackcara.htm est le fichier à mettre en ligne (celui proposant le service)
hack.php est le script qui envoie les données
confirm.php est celui qui les récupère
Pour les très newbies : les scripts sont du texte, lisez les avec notepad, wordpad ou autre...
Si vous connaissez un hébergeur qui accepte mail() contactez moi à sirius.black@lycos.fr
Les articles de OS4M4CKERS
Comme je l'ai dit dans l'édito deux, j'ai reçu l'aide (enfin) de OS4M4CKERS. Pour ne pas modifier ce qu'il vait fait (les couleurs, mise en page....) j'ai laissé telle quelle la page qu'il avait faite, vous pouvez y accéder ici.
Pour ce numéro je vous ai choisi Lower de NOFX, premièrement parce que NOFX ça déchire et ensuite parce que cette chanson est bien plus qu'une simple chanson, c'est un état d'esprit : l'état d'esprit du perdant, ou plutôt de celui qui ne veux pas se placer devant les autres. C'est un état d'esprit que je partage : ne pas participer à la compétition... Voici les paroles :
I will never feel the ribbon break
I will never taste sweet victory
I don't want to leave the rest behind
I don't want inscription on a plaque
Never first or second place
I won't ever run your rat race
I will always be lower than you
I won't be your competition
Lowest totem pole position
Is where I'd rather stay than be like you
Be the best, climb the ladder
Do it better, Higher, Faster
I refuse to participate
If I go up it will be slow
I'm bringing everyone I know
Ans stopping on the siwth or seventh rung
On a pedestal, isn't the view great
You better watch your step
Cause it's a nasty fall
When no one's there to catch you when you call
Et bien en conclusion, c'est le meilleur des trois premiers numéro (en tout cas moi je trouve). Un protocole web, un dossier sur le CCC, un sur la cryptographie, un article sur le hack cara généralisé et puis les articles du guest de ce numéro : OS4M4CKERS. Sans oublier l'éternelle section des paroles Punk. Sinon j'ai toujours besoin d'aide pour les prochains numéros (si vous voulez que LOTFREE continu ;-). Il y aura sans doute un numéro 4 mais peut être pas de 5 à moins que vous m'aidiez. Au fait je termine la conclusion on est le 24 juin 2002 à 11 heures 14 minutes et 41 secondes. Bref j'ai pas mal galéré sur ce zine (à cause de l'article cara surtout). Voici des propositions d'article pour ceux qui veulent écrire pour le 4 :
- Vous êtes un pro de la programmation IRC, vous êtes capable d'expliquer clairement la syntaxe (les variables, les conditionnelles, les boucles, les instructions...) et celà à l'aide d'exemples : envoyez nous votre article !
- Vous savez programmer des progs rézo, faites nous un simulateur de connexion telnet : ouverture d'un port, attente de connexion, envoie de demande de login/pass et récupération des précieuses informations, avec la source bien sûr. Votre article sera reçu avec une immense joie :-)
- Vous êtes un pur phreaker et cela depuis longtemps, vous êtes capables de dire où en est la scène Française, où en est la technologie France Telecom, ce qui encore possible aujourd'hui, ce qui n'est plus possible...
- Toujours dans la prog rézo, vous êtes capable de coder un prog demandant des données, une url et qui envoie par la méthode POST les infos à l'url donnée.
- Vous avez envie d'écrire, point à la ligne donc envoyez votre article et ça ira très bien comme ça :-)
FIN