[OT] Windows-Äquivalent zu "iptables ... -j TCPMSS --set-mss 1000"

Jan-Benedict Glaw jbglaw at lug-owl.de
Sat Jul 12 19:14:43 CEST 2003


On Sat, 2003-07-12 17:03:35 +0200, Jonas Schrieb <lug-owl.de at schrieb.de>
wrote in message <20030712150335.GA4025 at dosenlinux.homelinux.net>:
> On Sat, Jul 12, 2003 at 04:26:00PM +0200, Jan-Benedict Glaw wrote:
> > Dann sollte er's jemandem in die Hand drücken, der das Projekt
> > übernimmt.
> 
> Leider haben zu viele Leute die Auffassung: Mein Projekt, meine Arbeit
> das bekommt kein anderer in die Finger. Aber fragen kann man ja mal.

Das ist schlecht - vor allem, falls sich erhärten sollte, daß die letzte
verfügbare Version remotely exploitable ist.

Vielleicht sollte sich jemand gtetrinet schnappen, die GNOME-Stücke
'rausoperieren (sodaß nur noch GTK+ übrigbleibt) und das für Windows
anbieten. GTetrinet scheint ja als Source verfügbar zu sein, dann kann
man's auch fixen, sollten da ähnliche Bugs d'rinsein...

> > Wenn es remote exploitable ist, dann _ist_ es bedeutend genug.
> 
> Da kenn ich mich nicht genug aus, um das zu testen.

Ich hab' leider diese ganzen Windows-Tools zum Debuggen nicht.
Grundsätzlich ist es, wenn Du an einen Debugger d'rankommst, recht
einfach, ein paar schnelle Tests zu machen. Zuerst schreibst Du Dir 'nen
kleines Programm, daß Pakete an den Tetrinet-Client schickst. (Du
snifferst einfach eines von den > 1000Byte-Paketen mit). Von dem (was
den Client abstürzen läßt) füllst Du Byte für Byte von hinten die
Nutzdaten mit einem festen Buchstaben (ich nehm' dafür immer 'A') auf
und guckst, ob/ab wann das Programm nicht mehr abstürzt (-> "Ab wo fängt
der Buffer an, der fehlinterpretiert wird?"). Dann verlängerst Du das
Paket byteweise (wieder um 'A') und guckst, ob Du in den Registern
EIP, EBP oder ESP 0x65656565 ('AAAA') wiederfindest. Wenn ja, dann hast
Du eine Möglichkeit gefunden, dem Programm von der Ferne her zu sagen,
wo es weitermachen soll, wenn es die Funktion, die den Buffer nicht
richtig prüft, verläßt.

_Wenn_ Du also Deine 'A's so wiederfindest, dann ist das Programm
exploitable; Du kannst unter'm Strich jetzt recht einfach einen der
vielen Exploits, die so 'rumfliegen, nehmen und abändern (der Ablauf ist
im wesentlichen immer gleich - Du mußt nur 'ne Adresse und 'nen Offset
ändern und den Befehl, den Du auf dem Windows-System ausgeführt wissen
möchtest, da mit einknoten. Fertig.

Ergo: Hast Du herausgefunden, daß Du EIP/EBP/ESP ändern kannst, dann ist
der Rest nur noch Fleißarbeit.

Eine ausführlichere Beschreibung ist z.B. unter
http://www.dsinet.org/textfiles/coding/Writing%20buffer%20overflow%20exploits.txt

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
      ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20030712/4e64a1b0/attachment.sig>


More information about the Linux mailing list