sendmail
Robert Richard George 'reptile' Wal
reptile w reptile.eu.org
Śro, 4 Lis 1998, 17:59:25 CET
On 98.11.04 Pawel Krawczyk pressed the following keys:
> On Wed, Nov 04, 1998 at 03:45:54PM +0100, Michal Zalewski wrote:
> > > Jesli jeszcze tego nie zrobiliscie, to zapatchujcie sendmaila. Okolice
> > > linijki 316 w daemon.c powinny wygladac nastepujaco:
> > > t = accept(DaemonSocket,
> > > (struct sockaddr *)&RealHostAddr, &lotherend);
> > > if (t >= 0 || (errno != EINTR && errno != ENETUNREACH &&
> > > errno != EHOSTUNREACH))
> > Sorry ze wtykam lapki gdzie nie trzeba, ale albo mi sie zdaje, albo
> > brakuje tu clou programu, czyli nieszczesnego ECONNRESET, bez ktorego
> > niewielki ma to wszystkko sens.
>
> A jednak pomaga - smad czy jak mu tam wysyła SYN z adresu hosta ktory
> jest niedostepny. Cos jak pradawny neptune tylko o warstwe wyzej ;) Tak
> to przynajmniej wyglada na pierwszy rzut oka. To o czym Ty pisales na
> bugtraq chyba opieralo sie na innych zasadach - czy trzeba tez sprawdzac
> errno pod katem ECONNRESET?
Nie do końca. Z opisu:
> 1. Attacker sends SYN from port X to victim, dst_port=25, spoof_addr SPOOFHOST
> +(victim sends SYN/ACK to SPOOFHOST)
Czyli smad wysyła lewy pakiet, ale host nie musi być niedostępny, bo:
> 2. SPOOFHOST sends RST from port X to victim, dst_port=25 respecting sequence
> +numbers (in reply to the SYN/ACK from victim).
> (victim got error on accept() - and enters 5 sec 'refusingconn' mode)
Host podrabiany jest dostępny. To jemu ,,victim'' odpowiada, a podrabiany host
odpowiada zgodnie z zasadami sztuki, zrywając połączenie.
W skrótcie: smad inicjuje całą rozróbę, ale wykańczają się już inni ;)
Gad
--
------------------[Gadzinka]--[http://reptile.eu.org/]--[Cyber Service]--
--[There is this special biologist word we use for ``stable''.]----------
--[It is ``dead''.]----------------------------------------[Jack Cohen]--
Więcej informacji o liście dyskusyjnej pld-devel-pl