absoluter nullpeiler braucht hilfe



  • hi leute.
    ich interessiere mich für verschiedene programmiersprachen, vor allem aber für c++. wenn ich das richtig gelesen habe, ist c++ die führende sprache und man kann mir ihr so ziehmlich alles machen, was software angeht.

    ich möchte sie nun auch einmal näher betrachten und lernen, allerdings habe ich ein paar fragen vorweg, die mich brennend interessieren.
    es geht dabei ums thema hacken.
    versteht mich nicht falsch, ich möchte von euch nicht wissen, wie man hackt oder ähnliches, es ist nur so, das mir einfach bei vielen dingen einfach die vorstellungskraft fehlt und ich mir manche dinge nicht erklären kann und hoffe nun von euch eine erklärung zu bekommen.

    Z.B.
    thema iphone jailbreak:
    angenommen ihr wollt jetzt eine software schreiben, mit dem es möglich ist ein iphone zu jailbreaken. ich weiß, das man, wenn man sein iphone gejailbreaked hat, auf sämtliche daten zugreifen kann, die auf dem iphone vorhanden sind. wenn ich nun zugriff auf diese daten habe, kann ich diese verändern,modifizieren oder wie auch immer, aber wie schreibt man eine software, die etwas herausgibt, obwohl man garnicht weiß, was man herausgeben will?
    ich hoffe ihr versteht das. ich habe hier zum beispiel einen ipod touch, den man, wie ihr sicher wisst, genau jailbreaken kann wie ein iphone, aber ich habe keinen blassen schimmer wie man sowas anstellen soll. einen rechner zu hacken verstehe ich noch, da man an sämtliche daten einen rechners herankommt, sie sich anschauen kann, verändern kann und und und. aber der ipod/iphone ist komplett verschlossen, es gibt kein C:\ oder ähnliches. wie geht man an solche dinge heran?

    genau mit der playstation 3. die mitlerweile auch geknackt ist. aber wie, verstehe ich nicht. im inet steht zum beispiel, das der jailbreak nur mit der version 3.41 funktioniert. aber was ist das besondere an dieser firmware? oder anders: wie kommt man an die daten dieser firmware um sich über ein jailbreak überhaubt erst gedanken zu machen?

    wie gesagt. versteht mich nicht falsch, ich habe kein interesse daran zu hacken oder es zu lernen. nur sind das fragen, die ich mir nicht erklären kann. könnt ihr mir da helfen??
    wäre super?

    mir fällt da nochwas ein.
    vor kurzem habe ich im fernseher gesehen, das 2 hacker festgenommen wurden, die sich bei amerikanischen superstars wie lady gaga und co. eingehackt haben und daten gestohlen haben. wie gesagt, das hacken einen rechners kann ich mir vorstellen, aber wie häckt man einen rechner, von dem man keinerlei infos hat. ich meine, man braucht doch zu mindest die ip-adresse vom zielrechner oder nicht? aber wie kommt man bitteschön an die ip von lady gaga? unvorstellbar. mein hirn will und kann an dieser stelle nicht weiterdenken. 😕

    wäre sehr nett von euch, wenn ihr mir dazu mehr sagen könnt.

    vielen dank im voraus



  • aber der ipod/iphone ist komplett verschlossen, es gibt kein C:\ oder ähnliches

    Du verstehst schon, was jailbreak bedeutet? Ansonsten: Obwohl die Keckse durch ein Tuch verdeckt sind, sind sie trotzdem da.

    aber was ist das besondere an dieser firmware?

    Das es damit funktioniert.

    aber wie kommt man bitteschön an die ip von lady gaga

    Wenn man eine Telefonnummer sucht, wuerde ich zuerst im Telefonbuch nachsehen.



  • Mit Programmiersprache kann man das nicht verstehen.
    Man muss das Computer-System verstehen. Letzendlich sind es Befehle. Eine Bestimmte art von Befehle, die ein Szenario abbilden, dass man das einen Hack oder ein Virus oder einen Trojaner nennt. Wichtig: Nur der Mensch nennt es so! Für den CPU sind es nach wie vor Befehle.

    Die Programmiersprache ist nur ein Hilfsmittel solch ein Szenario in Maschienensprache zu erstellen. Wenn man wirklich die Ahung davon haben will, sollte man Assembler lernen und verstehen, dass das Internet nicht das Intern ist sondern lediglich ein Netzwerk wie das LAN. Deshalb heißt das eine ja auch LAN und das andere WAN. Aber für beide gilt das selbe Protokoll. Websites z.B. funktionieren genauso im LAN. Sie werden meistens einfach über das Protokoll HTTP zu verfügung gestellt und es horcht am verfügungsstellenden Server am Port 80 eben ein Dienst. Dieser könnte aber genauso nur für das LAN laufen wie auch das WAN. Was man dann menschlich umsprachlich Internet nennt. Aber grundsätzlich das was im LAN geht, geht auch über das WAN. Und da wo etwas an einem Port horcht mit dem Programm kann man auch spielen.

    Im endefekt ist hacken, wenn man solch einen Dienst austrickts. Man in etwa sein Verhalten kennt und weis, was man ihm erzählen muss um irgendwas zu durchbrechen. Bei sehr vielen Diensten gibt es immer irgendwas, wo ein Sicherheits check defakto nicht möglich ist. Also gaugelt man ihm dieses gewisse etwas vor, in dem man eine reihe von Bits erstellt, die dann als diesen Typ identifiziert werden und schickt es dann dem Dienst.

    Viel einfacher ist es z.B. bei Windows. Da sind Dienste oft fehlerhaft geschrieben. Da wird das was rein kommt nicht überprüft, ob es nicht dem Datentyp entspricht, als das es auch agespeichert wird. Nehmen wir mal an es ist eine Variable inialisiert, die den Wert von Zero bis TwoFiveFive abspeichern kann. Es wird direkt der über den Port eingesante Wert in dieser Variable agespeichert. Also es wird voher nicht überprüft ob der Wert unter Zero oder über TwoFiveFive liegt. Man könnte jetzt also Minus One schicken, und das Programm versucht, diesen Wert in diese Varibale abschicken. Ein Ausnahmefehler wäre der Fall. Wenn das Programm jetzt für diesen Fall auch keine Ausnahmefall-Behandlung hat, dann würde es einen crash geben, der Dienst könnte abstürzen.



  • @biest

    danke, aber verstanden habe ich nichts. lol.
    du schreibst,

    Man in etwa sein Verhalten kennt und weis, was man ihm erzählen muss um irgendwas zu durchbrechen....

    aber das ist es ja. woher weiß ich, was ich einen ipod oder einer playstation erzählen muss, damit ich sowas durchbrechen kann?
    @ knivil
    das sind antworten, mit denen denke ich niemand etwas anfangen kann.

    wenn du eine telefonnummer sucht, guckst du ins telefonbuch?!?!
    und was heißt das?
    ein ip-buch habe ich noch nie gesehen. 😉



  • aber was ist das besondere an dieser firmware? oder anders: wie kommt man an die daten dieser firmware um sich über ein jailbreak überhaubt erst gedanken zu machen?

    Das Besondere an dieser Firmware ist, dass sie eben Fehler enthält (also Bugs bzw. Sicherheitslücken) die es ermöglichen eigenen Code einzuschleusen. Und dieser Code kann dann eben auf die 'gesperrten' Daten zugreifen. Durch diesen Code kann man dann die Firmware so umschreiben, dass man in Zukunft auch leichter an die ehemals gesperrten Daten zugreifen kann.
    Ähnlich funktionieren dann auch Attacken auf z.b. PCs. Nur wird dann halt statt wie bei einer Konsole die Firmware umzuschreiben beispielsweise ein Backdoor Programm installiert.



  • robertko schrieb:

    @biest

    danke, aber verstanden habe ich nichts. lol.
    du schreibst,

    Man in etwa sein Verhalten kennt und weis, was man ihm erzählen muss um irgendwas zu durchbrechen....

    aber das ist es ja. woher weiß ich, was ich einen ipod oder einer playstation erzählen muss, damit ich sowas durchbrechen kann?
    @ knivil
    das sind antworten, mit denen denke ich niemand etwas anfangen kann.

    wenn du eine telefonnummer sucht, guckst du ins telefonbuch?!?!
    und was heißt das?
    ein ip-buch habe ich noch nie gesehen. 😉

    Ein IP-Adressbuch gibst es so auch nicht aber das braucht man auch nicht. Entweder man hat eine DNS oder die direkte IP. Oder man muss beides nicht wissen, da man ein vorhandenes Clienten-System benutzt, dass die Adressdaten const. integriert hat.



  • das habe ich verstanden, aber was ich nicht verstehe ist, wie man diese firmware herankommt um überhaupt festzustellen, dass sie fehler hat. woher bekommen solche leute diese firmware. wie lässt sich sowas auslesen, wenn sie sich auf einen chip in der playstation befindet?

    es gibt auf youtube ein video, da sieht man die playstation komplett zerlegt rumliegen zwischen zich rechnern und messinstrumenten. ist es möglich solche daten direkt aus einen chip zu laden?? was anderes kann ich mir nicht erklären.

    @biest

    Oder man muss beides nicht wissen, da man ein vorhandenes Clienten-System benutzt, dass die Adressdaten const. integriert hat.

    um etwas zu integrieren braucht man doch auch gewisse infos oder nicht?

    wenn ich angenommen einem wildfremden hacker sage, er solle den rechner meines nachbarn hacken, ohne ihm weitere infos über ihn zu geben, wird er ihn doch niemals gezielt hacken können.



  • Na wenn man eine Playstation programmiert hat es eigentlich auch nichts mit WAN zu tun, sondern eher mit nem einfachn seriellen bzw. USB (weis es jetzt gerade genau auch nicht) Anschluss. Ansonsten muss man an dem Chip ran kommen und dann ein Gerät dafür benutzen, was den Chip programmieren kann und am PC, z.B. mit USB Angeschlossen werden kann.

    Aber jegliche Geräte die Laut Anleitung bei einem Firmwareupdate per PC, eben z.B. mit USB, überschrieben werden können, lassen sich ebenso genausogut dann über den PC mit dem Anschluss hacken. Den Clienten, der die Firmware überspielt könnte man sich dazu nütze machen, da er ja so porgrammiert ist, damit er auch mit dem Gerätechip reden kann und dann geht er normalerweise die Anweisungen der Firmwareupdate-Datei durch, die Befehle sowieo Rohdaten (die dann meistens auf den Chip geschrieben werden) enthält. Man könnte ja jetzt z.B. versuchen diese Datei oder das Client-Tool zu verstehen und dann entsprechend eine eigene Firmwareupdatei Datei schreiben und mit der dann mithilfe des Clienten-Tool das Gerät überschreiben.



  • robertko schrieb:

    das habe ich verstanden, aber was ich nicht verstehe ist, wie man diese firmware herankommt um überhaupt festzustellen, dass sie fehler hat. woher bekommen solche leute diese firmware. wie lässt sich sowas auslesen, wenn sie sich auf einen chip in der playstation befindet?

    Bei der Playstation habe ich kA, ich habe nur auf dem 27c3 am Rande etwas davon gehört, dass die Keys mit denen Programme als erlaubt ausführbar markiert werden öffentlich geworden sind und so jeder die möglichkeit hatte seine selbstgebauten Programme als offizielle Spiele zu tarnen. Die Aufzeichnung des Talks wird aber sicherlich in der nächsten zeit bei http://media.ccc.de/browse/congress/2010/ auftauchen oder sonst irgendwo im internet.

    Aber beim iPhone/iPad/iTouch kann man sich jederzeit die firmware von einen Appleserver herunterladen um zu updaten oder neu zu installieren. Diese Datei ist eine mehr oder weniger obskure variante eines ZIP-Archivs (oder sowas ähnliches). Dass kann man einfach entpacken. Dann hat man da Dateien (genauer gesagt Bundles die nichts anderes als normale Ordner sind) Youtube.app, Music.app, mach_kernel usw... Da ist dann der Binärcode der programme drin. Mit den Richtigen Tools, Wissen, Geschick und Glück kann man diese Binärprogramme teilweise verstehen und die Fehler finden. zB sieht man da, dass bei bestimmt formatierter Schrift über irgendeine Arraygrenze hinausgeschrieben wird und man so an eine Speicherstelle beliebiges Zeug schreiben kann und dieses dann auch noch ausgeführt wird (meist dadurch das durch den bug ein functionpointer oder der auf dem Stack gespeicherte Instuction Pointer umgebogen wird.) Dieser code kann dann natürlich auch wiederum die Programme modifizieren die im Speicher geladen sind und die auf der Festplatte(dem Flashspeicher) gespeicherten Datein ändern, die die .exe files des Iphones sind (die überhaupt keinen Dateiendung haben).

    In der Theorie ganz einfach. In der Praxis extrem schwer. Wenn du dir das mal in der Praxis ansehen willst schreib ein kleines(!) C-Programm, disassembliere (Stichword nasm/ndisasm) es und versuch es zu verstehen. (Nimm auf keine fall c++, ein #include <iostream> produziert wahrscheinlich schon etwas so komplexes, dass du die Menschen auf diesem Planeten die in der lage wären das komplett zu verstehen wahrscheinlich an einer Hand abzählen kannst.)

    wie gesagt. versteht mich nicht falsch, ich habe kein interesse daran zu hacken oder es zu lernen. nur sind das fragen, die ich mir nicht erklären kann. könnt ihr mir da helfen??

    Das ist schade. Hacken ist eine spannende und wichtige Tätigkeit. Hacken hat übrigens nicht zwingendermasen mit Computern zu tun und erst recht nicht damit in fremde Computer einzubrechen und Daten zu klauen.
    Ich halte es für Wichtig das es Dinge wie den Jailbreak auf dem iPhone gibt (unabhängig davon ob das wirklich sinnvoll zu benutzen ist oder ich selbst einen anwenden würde). Ohne die System anzugreifen haben wir keine Möglichkeit uns informationen Über die Sicherheit der System oder wie die privaten Daten behandelt werden zu verschaffen.

    Auch ein wahrscheinlich entscheidendes Gutachen zu Vorratsdatenspeicherung vorm Bundesverfassungsgericht kam von Hackern. Und mit Dingen wie Wikileaks zeigt sich schon wie Hacker die Welt auf allen Ebenen verändern werden. (Ich meine nicht die Angriffe auf Mastercard usw..., Julian Assange und die Leute die an seiner Seite für Transparenz kämpfen sind Hacker)



  • das sind antworten, mit denen denke ich niemand etwas anfangen kann.

    Hmm ... und ich dachte, dass meine Antworten zum selber denken verfuehren. Ansonsten habe alle anderen vom Inhalt nichts anderes gesagt. Sie haben mehr Ausschmueckungen, Vermutungen und unhaltbare Behauptungen hinzugefuegt.


Anmelden zum Antworten