Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Anti Portscanner Konzept

Diskussion: Anti Portscanner Konzept im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Hi Leute, ich hoffe mal das ich mit meinem ersten Thread gleich das richtige Forum getroffen habe. Also mein ...

Antwort
Alt 26.09.07, 14:51   #1 (permalink)
 
Registriert seit: 26.09.07
c0ntr0l Leistung: Facit NTK
c0ntr0l eine Nachricht über ICQ schicken
Likes: 0
Smile Anti Portscanner Konzept

Anzeige

Hi Leute,

ich hoffe mal das ich mit meinem ersten Thread gleich das richtige Forum getroffen habe.

Also mein Anliegen ist es etwas mehr über Sicherheitstechnicken zu erfahren daher dachte ich das dieses Board wohl am geeignetsten ist.

Es gehtin diesem Thread um die Frage, wie man einen Anti Portscanner schreibt(mir ist leider keine passendere Beschreibung eingefallen)

Nun, einen Portscanner zu schreiben ist kein Hexenwerk. Mich interresiert jetzt die Gegenseite. Wie schreibt man ein Programm das feststellt ob man abgescanned wird.
Mein erster Ansatz war natürlich (ich denke das tun diverse Virenscanner der unteren klasse ebenso) den Datenverkehr abzuhören und ab einer ungewöhnlich hohen Anzahl an anfragen zu reagieren. Man könnte sich dabei noch eventuel am Ansteigenden Port orientieren.

Dennoch ist mir das Konzept zu unzuverlässig. Daher würde ich gerne von euch, denjenigen die vllt. schon mehr erfahrung haben, wissen wie ihr soetwas angehen würdet.

Falls das relevant sein sollte, ich programmiere in C# unter Vista mit dem VS2005

Gruß c0ntr0l

c0ntr0l ist offline   Mit Zitat antworten
Alt 26.09.07, 15:10   #2 (permalink)
Gulliver
Guest
 
Likes:
Standard

Man kann alle ports aufreissen und einfach gucken ob dann da was kommt.

portsentry hats aehnlich gemacht und dem scanner dann ein offenes Scheuentor praesentiert.

Du nimmst die relevanten ports (den meistens werden die gescannt wo schwache services draufsitzen oder bots kommunizieren) und machst sie auf, jeweils in nem eigenen thread.
Dann sitzt du einfach auf jeder socke und horchst was kommt.

Oder du guckst dir nen sniffer an und wertest logs aus..
  Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 26.09.07, 15:11   #3 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
bevor man einen Anti Portscanner schreibt, muss man verstehen, wie Portscanner arbeiten.
Deine Aussage, dass ein Portscanner zu schreiben kein Hexenwerk sein, ist komplett falsch.
Klar, einfach nacheinander auf alle Ports connecten und schauen wo es klappt.
Aber wie funktioniert ein TCP Syn Scan oder ein Null Scan?
Wie schafft es nmap, einen stealth Scan (also mit FIN-Segmenten) zu machen?

Wenn dies für dich alles pipifax ist, dann sollte ein Anti-Port-Scanner auch kein Problem darstellen, oder?

Also zurück zur Frage:
Normale Portscanns zeichnen sich dadurch aus, dass Packete an aufsteigende Portnummern senden, bzw. sie senden viele Packete an viele verschiedene Ports die unter Umständen geschlossen sind.
Dein Programm muss also immer reagieren wenn ein Host versucht eine Verbindung aufzubauen, bzw. ein Syn-Packet sendet an einen Port.
Wenn dann von einem Host zuviele verschiedene Ports versucht werden zu erreichen, wirfst du diesen raus.

Auf Anwendungsebene hast du aber keine Chance soetwas zu realisieren, du musst dich schon auf die Kernelebene runterlassen.
Zum Glück musst du keinen eigenen Treiber schreiben, das haben andere schon gemacht, und nennt sich WinPcap.
Elderan ist offline   Mit Zitat antworten
Alt 26.09.07, 16:06   #4 (permalink)
Themenstarter
 
Registriert seit: 26.09.07
c0ntr0l Leistung: Facit NTK
c0ntr0l eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von Elderan
Deine Aussage, ... ,ist komplett falsch.
Klar, einfach nacheinander auf alle Ports connecten und schauen wo es klappt.
Aber wie funktioniert ein TCP Syn Scan oder ein Null Scan?
Wie schafft es nmap, einen stealth Scan (also mit FIN-Segmenten) zu machen?
Dann nehm ich meine Aussage zurück und werd mich ma mit den von dir gegebenen Schlagwörtern mehr ausseinandersetzen.

Hab schon in einigen Threads hier was von den Stealthscans gelesen.
Muss ich mir ma ansehen da das meiner Meinung nach ein sehr Interresantes Thema ist.

WinCap hab ich zwar noch nicht benutzt aber schon viel gelesen. (Wollte es gestern mal durchsehen was alles möglich ist.)

Jedenfalls vielen Dank erstmal für eure Antworten.
Gruß c0ntr0l
c0ntr0l ist offline   Mit Zitat antworten
Alt 26.09.07, 23:34   #5 (permalink)
 
Registriert seit: 10.08.06
Executor Leistung: Facit NTK
Likes: 0
Standard

ich versteh nicht ganz was ein anti portscanner überhaupt bringen soll...

ich mein du kannst doch mit einem portscanner dich selbst scannen, und die offenen ports dann von einer firewall überwachen lassen...

vielleicht mach ich grad n gedankenfehler, aber denke das ist das einfachste^^
Executor ist offline   Mit Zitat antworten
Alt 26.09.07, 23:50   #6 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Portscan-Detektoren werden gern eingesetzt um Skriptkiddies auszusperren.

Anstelle des Thread-Eröffners würde ich mir einfach mal die Quelltexte von psad (PortScan Attack Detector) anschauen. Ist zwar eigentlich für Linux, dürfte sich aber bestimmt in ähnlicher Weise auch auf Windows umsetzen lassen. Man muß halt nur API-mässig etwas umdenken.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 27.09.07, 00:24   #7 (permalink)
Themenstarter
 
Registriert seit: 26.09.07
c0ntr0l Leistung: Facit NTK
c0ntr0l eine Nachricht über ICQ schicken
Likes: 0
Standard

Hi

also ich hab mir bisher mal die Tipps von Elderan zu herzen genommen und mal die Theoretische funktionsweise einiger Scanner Typen angesehen. Ich werde die Tage versuchen mal diese umzusetzen. Ich denke der Syn Scan sollte, sofern mir WinCap diese möglichkeit bietet nicht schwer umzusetzen sein. Den NULL Scan muss ich mir nochmal genauer anschauen da ich nochnicht ganz dessen Prinzip verstanden habe.
Sehr Interresant fand ich noch den so genannten Idle Scan der mit einem Zombie PC arbeitet. Dessen Prinzip ist klar, jedoch ist die praksis ja wieder etwas ganz anderes.
Ich werde versuchen ersteinmal diese Scanner Typen umzusetzen.

Dann werde ich mir mal den Code psad ansehen.

Nochmal danke für die bisher wirklich hilfreichen Tips!

Gruß c0ntr0l
c0ntr0l ist offline   Mit Zitat antworten
Alt 27.09.07, 00:25   #8 (permalink)
 
Registriert seit: 23.03.05
xblax Leistung: 8086
Likes: 22
Standard

Ist es nicht sinvoller, die Dienste so gut abzusichern, dass Scriptkiddies eh keine Chance mehr haben, als zu versuchen die Ports zu verschleiern obwohl die gewonnene Sicherheit doch nur minimal ist?

Kritische Dienste könnte man auch bspw. nur über ein VPN zur Verfügung stellen.
xblax ist offline   Mit Zitat antworten
Alt 27.09.07, 00:27   #9 (permalink)
Themenstarter
 
Registriert seit: 26.09.07
c0ntr0l Leistung: Facit NTK
c0ntr0l eine Nachricht über ICQ schicken
Likes: 0
Standard

Hi xblax,

mir ging es eigentlich weniger um den praktischen einsatz eines solchen Programmes,
sondern eher darum die funktionsweise eines solchen Programmes zu verstehen.
Gruß
c0ntr0l ist offline   Mit Zitat antworten
Alt 27.09.07, 00:42   #10 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 442
Standard

Zitat:
Original von xblax
Ist es nicht sinvoller, die Dienste so gut abzusichern, dass Scriptkiddies eh keine Chance mehr haben, als zu versuchen die Ports zu verschleiern obwohl die gewonnene Sicherheit doch nur minimal ist?

Kritische Dienste könnte man auch bspw. nur über ein VPN zur Verfügung stellen.
Auf einem öffentlichen Server kann man Dienste nicht per VPN zur Verfügung stellen. Und da die meisten Angriffe von Kiddies mit einem Portscan beginnen, kann man sie schon bei der Vorbereitung von "Angriffen" aussperren. Das spart vor allem Rechenleistung und erspart unnötige Einträge in den IDS-Logs.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Alt 27.09.07, 18:42   #11 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

Hoi,

Mal ne Frage, ich hoffe ich kann die hier schnell einschieben, welcher Scan Typ wird leichter entdeckt (also öfters überwacht), SYN oder FIN Scans?

Weil FIN Packete auf geschlossene Ports ja eigentlich immer auffallend sind...
Außerdem funktionieren sie ja nicht auf allen Systemen und sind auch noch ungenau (filtered|open)

mfg,
Xalon
Xalon ist offline   Mit Zitat antworten
Alt 27.09.07, 19:42   #12 (permalink)
Gulliver
Guest
 
Likes:
Standard

@Xalon

Das haengt von der Guete deines IDS und dessen Regeln ab und/oder deinen Faehigkeiten als Analyst, schnell zu erkennen ob gewisse logeintraege (wenn du sowas loggst) logisch sind, bzw keinen Sinn bei "normalen" TRaffic ergeben.
  Mit Zitat antworten
Alt 27.09.07, 20:55   #13 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

Hallo,
also ein SYN-Scan zuverlässig zu filtern ist schwierig. Viele Würmer scannen nur bestimmte Ports, u.U. nur einen einzigen auf dem der verwundbare Dienst normalerweise läuft.
Diese Mini-Scans zu finden und rauszufiltern ist unmöglich.
Auch IPs zu sperren, die ein SYN Packet an einen geschlossenen Port senden, kann man nicht machen. Was ist, wenn ein User ausversehen beim Connecten den falschen Port eingetragen hat, 23 statt 25 für den SMTP Server?
Manche Anwenunden testen auch erst den einen Port, über den z.B. eine verschlüsselte Verbindung möglich ist und wechseln dann auf den unsicheren Port.

Also solche Portscans zu filtern ist relativ schwer.
Klar, das Scriptkiddie welches alle 65000 Ports durchläuft, den kann man schnell abschießen, aber bei Personen du nur auf einzelne Dienste testen?

Hm zum Thema FIN Packete:
FIN-Packete verwendet man oft, um aufs OS zu schließen.
Wenn du weißt, dass Port 80 offen ist und auf FIN ein RST Packet kommt, dann ist das OS sehr wahrscheinlich Windows.
Ansonsten bei Servern wird ja oft Linux/Unix verwendet, dort wird ja mit ACK geantwortet wenn ein FIN Packet eintrifft und der Port offen ist.

Also so einen FIN/Stealth Scan muss man immer etwas anpassen.


Das Problem an stealth Scans ist, dass diese aussehen wie 'kaputte' TCP-Packete.
Wie soll also eine IDS/Firewall nun unterscheiden, ob es nicht einfach nur ein kaputtes TCP Packet ist oder ob es ein scan ist.
TCP ist ja ein zuverlässiges Protokoll, so dass man nicht einfach kaputte Packete verwerfen darf, sondern der Zielhost muss gegebenfalls entsprechend antworten.


Zitat:
Mit der Option -f von Nmap können Sie ?Stealth-Scans? ausführen (funktioniert mit den Scantypen -sS, -sF, -sX und -sN). Dazu werden fragmentierte IP-Datagramme verwendet, bei denen der TCP-Header quasi auseinander gebrochen wird. Dies geschieht aus dem Grundgedanken oder der Annahme, dass zerstörte TCP-Pakete mit ungewöhnlichen Flaggen nicht durch Firewalls oder ähnliche Schutzeinrichtungen blockiert werden. Manche Systeme stürzen durch diese Option ab, und einige Unix-Derivate unterstützen sie nicht einmal ? Vorsicht!

http://www.highgames.com/?set=hardwareview&view=13
Zitat:
Die Idee ist, dass geschlossene Ports auf solcher
lei Zugriffe mit einem RST-Datagramm antworten
muessten, waehrend ansprechbare Ports die Anfragen
ignorieren sollten (siehe RFC 793, S. 64). Der FIN-
Scan nutzt ein TCP-Datagramm mit gesetzter FIN-
Flagge, waehrend der Xmas-Tree-Scan die TCP-Flaggen
FIN, URG und PSH aktiviert. Der Null-Scan schaltet
alle optionalen Flags ab. Leider ignoriert einmal
mehr Microsoft die gaengigen Standards und reagiert
auf die exotischen Scan-Techniken ganz unerwartet.
Dies bedeutet, dass diese Scanning-Methoden nicht
gegen Windows 9x, ME, NT, 2000 und XP funktion
ieren. Auf der anderen Seite ist dies natuerlich
hervorragend, wenn es um das Identifizieren der
TCP/IP-Implementierung von Microsoft geht: Findet
einer dieser Scans einen offenen Port, so kann
davon ausgegangen werden, dass es sich beim Ziel
system nicht um ein Windows handelt - Im Gegenzug
deuten unrealistisch viele offene Ports auf eine
Windows-Maschine hin. Es gilt sich jedoch noch die
Meinung einer klassischen Scan-Methode (z.B. SYN)
einzuholen. Es gibt noch einige andere Betrieb
ssysteme, die sich aehnlich demjenigen von
Microsoft verhalten. Dies sind zum Beispiel Cisco,
BSDI, HP/UX, MVS und IRIX. All diese retournieren
ein Reset, auch wenn es sich um einen ansprechbaren
Port handelt. Mittlerweile ist diese knifflige
Unterscheidungs-Arbeit mittels exotischer Scanning-
Techniken eher weniger wichtig, da nmap eine
erweiterte Methode fuer das Erkennen des eingeset
zten Betriebssystems mitbringt.

http://www.computec.ch/download.php?view.192
Elderan ist offline   Mit Zitat antworten
Alt 28.09.07, 17:47   #14 (permalink)
 
Registriert seit: 23.05.05
Xalon Leistung: Facit NTK
Xalon eine Nachricht über ICQ schicken
Likes: 0
Standard

@Gulliver: Schon klar, drum frag ich ja, bei welchem Typ es wahrscheinlicher ist das man auffliegt.

@Elderan: Falsch, Linux verwirft FIN Packete auf einen offen Port und antwortet nicht mit ACK.
Das tut es nur wenn es den Verbindungsabbau mit FIN "weiterführen" will, es muss also bereits eine
Verbindung bestehen.Darauf folgt dann ein FIN Packet, sobald der Client auf dieses mit ACK geantwortet hat ist die Verbindung abgebaut.


mfg,
Xalon
Xalon ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Anti Portscanner Konzept
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Passwort-Berechnungs-Konzept so tragbar? Julian F. Cryptography & Encryption 8 25.01.08 15:26
Konzept umsetzen... jami (Web-) Design und webbasierte Sprachen 9 06.04.06 23:50
NASA entschiedet sich für Schwerlastträger Konzept blueflash Science & Fiction 0 25.08.05 22:32
Zwei US-Studenten entwickelten Sabotage- Konzept für P2P-Netzwerke Tec News & Ankündigungen 0 07.09.02 03:35
Portscanner Chris (In)security allgemein 9 06.02.02 12:18


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61