May 2010 Archives

25-05-2010 22:22:15

Google en HTTPS,tueur de concurrents de stats ?

Google a récemment mis en place du HTTPS sur son moteur de recherche. C'est bien sur une bonne nouvelle pour la confidentialité de nos informations mais en meme temps une bien mauvaise chose pour évaluer quels sont les mots clés utilisés pour accéder à notre site. En effet la RFC 2616 indique la consigne suivante :
Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol. 
Cela indique donc clairement qu'un Referer ne doit pas etre envoyé dans une requete HTTP sécurisée.

Ce qui est étonnant c'est que pour un fournisseur d'une solution de statistiques, cela va à l'encontre de l'utilité de leur produit Google Analytics... a moins qu'ils aient déjà travaillé sur le sujet et que leur base de stats ne se remplissent non plus à la visite du site mais directement lors d'une recherche sur le moteur Google et la ca serait un coup fatal pour tous les autres outils de stats !

Je ferais bientot quelques test pour voir ce qu'il en ait mais je soupsonne Google de faire un gros coup :)

Posted by cloud | Permanent link | File under: Fun / Divers

09-05-2010 01:03:22

[Secu] Portsentry et PF sous FreeBSD

Portsentry est un outil permettant de détecter une tentative de connexion frauduleuse et permettant de réagir immédiatement, généralement en bloquant l'ip tentant de se connecter via une règle firewall.

Portsentry est disponible via les ports FreeBSD mais ne propose qu'une configuration par défaut en utilisant le firewall ipfw. Hors personnellement je ne jure que par PF. Je vais donc vous présenter rapidement comment l'utiliser avec PF.

Nous allors donc commencer par préparer notre firewall PF en ajoutant les lignes suivantes dans /etc/pf.conf :
table <antiscan> persist
block in quick from <antiscan>
Nous avons donc ici créé une table appelée antiscan qui bloquera immédiatement (quick) toutes les IP contenues dedans.

On recharge PF :
#pfctl -f /etc/pf.conf
Nous allons ensuite configuré portsentry afin que celui ci bloque immédiatement une IP tentant de se connecter à un port surveillé.
Pour cela nous allons ajouter la ligne suivante dans /usr/local/etc/portsentry.conf :
KILL_RUN_CMD="pfctl -t antiscan -T add $TARGET$"
On redémarre portsentry.

Testons de nous connecter sur le port 22 de la machine qui est surveillé :
[cloud@r00t ~]$ ssh site_cible.com
ssh_exchange_identification: Connection closed by remote host
Observons maintenant la table antiscan du serveur site_cible.com
site_cible.com# pfctl -t antiscan -T show
   82.168.247.31
Mon IP apparait bien dans la table et est donc maintenant bloqué.

Portsentry ne bloque pas tous les scan de ports mais il permet d'etre un bon moyen de protection contre des attaques ciblées car bloquera automatiquement la personne qui fouinera les différents ports apparaissants ouverts.

Posted by cloud | Permanent link | File under: FreeBSD, OpenSource, Security

09-05-2010 00:24:48

[Secu] Attention a votre compte FreeWifi !

Hadopi va bientot envoyer ses 1er mails malgré le fait qu'il ait été démontré maintes et maintes fois qu'il était impossible de certifier qu'un utilisateur était derrière une IP... Bref tout le monde a déjà pris ses VPN à l'étranger, pris son compte en direct download, rempli ses listes de newsgroup ... On va compléter ici la liste avec un moyen tout simple d'usurper l'identité de quelqu'un.

Les gens "normaux" sont de plus en plus sensibilisés au phishing et à détecter un site frauduleux. Pour cela ils se basent en général sur des éléments basiques, l'url, les fautes d'orthographes ou encore les informations demandées. En effet 99,9% des phishing remontés par les clients de banques sont basés sur ces infos. Jamais une erreur de certificats sur le site officiel (bien que cela soit arrivé) n'a par exemple était remontée. Dans ce cas la, si le certificat change ou est périmé, le client va juste l'accepter et continuer à utiliser son site. C'est beaucoup du à la maladie du "Suivant OK" de Windows. Le réflexe est de cliquer pour que ca marche.

Nous allons donc utiliser cela pour piéger tout simplement un utilisateur Free.

En effet, Free propose d'activer sur sa Freebox HD d'activer le FreeWifi afin que n'importe qui puisse se connecter sur Internet avec ses identifiants. Le réseau a toujours le même nom, FreeWifi et l'interface est toujours la meme. Il suffit donc de créer une rogue AP, de recopier l'interface de connexion FreeWifi et de rediriger toutes les requetes vers cette page. Pas besoin de s'embéter à mettre du SSL, 9 personnes sur 10 se fera avoir donc c'est largement rentable. Si vraiment vous êtes maniaques, vous pouvez générer un certificat autosigné et cela suffira. Un endroit comme un aéroport ou un lycée fera un endroit parfait pour alors récupérer ces données

Vous n'avez plus qu'à rentrer chez vous et vous connecter à votre FreeWifi avec ces identifiants.

En cherchant un peu sur le net, on se rend compte que cela a bien sur été relevé donc doit déjà etre pratiqué.

Bien sur ceci n'a pour but d'expliquer que des identifiants ou des IP ne pourront jamais assurer l'identité d'une personne.
En aucun cas je n'incite à faire cela :) . Cela devrait marcher pour les utilisateurs Neuf aussi.

Les 1eres jurisprudences vont etre assez sympathiques à suivre je pense mais malheureusement sans surprises.

Pour vous protéger controler bien le certificat utilisé, c'est le seul moyen de détecter une fausse AP !

Posted by cloud | Permanent link | File under: Security

05-05-2010 00:48:30

[Secu] Le mois de la securite PHP

Un petit rappel pour vous signaler que ce mois ci est le mois des bugs PHP avec au moins une nouvelle vulnérabilité par jour. Les explications sont en prime bien faites avec une explication de la vulnérabilité depuis le code source de PHP ainsi qu'un PoC par vuln. Bref que du bon pour se faire la main et comprendre comment chercher une vulnérabilité dans un interpréteur.

Donc pour suivre cela, allez sur le site http://php-security.org durant tout le mois de Mai.

Posted by cloud | Permanent link | File under: Security, Coding

05-05-2010 00:31:18

[Astuce] Installez le Top des moteurs de recherche sur votre site !

Une petite astuce pour éviter de se prendre la tete que j'ai constaté appliquée sur python.org (mais surement pas avec un script php :) )

On a souvent besoin d'ajouter un moteur de recherche sur son site. Hors un moteur de recherche est une application complexe en terme d'algorithme pour avoir quelque chose de vraiment performant. De plus c'est fréquemment une fonctionnalité vulnérable à des failles XSS.
Donc pour éviter les problèmes, autant déléguer cette tache au spécialiste du moteur de recherche : Google !

Pour cela rien de plus simple, on crée un formulaire avec un champs de rechercheet on redirige le résultat vers Google via une url du genre pour mon blog :
http://www.google.com/search?hl=fr&domains=blog.madpowah.org&sitesearch=blog.madpowah.org&q=freebsd+apache&btnG=Rechercher&sitesearch=blog.madpowah.org
Il faut mettre le nom de son site pour les variables domains et sitesearch et mettre à la variable q sa recherche en remplacant les espaces par des +

Voici un script d'exemple : google.php
<?php
if (isset($_POST["ok"])){
	if ($_POST["ok"] === "ok") {
		$search = trim(htmlspecialchars($_POST["search"]));
		$search = str_replace(" ", "+", $search);
		$url = 'http://www.google.com/search?hl=fr&domains=blog.madpowah.org&sitesearch=blog.madpowah.org&q=' . $search . '&btnG=Rechercher';
		header('Location: ' . $url);
	}
}
?>
<form action="google.php" method="POST">
	<input type="text" name="search" />
	<input type="submit" name="ok" value="ok" />
</form>
Vous avez maintenant le plus puissant des moteurs de recherche sur votre site :)

Posted by cloud | Permanent link | File under: Coding