Master3 Geschrieben 2. Mai 2008 Geschrieben 2. Mai 2008 Hallo Ich suche entweder ein Programm oder Programmieranregungen (C, VB, Delphi, Java) für folgende Idee: Ich möchte Pakete abfangen, manipulieren und weiterverschicken können. Das reine Sniffen ist kein Problem, aber wie manipuliert man Pakete? Insbesondere HTTP-Pakete. Die Idee: Ich durchsuche alle Pakete mit IP / TCP / HTTP- Header nach einem Stcihwort im HTML-Format und möchte dieses durch ein anderes ersetzen. (Quasi Manipulation von HTML-Seiten) Hat jemand Ideen? Gruß Master3
Cold-Fusion Geschrieben 3. Mai 2008 Geschrieben 3. Mai 2008 Hallo Ich suche entweder ein Programm oder Programmieranregungen (C, VB, Delphi, Java) für folgende Idee: Ich möchte Pakete abfangen, manipulieren und weiterverschicken können. Das reine Sniffen ist kein Problem, aber wie manipuliert man Pakete? Insbesondere HTTP-Pakete. Die Idee: Ich durchsuche alle Pakete mit IP / TCP / HTTP- Header nach einem Stcihwort im HTML-Format und möchte dieses durch ein anderes ersetzen. (Quasi Manipulation von HTML-Seiten) Hat jemand Ideen? Gruß Master3 du erwartest doch keine wirklcih seriöse antwort darauf? warum willst du manipulieren?
Master3 Geschrieben 3. Mai 2008 Autor Geschrieben 3. Mai 2008 Ich bin Lehrer an einem Gymnasium und behandele gerade das Thema Datenmanipulation. Generell versuche ich den Schülerinnen und Schülern möglichst praktisch unsere Themen vor Augen zu halten. Aus diesem Grunde bastel ich mir auch (gänzlich ungefährliche) Phishingseiten (liegen aber lokal) und möchte nun auch zeigen, dass man HTTP-Anfrage (die bei uns alle über einen Proxy laufen) manipuieren kann. Insofern mache ich da nichts "böses" mit. Ich habe ja auch nicht angefragt, wie man eine SSL-Verschlüsselte Verbindung knacken kann, sondern nur, ob jemand Ideen zu meinem Programm hat. Fakt ist: Es sollte (zumindest von der Theorie her) kein Problem sein, da jede Firewall nichts anderes macht und Pakete filtert und abfängt. Diese müssen dann halt nur wieder leicht manipuliert (u.a. IP-Header) in die Output-Queue geleitet werden. Daher ja, ich erwarte mir schon ernsthafte Antworten.
hades Geschrieben 3. Mai 2008 Geschrieben 3. Mai 2008 (bearbeitet) Phishing ist ansich keine Manipulation von IP bzw. HTTP-Traffic. Phishing ist das Vortaeuschen von falschen Tatsachen zum Zwecke der Gewinnung von wertvollen Informationen wie z.B. PIN/TANs vom Onlinebanking. Eine einfache Moeglichkeit des Nachbaus von Phishing ist z.B. der Nachbau einer Seite und das Setzen von Eintraegen in der hosts Datei. Das ist dann aber keine Manipulation von HTTP-Traffic, sondern die Manipulation der Namensaufloesung. Firewalls aendern idR keine Daten, sie filtern lediglich auf unerwuenschten Traffic. Proxies bzw. IDS/IPS-Systeme koennen Traffic aendern. Oft sind in kleinen Umgebungen Firewall und Proxy auf einem System oder in manchen Produkten sind beide Techniken auch kombiniert (z.B. MS ISA Server). Wenn Du wirklich IP-Pakete aendern und erneut versenden willst, dann schau Dir in Deinem Sniffingtool Deiner Wahl die Moeglichkeiten der PCAP-Dateien an. Bearbeitet 3. Mai 2008 von hades
Master3 Geschrieben 3. Mai 2008 Autor Geschrieben 3. Mai 2008 Hi Bzgl: Phishing - ich weiß, das war nur ein Bsp, warum ich überhaupt Pakete manipulieren möchte. Ich bastel auch "böse" Seiten, um den Schülern daran die Gefahren zu erläutern. Das Firewalls keine Daten ändern ist auch klar, aber sie schauen rein (zumindest schauen sie auf den Port) und lassen sie durch oder nicht - also fangen sie Pakete ab. Für mich sehe ich 2 Möglichkeiten: 1. Ich nehme das Paket direkt aus der Incoming-Queue raus, bearbeite es und schicke es dann an die Output-Queue oder 2. Ich fange das Pakte ab (droppen) und bastel mir dann ein komplett neues Paket. >Wenn Du wirklich IP-Pakete aendern und erneut versenden willst, dann schau Dir in Deinem Sniffingtool Deiner Wahl die Moeglichkeiten der PCAP-Dateien an. Hier wird es interessant PCAP-Dateien. Was meinst du damit genau? Ich kenne PCAP als Treiber. Ich benutze zB Wireshark als Tool, wie kann ich aber damit Pakete manipulieren? Gruß Master
hades Geschrieben 3. Mai 2008 Geschrieben 3. Mai 2008 Richtig, PCAP ist die Treiber-Bibliothek libpcap. Die Windows-Version heisst WinPCAP. PCAP heisst auch ein gebraeuchliches Dateiformat zum Exportieren/Importieren von mitgeschnittenem Traffic. Es wird von vielen Sniffingtools, Portscannern, IDS-Systemen und Vulnerability Management Systemen unterstuetzt, die wiederum selbst die libpcap/WinPCAP nutzen.
geloescht_JesterDay Geschrieben 9. Mai 2008 Geschrieben 9. Mai 2008 Fakt ist: Es sollte (zumindest von der Theorie her) kein Problem sein... Natürlich ist es in der Theorie kein Problem, da auch die Pakete nur mit Wasser kochen. Sprich sie bestehen auch nur aus normalem Text. Wie der aufgebaut ist etc erfährst du in den Protokollspezifikationen, die es im Netz bestimmt oft genug zu finden gibt. Praktisch das etwas größere Problem ist es dann, beim jeweiligen Betriebssystem die Daten abzufangen. Dazu kann ich dir speziell nichts sagen. Ich würde dir aber einen Blick in die WinAPI empfehlen, da findest du bestimmt (irgendwo) etwas Etwas leichter sollte das ganze gehen, wenn du das als einen (transparenten) Proxy auslegst. Die Anfragen kommen alle zu deinem Programm und das schickt sie dann an den Zielserver weiter und bekommt natürlich auch die Antwort und gibt sie dann an den Client zurück. Natürlich kannst du dann alles mit den Daten machen was du willst. Du kannst damit sogar SSL-Verschlüsselungen "knacken". Das ganze ist als Man-in-the-middle bekannt. Diese Art der Lösung hat auch den Vorteil, dass du das nicht auf Paketebene machen musst. Und zu deinem droppen oder nicht. Wenn du es geschafft hast dich in den Netzwerkverkehr einzuklinken dann kommt das eh aufs selbe raus. Wenn du ein Paket manipulierst musst du das nach der Manipulation weiterschicken und droppst damit ja auf jeden Fall das eigentliche Paket und schickst das geänderte los. Selbst wenn du es nicht manipulierst und nur untersuchst hast du es ja abgefangen und musst es danach erneut losschicken. Somit ist es auch ein droppen und erneut losschicken.
michaelmeier Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 [...] Selbst wenn du es nicht manipulierst und nur untersuchst hast du es ja abgefangen und musst es danach erneut losschicken. Somit ist es auch ein droppen und erneut losschicken. Ist das so? Ich meine nicht. Denn: nur weil ich es mir anschaue, heißt es noch lange nicht, dass daraus ein neues Paket wird. Beispiel Netcat. Platt formuliert: der vorbeiziehende Traffic wird einfach weiterhin ganz normal behandelt und nebenher noch über stdout ausgegeben. Da wird dann spontan nichts manipuliert. @Master3: schau dir mal netcat an: Overview ******** Netcat is a simple Unix utility which reads and writes data across network connections, using TCP or UDP protocol. It is designed to be a reliable "back-end" tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities. Netcat, or "nc" as the original program was named, should have been supplied long ago as another one of those cryptic but standard Unix tools. Könnte interessant sein und wäre sicherlich auch via cygwin unter Windows nutzbar - wenn es nicht sogar Windows-Versionen gibt.
geloescht_JesterDay Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 (bearbeitet) Ist das so? Ich meine nicht. Denn: nur weil ich es mir anschaue, heißt es noch lange nicht, dass daraus ein neues Paket wird. Beispiel Netcat. Platt formuliert: der vorbeiziehende Traffic wird einfach weiterhin ganz normal behandelt und nebenher noch über stdout ausgegeben. Da wird dann spontan nichts manipuliert. Wenn du es nur anschaust und sonst nichts damit vorhast ok. Aber ich meinte eine Untersuchung machst um zu schauen ob du es ändern willst. Dann kannst du es nicht nur im "Vorbeiflug" anschauen sondern musst es abfangen. Und nur anschauen bin ich mir nicht sicher. Es kommt auf die Software drauf an, bzw die API. Leitet die Verkehr aus oder gibt es diese möglichkeit nicht. Wenn sie den Verkehr nebenbei auch ausleiten kann (zum loggen o.ä.) dann kannst du den nur anschauen. Wenn diese Möglichkeit nicht gegeben ist geht das natürlich nicht und du musst den Verkehr erstmal abfangen. Aber soweit hatte ich mich damit nie beschäftigt. EDIT: Als Beispiel kann man da gut ein Wasserohr nehmen. Wenn du das Wasser beobachten willst, geht das direkt wenn das Rohr ein Fenster hat. Hat es kein Fenster musst du ein Ventil da einbauen welches das Wasser in einen Behälter von dir leitet und von wo aus du das Wasser dann wieder ins Rohr leitest. Du kannst das Wasser aber nicht in deinem Gefäß untersuchen und gleichzeitig das Wasser im Rohr durchlaufen lassen. Bearbeitet 15. Mai 2008 von JesterDay
michaelmeier Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 Dann sind wir uns völlig einig - reines anschauen ohne manipulation nur on the fly möglich - sobald mehr dazu kommt (in welcher weise auch immer - in deinem Bild also eine Analyse), kann man davon ausgehen, dass das Paket verändert wird.
sniper.beat Geschrieben 12. Januar 2009 Geschrieben 12. Januar 2009 OMG !!!!"du erwartest doch keine wirklcih seriöse antwort darauf? warum willst du manipulieren? " @Cold-Fusion: Wenn ich sowat schon lese... lamer !:upps - Zentraler Advertisement Blocker. - Advertisement injector. @Master3: ettercap und etterfilter solltest du dir mal anschauen. Kleiner Tip: replace("Accept-Encoding","Accept-MeMaster") für nen tcp.dst == 80 lässt dich nicht nur gzip komprimierte HTML dateien sehen Vielleicht solltest du dir auch mal die HTTP-Request-Methode Trace anschauen. wenn du wirklich an ids interessiert bist und nicht selber ein i bist mfg max. Zensur ist das Eingeständniss einer Regierung, die keine intelligenten Menschen sondern nur hirnlose gutgläubige Trottel regieren kann.
hades Geschrieben 12. Januar 2009 Geschrieben 12. Januar 2009 @Master3: Falls Du noch Interesse an diesem Thread hast, bitte per PN/Email an einen der zustaendigen Mods. Voruebergehend geschlossen.
Empfohlene Beiträge