SYN, SYN-ACK, ACK …

Steal This Blog

Nuit du Hack 2010

janvier 29th, 2010 by Corbier

La Nuit du Hack est un des plus ancien rendez-vous underground de Hacking Francophone. Depuis 2003, cet évènement vise à rassembler les hackers et les professionnels de la sécurité autour de conférences, d’ateliers et de challenges.

Dates :

19 Juin 2010 de 16 heures jusqu’a 7 heures du matin

Lieu :

http://www.nuitduhack.com

Péniche Concorde Atlantique en plein centre de Paris, France

PORT SOLFERINO
FACE AU 23 QUAI ANATOLE FRANCE
75007 – PARIS

ACCES – Métro ligne 12 ASSEMBLEE NATIONALE
RER C MUSEE D’ORSAY

Le bateau Concorde Atlantique vous reçoit sur ces 3 niveaux dans un cadre prestigieux et historique au pied de Assemblée Nationale et du musée d’Orsay, avec sur sa terrasse extérieure une vue imprenable sur le Grand Palais, le jardin des Tuileries, le musée de l’Orangerie, et le Pont Alexandre III.

Filed under Non classé having No Comments »

3ème numéro d’HZV Mag

janvier 29th, 2010 by Corbier

Bonjour à tous,
Le staff HZV est fier d’annoncer le 3ème numéro d’HZV Mag, avec au sommaire :

  • .infecteur Win32 : de la théorie à la pratique par Kernel Junky
  • .Prévention de l’exploitation de stack overflows : implémentation d’un SeHOP-like par Lilxam
  • .Bypassing SeHOP sur Windows 7 : encore une protection en carton par Heurs & Virtualabs
  • .Système de cassage distribué par G0uz
  • .exploitation des Session iDs : for fun and profit par F|UxIus
  • .Streaming vs. Hadopi par Virtualabs
  • .Sniffer portable sur Nintendo DS : transformer votre Nintendo DS en sniffer WiFi par Virtualabs
  • .Future exposed – La BD par IOT-Record

Bonne lecture ;)

http://www.hackerzvoice.net/hzv_magz/download_hzv.php?magid=03

Filed under Non classé having No Comments »

Mirror Exploit-db

décembre 19th, 2009 by Corbier

Il est parfois difficile de trouver l’information que l’on souhaite. C’est pourquoi j’ai mis en place un mirror du site http://www.exploit-db.com/

En effet, ils proposent un svn pour télécharger les mises à jours (beaucoup plus pratique que l’archive en passant)

The Exploit Database can now be downloaded via SVN. We figured it would be easier to download and track exploits this way, rather than re-downloading the whole archive. We will be adding the exploit-db archive as a package in BackTrack4, but for now you can:

root@bt4:# cd /pentest/exploits/
root@bt4:# svn co svn://devel.offensive-security.com/exploitdb

Le mirror est disponible ici

Filed under Non classé having No Comments »

DNS & co

décembre 7th, 2009 by Corbier

Le protocole DNS est la clé de voute d’internet. Ce protocole est utilisé partout à tous les instants.

Les derniers avis de sécurité du protocole DNS notifiait des problèmes de sécurité d’implémentation du Transaction ID. Il est possible sous certaine configuration de prédire le transaction ID.

Ce transaction ID est généré à chaque requête et ré-émis lors de la réponse.  Partant de ce principe il est possible de faire des statistiques sur la génération des transactions ID.

J’ai créé un outil en python permettant de faire de l’analyse sur ces fameux transaction ID.

L’idée est d’envoyer a un serveur DNS des requêtes aléatoire (par exemple: 345678865.mondomaine.fr)  sur un domaine sous votre contrôle afin d’étudier le champs Transaction ID.

J’ai donc fait de l’analyse sur 2000 requêtes vers un DNS  « Windows 2003 Serveur SP1″.  Il en résulte le résultat suivant :

Capture-2

On constate effectivement que la génération du transaction ID n’est pas si aléatoire que ca.

Le même test sur un DNS de chez google

Capture-3

La différence est assez flagrante. Ici la ramdomization est correct, il serait assez difficile de prédire le transaction ID.

Vous pouvez télécharger l’outil en python à l’adresse suivante  http://data.stealthisblog.fr/script/DnsStats.py

Cet outil sera modifié pour automatiser l’attaque en MITM sur le protocole DNS.

Filed under Non classé having 2 Comments »

VMware Server et Virtual Router Redundany Protocol (VRRP)

mars 3rd, 2009 by Corbier

Selon Wikipédia :

Virtual Router Redundancy Protocol (protocole de redondance de routeur virtuel, VRRP) est un protocole non propriétaire redondant décrit dans la RFC 3768 dont le but est d’augmenter la disponibilité de la passerelle par défaut servant les hôtes d’un même sous-réseau.

Le fonctionnement de VRRP est le suivant :

Chaque Routeur Virtuel utilise une adresse mac de l’IANA ces adresses mac sont réversées et vont de 00:00:5e:00:01:00 à 00:00:5e:00:01:ff (on peut donc avoir 256 routeurs virtuels par segment Ethernet)

Les routeurs communiquent entre eux via l’adresse multicast réservée 224.0.0.18 associé à la mac réservé 00:00:5e:00:01:02

Comme l’indique le paquet capturé suivant :

Frame 6 (70 bytes on wire, 70 bytes captured)
Ethernet II, Src: IETF-VRRP-virtual-router-VRID_02 (00:00:5e:00:01:02), Dst: IPv4mcast_00:00:12 (01:00:5e:00:00:12)
Internet Protocol, Src: 192.168.130.160 (192.168.130.160), Dst: 224.0.0.18 (224.0.0.18)
Virtual Router Redundancy Protocol

Afin d’utiliser une IP virtuelle associés a plusieurs routeurs nous utilisons le Common Address Redundancy Protocol ou CARP.

Selon wikipédia :

Common Address Redundancy Protocol ou CARP est un protocole permettant à un groupe d’hôtes sur un même segment réseau de partager une adresse IP.

Dans le cadre de préparation de labs, j’ai voulu émulé l’ensemble de via une solution freebsd (Pfsense) sous VMware Server. Cependant l’adresse virtuel CARP ne pouvait pas être utilisé. Les réponses ARP était bien présente mais le ping et tout les autres services était indisponible.

Le module kernel vmnet drop tout les paquets ethernet que ne sont pas à destination :

  • d’elle même
  • d’une addresse de broadcast FF:FF:FF:FF:FF:FF
  • d’une addresse de multicast

Cependant le bloc de IANA est manquant !!!Les packets sont donc droppés.

Afin de valider et corriger le module noyau, il faut éditer le driver.c contenu dans /usr/lib/vmware/modules/source

Le fichier qui nous intéresse est dans l’archive vmnet.tar. Il faut extraire cette archive.

tar xvf vmnet.tar

cd vmnet-only

Ensuite nous devons localiser la fonction VNetPacketMatch qui est responsable du matching de paquet.

*
*———————————————————————-
*
* VNetPacketMatch –
*
*      Determines whether the packet should be given to the interface.
*
* Results:
*      TRUE if the pasket is OK for this interface, FALSE otherwise.
*
* Side effects:
*      None.
*
*———————————————————————-
*/

Bool
VNetPacketMatch(const uint8   *destAddr, // IN: destination MAC
const uint8   *ifAddr,   // IN: MAC of interface
const uint8   *ladrf,    // IN: multicast filter
uint32   flags)          // IN: filter flags
{
/*
* Return TRUE if promiscuous requested, or unicast destined
* for interface, or broadcast (and broadcast requested), or
* if multicast (and all multicast, or this specific
* multicast MAC, was requested).
*/

return ((flags & IFF_PROMISC) || MAC_EQ(destAddr, ifAddr) ||
((flags & IFF_BROADCAST) && MAC_EQ(destAddr, broadcast)) ||
((destAddr[0] & 0×1) && (flags & IFF_ALLMULTI ||
(flags & IFF_MULTICAST &&
VNetMulticastFilter(destAddr, ladrf)))));
}

Il faut ajouter les lignes suivantes ajoutant le support des paquets de IANA :

((destAddr[0] == 0) && (destAddr[1] == 0) &&
(destAddr[2] == 0×5e) && (destAddr[3] == 0) &&
(destAddr[4] == 1))

Ce qui nous donne la fonction suivante :

return ((flags & IFF_PROMISC) || MAC_EQ(destAddr, ifAddr) ||
((flags & IFF_BROADCAST) && MAC_EQ(destAddr, broadcast)) ||
((destAddr[0] == 0) && (destAddr[1] == 0) &&
(destAddr[2] == 0×5e) && (destAddr[3] == 0) &&
(destAddr[4] == 1)) ||
((destAddr[0] & 0×1) && (flags & IFF_ALLMULTI ||
(flags & IFF_MULTICAST &&
VNetMulticastFilter(destAddr, ladrf)))));

Sauvegardez et recompilez le module :

make vmnet.ko

Il nous reste à copié le nouveau module au bon endroit

cp vmnet.ko  /lib/modules/`uname -r`/misc/vmnet.ko

/etc/init.d/vmware restart

Nous avons désormais un VMware Server fonctionnelle.

Nuit du Hack 2009

février 20th, 2009 by Corbier

La sécurité informatique et le hacking

Le développement des nouvelles technologies à donné naissance à un nouveau type de danger, aussi bien pour les entreprises que pour le consommateur final : le piratage des systèmes privés. Il s’agit dans la majorité des cas d’une intrusion sur le système même de la victime. Le pirate est alors en mesure d’utiliser l’ordinateur visé comme s’il en était propriétaire, mais sans en avoir les autorisations. Les conséquences peuvent être dramatiques aussi bien à une échelle commerciale qu’individuelle.

La sécurité informatique regroupe l’ensemble des techniques, compétences et méthodologies destinées à garantir l’intégrité des systèmes d’informations automatisés de tout type, et à les protéger contre cette menace de piratage.

Le Hacking peut se définir comme la passion de la recherche de jeunes esprits dynamiques, souvent amateurs, dans la recherche de bugs (cause de piratage) des programmes couramment utilisés, afin de trouver des solutions adaptées pour prévenir les utilisateurs de ces dangers. C’est aussi une volonté du partage de l’information avec le grand public, destinée à offrir à chacun la possibilité de comprendre, d’apprendre et de participer à son tour au développement de nouvelles technologies de sécurité.

Qu’est-ce que la Nuit du Hack?

Autour de conférences et de challenges informatiques, la Nuit du Hack a pour objectif de réunir passionnés et professionnels du monde de la sécurité informatique. Ils pourront découvrir les dernières avancées techniques dans ce domaine et évaluer leurs compétences.

A ne pas manquer, rendez vous a Paris le 13 juin. Au programmes conférences, challenges et autres joyeusetées.

Nous sommes actuellement a la recherche de conférenciers, si cela vous intéresse veuillez envoyer un mail indiquant le thème de celle ci et une explication de ce que vous allez aborder. Nous contacter.

Pour plus d’information rendez vous : http://www.nuitduhack.com

Les inscriptions seront bientôt ouvertes. Toute communauté du monde libre est également bienvenue. Le libre étant très proche de l’éthique que nous défendons de par son développement et sa rapidité d’évolution.

N’hésitez pas à venir nous voir sur le chan #hzv sur irc.worldnet.net.

Filed under Non classé having 1 Comment »

IP-FailOver Ovh Vmware Server

janvier 23rd, 2009 by Corbier

Lorsque l’on a un serveur dédié on peut être tenté de faire de la virtualisation sur son serveur. Plus OS, facilité des backups etc… Cependant, pour éviter que ce soit trop le bazar sur leur réseau, Ovh a limiter les mac adresse par rapport au port des commutateurs.

Il est donc impossible de communiquer avec un machine qui serait bridger sur l’interface de la machine hôte. Pour pallier à ça il est possible de mettre ses machines virtuelles en mode HostOnly. Il suffit ensuite d’activer le routage et le snat sur le linux .

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Mais cela pose problème si l’on souhaite utiliser des ip public. Il faut donc feinter.

Tout d’abord ovh propose d’utiliser des IpFailOver afin de faire « pointer » plusieurs ip public sur le même serveur. Comme les mac adresses sont bloquées par port, il faut utiliser le proxy_arp de linux afin de réussir cette configuration.

L’idée est donc d’utiliser des ips public que l’on a acheter à ovh pour des machines virtuelles. Il faut donc configurer une interface réseau vmware en hostonly. Dans ma configuration c’est vmnet1. Activons maintenant le proxy_arp sur l’interface vmware.

echo 1 > /proc/sys/net/ipv4/conf/vmnet1/proxy_arp

Je vous laisse consulter la page suivante pour avoir plus d’information sur le fonctionnement d’un proxy arp.

Ensuite il faut ajouter une route à destination de ip_suplémentaire pour que la machine hote puisse savoir à quel interface envoyer le paquet.

route add ip_supplémentaire dev vmnet1

Il ne vous reste plus qu’a configurer votre machine virtuelle avec l’adresse suplémentaire. Avec un masque de sous réseau 255.255.255.255 pour pouvoir communiquer avec les machines de votre subnet.

Cependant attention le trafic à destination de votre machine virtuel passe par la table filter-forward d’iptables il vous faut évidement configurer les protocoles que vous souhaiter router.

Filed under Non classé having No Comments »

(IN)SECURE MAGAZINE #19

décembre 9th, 2008 by Corbier

Avec mes nombreux surfs et autres recherche je suis tombé sur un mag bien symap :

Avec au programme :

  • The future of AV: looking for the good while stopping the bad
  • Eight holes in Windows login controls
  • Extended validation and online security: EV SSL gets the green light
  • Interview with Giles Hogben, an expert on identity and authentication technologies working at ENISA
  • Web filtering in a Web 2.0 world
  • RSA Conference Europe 2008
  • The role of password management in compliance with the data protection act
  • Securing data beyond PCI in a SOA environment: best practices for advanced data protection
  • Three undocumented layers of the OSI model and their impact on security
  • Interview with Rich Mogull, founder of Securosis
  • AND MORE!
Disponible ici ==> INSECURE-Mag-19.pdf
Un peu de lecture ne fait pas de mal :p
Filed under Non classé having No Comments »

HZV Magazine #01

novembre 3rd, 2008 by Corbier

On l’attendais depuis un petit moment et il est arrivé:

Après plusieurs mois d’attente, le team HZV est heureux de vous présenter le premier numéro du magazine HZV ! Nous vous invitons à poster vos commentaire sur le forum afin d’améliorer le prochain numéro. Je tiens à remercier tous les gens qui on cru à ce projet et ceux qui on activement participé à l’élaboration de ce premier numéro. Et encore toutes nos excuses pour le retard engendré par le maquetage du journal qui je l’espère sera à la hauteur de vos attentes ;)

Cordialement CrashFr

Voici le sommaire :

CODAGE DE DONNÉES
BOF : EXPLOITATION AVANCÉE
REDIRECTION DE FLUX
STACKS OVERFLOWS
LA TOILE À NUE FACE AU RENARD
NDS : LE WIFI ULTRA-PORTABLE
PRISE D’EMPREINTE DE SERVEUR
DÉMYSTIFICATION    DE L’EXPOIT WEB
LES RÉSEAUX DE ROBOTS
STÉGANOGRAPHIE
La BD : FUTURE EXPOSED
LA NUIT DU HACK 2008
CYBERFLASH
LES PTITS CONSEILS ENTRE AMIS
A L’HONNEUR
HOW TO CONTRIBUTE

Bonne lecture :p

Filed under Non classé having No Comments »

Bluetooth un jour, Bluetooth toujours

septembre 24th, 2008 by Corbier

Je ne connaissait pas particulièrement la dent bleu avant l’apparition de ce média dans nos téléphones, laptop et dans nos point d’accès.

Mais ces deux points que j’ai lu sur wikipedia m’ont interpellés

Point-to-Point Protocol (PPP) – Internet standard protocol for transporting IP datagrams over a point-to-point link

TCP/IP/UDP – Foundation Protocols for TCP/IP protocol suite

Donc un petit scan bluetooth m’a permi de voir ce qu’il y avait à proximité de chez moi…

[root@fedora ~]# hcitool inq
Inquiring …
00:18:F6:A1:BC:45    clock offset: 0×1163    class: 0×520300
[root@fedora ~]# hcitool scan
Scanning …
00:18:F6:A1:BC:45    Livebox-BC40
[root@fedora ~]#

Une livebox …

Après une petite documentation rapide je conclu que malheureusement bien souvent le code pin bluetooth reste par défaut.

Il me fallait donc explorer ce monde inconnu. Après avoir consulter le man de hcitool j’était capable de lister les services de ce fameux périphérique bluetooth.

[root@fedora ~]# hcitool info 00:18:F6:A1:BC:45
Requesting information …
BD Address:  00:18:F6:A1:BC:45
OUI Company: Thomson Telecom Belgium (00-18-F6)
Device Name: Livebox-BC40
LMP Version: 1.2 (0×2) LMP Subversion: 0×182
Manufacturer: Inventel (30)
Features: 0xef 0×7e 0×1d 0×80 0×0b 0×18 0×00 0×00
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<role switch> <hold mode> <sniff mode> <RSSI>
<channel quality> <SCO link> <HV2 packets> <HV3 packets>
<u-law log> <CVSD> <power control> <transparent SCO>
<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave>
<AFH cap. master> <AFH class. master>

Afin de pouvoir configurer une connexion ethernet via bluetooth j’utilise le programme pand

NAME
pand – BlueZ Bluetooth PAN daemon

DESCRIPTION
The  pand  PAN  daemon allows your computer to connect to ethernet net-
works using Bluetooth.

Ceci dit je me connecte au réseau bluetooth de la livebox

[root@fedora ~]#  pand –connect 00:18:F6:A1:BC:45 –service NAP –autozap

Aucune erreur …

Voyons si la connexion est établie

[root@fedora ~]# pand -l
bnep0 00:18:F6:A1:BC:45 PANU

Effectivement cela a l’air de fonctionner. Une interface ethernet bnep0 a été alloué à cette connexion. Intéressant.

[root@fedora ~]# ifconfig bnep0
bnep0     Link encap:Ethernet  HWaddr 00:1C:26:F4:98:69
BROADCAST MULTICAST  MTU:1500  Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

On retrouve bien la mac address de mon chipset bluetooth.

Voyons si la couche 2 est bien fonctionnelle.

[root@fedora ~]# l2ping -c 1 00:18:F6:A1:BC:45
Ping: 00:18:F6:A1:BC:45 from 00:1C:26:F4:98:69 (data size 44) …
44 bytes from 00:18:F6:A1:BC:45 id 0 time 18.94ms
1 sent, 1 received, 0% loss
BINGO !!!

Il nous reste plus qu’a demander gentiment une ip

[root@fedora ~]# dhclient bnep0
[root@fedora ~]# ifconfig bnep0
bnep0     Link encap:Ethernet  HWaddr 00:1C:26:F4:98:69
inet adr:192.168.1.192  Bcast:192.168.1.255  Masque:255.255.255.0
adr inet6: fe80::21c:26ff:fef4:9869/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:3 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:427 (427.0 b)  TX bytes:2483 (2.4 KiB)

Voyons les routes maintenant :

[root@fedora ~]# route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 bnep0
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 bnep0

Une passerelle en 192.168.1.1 sûrement la livebox. Testons en http:

L’accès aux pages de configuration a été facile le password par défaut était resté.

Moralité changer vos mots de passe par défaut et surtout désactiver ce qui ne vous sert pas.

Filed under Non classé having 7 Comments »

DimDim Script

juillet 24th, 2008 by wolf

Dimdim est une application intranet-internet de réunion à distance, à l’instar de logiciels comme Netmeeting ou Ekiga. Ainsi, il est possible de diffuser la voix de trois personnes au maximum sur tous les clients, ou de voir la caméra du maître de conférence. Ce dernier peut choisir, en outre, d’afficher :
- son écran
- un document au format PDF
- un document au format Word
- un document au format Excel
- un document au format PowerPoint

Dimdim ne se trouve pas sous forme de logiciel, mais s’intègre à un site Internet déjà existant. L’éxécutable installera un serveur apache, Tomcat. Dès lors, l’intérêt devient énorme quand on pense aux plateformes d’apprentissage en ligne, où les étudiants pourront avoir des cours en direct.

Dimdim semble à terme avoir un gros potentiel, d’autant plus que des paquetages d’installation existent pour différents LCMS (Learning Content Management System) : Claroline, Moodle et SugarCRM et s’installent facilement, comme des modules.

Beaucoup de personnes sur les forums n’arrivent pas à le faire fonctionner sous Ubuntu. Voici un script qui permet le téléchargement et l’installation des paquets nécessaire afin de le faire fonctionner sous Ubuntu.

Install_dimdim.sh

#######ChangeLOG##################
#Createur : Maussion Frederic
#Contact : Fmaussion@starxpert.fr
#Date de creation : 16/05/08
###################################

#Installation des paquets necessaire a dimdim
apt-get update && apt-get -qy install lighttpd openoffice.org sun-java6-jre wget python-setuptools

#On stop lighttpd pour plus tard
/etc/init.d/lighttpd stop

#Telechargement de Dimdim
cd /usr/src/
wget http://surfnet.dl.sourceforge.net/sourceforge/dimdim/Dimdim_Linux_Native_Install_v3.5.tar.gz

#Decompression de dimdim
tar xzvf Dimdim_Linux_Native_Install_v3.5.tar.gz
mv dimdim/ /usr/local/

#Telechargement et installation de cherrypy
wget http://download.cherrypy.org/cherrypy/3.0.3/CherryPy-3.0.3.tar.gz
tar xzvf CherryPy-3.0.3.tar.gz
cd CherryPy-3.0.3
chmod +x *
python setup.py install
cd /usr/src
rm -rf CherryPy-3.0.3/
rm -rf CherryPy-3.0.3.tar.gz

#Telechargement et installation de flup
wget http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz
tar xzvf flup-1.0.tar.gz
cd flup-1.0
chmod +x *
python setup.py install
cd /usr/src/
rm -rf flup-1.0
rm -rf flup-1.0.tar.gz

#Telechargement et installation de zdeamon
wget http://pypi.python.org/packages/source/z/zdaemon/zdaemon-2.0.2.tar.gz
tar xzvf zdaemon-2.0.2.tar.gz
cd zdaemon-2.0.2
python setup.py install
cd /usr/src/
rm -rf zdaemon-2.0.2
rm -rf zdaemon-2.0.2.tar.gz

#On backup les fichiers de configuration que l’on va modificer
cp /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf.bak
cp /usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py /usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh.bak
cp /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh.bak

#On indique ou se situe le fichier dans une variable
wrapper=/usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/conf/wrapper.conf
osconfig=/usr/local/dimdim/Mediaserver/mods/toolkit/osconfig.py
java=/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/jvm.cfg
startdimdim=/usr/bin/startDimdim

#On remplace la commande « source » par un point
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_status.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_start.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_stop.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_watcher.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_daemon_checker.sh
sed -e ’s#source#.#’ -i /usr/local/dimdim/DTP3/Deployment/Reflector/reflector_check.sh
#Dans le fichier de configuration on remplace le root de java par le notre
sed -e ’s#wrapper.java.command=DIMDIM_JAVA_HOME/bin/java#wrapper.java.command=/usr/lib/jvm/java-6-sun-1.6.0.06/bin/java#’ -i $wrapper

#Dans le fichier de configuration on remplace le root de OOo par le notre
sed -e ’s#/opt/openoffice.org2.3/program/#/usr/lib/openoffice/program/#’ -i $osconfig

#Dans le fichier de configuration de java on indique a java qu’il n’agisse pas en temps que client regle des pb dans openvz
sed -e ’s#-client IF_SERVER_CLASS -server#-client KNOWN#’ -i $java

#Changement de l’executable de lighthttpd
sed -e ’s#/usr/local/dimdim/lighty/sbin/lighttpd#/usr/sbin/lighttpd#’ -i $startdimdim

#On creer les dossiers
mkdir /usr/local/share/swftools

#Copie des fichiers necessaire a dimdim
cp /usr/local/dimdim/swftools/pdf2swf /usr/bin
cp /usr/local/dimdim/swftools/swfextract /usr/bin
cp /usr/local/dimdim/swftools/swfdump /usr/bin
cp /usr/local/dimdim/swftools/libs/* /usr/lib
cp -r /usr/local/dimdim/swftools/swffonts/fonts /usr/local/share/swftools/
cp -r /usr/local/dimdim/swftools/swffonts/swfs /usr/local/share/swftools/

#Export du home de java dans le .bashrc
echo « JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.06/ » >> /root/.bashrc
echo « export JAVA_HOME » >> /root/.bashrc
echo « PATH=$JAVA_HOME/bin:$PATH » >> /root/.bashrc
echo « export PATH » >> /root/.bashrc

#Creation de lien symobilques
ln -s /usr/lib/openoffice/program/soffice.bin /usr/bin/soffice.bin
ln -s /usr/local/dimdim/startDimdim.pl /usr/bin/startDimdim
ln -s /usr/local/dimdim/stopDimdim.pl /usr/bin/stopDimdim
ln -s /usr/lib/libpcre.so.0 /usr/lib/libpcre.so.3
#pour wrapper
ln -s /bin/ps /usr/bin/ps

#On applique les permissions aux differents dossier
chmod +x /usr/local/dimdim/ConferenceServer/apache-tomcat-5.5.17/bin/*
chmod +x /usr/local/dimdim/red5/*
chmod +x /usr/local/dimdim/red5/conf/*
chmod +x /usr/local/dimdim/nginx/sbin/*
chmod +x /usr/local/dimdim/DTP3/Deployment/Reflector/*
chmod +x /usr/local/dimdim/Mediaserver/mods/*
chmod +x /usr/local/dimdim/Mediaserver/www/pages/*
chmod +x /usr/local/dimdim/swftools/*
chmod +x /usr/bin/*
chmod +x /usr/lib/*
chmod +x /usr/local/share/*

#/usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/i386/jvm.cfg

#Lancement de dimdim
startDimdim

Si vous avez des soucis vous pouvez me contacter sur l’adresse suivante : fmaussion (at) starxpert.fr

Télécharger le script Install_Dimdim.sh

Références :

http://www.dimdim.fr

http://www.dimdim.com

Filed under Linux, scripting having No Comments »

Nuit du hack 2008 retour de la soirée.

juin 19th, 2008 by Corbier

La nuit du hack s’est très bien passé, la soirée a été forte en émotion et ca fait très plaisir de revoir tous le monde.

Les conférences étaient comme d’habitude de qualité. Mais avant tous voici le moment que vous attendez tous : les photos. Je suis très mauvais photographe et surtout très souvent un verre a la main. Donc les photos ne sont pas de moi, mais de mon potes Dark_Schneider

Le staff toujours opérationnel

De la bière de la bière et encore de la bière mais mon petit doigt me dis qu’on a pas bu que ca

Des conférences super sympa

Bootloader pour la DS avec de fonctionnalité orientés hack wifi

scapy Roxxxx

Un collectionneur de folie, il a débarquer avec des atary etc… l’hallu totale ?!?

Lockpicking ou comment je rentre chez mes voisins peinards

Et des filles en strip tease pour le plaisir des yeux Pink Paradise powaaaa

Filed under Non classé having No Comments »

Nuit du hack 2008

juin 14th, 2008 by Corbier

Nous sommes donc le jour tant attendu, ce soir c’est du plaisir,

Nouvelle année, nouveaux locaux et nouveaux programmes, la nuit du hack revient du 14 au 15 Juin à Orsay avec au programme :
- des conférences sur l’actualité underground et la sécurité informatique ;
- un challenge Hacking codé spécialement pour l’occasion par nos rooteurs sur pattes ;
- divers concours avec de nombreux lots à gagner ;

Les conf :

Horaires Sujet Conférencier
18H-19H Nitendo DS Virtualabs
19H-20H Scapy Nono2357
20H-21H Exploitation kernel Ivanlef0u
21H-22H Securité physique Virtualabs’ Brother
22H-23H BackTrack 3 Final Shaman virtuel

Donc du plaisir j’attends avec impatience la conférence sur scappy de l’ami Nono2357, conférence que j’avais le plaisir de voir lors des python days. J’ai entendu dire de source plus ou moins sur (il se reconnaîtra) que la conférence de la nuit du hack sera beaucoup poussé techniquement.

Je vous posterai les photos dans la semaine.

Pourquoi un tel post sur le planet-libre ?

Tout simplement car je pense que le hacking dans son sens premier entre pleinement dans la philosophie du libre.

Mirroring de traffic via iptables [Debian Etch]

juin 5th, 2008 by Corbier

This option adds a `ROUTE’ target, which enables you to setup unusual

routes. For example, the ROUTE lets you route a received packet through

an interface or towards a host, even if the regular destination of the

packet is the router itself. The ROUTE target is also able to change the

incoming interface of a packet.

To copy (duplicate) all traffic from and to a local ECHO server to a second box (nonfinal target)

iptables -A PREROUTING -t mangle -p tcp –dport 7 -j ROUTE –gw 1.2.3.4 –tee

iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee

Afin d’activer la cible route pour iptables il est nécéssaire de recompiler l’ensemble « noyau + iptables »

Nous allons donc préparer notre environnement de travail.

apt-get install linux-source-2.6.18 gcc make ncurses-dev
cd /usr/src
tar -xvjf linux-source-2.6.18.tar.bz2
ln -s linux-source-2.6.18 linux

On télécharge les sources d’iptables et on les décompresses

wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.6.tar.bz2

tar -xjpf iptables-1.3.6.tar.bz2

On peut maintenant télécharger le patch-o-matic :

wget http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/patch-o-matic-ng-20070728.tar.bz2

tar xvjf patch-o-matic-ng-20070728.tar.bz2

cd patch-o-matic-ng-20070728

Nous devons spécifié le dossier des sources d’iptables

IPTABLES_DIR=/usr/src/iptables-1.3.6 ./runme ROUTE

Hey! KERNEL_DIR is not set.

Where is your kernel source directory? [/usr/src/linux]

Loading patchlet definitions…………….. done

Welcome to Patch-o-matic ($Revision: 6736 $)!

Kernel: 2.6.18, /usr/src/linux

Iptables: 1.3.6, /usr/src/iptables-1.3.6

Each patch is a new feature: many have minimal impact, some do not.

Almost every one has bugs, so don’t apply what you don’t need!

——————————————————-

Already applied:

Testing ROUTE… not applied

The ROUTE patch:

Author: Cédric de Launois <delaunois@info.ucl.ac.be>

Status: Experimental

This option adds a `ROUTE’ target, which enables you to setup unusual

routes. For example, the ROUTE lets you route a received packet through

an interface or towards a host, even if the regular destination of the

packet is the router itself. The ROUTE target is also able to change the

incoming interface of a packet.

The target can be or not a final target. It has to be used inside the

mangle table.

ROUTE target options:

–oif ifname Send the packet out using `ifname’ network interface.

–iif ifname Change the packet’s incoming interface to `ifname’.

–gw ip Route the packet via this gateway.

–continue Route the packet and continue traversing the rules.

–tee Route a copy of the packet, but continue traversing

the rules with the original packet, undisturbed.

Note that –iif, –continue, and –tee, are mutually exclusive.

Examples :

# To force all outgoing icmp packet to go through the eth1 interface

# (final target) :

iptables -A POSTROUTING -t mangle -p icmp -j ROUTE –oif eth1

# To tunnel outgoing http packets and continue traversing the rules :

iptables -A POSTROUTING -t mangle -p tcp –dport 80 -j ROUTE –oif tunl1 –continue

# To forward all ssh packets to gateway w.x.y.z, and continue traversing

# the rules :

iptables -A POSTROUTING -t mangle -p tcp –dport 22 -j ROUTE –gw w.x.y.z –continue

# To change the incoming network interface from eth0 to eth1 for all icmp

# packets (final target) :

iptables -A PREROUTING -t mangle -p icmp -i eth0 -j ROUTE –iif eth1

# To copy (duplicate) all traffic from and to a local ECHO server

# to a second box (nonfinal target)

iptables -A PREROUTING -t mangle -p tcp –dport 7 -j ROUTE –gw 1.2.3.4 –tee

iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee

—————————————————————–

Do you want to apply this patch [N/y/t/f/a/r/b/w/q/?] y

Excellent! Source trees are ready for compilation.

Nous pouvons maintenant compiler le noyau

cd /usr/src/linux

make oldconfig

Quelques librairies sont rapidement indispensable ;o)

apt-get install kernel-package

Et c’est partie pour de la compilation

make-kpkg clean

make-kpkg –initrd kernel_image kernel_headers

make-kpkg –initrd kernel_image

Une fois la compilation effectué il faut installer et booter sur le noyau.

dpkg –i monnoyau.deb

Vérifiez votre /boot/grub/menu.lst afin de voir si votre nouveau noyau apparait.

Ensuite Reboot

Pour monitorer tout le trafic entrant vers une ip (Un IDS par exemple J) utiliser la règle iptables suivante :

iptables -A POSTROUTING -t mangle -p tcp –sport 7 -j ROUTE –gw 1.2.3.4 –tee

Nous verrons dans un prochain billet comment utiliser ce trafic avec un IDS.

Sécurité mysqld

mai 29th, 2008 by Corbier

Définition du mot de passe root mysql :

mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘new_password’);

Query OK, 1 row affected (0.00 sec)

Lors de l’installation mysqld créée deux users avec  » en nom de user et  » en password il faut les supprimer.

mysql> DELETE FROM mysql.user WHERE user= » or pass  »;

Suppression des utilisateurs inutiles :

mysql> DELETE FROM user WHERE Host=’monhost’ AND User=’monuser’;

Query OK, 1 row affected (0.00 sec)

Ainsi que les mots de passe vides :

mysql> DELETE FROM user WHERE Password= »;

Query OK, 2 rows affected (0.00 sec)

La base de donné test créée par mysql à l’installation est inutile.

mysql> DROP DATABASE test;

Query OK, 0 rows affected (0.00 sec)

Par défaut, la base test et toutes les bases commençant par « test_ » sont accessibles par tous.

mysql> DELETE FROM db WHERE db=’test’ OR db=’test\_%’;

Query OK, 2 rows affected (0.00 sec)

Afin d’activé les modifications il est nécessaire de recharger les privilèges

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

Privilèges

Afin de garantir la confidentialité des données et des utilisateurs. Il faut autoriser les différents utilisateurs à se connecter et à modifier uniquement leurs bases de données. Nous utilisons la commande GRANT.

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,DROP ON userdb.* TO someuser@ »% » IDENTIFIED BY « pwd »;

Lister les bases de données

A l’aide de la commande SHOW DATABASES, un utilisateur lister toutes les bases de données du serveur.

mysql -u someuser -p

Enter password:

mysql> show databases;

+——————–+

| Database |

+——————–+

| mysql |

| someuserdb |

+——————–+

Il est possible de désactiver cette commande. Cependant il serait judicieux d’autoriser l’utilisateur à lister que les bases de données sur lesquelles il a des droits. Dans le fichier my.cnf, dans la section mysqld, ajouter safe-show-database.

mysql -u someuser -p

Enter password:

mysql> show databases;

+———-+

| Database |

+———-+

| someuserdb |

+———-+

Restriction réseau

Afin de limiter l’écoute du deamon mysql à une interface, utilisez bind-address.

netstat -lataupen |grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27 19963 7045/mysqld

Si aucune connexion réseau n’est requise, on peux la supprimer avec –skip-networking.

Chrooter Mysql

Malgré toutes ces modifications, nous ne sommes pas à l’abri d’un exploit sur le service mysqld. Il apparait donc nécessaire de chrooter mysqld. Ceci fait, mysqld ne pourra pas accéder à l’ensemble du disque. Il restera dans sa nouvelle racine.

Nous allons donc créer l’arborescence :

mkdir -p /chroot/mysql/var/lib/

cd /chroot/mysql

mkdir -p var/run etc tmp

chmod 1777 tmp

Ensuite nous allons recréer l’environnement de mysql et les bases nécessaires

grep « mysql: » /etc/passwd > etc/passwd

mv /var/lib/mysql var/lib/

ln -s /chroot/mysql/var/lib/mysql/ /var/lib/mysql

mv /var/run/mysqld var/run

ln -s /chroot/mysql/var/run/mysqld/ /var/run/mysqld

Enfin, nous ajoutons les librairies de mysqld.

[root@localhost mysql]# ldd /usr/libexec/mysqld
librt.so.1 => /lib64/librt.so.1 (0×0000003d59200000)
libz.so.1 => /usr/lib64/libz.so.1 (0×0000003d58600000)
libdl.so.2 => /lib64/libdl.so.2 (0×0000003d57a00000)
libssl.so.6 => /lib64/libssl.so.6 (0×0000003d65400000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0×0000003d61600000)
libpthread.so.0 => /lib64/libpthread.so.0 (0×0000003d58200000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0×0000003d6a000000)
libnsl.so.1 => /lib64/libnsl.so.1 (0×0000003d5b200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0×0000003d69c00000)
libm.so.6 => /lib64/libm.so.6 (0×0000003d57e00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0×0000003d69800000)
libc.so.6 => /lib64/libc.so.6 (0×0000003d57600000)
/lib64/ld-linux-x86-64.so.2 (0×0000003d57200000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0×0000003d63400000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0×0000003d63800000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0×0000003d5e200000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0×0000003d5fa00000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0×0000003d5fe00000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0×0000003d64000000)
libresolv.so.2 => /lib64/libresolv.so.2 (0×0000003d5ce00000)
libselinux.so.1 => /lib64/libselinux.so.1 (0×0000003d58e00000)
libsepol.so.1 => /lib64/libsepol.so.1 (0×0000003d58a00000)

mkdir -p lib64/ usr/lib64

cp /lib64/librt.so.1 /lib64/libdl.so.2 /lib64/libcrypto.so.6 /lib64/libpthread.so.0 /lib64/libcrypt.so.1 /lib64/libnsl.so.1 /lib64/libm.so.6 /lib64/libgcc_s.so.1 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 /lib64/libcom_err.so.2 /lib64/libkeyutils.so.1 /lib64/libresolv.so.2 /lib64/libselinux.so.1 /lib64/libsepol.so.1 lib64/

cp /usr/lib64/libz.so.1 /usr/lib64/libstdc++.so.6 /usr/lib64/libgssapi_krb5.so.2 /usr/lib64/libkrb5.so.3 /usr/lib64/libk5crypto.so.3 /usr/lib64/libkrb5support.so.0 usr/lib64/

Il faut aussi ajouter les librairies nécessaires à la résolution de noms

cp /lib/libnss_compat.so.2 /lib/libnss_files.so.2 lib64

Il nous reste à compléter la nouvelle racine dans le fichier my.cnf

/etc/my.cnf: chroot=/chroot/mysql

Filed under Linux, Securité having 1 Comment »

« Previous Entries