Sie sind nicht angemeldet.

21

Mittwoch, 10. März 2010, 20:11

Zitat

Die Start-Sequenznummer ist eine beliebige Zahl

Zitat

Die Sequenznummer muss immer zufällig vor einem Verbindungsausbau ausgewählt werden.
Wem genau soll ich nun glauben?

Hier noch ein Mittschnitt ab Verbindungsaufbau. Nun vergleich mal die Ack und Seq Nummern. Fällt dir was auf?

[img]http://www1.minpic.de/bild_anzeigen_thumb.php?img=105977.png[/img]

Zudem interessiert die Startsequenznummer nicht wirklich, da wir keine Verbindung initialisieren wollen. Wir wollen eine Verbindung hijacken oder einfach ein Paket injecten. Dazu müssen wir wissen, welche Seq Nummer als nächstes kommt und das sehen wir anhand des vorhergehende ACK.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dready« (10. März 2010, 20:12)


Flachland-Gorillas retten

22

Mittwoch, 10. März 2010, 20:51

naja, ich sprach ja vom spoofen, also auch von der initialisierung einer verbindung.
Bei dem obigen meinte ich, wie schon geschrieben die sequenznummer vor einem verbindungsaufbau.
Die ändert sich natürlich im Verlauf des Handshakes, aber mir ging es dabei wirklich nur darum, dass die Sequenznummer zu Beginn zufällig ausgewählt werden muss.

Vielleicht reden wir ja auch aneinander vorbei. In dem Bild hier ist für mich das x entscheidend:


Ich glaube wir schweifen hier sowieso viel zu weit vom Thema ab.

23

Mittwoch, 10. März 2010, 21:19

off topic hin oder, aber dieses thema beschäftigt mich nun selbst ein wenig ;)

Zitat

IP-SPOOFING:
Dies kann von Eindringlingen dazu genutzt werden, Sicherheitsmaßnahmen wie z. B. IP-adressbasierte Authentifizierung im Netzwerk auszutricksen.

Ich frage mich nun einfach, wieviele Dienste heutzutage wirklich noch adressbasierte Authentifizierung machen? Das wird doch alles im Anwendungslayer gemacht? Kannst du mir einen Anwendungsfall geben, wo IP-Spoofing wirklich noch was bewirken kann? Gibts es überhaupt noch einen Nutzen, die Sequenznummer nicht bei 0 zu starten?

24

Mittwoch, 10. März 2010, 21:42

Sicher: Mit Spoofing kann man z.B. einen IRC-Server flooden, oder im schlimmsten Fall lahmlegen und die Administratoren können nichts dagegen tun, da ja immer neue IPs vorgegaukelt werden.

Man kann sich Zugang zu zahlreichen Servern per SSH schaffen, sofern sie hostbasierte Authentifizierung unterstützen ( okay, habe noch keinen gesehen, der das macht x). davon wird ja sowieso abgeraten ).

Man kann sich auch Geld (viel) dazuverdienen, z.B. durch Google Ads (sofern man den Spoof bei Google schafft). -> neue IP/ neuer Benutzer, der die Werbung anklickt.

Durch gutes Spoofing stehen einem wirklich zahlreiche Möglichkeiten zur Verfügung.

Deshalb ist es absolut wichtig gute Start-Sequenznummern zu erzeugen.
Ich habe es bisher bei keinem geschafft (nur bei mir selbst mit Damn Vulnerable Linux aber das ist keine Kunst). Für sowas braucht man wirklich viel Zeit und Durchhaltevermögen.
Heutzutage ist es aber leider/zum Glück größtenteils so, dass die Start-Sequenznummern mit echten zufälligen Werten initialisiert werden, was durch die Aufnahme vom Hintergrundrauschen der Hardware erzielt wird.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »iNk_« (10. März 2010, 21:44)


25

Samstag, 20. März 2010, 20:12

@iNk_
Wie soll Spoofing eigentlich funktionieren? Wenn man ne falsche Adresse mitschickt, kann man sich doch eigentlich nicht verbinden, weil der Server die Connect-pakete an den falschen Pc schickt...
mfg
@night@
Signatur "Um im Internet zu surfen brauch man eine IP. Einen IQ leider nicht..."
-Woki

Ich gebe niemanden eine positive Bewertung, der darum bettelt! :pinch:

GUI-Tutorial: Klick!

26

Samstag, 20. März 2010, 20:51

Ja aber _iNk meint sowas wie DDoS mit IP-Spoofing ;)
Was sehr sinnvoll ist, wenn man bedenkt das deine IP-Adresse nicht gezeigt wird.
Signatur :wbb: Meine Tutorials :wbb:

- [Video-Tut]OllyDbg
- [Tut]Code Protection Autoit/C/C++

DirectX9 Wissen: 47%

Autoit: 70%

C++: 60%


Und Weiter geht's!!

Für Fragen bezüglich Hacking im Sinne von Games hacken jeglicher Weise, bin ich per Pn zu erreichen.


Offline da im Urlaub

27

Samstag, 20. März 2010, 23:54

@iNk_
Wie soll Spoofing eigentlich funktionieren? Wenn man ne falsche Adresse mitschickt, kann man sich doch eigentlich nicht verbinden, weil der Server die Connect-pakete an den falschen Pc schickt...
mfg
@night@


Es geht ja auch nur darum zu senden und nicht zu empfangen.

28

Sonntag, 21. März 2010, 00:05

Muss man nicht erst eine Verbindung herstellen , bevor man etwas senden kann? 3-Wege-Handshake. Wenn man dort die falsche Quell-IP mitschickt, ist es doch eigentlich nicht möglich eine Verbindung herzustellen^^
mfg
@night@
Signatur "Um im Internet zu surfen brauch man eine IP. Einen IQ leider nicht..."
-Woki

Ich gebe niemanden eine positive Bewertung, der darum bettelt! :pinch:

GUI-Tutorial: Klick!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »@night@« (21. März 2010, 00:07)


29

Sonntag, 21. März 2010, 02:13

Das ist Spoofen: Diesen Handshake zu umgehen in dem man die initialisierte Sequenznummer herausfindet.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »iNk_« (21. März 2010, 02:14)


30

Donnerstag, 29. April 2010, 11:31

wird das icmp überhaupt versendet? oder habe ich irgendwo einen denkfehler?


31

Donnerstag, 29. April 2010, 17:21

Wann hast du vor Teil 3 zu machen? Hast du Zeit?

32

Freitag, 30. April 2010, 08:29

Ich empfehe für dieses Tutorial in den Optionen das „Capture packets in promiscuous mode“ zu deaktivieren. Der promiscuous mode erlaubt das Anzeigen von Paketen, die nicht direkt an uns geschickt werden, aber Trotzdem bei unserer Netzwerkkarte gelandet sind.
Kennt ihr den Unterschied zwischen den früher verwendeten HUBs zu den heute gebräuchlichen SWITCH?
Also ich meine das Kästchen, wo alle eure RJ45 Netzwerkkabel drinstecken.

Ein HUB sendet die Daten die er über irgendeinen Port rein bekommt immer an ALLE ANDEREN PORTS wieder raus.
EIN SWITCH schickt die Daten nur an den Zielport raus, weil er vorher prüft, für wen das Paket ist.

Also:
Ein HUB ist grundsätzlich schneller, wenn es um die Zeit geht, die ein Paket braucht, um z.B: vom Gamer PC zum Router geschickt wird.
Aber noch was:

Überlegt euch doch mal, was passiert, wenn man
1. an einem HUB hängt und
2. den "promiscuous mode" aktiviert.

Zaphod
Signatur Schon gewusst:
In Asse nutzen sie ein ganz neues Verfahren zur Verhinderung einer
Kernschmelze bei radioaktivem Abfall.


(Wassereinbruch in den Salzstock; tausende Fässer mit Atommüll drohen das Grundwasser zu verseuchen)


Probebohrungen in Gorleben haben laut zensiertem Bericht ergeben, daß das dort nicht passieren kann.

33

Samstag, 19. Juni 2010, 14:39

Hallo ich bins nochmal.
Bei mir will er keine Packete verschiken :D
Ich habe alles eingetragen wie es sein soll. Das komische ist aber, wo kommt der Port vom Client rein (also von meinem PC) ?

Hier ist das was nicht geht ^^ :

AutoIt-QuellCode

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <Array.au3>
#include <Winpcap.au3>
$port = 4013
$nosip = "79.110.84.77"

$filter = "tcp port " & $port

$winpcap = _PcapSetup() ; initialize winpcap
If ($winpcap = -1) Then
    MsgBox(16, "Pcap error !", "WinPcap not found !")
    Exit
EndIf

$pcap_devices = _PcapGetDeviceList() ; get devices list
If ($pcap_devices = -1) Then
    MsgBox(16, "Pcap error !", _PcapGetLastError())
    Exit
EndIf

$int = $pcap_devices[2][0]

$pcap = _PcapStartCapture($int, $filter, 0);start capture
If ($pcap = -1) Then
    MsgBox(16, "Pcap error !", _PcapGetLastError())
EndIf
Local $counterabc = 1
While 1
    If IsPtr($pcap) Then
        $time0 = TimerInit()
        While (TimerDiff($time0) < 500) ; Retrieve packets from queue for maximum 500ms before returning to main loop, not to "hang" the window for user
            $packet = _PcapGetPacket($pcap)
            If IsInt($packet) Then ExitLoop
            If $counterabc <> 5 Then
                $sniff = sniff($packet[3])
                ToolTip ($counterabc & @CRLF & $sniff,0,0)
                If $sniff <> False Then
                    ConsoleWrite($sniff & @CRLF)
                    $counterabc += 1
                EndIf
            Else
                $in = InputBox("", "")
                senden ($in)
            EndIf
        WEnd
    EndIf
WEnd

_PcapFree() ; close winpcap

Func sniff($data)
    Local $ipheaderlen = BitAND(_PcapBinaryGetVal($data, 15, 1), 0xF) * 4
    Local $tcpoffset = $ipheaderlen + 14
    Local $tcplen = _PcapBinaryGetVal($data, 17, 2) - $ipheaderlen ; ip total len - ip header len
    Local $tcpheaderlen = BitShift(_PcapBinaryGetVal($data, $tcpoffset + 13, 1), 4) * 4
    Local $tcpsrcport = _PcapBinaryGetVal($data, $tcpoffset + 1, 2)
    Local $tcpdstport = _PcapBinaryGetVal($data, $tcpoffset + 3, 2)
    Local $tcpsequence = _PcapBinaryGetVal($data, $tcpoffset + 5, 4)
    Local $tcpflags = _PcapBinaryGetVal($data, $tcpoffset + 14, 1)
    Local $httpoffset = $tcpoffset + $tcpheaderlen + 1
    Local $httplen = $tcplen - $tcpheaderlen
    $sniff_packet = BinaryMid($data, $httpoffset)
    If $httplen = 0 Then Return False ; empty tcp packet

    If $tcpsrcport = $port Then
        ;Return ">IN:" & $sniff_packet ; server ==> client
    EndIf

    If $tcpdstport = $port Then
        Return "-OUT:" & $sniff_packet ; client ==> server
    EndIf
EndFunc   ;==>sniff

Func senden($data)
    $totlength = "00" & Hex(4 + 20 + 4 + BinaryLen($data) / 2, 2)

    $winpcap = _PcapSetup() ; initialize winpcap
    $pcap_devices = _PcapGetDeviceList() ; get devices list
    $pcap = _PcapStartCapture($pcap_devices[2][0]) ; my interface

    ;Ethernet header
    $broadcastmac = "0003c9b4d768" ; MAC from GW
    $mymac = StringReplace($pcap_devices[2][6], ":", "") ; my mac address in hex
    $ethertype = "0800" ; IP

    $ethernetheader = $broadcastmac & $mymac & $ethertype ; stick together to a binary string !

    ;IP header
    $version = "4"
    $headerlength = "5"
    $tos = "00"
    $ident = "1234"
    $ffo = "4000"
    $ttl = "80"
    $prot = "01"
    $sourceaddress = IPtoHex($pcap_devices[2][7])
    $destaddress = IPtoHex($nosip)
    ;$totlength = "003c"

    $crc = Hex(_PcapIpCheckSum("0x" & $ethernetheader & $version & $headerlength & $tos & $totlength & $ident & $ffo & $ttl & $prot & "0000" & $sourceaddress & $destaddress), 4)

    $ippacket = $ethernetheader & $version & $headerlength & $tos & $totlength & $ident & $ffo & $ttl & $prot & $crc & $sourceaddress & $destaddress

    ;ICMP
    $type = "08"
    $code = "00"
    $identifier = "0001"
    $seq = "0001"
    $checksum = Hex(_PcapIcmpCheckSum("0x" & $ippacket & $type & $code & "0000" & $identifier & $seq & $data), 4)

    $ICMP = $type & $code & $checksum & $identifier & $seq & $data

    $mypacket = "0x" & $ippacket & $type & $code & $checksum & $identifier & $seq & $data
    $sendback = _PcapSendPacket($pcap, $mypacket) ; sends a valid packet
    MsgBox (0,"Senden",$sendback)
EndFunc   ;==>senden

Func IPtoHex($ip)
    Dim $iphex[5]
    $ip = StringSplit($ip, ".")
    For $i = 1 To 4 Step 1
        $iphex &= Hex($ip[$i], 2)
    Next

    Return $iphex
EndFunc   ;==>IPtoHex
Signatur

34

Dienstag, 22. Juni 2010, 18:03

Mein Problem ist immer noch da :)
Signatur

Ähnliche Themen

Verwendete Tags

paket bot, TCP, Turoial, Tut, winpcap