Nein, nicht Watergate, aber ein sehr interessanter Artikel auf Milw0rm, wie man das linux-gate.so.1 für einen RET2ESP-Exploit verwenden kann.
Linux-Gate
Tipps für Virenprogrammierer
Mark Russinovich, der früher mal Sysinternals gemacht hat und heute so ein Microsoft Droide ist, hat was Interessantes zum Tarnen von Programmen geschrieben:
- This example highlights a few practices that software vendors should follow for reliability and to prevent the confusion I faced. First is the use of environment variables and Shell special paths instead of hard-coded strings. IECheck (which I presume stands for Icon Editor Check) references the Program Files directory by name, which is only valid on English installations of Windows, so if installed on a foreign system, IECheck would fail to find the executables it looks for. Instead, it should locate the Program Files directory by using the %PROGRAMFILES% environment variable, or call ShGetFolderPath with CSILD_PROGRAM_FILES for the folder parameter.
To avoid scaring security-conscious users, all executables should have a version resource with a company name and a description that clearly identifies the executable’s purpose. Further, vendors should obtain a code signing certificate to digitally sign their code. Windows relies more and more on signature information to help users make trust decisions, and users can leverage tools like Process Explorer, Autoruns, and Sigcheck to verify that executables are what they advertise instead of malware. I’ve contacted the author of IconEdit2 and he’ll be updating his application to follow this guidance. All vendors need to do their part to avoid this kind of needless scare.
Gut, das mit dem Code Signing ist jetzt ein wenig schwierig. Aber alles andere sollte man von einem guten Virenautor doch erwarten. Gebt den Schadprogrammen schlüssig klingende Namen. Packt einen ordentlich gefälschten Versionsstring und einen namhaften Hersteller mit rein, damit das nach was aussieht. Und spart Euch den Unsinn mit den Rootkits, das ist viel zu auffällig.
Die Terroristen vom CCC
Kleines Detail der neuen Ermächtigungsgesetzgebung:
- § 129a, „Bildung terroristischer Vereinigungen“:
- (2) Ebenso wird bestraft, wer eine Vereinigung gründet, deren Zwecke oder deren Tätigkeit darauf gerichtet sind, […] 2. Straftaten nach den §§ 303b […]
- Der neue § 303b sieht so aus:
- (1) Wer eine Datenverarbeitung, die für einen anderen von wesentlicher Bedeutung ist, dadurch erheblich stört, dass er2. Daten (§ 202a Abs. 2) in der Absicht, einem anderen Nachteil zuzufügen, eingibt oder übermittelt
und
- der neue § 202a liest sich so:
- (1) Wer unbefugt sich oder einem anderen Zugang zu Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, unter Überwindung der Zugangssicherung verschafft […]
Fassen wir also zusammen: der CCC ist ab übermorgen eine terroristische Vereinigung.
BITS Download Service
Hach ja … endlich hier bei Symantec eine universelle Lösung zur Problematik, Schadcode-Updates an der Personal Firewall vorbeizubringen.
Alle vernünftigen Firewalls (die Windows XP Firewall natürlich nicht) filtern auch ausgehenden Datenverkehr und lassen nicht jedes Programm mit dem Internet kommunizieren. Daher hat ein Schadprogramm das Problem, beim Nachladen der Module typischerweise einen Alarm auf der Firewall auszulösen. Für diese Beschränkung gibt es nun mehrere Standardverfahren:
- Starten eines Threads, der ständig „ok“ an den Firewall-Prozess schickt, so dass ein aufgehendes Fenster automatisch beantwortet wird. Das könnte ein aufmerksamer Benutzer allerdings bemerken.
- Shutdown der Firewall, allerdings würde das ein aufmerksamer Benutzer ebenfalls erkennen. Es gibt zwar einen weiteren Trick wie man die Warnung des Windows Security Center deaktiviert, aber das wird dann alles ein wenig aufwändiger.
- Die beliebteste Technik ist Code Injection in den Internet Explorer. Das funktioniert ganz ordentlich, diese Browser Helper Objects machen nichts anderes. Die Google Toolbar ist z.B. so etwas.
Und jetzt hat also endlich jemand den BITS Dienst von Windows Update entdeckt. Das ist ein Systemdienst, der darf durch die Personal Firewall, das gibt keinen Alarm und es laufen auch keine seltsamen Prozesse im Hintergrund. Sehr elegant.
Ein erster PoC ist auch schon aufgetaucht.
Slammer strikes back
Soso, der böse Slammer-Wurm hat mal wieder zugeschlagen.
Der gleiche Wurm, der schon mal die Davis-Besse Nuklearanlage infiziert hat, hat sich nun mit den Wahlcomputern im Sarasota County, Florida angelegt. Das Ergebnis war zu erwarten: 1:0 für Slammer.
Wie üblich hat das erst einmal irgendwer versucht zu vertuschen und nun heißt es, dass die Wahl davon nicht betroffen war. Nur wenn man die Ergebnisse betrachtet, dann ist schon auffällig, dass bei dieser Wahl 9x so viele leere Stimmabgaben erfolgt sind als normal.
Ich fürchte ja, wenn die meisten Administratoren schon mit der Absicherung ihrer Windows-Server überfordert sind, dann brauchen wir mit Wahlmaschinen gar nicht erst anfangen. Eine Technologie zur Wahl verwenden, die 95% der Wähler nicht mehr richtig verstehen und durchschauen ist ein Problem. Da können wir die Wahl auch gleich komplett abschaffen.
Die Hersteller von Wahlcomputern haben leider kein echtes Interesse daran, sichere und zuverlässige Geräte zu entwickeln. Primär geht es darum, dass die Geräte billig sind und teuer verkauft werden können. Besonders krass war ja die Firma Diebold, wie BlackBoxVoting so schön gezeigt hat.
Obwohl, eine sichere Plattform scheint es zu geben: die XBox 360 von Microsoft. Da tun sich die Hacker mit Modifikationen schwer und wenn, wird es zumindest entdeckt. Vielleicht sollten wir in Zukunft unsere Wahl von Microsoft veranstalten lassen?
Drive by Hacking
Didier Stevens hat ein interessantes Experiment durchgeführt. Er hat eine Google-Anzeige geschaltet, mit dem Text:
- Drive-By Download
Is your PC virus-free?
Get it infected here!
drive-by-download.info
Das Ergebnis war nicht sonderlich überraschend: die Leute klicken auf alles! Innerhalb von 6 Monaten wurde die Anzeige 259.723 mal angezeigt und 409 Leute haben darauf geklickt. Bei Kosten von 17 € für die Anzeige. Nicht schlecht … 4 Cent pro infizierten Rechner.
Im großen und ganzen bringt uns das Experiment folgende Weisheiten:
- User sind dumm. User klicken auf alles, es sei denn man nimmt ihnen die Maus weg
- Social Engineering ist gar nicht nötig, so dumm sind die User
- Werbung scheint inzwischen effizienter und günstiger zu sein als Spam zu verschicken
- Google is evil. Statt die Nutzer vor bösartigen Anzeigen zu schützen wird lieber das Geld eingesteckt.
Also nichts neues hier. Bitte weiterzugehen, nicht stehenbleiben. Es gibt nichts zu sehen.
Syscall Proxying
Es ist Wochenende und ich habe wenig zu tun, also mal alte Notizen durchgehen.
Dabei ist mir ein Vortrag vom Chaos Communication Congress 2005 über Syscall Proxying in die Finger gefallen. Der Vortrag ist von CSK, die Präsentation liegt auf uberwall.com und entwickelt hat die Technik Core Security.
Die Idee ist bestechend: Man bastelt einen kleinen speicherresidenten Agenten, bringt den auf einem gehackten System zum Laufen und hat lokal einen Proxy, der Systemcalls abfängt und an den Agenten weiterleitet. Dort werden die Syscalls dann real ausgeführt, der Rückgabewert an den lokalen Proxy zurückgeschickt und hier an die laufende Anwendung zurück gereicht. Die Vorteile liegen auf der Hand: die diversen Hacking-Tools müssen nicht mehr auf das gecrackte System übertragen werden, der Agent läuft nur im Speicher und sichert nichts auf der Festplatte und nach einem Reboot kann die forensische Analyse nichts mehr entdecken.
Nur: da kommt nichts mehr. Ein paar Demo-Tools um zu zeigen, dass die Technik funktioniert und dann nichts mehr. Lediglich Core Security hat das in Core Impact realisiert. Dabei wäre das wirklich gut. Ich bin leider kein brauchbarer Programmierer, sonst würde ich mich damit mal hinsetzen. So eine Bibliothek hätte die Qualität einer Dsniff-Suite, von der heute immer noch jeder spricht, obwohl Dug Song längst nicht mehr damit beschäftigt ist. Ich muss mir da mal länger Gedanken machen …
Sicherheitsprobleme in IPv6
IPv6 hat ein lustiges Sicherheitsproblem mit einem Routing Header.
Dazu muss man erst einmal wissen, wie IPv6 funktioniert. Bei IPv6 sind die Adressen nicht mehr nur 32 Bit lang, wie aktuell im Internet Protokoll sondern 128 Bit, also gerade vier mal so lang. Das Problem dabei ist, damit steigt natürlich für jedes Datenpaket der Overhead an. Ein normaler IPv4 Header hat üblicherweise 20 Byte (ohne IP-Optionen, aber die lässt eh kaum eine Firewall durch), mit den neuen Adressen hätte der Header plötzlich 44 Byte, also mehr als doppelt so groß. Mögliche Header-Optionen sind dabei noch nicht eingerechnet.
Man hat sich nun entschieden, den IPv6-Header etwas anders zu strukturieren. Der Standardheader ist immer gleich groß, nämlich 40 Byte. Durch die konstante Größe wird u.a. das Offloading, d.h. die Verarbeitung in einem extra Chip vereinfacht, der Durchsatz der Netzwerkkarten steigt. Optionen werden in IPv6 durch sogenannte „Extension Header“ an den Standardheader angehängt.
Einer dieser Extension Header ist nun der Routing Header 0, kurz RH0 und der hat ein kleines Problem. Man kann da nämlich Adressen angeben, via die ein Paket geschickt werden soll. Bei IPv4 gibt es das auch, entweder als Strict oder Loose Source Routing und jeder weiß, dass das ein Problem sein kann.
Der Witz bei IPv6 ist nun, mittels RH0 kann man bis zu 88 Adressen angeben, via die ein Paket geschickt werden soll. Das ist richtig cool wenn man clevere Denial-of-Service Angriffe fahren will. Dann gibt man einfach 88 Adressen an und kann die im günstigsten Fall alle gleichzeitig DoSen. In der Praxis wird das nicht so einfach sein.
Interessant ist jedenfalls die Lösung der IETF, die für den Standard zuständig ist: Abschalten der Option. Fertig. Das hätte ich vorher auch schon sagen können.
PS:
Wenn ich mich so umsehe, scheinen die klassischen TFN, Stacheldraht und Trinoo immer noch die bekanntesten DDoS-Programme zu sein. Es scheint an der Zeit, mal was geeignetes für IPv6 zu basteln 🙂
IKE-Scan
Ein paar Gedanken zum Scannen:
TCP- und UDP-Scanning ist durch Nmap weitgehend erschlagen. Da gibt es nicht mehr ganz so viel zu ergänzen. Interessant sind jedoch spezielle Scanner, die nur ein einzelnes Protokoll berücksichtigen, dafür jedoch erweiterte Möglichkeiten anbieten.
SNMP beispielsweise. Der SNMP-Scanner von Foundstone (jetzt McAfee) ist schon ganz brauchbar. Man kann mittels Dictionary Community Strings testen und sehr schnell und effizient Netzwerke nach SNMP-Agenten durchscannen.
Richtig beeindruckt hat mich aber der IKE-Scanner von NTA. Man kann damit IKE Phase 1 Pakete mit diversen IKE-Parametern erzeugen und auswerten wie der VPN-Gateway darauf reagiert. Ein paar Sachen zu IKE kann man bei der Gelegenheit auch gleich lernen. Richtig cool.
Datenspuren 2007 des CCC am Wochenende in Dresden
Jetzt am Wochenende ist im Kulturzentrum Scheune das vierte Symposium Datenspuren des CCC Dresden. Wer Zeit hat soll hingehen. Der Eintritt ist frei.
Sehr zu empfehlen (weil sehr amüsant) ist der Vortrag „Biometrics in Science Fiction“ von Constanze Kurz. Und vorher am besten von Frank Rieger noch den Vortrag über Wahlcomputer anhören. Das öffnet Euch die Augen.
Hier ist der komplette Fahrplan.