Archive for the ‘Comment faire’ Category

Comment Faire : Honeydrive3

Tuesday, June 6th, 2017

Voici un petit post pour faciliter la mise en place de honeydrive3 dans votre environnement

Ni Honeydrive3 ni ce qu’est un honeypot ne sera détaillé ici.

Préparation de la VM

  • Télécharger le fichier OVA : https://sourceforge.net/projects/honeydrive/
  • Double-cliquer sur le fichier téléchargé pour importer la VM avec virtualbox (tel que recommandé par l’auteur de HoneyDrive)
  • Modifier les paramètres réseaux de la VM  pour passer en mode Bridge
  • Lancer la VM
  • Lancer ‘Terminator’
  • Passer en root (mdp = honeydrive)
honeydrive@honeydrive:~$ sudo su
  • Changer pour un clavier AZERTY :
root@honeydrive:/home/honeydrive# setxkbmap fr
  • Changer le mot de passe du compte honeydrive :
root@honeydrive:/home/honeydrive# passwd honeydrive
  • Mettre à jour le system :
root@honeydrive:/home/honeydrive# apt-get update && apt-get upgrade

Les HoneyPots

Attention!  Il n’est pas possible de lancer tous les honeypots (plusieurs ont les memes fonctionalités). Voici donc une sélection que je vous propose :

 

[Kippo] : Honneypot écrit en Python, simule un serveur SSH avec commandes et système de fichiers accessibles

honeydrive@honeydrive:~$ cd /honeydrive/kippo/

honeydrive@honeydrive:~$ ./start.sh

Pour visualiser les statistiques, aller sur http://192.168.0.13/kippo-graph/index.php

[Dionaea] Honneypot simulant un serveur FTP, SMB, TFTP, MSSQL et HTTP

honeydrive@honeydrive:~$ cd /honeydrive/dionaea-vagrant/
honeydrive@honeydrive:~$  ./runDionaea.sh
[sudo] password for honeydrive :

Pour visualiser les statistiques, aller (depuis la VM honeydrive) sur http://localhost/phpliteadmin/phpliteadmin.php

[Honeyd] permet simuler plusieurs honeypots virtuels avec les services FTP, HTTP. Double emplois avec les 2 précédents

–> Je n’utilise pas

[Amun] Honeypot en python, dernière MaJ en 2014. Message sur Sourceforge : Warning! Malware detected. Download at your own risk.

–> Je n’ai pas cherché plus loin

 

[Conpot] Honeypot simulant des ICS/SCADA ! ça c’est cool!

Le projet est mené par un dev de chez blueCoat, projet open-source soutenu par quelques ‘géants’ >.>…

plusieurs ‘templates’ sont disponibles (/honeydrive3/conpot/conpot/templates/)

 

D’autres Honey pot que je n’ai pas eu le temps de tester sont présents.

A tester plus tard :

[Wordpot]

[Thug]

[PhoneyC]

[LaBrea]

[IIS Emulator]

[INetSim]

 

 

 


 

 

 

Comment faire : récuperer du contenu internet qui n’est plus disponible

Thursday, May 23rd, 2013

Vous est-il déjà arrivé de cliqué sur un lien dont la cible n’était plus disponible? Comme vous le savez sans-doute, internet n’oublie rien (ou presque) et on peut toujours utiliser la machine à voyager dans le temps d’internet : archive.org, un site effectue des sauvegardes d’internet et les met à disposition de chacun gratuitement. Tout internet n’est pas sauvegardé mais pour info, le volume des données disponibles sur archive.org est de 2 petabytes (2048 Teraoctets) et sa croissance est de 20 teraoctets par mois.

Je suis tombé sur ce site qui explique comment se faire une sonde réseaux passive. l’article comporte un schéma de câblage issu de snort.org. Alors, voulant obtenir plus de détails, j’ai cliqué sur ce lien et la : erreur 404… Misère, snort.org a retiré ce contenu… Je me suis donc rendu sur archive.org. La il suffit de taper une URL pour afficher les pages web des temps passés.

La question qui se pose ensuite : sur quelle période le contenu que je recherche était disponible? Pour cela, on peut chercher des indices:

Le post que je lisait date de février 2008. Plus bas, on trouve qu’un commentaires, daté de Juin 2009, mentionne que le lien est mort. Il faut donc chercher entre ces 2 dates ! Je clique sur une date de juin 2008 ; je tombe sur la page d’accueil de Snort.org de 2008. Il suffit ensuite de copier/coller le liens d’origine à la fine de l’URL d’archive.org et nous avons quelque chose comme ceci:

http://web.archive.org/web/20080619050027/http://www.snort.org/docs/tap/

Une URL dans une URL! Yo dawg?

Par chance, ça a marché! j’ai pu retrouver l’article d’origine et ainsi obtenir plus d’infos =]

 

PS: Si vous lisez ce billet et que nous sommes en 2024, il est possible que les liens qui s’affiche sur votre page ne soit plus accessibles! allez-donc faire un tour sur archives.org! (si ça existe toujours…)

 

BASH strings cheat sheet

Sunday, May 12th, 2013

Un autre cheat sheet pour continuer dans la foulée, cette fois ci, focus sur les manipulations de chaines de caractères en bash. Beaucoup de manipulations ci-dessous sont plus simple à réaliser à l’aide d’outils tiers (awk, sed, tr,wc…) mais ici, nous nous faisons du bash pur. L’intérêt est de gagner en performance ce qui peut être primordial pour certains projets.

Soit la chaine de caractères suivante:

var="bli-bla-blo"

${#var} = la longueur de la chaine (11)
${var:0:1} = le premier caractère (‘b’)
${var:4:6} = les caractères du 5eme à 7eme (‘bla’)
${var: -1} = le dernier caractère (‘o’)
${var%-*} = la plus grande sous-chaine jusqu’à un ‘-’ en partant de la gauche (‘bli-bla’)
${var%%-*} = la plus petite sous-chaine jusqu’à un ‘-’ en partant de la gauche (‘bli’)
${var#*-} = la plus grande sous-chaine jusqu’à un ‘-’ en partant de la droite (‘bla-blo’)
${var##*-} = la plus petite sous-chaine jusqu’à un ‘-’ en partant de la droite (‘blo’)

Voici un script qui reprend les notions décrites avec des exemples concrets:

String_Cheat_Sheet

 

EICAR : testez votre antivirus

Saturday, May 11th, 2013

Le site EUROPEAN EXPERT GROUP FOR IT-SECURITY propose une méthode simple pour tester votre antivirus windows:

Procédure
-Ouvrez votre éditeur de texte préféré.
-Copiez la chaine de caractères suivante:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
-Sauvegardez le fichier.

Si votre antivirus fonctionne, vous devriez avoir un pop-up vous indiquant qu’une menace a été détectée!
Bien entendu, ceci ne vous renseigne pas sur la qualité de votre antivirus mais il permet de vérifier que la détection en temps réel marche bien.

Pour info, le fichier ainsi créé est un programme DOS qui affiche “EICAR-STANDARD-ANTIVIRUS-TEST-FILE!” lorsqu’il est exécuté.

 

Comment faire: Lancer une commande persistante après fin de session

Monday, February 18th, 2013

Lorsque vous lancez une une commande sur votre serveur linux, si la session est interrompue, la commande sera interrompue également. Heureusement, il existe une solution pour qu’une commande soit immunisée contre les déconnexions.

Par exemple, nous souhaitons scanner les adresses du subnet de notre FAI (ici 88.120.0.0/16) dont le port 3389 est ouvert. Nous utilisons nmap comme ceci:

nmap -v -PN -n -p3389 88.120.1-254.1-254 | grep open

Le problème avec la commande ci-dessus, est qu’on est obligé de garder la session ouverte au risque d’interrompre la commande avant la fin.

La solution à choisir est donc d’utiliser nohup :

nohup <ma_super_commande> &

le ‘&’ en fin de ligne permet de récupérer le prompt.

 

Comment protéger son serveur linux d’une fork bombe

Sunday, February 3rd, 2013

Si je vous dis :

: ( ) { : | : & } ; :

Cela évoque-t-il quel que chose?

C’est est une fork bomb bash. sans rentrer dans les détails, une fork bomb est une fonction récursive qui crée des process, tout simplement.

Ceci est une forme d’attaque DOS très simple et terriblement efficace.

Heureusement, il est possible de s’en prémunir facilement : limiter le nombre de process par utilisateur!

Tout d’abord taper la commande suivante nous informe sur les limites système:

ulimit -a

Parmi les résultats, la ligne qui nous intéresse est  celle-ci:

max user processes              (-u) unlimited

Nous allons donc instaurer une limite de process par utilisateur afin de nous prémunir:

editer le fichier /etc/security/limit.conf, et ajouter les lignes suivantes:

username      soft    nproc     30
username      hard    nproc     50

De cette manière, l’utilisateur ne pourra créer plus de 50 process.
On peut tout à fait appliquer cette limite à un groupe d’utilisateur en commençant la ligne avec le nom du groupe précédé de ‘@’:

@group     soft    nproc    30
@group     hard    nproc    50

 

 

 

 

 

Comment faire : déterminer depuis combien de temps tourne un process

Wednesday, January 16th, 2013

Lorsque nous faisons un ‘ps aux’, la neuvieme colonne nous renseigne sur le moment ou le process a démarré.
Si le process a démarré dans la journée, vous aurez l’heure et la minute. Par contre, si le process a démarré depuis plus de 24H, alors vous aurez seulement le jour et le mois.

Il peut être utile de savoir l’heure exacte du démarrage de ce process (pour une analyse de log par exemple).

Tout d’abord, il nous faut le PID du process, prenons pour exemple le daemon sshd :

ps aux | grep sshd

Voici le résultat :

root 767 0.0 0.2 5516 320 ? Ss Jan03 0:04 /usr/sbin/sshd

On pourrait croire que la 10e colonne indique l’heure de démarrage mais c’est en fait le temps de CPU consommé depuis le démarrage du process.

Le PID de notre sshd est donc 767. Nous savons aussi que le process tourne depuis le 3 Janvier.

Pour chaque process, un fichier (nommé avec le PID du process) est créé dans le répertoire /proc.
Il suffit donc de faire :
ls -ld /proc/767

et voici le résultat:

dr-xr-xr-x 7 root root 0 Jan 13 06:26 /proc/767

Ainsi, nous savons que le fichier /proc/767 et le process sshd ont été créés à 6h26 le 13 janvier

Comment faire : afficher les crontabs de tous les utilisateurs

Monday, January 14th, 2013

Voici un petit ‘one-liner’ qui peut servir. Pour afficher tous les crontabs pour tous les utilisateurs, il faut évidement avoir les droits root. Voici la commande à taper:

for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

Et c’est tout !