SSL Verschlüsselte HTTP Packete auslesen und verschicken

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hey Leute,

Ich suche eine Möglichkeit HTTP Pakete, die von meinem PC aus verschickt werden (ggf. zu entschlüsseln) und erneut zu verschicken.
Ich würde gerne einen Prozess auf einer Internetseite automatisieren. Da geht es um Kalendereinträge, die man eigentlich manuell setzen muss, was ich aber automatisieren möchte, so dass das ein kleiner Bot am Monatsanfang macht, der auf meinem Linux Server läuft.
Der Prozess sieht so aus (die Seite ist SSL verschlüsselt):
- Ich log mich ein
- Ich öffne den entsprechenden Tag im Kalender
- Ich klicke die entsprechenden Termine an
- Ich fülle die entsprechenden Termine aus und speichere diese

Wie filtere ich die Pakete die ich verschicken muss am besten raus und ist das überhaupt möglich, diese unverschlüsselt zu bekommen (mein Rechner verschlüsselt diese schließlich) .
Wie ist es am einfachsten die Pakete dann erneut zu verschicken!? Ich habe Java kenntnisse und einige C++ Kenntnisse.

Gruß
T
 
die kalendereinträge werden ja in irgendeiner datenbank gespeichert. evtl. trägst du die einfach über den zugehörigen datenbank client ein. sowas lässt sich in der regel auch über irgendwelche scripte in der bash realisieren.

und zu den paketen... lade dir mal firebug für firefox und guck dir die header an, die entstehen sobald du einen kalender eintrag veröffentlichst. denn ich würde darauf tippen, dass das über HTML GET/POST abläuft.
 
So etwas ist tatsächlich möglich, Stichwort "Man-in-the-Middle".
Du tust für beide Gegenstellen so, als ob du der jeweils andere wärst. Nur so kommst du auch an die unverschlüsselten Pakete. Wenn es anderweitig mögich wäre, hätte SSL keine Bedeuting mehr.

Dadurch könntest du dich aber durchaus im illegalen Ramen bewegen.
 
Musste auch spontan an eine Man in the Middle Attacke denken, dafür brauchst du aber afaik die SSL Zertifikate
 
Hi,

das einzig Sinnvolle ist meiner Meinung nach der Ansatz von blablub1212: direkt in das Backend schreiben (Datenbank, XML Datei...), wo die Daten gespeichert sind. Alles andere ist absolut nicht empfehlenswert.

VG,
Mad
 
Jusic schrieb:
Du willst also einen händischen Klickweg automatisiert ablaufen lassen? http://www.seleniumhq.org/
Ich vermute mal das diese Variante eine IDE braucht. Sowas hat mein Debian Sever aber nicht ;) .

S.Kara schrieb:
So etwas ist tatsächlich möglich, Stichwort "Man-in-the-Middle".
Du tust für beide Gegenstellen so, als ob du der jeweils andere wärst. Nur so kommst du auch an die unverschlüsselten Pakete. Wenn es anderweitig mögich wäre, hätte SSL keine Bedeuting mehr.

Dadurch könntest du dich aber durchaus im illegalen Ramen bewegen.
Das was ich beschrieben habe ist ja wohl kein Man in the Middle, zumal der "Man" ja nur verschlüsselte Pakete abfangen kann.
Das ist ja ohne weiteres mit Wireshark möglich. Allerdings zeichnet Wireshark (afaik) die verschlüsselten Pakete auf, ich möchte aber die Pakete vor der verschlüsselung haben, damit ich das Protokoll nachvollziehen kann.

Madman1209 schrieb:
Hi,

das einzig Sinnvolle ist meiner Meinung nach der Ansatz von blablub1212: direkt in das Backend schreiben (Datenbank, XML Datei...), wo die Daten gespeichert sind. Alles andere ist absolut nicht empfehlenswert.

VG,
Mad
Wie soll ich das machen, ohne jegliche Kenntnisse über den Server. Ich kenne nur den Weg über das Web Panel die Daten in die Datenbank zu bekommen.
 
Entweder den Post abfangen und schauen ob du ihn iwie selber nachbauen kannst oder den Anbieter fragen, ob er eventuell eine API anbietet.

Ansonsten ist es wohl einfach nicht dafür gedacht automatisch gemacht zu werden.
 
Wenn du an die unverschlüsselten Pakete kommen willst gibt es nur die Möglichkeiten:
- vor dem Verschlüsseln beim Clienten
- nach dem Verschlüsseln auf dem Server
- Man in the Middle

Hast du Zugriff auf den Server, an den das alles gesendet wird? Falls ja -> Daten direkt aus der Datenbank auslesen.
Falls das alles von einem anderen Anbieter stammt und du nur eine Anwendung nutzt, die Daten mit einem Server abgleicht, auf den du keinen Zugriff hast, sieht es schlecht aus (sofern keine API). Du hast keine Chance an die unverschlüsselten Pakete zu kommen bzw. sie zu entschlüsseln. Du könntest höchstens den Speicher der Anwendung auslesen. Aber bevor man das alles zum Laufen gebracht hat...
 
S.Kara schrieb:
Wenn du an die unverschlüsselten Pakete kommen willst gibt es nur die Möglichkeiten:
- vor dem Verschlüsseln beim Clienten
- nach dem Verschlüsseln auf dem Server
- Man in the Middle

Hast du Zugriff auf den Server, an den das alles gesendet wird? Falls ja -> Daten direkt aus der Datenbank auslesen.
Falls das alles von einem anderen Anbieter stammt und du nur eine Anwendung nutzt, die Daten mit einem Server abgleicht, auf den du keinen Zugriff hast, sieht es schlecht aus (sofern keine API). Du hast keine Chance an die unverschlüsselten Pakete zu kommen bzw. sie zu entschlüsseln. Du könntest höchstens den Speicher der Anwendung auslesen. Aber bevor man das alles zum Laufen gebracht hat...

Du wiedersprichst dir hier mehrfach.
Zum einen sagst du das ich an die Daten vor dem Verschlüsseln beim Client komme. Zum anderen sagst du ich habe als Client keine Chance an die unverschlüsselten Pakete zu kommen.
Immerhin geht es hier nicht um eine xbeliebige Anwendung, sondern um ein Webformular.

Zum anderen würde mich sehr stark interessieren, wie man bei einer Man in the Middle Attacke an die unverschlüsselten Daten kommen kann, ohne den Private Key vom Server zu verwenden. Würde mich sehr stark interessieren.

Möglich müsste das was ich machen will ja auf jeden Fall sein.
Das Program was ich schreiben müsste müsste schließlich nur eine eingeschränkte Version eines Browsers sein, der nur das tut, was mein Browser hier macht, wenn ich einen Termin eintrage.
 
Tockra schrieb:
Du wiedersprichst dir hier mehrfach.
Zum einen sagst du das ich an die Daten vor dem Verschlüsseln beim Client komme. Zum anderen sagst du ich habe als Client keine Chance an die unverschlüsselten Pakete zu kommen.
Das waren theoretische Aussagen. Du hattest nie die genaue Sittuation geschiltert:
Tockra schrieb:
Immerhin geht es hier nicht um eine xbeliebige Anwendung, sondern um ein Webformular.
Das wusste ich nicht. Ich war davon ausgegangen, dass es sich um eine "normale" Anwendung handelt, die mit einem Server kommuniziert.
Jetzt kann ich dir sagen: Webscarab

Tockra schrieb:
Zum anderen würde mich sehr stark interessieren, wie man bei einer Man in the Middle Attacke an die unverschlüsselten Daten kommen kann, ohne den Private Key vom Server zu verwenden. Würde mich sehr stark interessieren.
Bei einer SSL-Verbindung werden nicht immer die selben keys verwendet, sondern neu ausgehandelt.
Client und "Middle", sowie "Middle" und Server einigen sich hier jeweils auf eine Verbindung.
Wie thrawnx schon schrieb könnte es hierbei aber Probleme mit den Zertifikaten geben. Wenn da etwas offensichtlich nicht stimmt, wird Firefox dich warnen.

Tockra schrieb:
Möglich müsste das was ich machen will ja auf jeden Fall sein.
Ist es in dem Fall auch. Einfach die Requests mit Webscarab analysieren und nachbilden. Das ist keine große Sache.
 
Tockra schrieb:
Zum anderen würde mich sehr stark interessieren, wie man bei einer Man in the Middle Attacke an die unverschlüsselten Daten kommen kann, ohne den Private Key vom Server zu verwenden. Würde mich sehr stark interessieren.
Servus,

bei Firefox ist es möglich, eine Umgebungsvariable zu setzten, sodass die Schlüssel - lokal - gespeichert werden.
Dann brauchst Du nur noch den Traffic vom POST, mit Hilfe von Wireshark, sniffen und Dir den Traffic entschlüsseln lassen.
Anschließen schreibst Du dir ein Tool, welches per WebRequest die Anfrage an den Server sendet.

Hier ist nochmal eine Schritt für Schritt Anleitung: https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/


Tockra schrieb:
Möglich müsste das was ich machen will ja auf jeden Fall sein.
Das Program was ich schreiben müsste müsste schließlich nur eine eingeschränkte Version eines Browsers sein, der nur das tut, was mein Browser hier macht, wenn ich einen Termin eintrage.
Für .Net gibt es ein WebBrowser-Steuerelement, was Dir den IE emuliert. Damit ist es möglich die Steuerelemente der Webseite direkt anzusprechen und zu bearbeiten. Ich persönlich würde Dir die 1. Variante empfehlen.

Um welche Internetseite geht es denn?
Ist die Programmiersprache egal?
 
Da würde ich lieber Indy empfehlen, da braucht man nur einen Bruchteil der Codezeilen.
Vielleicht hat es sich aber allegemein schon erledigt, da sich der TE ja schon seit einer Woche nicht mehr meldet.
 
Tockra schrieb:
Zum anderen würde mich sehr stark interessieren, wie man bei einer Man in the Middle Attacke an die unverschlüsselten Daten kommen kann, ohne den Private Key vom Server zu verwenden. Würde mich sehr stark interessieren.

Du erstellst ein eigenes Zertifikat für deinen Server dazwischen und trägst dieses als vertrauenswürdig in deinem Browser ein. Dann verbindest du mit deinem Browser zu deinem Server und dieser baut ganz normal eine verschlüsselte Verbindung zum Zielserver auf und leitet die Daten weiter. Kannst dir die Verschlüsselung zwischen deinem Browser und Server eigentlich auch sparen.
Dein Server dazwischen zeichnet den Verkehr neben dem Weiterleiten einfach auf.

Du kannst bei bekannten Schlüsseln auch den Verkehr mit Wireshark entschlüsseln.

Für das gegebene Problem würde ich jedoch entweder auf eine der schon vorgeschlagenen Lösungen setzen oder nach entspr. Analyse ein Script z.B. in Python schreiben, dass die nötigen Anfragen sendet.
 
Zuletzt bearbeitet:
Also da es sich um eine Webseite handelt, braucht man doch kein MITM...
Im Browser F12 druecken, Netzwerk Tab anklicken. Nun einfach bei jedem Schritt schauen was im POST/GET etc. an den Server der Seite gesendet wird.
Das ganze dann in einer beliebigen Programmiersprache nachbilden und fertig.
 
Wie schon gesagt Webscarab + Indy Lib, dauert vielleicht 15 Minuten. Aber auf mich hört ja keiner.
 
S.Kara schrieb:
Wie schon gesagt Webscarab + Indy Lib, dauert vielleicht 15 Minuten. Aber auf mich hört ja keiner.

Keine sorge, ich lese schon alles nur der Link den ich oben genannt habe sah recht nett aus und ich habe den erst mal gespeichert und auf den gebaut. Gestern hab ich ihn mir dann wirklich mal angeschaut und war leider sehr entäuscht.
Mein nächster Versuch wird Webscarab sein .
 
Zurück
Oben