Serveur VPN en Point-to-Point avec pépétépédé ??

Bonsoir …

Excusez-moi pour le titre … j’étais pas inspiré :p, il s’agit en fait du daemon pptpd et non de la question « pépé t’est pd ? ».
Donc voilà, avec Hadopi, on ne présente plus les VPNs mais bon … leurs utilités sont multiples :

  • Accéder à des réseaux privés d’entreprise (pour faire du télétravail, …)
  • Obtenir une autre ip (fixe ou non) pour faire des choses orthodoxes ou pas
  • Authentifier/Chiffrer des connexions
  • … ?

Pour l’installer … très simple :

apt-get install pptpd

Ensuite, un peu de configuration s’impose, il faut ouvrir le fichier /etc/pptpd.conf :
et décommentez :

#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245

Ou si votre réseau local utilise déjà l’adresse en question, changer les adresses du réseau pour un truc du genre :

localip 10.0.0.1
remoteip 10.0.0.234-238,10.0.0.245

Une fois le service démarré, il faut ouvrir le port 1723 du firewall et autoriser le protocole GRE (et pas GRRRRR!), on peut aussi rajouter le forwarding et le postrouting pour accéder au net, ce qui donne pour moi :

/sbin/iptables -A INPUT -p tcp -i eth0 --dport 1723 -j ACCEPT
/sbin/iptables -A INPUT -p gre -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j SNAT --to mon.ip.a.moi
echo 1 > /proc/sys/net/ipv4/ip_forward

Vous pouvez ensuite modifier les options du serveur :
Personnellement je vous conseil au moins de changer les DNS, et de changer le système d’authentification/chiffrement, via l’ajout des lignes suivantes à la fin du fichier : /etc/ppp/options

ms-dns 10.0.0.1
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

Et maintenant, les comptes d’accès dans le fichier /etc/ppp/chap-secrets, le format est le suivant :

# client        server  secret                  IP addresses
login            pptpd   password              *

Vous pouvez remplacer * par une ip local, si vous voulez donner une IP fixe à un utilisateur et bien sûr, il faut changer login par votre login et password et votre mot de passe.

Reste plus qu’à redémarrer la chose : /etc/init.d/pptpd restart

Et maintenant, un client pour tester :

apt-get install network-manager-pptp

Puis :
config1
modif
Une fois le VPN en place une magnifique icone ce met en place :
vpnok
Et voilà vous pouvez pinger votre machine (on prend son pied comme on peux hein ;)) sur l’adresse 10.0.0.1 (pour moi).

Grésillement du driver em28xx et kernel 2.6.28 sur ubuntu 9.04

Bijour à vous …

Sous ce superbe titre qui dégage une douce odeur de romantisme … ou pas, encore un click’n’go façon terminal Unix, pour supprimer le grésillement du driver par défaut fournit avec ubuntu 9.04

wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip
unzip -j HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85bda.sys
wget http://linuxtv.org/hg/v4l-dvb/file/tip/linux/Documentation/video4linux/extract_xc3028.pl
perl extract_xc3028.pl
sudo mv xc3028-v27.fw /lib/firmware/
sudo reboot

Et normalement, vous pourrez regarder la tv analogique sans décalage ou grésillement …

Attaque de sites et Script php C99Shell

Bijour à vous …

Aujourd’hui, un gentil script pour détecter de façon TRÈS TRÈS simple les scripts php C99 « illisible » (en eval(gzinflate(base64_decode()) suite à la découverte du piratage du serveur d’un pote (le deuxième quand même … je suis le suivant ;)) sur un site joomla (joomla c’est le mal … mais bon, il l’a voulu, il l’a eu).

Mais avant le script (faut bien le mériter) … mon analyse bourrée de fautes d’orthographes et de grammaires …

Son attaque : une simple sql injection, récupération du pass admin, (10 jours plus tard selon les logs d’apache, le pirate revient après avoir cassé le pass en md5 … il le voulait son accès admin :p), il upload un sympatique C99 depuis la partie admin du site et là terminé, il commence l’envoi de spam et cache des liens plutôt bof sur la homepage (il n’aurait rien mis, on l’aurait pas remarqué le bougre d’âne :p … à part le spam, mais bon c’est autre chose ;)).
A noter quand même, que le pirate semblait à la fois connaitre son boulot, et ne pas connaitre grand chose au serveur web/hacking système :

  • Il a certes exécuté dans le vide pas mal d’sql inj., mais en a aussi écrit plusieurs spécifique pour un module dev unique en son genre … et la requête renvoyée était plutôt sympa, le mec semblait bien connaitre les sites joomla 😉
  • Sa version de C99 m’est inconnu, pas mal de chose en plus, des binder, des systèmes de contrôle de masse pour les bots, un système de mise à jour … (un connaisseur le mec … le tracker pourrait être sympa ^^)
  • Néanmoins … il a oublié de supprimer les logs (on a pu suivre son attaque de bout en bout … toujours avec la même ip), selon les locales de sont navigateurs, il serait russe, utiliserait une ip lituanienne hébergeant des sites européen plutôt spé genre suchelove rogue-av et compagnie (donc proxy, la plage ip est blacklisté ^^).
  • Le serveur embarquait un kernel vérolé permettant un local privilège escalation … la honte, un gosse de 16ans aurait pu choper l’exploit sur milw0rm (paix à son âme) et prendre le root du serveur … déçu

L’analyse :

  • Profil du « spammeur » sans aucun doute … (rien que parce qu’il est russe ?? meuh non c’est pas du racisme ;))
  • L’utilisation d’un script permettant le contrôle à distance depuis des moyens décentralisé (permet de rester caché et de balancer la sauce), ainsi que le système de mise à jour/désinstallation du script automatisé et la modification de la homepage en mettant des liens dans une balise div hidden (un vrai pirate aurait défacé le site pour vanter son coup, ou mis un malware).
  • La non-exploitation du LEP (là faut le faire quand même …)
  • L’envoi de spam ^^.
  • La crackage du md5 peut révéler 2 choses : soit la patience (et ce mec est un fêlé), soit ce pirate est un « gros » spammeur, avec la structure nécessaire pour péter du md5 (le passe choisit était pas mal … majuscules, chiffres et caractères spéciaux, ok y’a pas mal de soft pour ça mais bon) et fait ça toutes la journée d’où les connexions au panel C99 tous les 3 jours.

La conclusion :

A voir les techniques employées, et la volonté du mec (passer 10 jours à cracker un md5, revenir sur le site, modifier le site, configurer sa tambouille et revenir tous les 3 jours … quand même faut le vouloir … ), je ne sais pas si on pourra un jour arrêter le spam (enfin en France quoi), avec le gouvernement qui en est encore au stade du mouchard en hardware, alors que des mecs chope des accès sur des serveurs à tire larigot en s’en foutant royalement du root (je suis blazé sur ce coup :p) pour envoyer des millions de trucs qui seront peut-être lu par deux/trois personnes et qui font ramer des SI dédié au filtrage, travailler des chercheurs à temps complet pour établir des moyens inefficaces (même google en laisse passer, c’est pour dire ^^) et faire réagir de pauvres noob comme moi …

Délivrance … vous avez réussi à tenir jusque là, malgré les fautes, les incohérences, et ma qualité rédactionnelle qu’on ne pourrait même pas utiliser en PQ qu’ça filerait la courante …

Maintenant, le cœur du sujet, je ne vais donc pas présenter le shell C99 (bien connu des pirates de sites web à la chaine …), donc mon script, plutôt basique, que j’ai écris pour vérifier que le pirate n’en ai pas disséminé dans d’autre dossiers sur la machine (et ce fut le cas, d’où ce post).

#!/bin/bash
PATH=${1:-`pwd`}

for i in « $PATH »/*
do
CURRENT_FILE=$i
if [ -d « $CURRENT_FILE » ]
then
echo « DOSSIER EN COURS DE SCAN $CURRENT_FILE »
$0 « $CURRENT_FILE »
else
/bin/cat « $CURRENT_FILE »|/bin/grep -q « eval(gzinflate(base64_decode( »
if [ $? -eq 0 ]
then
echo « LE FICHIER $CURRENT_FILE EST UN C99 SHELL »
fi
fi
done

Et voilà … bien sûr, ce script peut vous permettre de faire des recherches sur d’autre chose, il suffit de changer le contenu du grep, genre chercher une fonction spécifique dans tous les fichiers C de votre appli de 1000 fichiers que votre IDE favorite supporte pas (mais non, ça m’est jamais arrivé), ….

Quoi vous lisez encore ça ?? Bon ben bonne nuit 😉