Wie kriege ich mit ROP einen "/bin/sh" Pointer in rdi?

Ich versuche, rücksprungorientierte Programmierung (ROP) zu lernen.

Und zwar habe ich ein Programm mit einem Pufferüberlauf auf dem Stack, und ich möchte das Programm dazu bringen, /bin/sh zu öffnen.

Das geht mit dem execve Syscall, wenn ich die richtigen Instruktionen finden kann, um die Funktionsparameter vorzubereiten. Das ist die Signatur von execve:

int execve(const char *pathname, char *const _Nullable argv[], char *const _Nullable envp[]);

Also muss ich die folgenden Register setzen:

  • rax = 0x3b (Syscallnummer von execve)
  • rdi = "/bin/sh" Pointer
  • rsi = NULL
  • rdx = NULL

Die folgenden Instruktionen habe ich bereits gefunden:

pop rax ; ret
pop rdi ; ret
pop rsi ; ret
pop rdx ; ret
syscall

Ich kann also die Instruktionen und Registerwerte mit dem Pufferüberlauf auf den Stack schreiben und so meine Register füllen. Das Problem ist aber, dass ich einen "/bin/sh" Pointer in rdi brauche (also nicht "/bin/sh" im Register, sondern eine Speicheradresse, an der "/bin/sh" steht).

Ich kann natürlich "/bin/sh" in den Puffer auf dem Stack schreiben, aber leider ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Ich weiß, dass "/bin/sh" in libc vorkommt, aber auch dort ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Wie komme ich also an einen "/bin/sh" Pointer? Gibt es Tricks oder bestimmte Instruktionen, nach denen ich mich umsehen sollte?

hacken, Hack, Programm, programmieren, pointer, Assembler, Hacker, Hacking, Informatik, IT-Sicherheit, Shell, stack, x64, assemblersprache, Assembly, Exploit, hacken lernen, IT-Sicherheitsexperte, Register, Capture The Flag
Hintertür in xz gefunden - Kann man überhaupt noch einer Software vertrauen, die man nicht selbst geschrieben hat?

xz ist ein unter Linux weit verbreitetes Datenkompressionsformat. Ein Entwickler der Referenzimplementierung xz-utils (https://github.com/tukaani-project/xz) hat vor kurzem eine Hintertür (CVE-2024-3094) eingebaut, mit der in manchen Linux Distributionen sshd kompromittiert werden kann. Bisher wurde noch kein CVE Score zugewiesen, aber ich schätze diese Hintertür als sehr kritisch ein. Bestimmt werden in den nächsten Tagen Heise, Golem, etc. darüber berichten, und vielleicht sogar die Mainstream Medien.

Die Hintertür wurde gefunden, weil der Schadcode Performanceprobleme in sshd verursacht hat. Glücklicherweise sind die betroffenen xz Versionen noch nicht weit verbreitet, da Pakete in vielen Distributionen nur sehr langsam aktualisiert werden. In Arch Linux wurde bereits eine betroffene xz Version ausgeliefert, aber da sshd in Arch Linux kein gz verwendet, ist ein Angriff in diesem Fall nicht möglich.

Dennoch ist dieser Vorfall äußerst besorgniserregend, da die Hintertür von einem xz Entwickler eingebaut wurde, der bereits mehrere Jahre am Projekt beteiligt war und als vertrauenswürdig galt.

Grundsätzlich galt Open Source Software als weniger anfällig für Hintertüren als Closed Source Software. Man ging davon aus, dass Hintertüren in Open Source Software gefunden werden, bevor sie überhaupt veröffentlicht werden, da der Code von vielen unabhängigen Experten überprüft wird. Ein häufig genanntes Beispiel, das diese These untermauern soll, ist ein 2003 gescheiterter Versuch, eine Hintertür in den Linux Kernel einzubauen.

Der aktuelle Vorfall zeigt, dass es sehrwohl möglich ist, Schadcode unentdeckt in weit verbreitete Open Source Software einzubauen. Dies wirft die Frage auf, inwieweit man fremder Software überhaupt noch vertrauen kann.

Seid ihr selbst von dieser Hintertür betroffen? Wie schützt ihr euch? Habt ihr Zweifel an der Sicherheit von Open Source Software? Denkt ihr, dass dieser Vorfall zu einem Umdenken bei der Vertrauenswürdigkeit von Open Source Entwicklern führen wird?

Weitere Informationen
  • https://lwn.net/Articles/967180/
  • https://lwn.net/ml/oss-security/20240329155126.kjjfduxw2yrlxgzm@awork3.anarazel.de/
  • https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094
  • https://archlinux.org/news/the-xz-package-has-been-backdoored/
  • https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
  • https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
Computer, Software, Linux, Sicherheit, IT, Backdoor, Code, Hacker, Hackerangriff, Informatik, IT-Sicherheit, Open Source, Softwareentwicklung, ssh, Vertrauen, Vertrauensbruch, Exploit, Exploits, IT-Sicherheitsexperte, Schwachstellen, vertrauenswürdig, sshd
Argumente für Selfhosting?

Hallo liebe Community sowie die lieben Selfhostler unter euch,

ich bräuchte mal kurz eure Hilfe. Ich bin seit einiger Zeit ziemlich datenschutzbedacht und achte sehr auf meine IT-Sicherheit. Dennoch komme ich an einigen Apps wie bspw. Google Photos zum Sichern der Fotos nicht vorbei - bzw. hab mich noch nicht genug mit Alternativen befasst. Bzw. generell mal mit dem Thema Selfhosting.

Ich habe daheim unter anderem einen Raspberry Pi, der gerade nicht in Verwendung ist (4B, 2GB RAM) und einen vServer bei Hetzner (2vCPU, 4GB RAM). Habe seit kurzem Tailscale für mich entdeckt, um meine Geräte und die beiden Server zu vernetzen (auch unterwegs etc.). Auf dem Server bei Hetzner läuft auch ein Airsonic, welcher Medieninhalte an die Familie verteilt. Zuhause sind noch ein Adguard, ein Musikstreaming Pi und ein NAS im Einsatz. Das NAS ist mir aber ehrlich gesagt zu langsam und würde sich deshalb nur als Cold-Storage für Backups oder so anbieten (meiner Meinung nach)...

Abgesehen davon hat diese Selfhosting Thematik jetzt aber doch sehr großes Interesse bei mir geweckt und ich glaube ich möchte gern möglichst viele Sachen selbst hosten. Dazu werde ich mir nachher nochmal Listen anschauen. Gibt es da irgendwelche Empfehlungen eurerseits? Bei Nextcloud hatte ichvor einiger Zeit beim testen immer wieder "Synchronisierungprobleme", das nervte etwas...

Jetzt aber zu meiner eigentlichen Frage... Welche Argumente gibt es für das Selfhosten von Diensten? Wie argumentiert ihr dafür? Warum nicht managed Sachen verwenden, wie bspw. Google Drive oder so? (Das habe ich im Moment im Einsatz, zusammen mit Google Photos). Warum selfhosted ihr? Und vor allem, was?

Argumente die ich meistens für Dienste wie Google Photos oder Drive höre sind, "Die Chance das Google gehackt wird gegenüber das was selbst gehostetes ausfällt ist doch viel geringer". Meine Dateien würden dann vermutlich in einer Storagebox bei Hetzner liegen, welche ich in das Dateisystem mit einbinde... Somit sind sie zwar nicht lokal bei mir, aber immerhin nicht in den Händen der Cloudriesen.. Was denkt ihr dazu?

Vielen Dank schon an alle im voraus!

Viele Grüße :)

Server, Computer, Datenschutz, Google, IT, IT-Sicherheit, Cloud, Hetzner
Gebrauch meiner E-Mail Adresse?

Hallo zusammen,

jemand macht gebrauch meiner Email-Adresse.

Seit 2021 registriert sich eine Person die ich nicht kenne mit meiner Email-Adresse auf verschiedenen Seiten. Anfangs waren es: "Crunchyroll" , "Epic-Games" , "Netflix" und "PixelArt". Vor drei Monaten war es "Kahoot" und gestern war es plötzlich "Dun&Bradstreet".

Am meisten Sorgen macht mir Dun&Bradstreet. Warum, sage ich demnächst.

Bei Kahoot habe ich es so gemacht, dass ich auf den ihre Seite gegangen bin, meine Email-Adresse angegeben habe und auf "Passwort vergessen" gedrückt habe. Die fremde Person hat tatsächlich Kahoot Fragen + Antworten erstellt. Es ging um ein Buch. Anschließend habe ich den Account löschen lassen. Bis dahin alles schön und gut, da ist ja nichts kostenpflichtiges, aber gestern habe ich plötzlich eine Email von Dun&Bradstreet erhalten in der folgendes stand:

"Hallo ####, (Da waren natürlich keine Hashtags sondern mein voller Name)

Wir freuen uns, dass Sie sich entschieden haben, D&B Hoovers kostenlos auszuprobieren.

Unser D&B Hoovers-Experte wird sich in Kürze mit Ihnen in Verbindung setzen, um Ihnen zu zeigen, was die Lösung basierend auf Ihren spezifischen Anforderungen sein kann.

Mit freundlichen Grüßen,

Dun & Bradstreet".

Ich kenne dieses Unternehmen nicht mal!

Nun bin ich panisch. Ich habe mich mal über Dun&Bradstreet informiert und habe folgendes gefunden: Dun & Bradstreet bietet Unternehmen an, weltweit Firmendaten und Bewertungen zu ihren Kunden, Lieferanten oder potenziellen Geschäftspartnern abzurufen.

Diese fremde Person welche sich dort mit meiner Email-Adresse registriert hat, hat die 7 Tage kostenlose Phase ausgewählt. Nun habe ich Angst, dass ich irgendwas da zahlen muss, wenn die Testphase zu ende ist. Ich will aber auch ungern bei Dun&Bradstreet anrufen oder denen eine Mail schreiben, da ich im Internet viel gelesen habe, dass sie sehr unseriös sind. Man muss das Unternehmen einfach mal in Google Maps eingeben und deren Rezessionen lesen von verschiedenen Personen.

Ich habe alle möglichen Sicherheitsmaßnahmen für meine Email Adresse unternommen. Die Mail stammt von der tatsächlichen Email Adresse, welche auch auf den ihrer offiziellen Internetseite steht, also ist das schonmal kein Phishing-Versuch.

Was soll ich tun? Langsam weiß ich echt nicht mehr weiter....löschen der Email bringt ja auch nichts....das einzige was mir einfällt wäre die Adresse zu löschen und eine neue zu erstellen.

Internet, Datenschutz, Smartphone, Spam, Betrug, E-Mail, IT, Passwort, Daten, Gmail, Hacker, Hackerangriff, IT-Sicherheit, Phishing, Betrugsversuch, Datenklau, E-Mail-Adresse, E-Mail-Konto, Cyberkriminalität, E-Mail-Account, IT-Sicherheitsexperte

Meistgelesene Fragen zum Thema IT-Sicherheit