[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: smbmount exploitable?



him

Am 16. Februar 2010 21:58 schrieb Bjoern Meier <bjoern.meier@googlemail.com>:
> hi,
>
> Am 16. Februar 2010 21:16 schrieb Tobias Nissen <tn@movb.de>:
>> Tobias Nissen wrote:
>>> Bjoern Meier wrote:
>> [smbmount stürzt mit Speicherzugriffsfehler ab]
>>> Sicher, dass es smbmounts Schuld ist? Wo bricht denn zum Beispiel ein
>>> `strace smbmount` die Ausgabe ab? strace muss u.U. nachinstalliert
>>> werden.
>>
>> `ltrace /sbin/mount.cifs` könnte aussagekräftiger sein.
>>
>> --
>> Now playing: Type O Negative - September Sun
>>
>
> danke für dein Input. Ich bin morgen wieder auf dem Target-System. Da
> kann ich auch ein strace mitlaufen lassen.
> Wegen dem /over/flow: ich war wohl wieder zu schnell. Das erste und
> offensichtlichste Anzeichen für einen exploitable Bufferoverflow ist
> für mich ein Speicherzugriffsfehler bei fehlenden oder unkorrekten
> Kommandozeilenargumenten. Das lässt vermuten, dass die Argumente an
> sich nicht sorgfältig geprüft werden und man ganz leicht einen Exploit
> formulieren könnte.
>
> Reine Vorsicht aus Erfahrung.
>
> Gruß,
> Björn
>

Ok strace und ltrace waren nicht hilfreich. Ich sehe nur das (letzten
paar Zeilen):
fstat(3, {st_mode=S_IFREG|0755, st_size=1375536, ...}) = 0
mmap(NULL, 3482232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x7ffb09392000
mprotect(0x7ffb094dc000, 2093056, PROT_NONE) = 0
mmap(0x7ffb096db000, 20480, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x149000) = 0x7ffb096db000
mmap(0x7ffb096e0000, 17016, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ffb096e0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7ffb09afd000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x7ffb09afc000
arch_prctl(ARCH_SET_FS, 0x7ffb09afc6e0) = 0
mprotect(0x7ffb096db000, 12288, PROT_READ) = 0
munmap(0x7ffb09afe000, 32256)           = 0
uname({sys="Linux", node="host.domain.local", ...}) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Allerdings hab ich gesehen, dass das Paket von mir ist mit der Version
3.3.2. Ich werde mal auf 3.4.5 wechseln, vielleicht ist dort der
Fehler behoben.
(Zur Info: ich weiß wieder warum ich die Version gewechselt hatte,
3.2.5 hatte ich nicht mit Squid3 zum zusammenarbeiten bewegen können).

Gruß,
Björn


Reply to: