Salut a tous, aujoudhui j'ai décider de monter un Command & Control de botnet sur Rasberry Pi 3 !
(Pour étudier le fonctionnement et mettre en place des attaques sur le C&C)
J'ai donc pensser que faire des petit tuto pour Hackademics pourrais étre simpas =)
Le but final seras d'avoir un C&C fonctionel et discret sur notre Raspberry ! Le tout sans clavier ni souris !
(Tout ce fera en local, je vous déconseille fortement d'utiliser mon tuto pour mettre un C&C "OnLine" la configuration n'est pas adaptée du tout)
Dans cette premiere partie nous verrons:
-1 Instalaion de raspbian, mise en place et configuration du server ssh sans clavier ni souris (Port serie cable TTL).
-2 Caché le server SSH via Port Knocking.
(La mise en place et la configuraton du C&C viendrons dans la partie 2 !)
Donc pour ce tuto il vous faudras, un Raspberry pi 3, un câble serie ttl (ou clavier/souris), une micro sd (4go mini), et votre pc sous Linux !
-1 Instalation de Raspbian, Sans clavier ni souris !
Alors on commence par télécharger l'image sur le site officiel:
https://raspbian-france.fr/telechargements/
Ensuite j'ai utiliser etcher:
On selectionne l'image, puis on selection la cartes sd, il suffit de cliquer et d'attendre =)
Capture d’écran de 2018-02-04 15-40-31.png
Aprés un rapide sync on devrais avoir accés au fichier config.txt ( dans la partition /boot/ de la micro SD )
on ouvre donc le fichier /boot/config.txt (depuis le pc)
et on ajoute tout en bas :
on save et on quit !
C'est l'heure de plug la micro sd et de brancher le câble (Photo google):
/!\ LE CABLE TTL ALIMENTE NOTRE RASPBERRY /!\ Ne pas branché l'alimentation micro usb /!\
(Ou alors ne pas branché le fil rouge "VCC")
images.jpeg
Une fois brancher on ce connecter au port serie:
Vous aurez surement des caractères mal interpréter il faut les trap avec ctrl + C jusqu'à l'apparition du temps convoité "login:"
on peut alors se loger avec les logs par défauts Logins: pi Password: raspberry
Capture d’écran de 2018-02-04 16-13-09.png
Une fois loger on va commencé par modifier le password de pi et de root avec la commande passwd;
Capture d’écran de 2018-02-04 16-19-43.png
Puits il faut activer SSH et une connection automatique a notre point d'acces:
Pour la connection automatique on édit le fichier /etc/wpa_supplicant/wpa_supplicant.conf
Puis pour SSH on édit le fichier /etc/ssh/sshd_config on décommentez la ligne "port 22" et modifie le port..(J'utilise pour le tuto le port 7222)
Pour activer ssh au démarage: raspi-config >
Capture d’écran de 2018-02-04 16-28-14.png
Interfacing Options > ssh
Capture d’écran de 2018-02-04 16-28-22.png
Voila a partir de la vous pouvez débrancher le câble TTL et brancher votre Raspberry a son alimentation normal, il devrais ce connecter a votre point d'acces et demarrer ssh sur le port demander !
-2 Caché ssh !
Pour cacher le serveur SSH nous allons utiliser un system de Port-Knocking ce qui permettra d'ouvrire le port du serveur SSH juste 10 secs pour s'y connecter puits il sera refermé.
On met rapidement en place le port knocking:
On install knockd:
On édit le fichier de configuration /etc/kncockd.conf
(Il faudras "taper" la séquence 111,222,9991 pour ouvrire le port 7222 pendant 10secondes )
Pour finir un petit script pour ajouter deux régles a iptables dans /etc/network/if-up.d/
(Ne pas couper les connections en cours, fermer le port 7222 et lancer knockd au démarrage):
##Modif: J'utilise maintenant le paquet netfilter-persistent ( je vous en parle dans la partie 2 )
On reboot ! et on teste ca ! :
(nc 111 222 9991 IPduRaspberry -vvv)
Capture d’écran de 2018-02-04 16-49-30.png
Comme vous pouvez le voir, je "frappe" la séquence avec netcat puis me connecte en ssh !
Vous pouvez installer Fail2ban également, moi je m'en passerais pour le moment..
Bon c'est tout pour la partie 1 je commence le C&C et post la partie 2 =)
(Pour étudier le fonctionnement et mettre en place des attaques sur le C&C)
J'ai donc pensser que faire des petit tuto pour Hackademics pourrais étre simpas =)
Le but final seras d'avoir un C&C fonctionel et discret sur notre Raspberry ! Le tout sans clavier ni souris !
(Tout ce fera en local, je vous déconseille fortement d'utiliser mon tuto pour mettre un C&C "OnLine" la configuration n'est pas adaptée du tout)
Dans cette premiere partie nous verrons:
-1 Instalaion de raspbian, mise en place et configuration du server ssh sans clavier ni souris (Port serie cable TTL).
-2 Caché le server SSH via Port Knocking.
(La mise en place et la configuraton du C&C viendrons dans la partie 2 !)
Donc pour ce tuto il vous faudras, un Raspberry pi 3, un câble serie ttl (ou clavier/souris), une micro sd (4go mini), et votre pc sous Linux !
-1 Instalation de Raspbian, Sans clavier ni souris !
Alors on commence par télécharger l'image sur le site officiel:
https://raspbian-france.fr/telechargements/
Ensuite j'ai utiliser etcher:
On selectionne l'image, puis on selection la cartes sd, il suffit de cliquer et d'attendre =)
Capture d’écran de 2018-02-04 15-40-31.png
Aprés un rapide sync on devrais avoir accés au fichier config.txt ( dans la partition /boot/ de la micro SD )
on ouvre donc le fichier /boot/config.txt (depuis le pc)
et on ajoute tout en bas :
enable_uart=1
C'est l'heure de plug la micro sd et de brancher le câble (Photo google):
/!\ LE CABLE TTL ALIMENTE NOTRE RASPBERRY /!\ Ne pas branché l'alimentation micro usb /!\
(Ou alors ne pas branché le fil rouge "VCC")
images.jpeg
Une fois brancher on ce connecter au port serie:
sudo screen /dev/ttyUSB0
on peut alors se loger avec les logs par défauts Logins: pi Password: raspberry
Capture d’écran de 2018-02-04 16-13-09.png
Une fois loger on va commencé par modifier le password de pi et de root avec la commande passwd;
Capture d’écran de 2018-02-04 16-19-43.png
Puits il faut activer SSH et une connection automatique a notre point d'acces:
Pour la connection automatique on édit le fichier /etc/wpa_supplicant/wpa_supplicant.conf
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
scan_ssid=1
ssid="Votre_ESSID"
psk="Votre_wpa"
}
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
scan_ssid=1
ssid="Votre_ESSID"
psk="Votre_wpa"
}
Pour activer ssh au démarage: raspi-config >
Capture d’écran de 2018-02-04 16-28-14.png
Interfacing Options > ssh
Capture d’écran de 2018-02-04 16-28-22.png
Voila a partir de la vous pouvez débrancher le câble TTL et brancher votre Raspberry a son alimentation normal, il devrais ce connecter a votre point d'acces et demarrer ssh sur le port demander !
-2 Caché ssh !
Pour cacher le serveur SSH nous allons utiliser un system de Port-Knocking ce qui permettra d'ouvrire le port du serveur SSH juste 10 secs pour s'y connecter puits il sera refermé.
On met rapidement en place le port knocking:
On install knockd:
apt install knockd
[SSH]
sequence = 111,222,9991
seq_timeout = 5
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 7222 -j ACCEPT
tcpflags = syn
cmd_timeout = 10
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 7222 -j ACCEPT
sequence = 111,222,9991
seq_timeout = 5
command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 7222 -j ACCEPT
tcpflags = syn
cmd_timeout = 10
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 7222 -j ACCEPT
Pour finir un petit script pour ajouter deux régles a iptables dans /etc/network/if-up.d/
(Ne pas couper les connections en cours, fermer le port 7222 et lancer knockd au démarrage):
#!/bin/sh -e
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 7222 -j REJECT
sleep 15
sudo /etc/init.d/knockd start &
exit 0
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 7222 -j REJECT
sleep 15
sudo /etc/init.d/knockd start &
exit 0
On reboot ! et on teste ca ! :
(nc 111 222 9991 IPduRaspberry -vvv)
Capture d’écran de 2018-02-04 16-49-30.png
Comme vous pouvez le voir, je "frappe" la séquence avec netcat puis me connecte en ssh !
Vous pouvez installer Fail2ban également, moi je m'en passerais pour le moment..
Bon c'est tout pour la partie 1 je commence le C&C et post la partie 2 =)