Auteur Sujet: Pas de connexion après installation d’un hotspot virtuel avec airbase-ng  (Lu 2027 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne nonsolum

  • Membre régulier
  • **
  • Messages: 132
  • +7/-6
Bonsoir,

Tout d’abord ma configuration :
root@kali4v2:~# uname -a
Linux kali4v2 4.9.0-kali3-amd64 #1 SMP Debian 4.9.13-1kali3 (2017-03-13) x86_64 GNU/Linux
root@kali4v2:~#

J’ai tenté de créer un hotspot virtuel à l’aide des outils airbase-ng
Je me suis largement inspiré de l’excellent tuto d’Antares
https://antaresnotebook.wordpress.com/2013/03/30/tuto-rogue-ap-episode-1-un-hotspot-transparent/

Mais une fois le hotspot créé impossible de se connecter sur celui-ci depuis un PC client.
Voici comment j’ai procédé :

Je désactive  le gestionnaire network-manager
root@kali4v2:~# service network-manager stopet tue les process qui pourraient interférer avec  airmon-ng
root@kali4v2:~# airmon-ng check kill
Killing these processes:
  PID Name
  731 wpa_supplicant
  732 dhclient
root@kali4v2:~#

Je mets en mode monitoring mon interface wifi (wlan0 chez moi)
root@kali4v2:~# airmon-ng start wlan0
PHY Interface Driver Chipset
phy0 wlan0 rt2800usb Ralink Technology, Corp. RT2870/RT3070
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)
root@kali4v2:~#

Je crée mon hotspot en mentionnant l’essid  et en indiquant pour paramètre mon interface virtuelle wlan0mon créé par airmon-ng:
root@kali4v2:~# airbase-ng  --essid 'WiFi hjg' wlan0mon
11:54:18  Created tap interface at0
11:54:18  Trying to set MTU on at0 to 1500
11:54:18  Trying to set MTU on wlan0mon to 1800
11:54:18  Access Point with BSSID 00:C0:CA:59:44:B3 started.

Airbase-ng crée une nouvelle interface at0 ; j’en prends bonne note
Je configure cette interface :
root@kali4v2:~# ifconfig at0 up
root@kali4v2:~# ifconfig at0 192.168.2.1 netmask 255.255.255.0
root@kali4v2:~#

Il faudra créer le fichier de configuration du serveur DHCP en conséquence.

J’installe le serveur DHCP « udhcpd »
Tout se passe bien.

Je crée donc son fichier de configuration :
root@kali4v2:~#nano  /pentest/udhcpd/udhcpd.conf
# Nombre maximum de clients connectés
max_leases 10
# Première adresse disponible pour les clients
start 192.168.2.10
# Dernière adresse disponible
end 192.168.2.20
# Interface sur laquelle udhcpd va écouter, at0 est créée par airbase-ng
interface at0
# Domaine des clients, n'importe quelle valeur fera l'affaire
domain local
# Serveur DNS à utiliser, ici ceux de Google mais on peut choisir
option dns 8.8.8.8
# Sous-réseau à utiliser, valeur typique (le LAN sera du type 192.168.2.*)
option subnet 255.255.255.0
# Adresse de la passerelle (nous), on devra attribuer cette adresse à notre machine
option router 192.168.2.1
# Durée d'attribution de l'adresse IP, 7200 secondes est une valeur standard
lease 7200
# Fichier dans lequel udhcpd va stocker les associations MAC  IP
# On devra le créer avant de lancer udhcpd
lease_file /pentest/udhcpd/udhcpd.leases

Je crée le fichier lease_file :
root@kali4v2:~# touch  /pentest/udhcpd/udhcpd.leases
Je lance le serveur DHCP qui pointe sur son fichier de configuration
root@kali4v2:~# udhcpd /pentest/udhcpd/udhcpd.confTout est OK

J’active le transfert au niveau du noyau :
root@kali4v2:~# echo 1 > /proc/sys/net/ipv4/ip_forward
Je redirige les paquets vers eth0 (qui est connectée au net, chez moi)
root@kali4v2:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Je vérifie si ma table NAT a bien été prise en compte
root@kali4v2:~# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere           
root@kali4v2:~#

Tout semble là aussi OK

Et pourtant :
 lorsque je me porte sur mon PC client en Windows 10 j’ai bien l’essid  'WiFi hjg' visible dans mon environnement WIFI
mais impossible de se connecter.
Windows indique au bout de quelques secondes :
« Nous n’avons pu nous connecter à ce réseau »
J’ai répété plusieurs fois la procédure.
Rien à faire.
Qu’est-ce qui ne va pas ? Qu’ai-je loupé ?
Je voulais aller plus loin : utiliser un proxy par exemple.
Mais je reste bloqué à cette étape.
Ça fait plusieurs jours que je tourne en rond.
Peut-être quelqu’un a-t-il une idée sur la question ?

« Modifié: 01 mai 2017 à 18:28:28 par nonsolum »

Hors ligne Koala

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 322
  • +18/-0
J'utilise pas udhcpp mais le dhcp a l'air quand meme bon... mmh c'est bisarre j'ai du mal a voir ou ça coince... m'enfin il est tard et je suis ftigué aussi.... les tutos d'Antares sont très fiables, je pense que ça vient d'un ordre d'éxécution plutot qu'autre chose.

Citer
Je vérifie si ma table NAT a bien été prise en compte

Le NAT te servira pas a grand chose tant que le serveur dhcp ne t'ttribue pas d'ip.

En voyant cette ligne:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Je vois que tu veux rediriger ça sur internet mais tu semble avoir oublier la passerelle de ton routeur donc perso moi j'utilise ceci pour faire rapidement un switch:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
         iptables --append FORWARD --in-interface at0 -j ACCEPT
         iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1

Si tu veux utilser un proxy (piusque t'en parle) prenons l'exemple du très bon sergio-proxy, il te faudra rajouter ceci:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to passerellerogue:10000
De la tu n'as plus qu'a lancer sergio sur le port en écoute donc 10000 dans notre cas  ;) a note que tu peux aussi désactiver une règle iptable avec l'option -D sans avoir a lancer tout le tralala pour nettoyer les règles précédentes, exemple de désactivation avec la meme règle que ci-dessus:
Citer
iptables -t nat -D PREROUTING -p tcp --dport 80 -j DNAT --to passerellerogue:10000

Essai d'adapter ta conf avec isc-dhcp-server et vois si ta te fais la meme chose, isc-dhcp-server a tendance a etre un peu plus exigeant et ne laissera pas passer d'erreur.

« Modifié: 28 avril 2017 à 00:23:25 par Koala »

Hors ligne nonsolum

  • Membre régulier
  • **
  • Messages: 132
  • +7/-6
@Koala
Merci Koala pour ta contribution.

J’ai mis en œuvre tes suggestions :

1)   Tout d’abord j’ai changé de serveur DHCP et ai installé « isc-dhcp-server »
J’avais déjà utilisé ce serveur dans d’autres circonstances.
Je sais donc comment le configurer.
Pas de problème pour l’installation ni pour sa mise en œuvre.
Mais en refaisant toute la procédure de création du hotspot j’ai le même problème :
Je n’arrive pas à me connecter depuis le PC client.
Le serveur DHCP n’arrive donc pas à attribuer d’adresse IP au client.

2)   J’ai refait la partie de procédure concernant  les iptables.
Il faut préciser que je n’avais fait qu’appliquer à la lettre le tuto d’Antares (en l'adaptant à ma config) :
une seule règle NAT comme précisé dans mon post
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Il faut dire que j’ai du mal à maîtriser toutes les subtilités du pare-feu iptables.
Aussi j’ai appliqué tes suggestions sans trop savoir ce que je faisais.
(mais j’ai compris le principe)

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
 iptables --append FORWARD --in-interface at0 -j ACCEPT
 iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1

Là aussi , en bout de course,  je ne peux toujours pas me connecter.

Je pense qu’il y a deux problèmes distincts :
-   Tout d’abord la connexion sur mon hotspot
-   Ensuite l’accès Internet

A noter que j’ai désactivé le pare-feu Norton sur le PC client durant toutes les opérations.

Je verrai plus tard pour l'installation d'un proxy.
Je connais  "sergio-proxy", que j'ai téléchargé.
 
« Modifié: 28 avril 2017 à 17:34:46 par nonsolum »

Hors ligne Koala

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 322
  • +18/-0
Essai avec ce dhcp.conf la et dis moi ce qu'il en ressort, tu devrais pas a avoir de soucis, c'est ce que j'utilise, c'est la configuration la plus "open" pour le client qui s'y connecte et c'est vieux comme le monde  8)

option T150 code 150 = string;
deny client-updates;
one-lease-per-client false;
allow bootp;
ddns-updates off;
ddns-update-style interim;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
interface at0;
range 192.168.0.2 192.168.0.10;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1;
allow unknown-clients;

N'oublis pas de faire ceci:

ifconfig at0 up
ifconfig at0 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.1.1

Pour ça:
Citer
Il faut dire que j’ai du mal à maîtriser toutes les subtilités du pare-feu iptables.
Aussi j’ai appliqué tes suggestions sans trop savoir ce que je faisais.

Concentre toi d'abord sur le serveur dhcp avant de passer a la suite  ;)







Hors ligne nonsolum

  • Membre régulier
  • **
  • Messages: 132
  • +7/-6
Merci  Koala pour le coaching
J’en ai effectivement besoin.

Concernant mon fichier de configuration /etc/dhcp/dhcpd.conf  de mon serveur DHCP isc-dhcp-server 
 
Tout d’abord
Je dois rappeler que ma livebox  a pour IP 192.168.1.1
En conséquence je devrais avoir quelque chose comme

option routers 192.168.0.1;
et non
option routers 192.168.1.1;

De même je devrais faire :

ifconfig at0 192.168.0.1 netmask 255.255.255.0
et non
ifconfig at0 192.168.1.1 netmask 255.255.255.0

Ensuite

Après avoir corrigé une erreur de syntaxe (il manquait une })
J’ai donc lancé
service isc-dhcp-server startPas de retour d’erreur ; le service se lance bien
Mais toujours impossible de me connecter au hotspot depuis mon PC client.

Je verrai plus tard ce que signifient les paramètres tel que
«  option T150 code 150 = string; » ( ?)
J’ai fait un petit tour sur internet mais tout est en anglais.
Pas facile de comprendre.

Mais pour l’instant je reste bloqué à cette impossibilité de se connecter.



« Modifié: 29 avril 2017 à 20:08:40 par nonsolum »

Hors ligne Koala

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 322
  • +18/-0
Autant pour moi pour les erreurs, je te l'ai dapaté a la va vite  ::)

le 150 ces't un configuration perso pour le tftp, je te laisse regarder ce que c'est c'est pas obligatoire mais vue qu'a l'époque je gérer en bénévolat un petit groupe de réseau ça m'était bien utile  8)


Pour le reste donne moi le fichier exact dhcp que tu utilise (la fleme de le refaire la...) je le testerai avec iptables et je te dirais si ça coince ou pas  ;)


L'erreur doit venir de quelque chose que tu oublis, pas volontairement bien sur mais si je regarde ça se de mon coté je pourrais dénicher l'erreur.

Hors ligne nonsolum

  • Membre régulier
  • **
  • Messages: 132
  • +7/-6
@koala

J'avais au départ configuré mon fichier "/etc/dhcp/dhcpd.conf"

option domain-name "mshome.net";
# Utilisation du serveur DNS public de Google
option domain-name-servers  8.8.8.8, 8.8.4.4;
# Configuration du sous-réseau (subnet) souhaité :
subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.151 192.168.2.200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.2.255;
    option routers 192.168.2.1;
    }
default-lease-time 600;
max-lease-time 7200;
# Indique que nous voulons être le seul serveur DHCP de ce réseau :
authoritative;

J'avais alors fait au plus simple

Puis selon tes conseils j'ai utilisé ton fichier de configuration:

option T150 code 150 = string;
deny client-updates;
one-lease-per-client false;
allow bootp;
ddns-updates off;
ddns-update-style interim;
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
interface at0;
range 192.168.0.2 192.168.0.10;
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1;
}
allow unknown-clients;

Pour en venir au final à cet ensemble de commandes:

service network-manager stop && airmon-ng check kill
airmon-ng start wlan0
airbase-ng -c 5 --essid 'WiFi2 hjg' wlan0mon
ifconfig at0 up
ifconfig at0 192.168.0.1 netmask 255.255.255.0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1
service isc-dhcp-server start
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables --append FORWARD --in-interface at0 -j ACCEPT
iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.0.1






« Modifié: 30 avril 2017 à 11:50:48 par nonsolum »