Raw - Socket Programmierung
-
Original erstellt von paranoiac.org:
**
Dann noch ne Frage:
Normal sieht es ja so aus: (vereinfacht)A -------- SYN ------> B A <------- ACK ------- B A < -- Verbindung ---> B
Kann ich jetzt nicht als Ausenstehender einfach eine Verbindung zwischen zwei PC's aufbauen, ohne dass die beteiligt sind, also das ich SYN und ACK mit gespoofter IP sende.
**Falsch, normal sieht es so aus:
A -------- SYN ------> B A <------ SYN+1/ACK ---- B A -------- ACK+1 ------> B A < -- Verbindung ---> B
Dabei wird das SYN und ACK vom System eher zufällig bzw. nach einem schwer zu erratenden Algorithmus ermittelt. Da du ja das SYN/ACK nicht erhältst, wenn du eine gespoofte IP nimmst, so kannst du auch nicht mit ACK antworten. Zudem könnte eine Verbindung zwischen 2 Rechnern von einem anderen Rechner aus auf die Art nicht zustande kommen, da Rechner A in dem Fall quittieren würde, da er keinen Verbindgunsaufbau gewünscht hat...
-
OK, kleiner Denkfehler....
danke!
ciao para
-
Also, ich hätt da noch n paar Fragen bzgl. SYN-Flooding:
1. Ist SYN-Flooding irgentwie nachweisbar?
2. Ist der Server nur solang überlastet wie man ihn zufloodet oder hängt er sich komplett auf
3. Wie kann ich SYN-Flooding an mir selbst testen?
4. Wie kann man einen Server gegen diese Atacken schützen?Das wärst erstmal...
danke!
cu para
[edit]Punk 4 hinzugefügt[/edit]
[ Dieser Beitrag wurde am 22.04.2003 um 20:02 Uhr von paranoiac.org editiert. ]
-
hab ich irgentwas falsch gemacht?
-
naja, du fragst quasi, wie man eine straftat begeht...
zu 1) ja ist nachweisbar
zu 2) das kommt auf den server drauf an, wenn du glück hast, hängt er sich auf
zu 3) geh online und sag nem kumpel er soll dcich mit deinem tool flooden, oder einfacher wenn du n netzwerk daheim hast
zu 4) ich hab mal was von hardwarefirewalls gehört, die können sowas abfangen, sonst fällt mir grad nix ein. ja doch: große firmen haben so komische aufteiler. also wenn du z.b. www.pentagon.gov machst, bekommst du bei jedem ping ne andere adresse, heist, die leiten dich je nach anfrage auf nen anderen server um. ob das aber waw hilft?
-
Original erstellt von Korbinian:
zu 4) ich hab mal was von hardwarefirewalls gehört, die können sowas abfangen, sonst fällt mir grad nix ein.Ich hatte bei meinem SuSE 7.1 ein Programm dabei, welches eine SYN-Flood-Protection aufgesetzt hat, frage mich jetzt aber nicht mehr, wie das hieß, ist schon etwas her...
Ansonsten kannst du dir einen einfachen Schutz auch mit iptables aufsetzen:
iptables -N syn-flood iptables -A INPUT -i $IFACE -p tcp --syn -j syn-flood iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn-flood -j DROP
-
Ja ich weiss ich drücke mich so aus als wollte ich eine Straftat begehen, aber das will ich eigentlich nicht. Ich hab hier daheim ein Netz mit 4 PCs, da wollte ich mal n bissl rumprobieren.
Ansonsten denk ich ist soetwas auf einer kleineren LAN ganz witzig. Nur mal so neben bei: Ich kann mir kaum vorstellen, dass ich mit meinem PC es schaffen könnte einen größeren Rechner der ja wahnsinnige Bandbreiten, CPU, RAM, etc hat, lahmzulegen.
Dann das mit dem Nachweiss noch nicht verständlich. Man benutzt doch eigentlich eine gefälschte IP und ist somit nahezu annonym. Die einzige Möglichkeit wäre doch mit traceroute das ganze zurückzuverfolgen. Aber ich hab mal wo gelesen, dass es nahezu unmöglich sei, Traceroute erflogreich auszuführen bei solechen Atacken, keine Ahnung ob das stimmt, sagt es mir!
Dann nochwas, ein Server merkt ja irgentwann, dass das Packet fehlerhaft oder unvollständig ist, diese IP könnte er sich doch merken und kommt von dieser IP 2 weitere fehlerhafte Packete an so kann er diese bei neuem Auftreten einfach sofort löschen. Das geht natürlich nicht wenn der Angreifer seine gefakte IP ständig wechselt, oder?
Das gleiche könnte doch der Server auch machen, dass er jedes fehlerhafte Packet traceroutet (:D) und somit auch die Quelle des Angreifers annalysieren.
Das geht zwar sehr lange, also wäre es bei einem Webserver zum Beispiel unbrauchbar, aber bei irgenteinem Login oder so...Wahrscheinlich laber ich wieder viel zu viel Stuss, aber das Thema interessiert mich einfach
ciao und danke!
para
-
Original erstellt von <Mellon>:
**Ich hatte bei meinem SuSE 7.1 ein Programm dabei, welches eine SYN-Flood-Protection aufgesetzt hat, frage mich jetzt aber nicht mehr, wie das hieß, ist schon etwas her...
**die dinger heißen tcp-syncookies.
kannste mit
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
aktivieren.die funktionieren ungefähr folgendermaßen:
wenn der client ein SYN paket schickt, dann werden normalerweise auf dem server die ganzen daten wie port und ip vom client im speicher gelassen. bei den syncookies wird stattdessen alles in die sequenznummer codiert, diese wird nicht im speicher gelassen. diese verschickt der server dann beim hand-shake als SYN+ACK paket zum client. wenn der mit einem ACK antwortet, dann kann der server aus der sequenznummer wieder alle wichtigen daten rekonstruieren und die verbindung aufbauen.Gruß mathik
[ Dieser Beitrag wurde am 23.04.2003 um 13:16 Uhr von mathik editiert. ]
-
schick doch gleich nen ping / echo an den ziel-pc...nur das das ganze mit ner irren geschwindigkeit gehen muss und alle pings die absender ip des ziel-pc's haben....
<-OPFER<---
| ^
--------->|
|
TÄTER-->|wobei dagegen glaub ich mittlerweile sogar schon windows-rechner geschützt sind *g*
-
hmpf..hier werden die leerzeichen weggeschnitten?
mist
-
jo wär vielleicht auch ne idee
-
@<Desire>
wenn du ASCII Grafiken machen willst, mach die in Code Tags