Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

Ports mittels Port knocking öffnen

- - - - -

  • Bitte melde dich an um zu Antworten
Keine Antworten in diesem Thema

#1
dev-0

dev-0

    Pentester

  • Premium Member
  • Likes
    104
  • 123 Beiträge
  • 166 Bedankt
  • iPhone
  • Windows, Linux
Wer kennt das Problem nicht, ab und zu muss man mal was an der SQL DB machen an seinem Server aber man(n) will es nicht über die CLI machen sondern Komfortabel über einen SQL Browser auf seinem PC.
Das setzt aber voraus das der Port geöffnet ist was jedoch ein lohnendes Angriffs ziehl für jeden von uns ist :-P
Was können wir also tun wenn der Port nur Temporär für eine IP geöffnet werden soll?
Das Zauberwort heist KnockD, und hier will ich euch kurz erklären wie ihr es einrichtet.

Folgendes haben wir als ausgangs Situation.
Vorraussetzung für die Umsetzung solch einer Lösung mit knockd ist ein installiertes und konfiguriertes iptables.

Beispielkonfiguration:

#cat ./iptables-rules.sh
iptables --flush

#ssh
iptables -A INPUT -d 85.214.25.36 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

(xxx.xxx.xxx.xxx) steht für eure fixe ip

#Postfix/Sendmail
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 25 -j ACCEPT

#FTP
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 20:21 -j ACCEPT

#passice FTP
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 50000:50050 -j ACCEPT

#HTTP
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 80 -j ACCEPT

#SSL/Apache
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 443 -j ACCEPT

#IMAP
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 143 -j ACCEPT

#IMAPS
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 993 -j ACCEPT

#POP3
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 110 -j ACCEPT

#POP3S
iptables -A INPUT -d xxx.xxx.xxx.xxx -p tcp --dport 995 -j ACCEPT

#any traffic from localhost
iptables -A INPUT -d xxx.xxx.xxx.xxx -s 127.0.0.1 -j ACCEPT

#ICMP
iptables -A INPUT -d xxx.xxx.xxx.xxx -p icmp -j ACCEPT

GLOBAL REJECT
iptables -A INPUT -d xxx.xxx.xxx.xxx -j REJECT

So oder ähnlich wird die iptables Konfiguration auf dem System aussehen.
Im weiteren Vorgehen ist nun der Portknockdaemon zu installieren.

#apt-get install knockd

(Ich liebe debian)

Danach ist dieser in der /etc/default/knockd zu aktivieren und dort wird festgelegt, welche Netzwerkkarte benutzt wird.

#cat /etc/default/knockd

START_KNOCKD=1
KNOCKD_OPTS="-i venet0:0"

Im meinem Beispiel ist es ein VServer und damit die venet0:0 Karte. Woanders vermutlich eth0??¦
Danach muss noch festgelgt werden, welcher Dienst gestartet werden soll und auf welche Anklopfsequenz, der knockd reagieren soll. Hier ist Individualität gefragt, weil dies die Abschirmung überhaupt erst garantiert.

Konfigurationsbeispiel:

#cat /etc/knockd.conf

[options]
logfile = /var/log/knockd.log
[openMySQL]
sequence = 10000,1000
seq_timeout = 5
start_command = /sbin/iptables -I INPUT 1 -s %IP% -p tcp --dport 3306 -j ACCEPT
tcpflags = syn
Cmd_Timeout = 3600
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 3306 -j ACCEPT

Wichig ist es den knockd nach jeder Änderung neu zu starten. Ich hab Stunden nach dem Fehler gesucht!

#Portknock neu starten

#/etc/init.d/knockd restart

Die Erklärung zur knockd.conf lässt sich gut per man knockd abrufen. Die Dokumentation ist gut gemacht und mit Beispielen versehen. Allgemein lässt sich sagen, dass Portknocking viel mächtiger ist, als ich es hier beschrieben habe. Wie man sehen kann, wird lediglich ein spezifiziertes Kommando ausgeführt und damit ist jede denkbare Aktion möglich (Mails versenden, Server neustarten, etc??¦).
Speziell an meiner knockd.conf ist jedoch, dass ich die neue Regel an den Anfang meiner Firewallkonfiguration schreibe. Dies geschieht über den Parameter I (Insert), weil am Ende meiner Firewallkonfiguration alle unbekannten Pakete verworfen werden. Da wäre eine angehängte Regel wenig nützlich, weil sie nie ausgführt werden würde.

Cmd_Timeout = 3600
bewirkt, dass nach einer Stunde(3600 Sekunden) das Stop_Command ausgeführt wird. Dies ist für faule Nutzer (gibts Andere?) sehr nützlich.

Um im Beispiel zu bleiben:
Die Pakete an Port 3306 werden zwar nicht mehr verworfen, aber trotzdem ignoriert, weil keiner zuhört. Debiantypisch ist MySQL auf 127.0.0.1 eingestellt. Dies muss noch geändert werden:

#vi /etc/mysql/my.cnf
bind-address = xxx.xxx.xxx.xxx

#/etc/init.d/mysql restart

Jetzt ist der mysqld von außen erreichbar. Dank Portknocking nun auch nicht mehr hinter der Firewall versteckt.
Jetzt bleibt noch die Frage:
WIE MACHE ICH DENN NUN PORTKNOCKING VON WINDOWS AUS?

c:\>knock.exe IP SEQUENZ

z.B.:

c:\>knock.exe 85.214.25.36 10000 1000

Jetzt ist dieser Rechner für eine Stunde berechtigt, auf Port 3306 zuzugreifen.
  • White-Warti und Emalik Xantier gefällt das

Man sollte das Leben nicht all zu ernst nehmen, denn man kommt dort eh nicht mehr Lebend raus

 

dev-0@exploit.im


Thanked by 2 Members:
prto , White-Warti


  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 68 user(s)


    , antrokisov, Bad Grandpa, BeautifulHolocost, Bix, Born2Hack, clown1337, coketroll, cola, corkscrew, Crowx88, curlz, delijesever, dev-0, dorich75, Dr. p0rk, dwirty, Emalik Xantier, fleckchen, fluffybunny, folazan432, Framerater, ghost12, Gragg23, Greenhorn, gtawelt, H2Olli, hackEmcee, Holomaster, Jack_Frost, Jackson, kHAZYY, kiwitone, LiandBlood, lolorollo, mands, mettbrot, migoal, mktool, most_uniQue, Mr_NiceGuy, neunic, NoName1618, notfound, paulaner, peppi200, pfadn, Pindu, ProHex, prto, S33K3R, S3lent, SAR, Sash1, Sawyer inc, siddis, Silasge, smc2014, snippa, speedfreak, suresh007, tianchrispro, Unkiii, ValleX, White-Warti, wipebot, Xenio, Zero-X
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.