5. Projekt Atropa: Vytvárame Honeypot

Loading

Raspberry Pi Hacks – Facebook – V predchádzajúcich dieloch seriálu o vytvorení “zlých malín” sme si ukázali, ako na Raspberry Pi nainštalovať operačný systém Raspbian, ASP.NET 5 a ako aplikáciu pomocou Nginx vypublikovať na Internet. Dnes z Raspberry vytvoríme Wi-Fi Honeypot, teda Wi-Fi access point, ktorý každému dovolí, aby sa pripojil, a všetky HTTP požiadavky bude smerovať sám na seba.

Pozná moje Wi-Fi režim AP?

Základom úspechu je mať Wi-Fi sieťovú kartu, ktorá podporuje AP režim. V úvodnom dieli som odporúčal TP-LINK TL-WN722N a ten AP pozná. Ak budete mať inú a nie ste si istí, skontrolujte to.

Začnite tým, že príkazom sudo apt-get install iw -y nainštalujete utilitu iw, ktorá vie okrem iného vypísať schopnosti vašej Wi-Fi. Potom si príkazom iw list vypíšte všetky Wi-Fi vo vašom systéme a ich schopnosti.

Nájdite ich sekcii Supported interface modes a v nej hľadajte režim AP. Pokiaľ ho nenájdete, kúpte si inú kartu.

Vytvorenie Wi-Fi AP pomocou hostapd

V celom návode budem predpokladať, že sa vaša Wi-Fi karta volá wlan0, čo je zrejme pravda (ak máte v systéme jedinú kartu). Ak si nie ste istí, zistite to príkazom iwconfig, ktorý vypíše všetky bezdrôtové sieťovky vo vašom systéme:

*pi@raspberrypi ~ $* **iwconfig**
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
lo        no wireless extensions.
eth0      no wireless extensions.

Hostapd je program, ktorý z vášho Raspberry Pi urobí Wi-Fi prístupový bod. Nainštalujte ho príkazom sudo apt-get install hostapd -y. Ďalej potom vytvorte jeho konfiguračný súbor príkazom sudo nano /etc/hostapd/hostapd.conf. Zadajte do neho nasledujúci obsah:

interface=wlan0
driver=nl80211
ssid=Internet
channel=6

Potom zmeny uložte (Ctrl + X, Y, ENTER). Význam parametrov je nasledovný:

  • interface je názov rozhrania, v našom prípade teda wlan0.
  • driver je názov ovládača. Ak nemáte naozaj starú alebo naozaj divnú kartu, bude to nl80211.
  • ssid je názov siete, tu Internet.
  • channel je číslo kanála. Zvoľte taký, ktorý nebude kolidovať so sieťami vo vašom okolí.

Ďalej musíme hostapd-u povedať, kde konfiguráciu nájde. Príkazom sudo nano /etc/init.d/hostapd otvorte jeho spúšťací skript a nájdite riadok, ktorý začína DAEMON_CONF =. Za znamienko rovnosti napíšte cestu ku konfiguračnému súboru. Celý riadok teda bude vyzerať tako:

DAEMON_CONF=/etc/hostapd/hostapd.conf

Potom zmeny uložte (Ctrl + X, Y, ENTER).

Príkazom sudo update-rc.d hostapd defaults nastavte, aby sa hostapd automaticky naštartoval po rebootu.

Reklamy

Týmto sme náš počítač zkonfigurovali ako AP pre sieť Internet, ktorá je úplne otvorená (bez hesla). Zatiaľ ho ale nebudeme štartovať, pretože by sa klienti rovnako nemohli pripojiť, pretože by nedostali adresu cez DHCP.

Inštalácia a konfigurácia dnsmasq

Dnsmasq je program, ktorý funguje ako jednoduchý DNS a DHCP server. Nainštalujte ho príkazom sudo apt-get install dnsmasq -y. Potom otvorte jeho konfiguračný súbor príkazom sudo nano /etc/dnsmasq.conf. Na koniec súboru pridajte nasledujúce:

log-facility=/var/log/dnsmasq.log
address=/#/10.0.0.1
interface=wlan0
dhcp-range=10.0.0.10,10.0.0.250,1h
no-resolv
log-queries

Potom zmeny uložte (Ctrl + X, Y, ENTER). Tento zápis všetkým pripojeným cez interface wlan0 pridelí IP adresu z rozsahu 10.0.0.100-250 a na všetky DNS otázky bude odpovedať adresou 10.0.0.1. To bude adresa nášho počítača, takže či už sa užívateľ spýta na čokoľvek, bude presmerovaný na náš lokálny web server. Ďalej potom budeme všetky DNS dotazy ukladať do súboru /var/log/dnsmasq.log.

Príkazom sudo update-rc.d dnsmasq defaults nastavte, aby sa dnsmasq automaticky naštartoval po rebootu.

Nastavenie siete a firewallu

Začneme tým, že na firewallu zakážeme pre rozhranie wlan0 všetky porty, s výnimkou HTTP, DHCP a DNS. Zadajte nasledujúce príkazy:

sudo iptables -F
sudo iptables -i wlan0 -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -i wlan0 -A INPUT -p udp --dport 53 -j ACCEPT
sudo iptables -i wlan0 -A INPUT -p udp --dport 67:68 -j ACCEPT
sudo iptables -i wlan0 -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -i wlan0 -A INPUT -j DROP
sudo sh -c "iptables-save > /etc/iptables.rules"

Tými nastavíte, že sa budú zahadzovať všetky pakety mimo DNS (port 53 UDP), DHCP (porty 67-68 UDP) a HTTP (port 80 TCP). Nastavenie platí len pre rozhranie wlan0, takže cez drôtový Ethernet bude možné sa naďalej normálne pripojiť. Posledným príkazom nastavenie iptables vyexportujete do súboru /etc/iptables.rules, z ktorého ich budeme neskôr načítať.

Ďalej potom nastavíme našej bezdrôtovej karte pevnú IP adresu 10.0.0.1 a zaistíme, že sa pri štarte načítajú vyššie uvedené pravidlá. Editujte konfiguračný súbor príkazom sudo nano / etc / network / interfaces. V tomto súbore vymažte celú sekciu týkajúcu sa rozhrania wlan0 (celý riadok zmažete pomocou Ctrl + K). Namiesto nej zadajte tučný text v nasledujúcom výpise (ktorý zahŕňa pre informáciu aj konfiguráciu ostatných rozhranie, teda celý súbor na mojom RPI):

auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
**iface wlan0 inet static
address 10.0.0.1
netmask 255.255.255.0
broadcast 255.0.0.0
pre-up iptables-restore < /etc/iptables.rules**
auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Potom zmeny uložte (Ctrl + X, Y, ENTER).

Posledná vec, ktorú treba zabezpečiť je, aby sme sa nestali obeťou vlastného Honeypot. Teda aby Raspberry Pi samo dokázalo urobiť funkčné DNS resolving a neresolvovalo všetko samo na seba. Nastavíme teda, že bude napevno používať DNS server Google. Príkazom sudo nano /etc/resolvconf.conf otvorte konfiguračný súbor, odkomentujte riadok začínajúci # name_servers = a miesto 127.0.0.1 zadajte adresu DNS servera, ktorý chcete použiť, napr. 8.8.8.8. Celý súbor bude po vykonaní zmien vyzerať takto:

# Configuration for resolvconf(8)
# See resolvconf.conf(5) for details
resolv_conf=/etc/resolv.conf
# If you run a local name server, you should uncomment the below line and
# configure your subscribers configuration files below.
**name_servers=8.8.8.8**
# Mirror the Debian package defaults for the below resolvers
# so that resolvconf integrates seemlessly.
dnsmasq_resolv=/var/run/dnsmasq/resolv.conf
pdnsd_conf=/etc/pdnsd.conf
unbound_conf=/var/cache/unbound/resolvconf_resolvers.conf

Potom zmeny uložte (Ctrl + X, Y, ENTER).

Reklamy

Skúška Honeypot-u

Začnite tým, že Raspberry restarujtete príkazom sudo reboot. Počkajte, kým sa nenaštartuje. Potom sa pripojte k otvorenej sieti Internet (alebo ako ste ju pomenovali vy sami) a zadajte do browsera akúkoľvek webovú adresu. Budete presmerovaný na úvodnú stránku našej ukážkovej ASP.NET aplikácie.

V budúcom pokračovaní si ukážeme, ako nastaviť aplikáciu tak, aby zbierala heslá používateľov.

Odkaz na nasledujúci – budúci článok.

  1. Projekt Artropa: Ako vyrobiť z Raspberry Pi zlé zariadenie s NETom
  2. Projekt Atropa: Sprevádzkovanie Raspberry Pi a Raspbian Linuxu
  3. Projekt Atropa: Ako spojazdniť ASP.NET 5 na Linuxe
  4. Projekt Atropa: Automaticé spustenie webu a publikaci prostredníctvom nginx
  5. Projekt Atropa: Vytvárame Honeypot
  6. Projekt Atropa: Vytvárame captive portál
  7. Projekt Atropa: Ako sa brániť?
Reklamy

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *