Связки сплойтов...
Author: Одинокий Волк • 2008-07-30T06:43:25+0000 • Replies: 308 • Views: 102K
[mod][Winux:] Полностью обновил первый пост. Заменил все битые ссылки на
актуальные, добавил кое что из своей коллекции + сделал скрины и нашел
описания. Описания актуальны на момент продажи. Конечно щас пробив уже не
такой.[/mod]
-**Старые админки (4шт) 0x88** (ессно неактуальные, цена на момент продажи 3к. Автор занесен в блек-лист на многих форумах. Проверяйте.).
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/0x88.rar)
-**AD-Pack.** (2 вариации) На момент продажи:
> Админка:
> * -Статистика по OC.
> * -Статистика по браузерам.
> * -Статистика по рефералам.
> * -Статистика по странам.
> * -Пробив указываеться как по ие так и повсему трафу.
>
> %-ы по трафу:
> * -ru 35-50%
> * -mix > 23%
> * -adalt ~12%.
>
> Click to expand...
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/adpack_1.rar)

[Скачать](http://dllfiles.org/winux/bunch/adpack_2.rar)
-**Armitage.** На момент продажи:
> функциональный перечень:
> +статистика по странам
> +статистика по браузерам
> +статистика по операционным системам
> +статистика по рефералам
> +2 пользователя админки(админ и гость)
> Не палиться абсолутно ничем, не вешает браузер(очень хорошо для держателей
> своего трафа бизнес тематики)
>
> Click to expand...
Продавалась за 200
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/armitage.rar)
-**cry217**. Описания не нашел. Ну в принципе ничего особенного.
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/cry217.rar)
-**Fiesta pack**. На момент продаж:
> * пробивает IE и Opera
> * пробив по уязвимым версиям IE ( 4/5/6 ) 20-30%
> * пробив по ИЕ за счет различного рода багов в плагинах. наблюдалось до 5%
> * пробив по уязвимым версиям Opera ( 9.00-9.20 ) 10-15%
> * в сборке порядка 7 сплоитов
> * максимально точная статистика по сплоитам ( мало отличается от статы
> лоадера )
> * обфускация на лету, каждый сплоит выглядит по разному
> * стата по странам, браузерам и версиям ОС
> * предоставляется тест на вашем трафе
>
> Click to expand...
Цена была 400.
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/fiesta.rar)
-**Fire-pack** (Исходный и модифицированный варианты). На момент продажи пробивал браузеры:
> Internet Explorer 6, 7
> FireFox 1,2
> Opera 7,9
>
> Click to expand...
Скрины:
Старая:

[Скачать](http://dllfiles.org/winux/bunch/firepack_old.rar)
Модифицированная:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/firepack_new.rar)
-**G-pack**. На момент продажи:
> \+ Невидимость антивирусами.
> \+ Даже при исполнении кода, включенный KIS7 и NOD32 с последними
> обновлениями молчат и дают скачать и выполнить Ваш файл.
> \+ Срабатывание происходит очень быстро и незаметно для зашедшего на
> страницу.
> \+ Internet Explorer версии 6 и более рание версии.
> \+ Пробив на микс трафе с преобладанием РУ около 30% на общем трафе и около
> 40% по IE. Зависит от Вашего трафа.
> \+ Хорошо оптимизированная работа с базой данных. Связка держит большое
> количство трафа.
> \+ Простота установки. В случае чего, Вам понадобится не более 10 минут,
> чтобы перенести связку в другое место.
> \+ Поддержка онлайн. Помогу установить и настроить. Чистки и т.д.
>
> Click to expand...
Продавалась за 100
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/G-pack.rar)
-**Ice-pack** (несколько вариантов). На момент продажи:
> \- Криптор эксплоитов
> \- Блокировка по IP
> \- Крипт ифрейма
> \- Загрузка файла через админку
> \- Встроенный фтп-чекер и ифреймер
> \- Отбор траффика по странам
> \- Отбор трафика по браузерам
> \- Весь ненужный траф можно перенаправить куда вам необходимо
> \- Не пробитые посещения перенаправляються по вашему желанию
> \- Текстовый режим работы связки
> -новая система распределения загрузок! каждой стране можно назначить свой
> файл для прогруза!
> -вся информация храницца в текстовых файлах что способствует наименьшей
> нагрузке на сервер!
>
> Click to expand...
Продавалась за 200
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/ice-pack_old.rar)

[Скачать](http://dllfiles.org/winux/bunch/IcePack.rar)

[Скачать](http://dllfiles.org/winux/bunch/ice-update.rar)
-**Infector by xod**. на момент продажи:
> * Подробное, пошаговое руководство по настройке и использованию.
> * Возможность использовать систему без установки дополнительных модулей
> php.
> * Трех сторонняя шифровка эксплойтов полиморфным алгоритмом с поддержкой
> контрольной суммы.
> * Ошибка 404 в случае повторного захода. Время бана можно задать
> самостоятельно.
> * Учет инсталлов методом сниффа. Приблизительно такой же способ учёта
> использовался в связке Inet-Lux
> * Встроенный в переполняющие эксплойты алгоритм удаления забитой памяти,
> более быстрое срабатывание эксплойтов.
> * Анти-антивирусные приемы.
> * Распределение наборов эксплойтов в зависимости от системы и браузера и
> наличия загрузки.
> * Автоматическое предотвращение повторных загрузок.
> * Возможность вторичного использования зараженного трафа. Траф, который вы
> шлете в систему, после срабатывания эксплойтов можно перенаправить дальше.
> (Professional версия)
> * Четыре способа оптимизации при работе эксплойтов. (Professional версия)
> Можно выбрать между следующими видами учёта статистики и оптимизации:
> o Использование SQL
> o Использование TEXT DB
> o Использование упрощенного TEXT режима
> o Выключить статистику
> * Три админ панели для каждого вида статистики и оптимизации для сервера.
> (Professional версия)
> * Удобный инсталлер и админка.
> * Возможность управлять системой прямо из админ панели, загружать новые
> лоадеры...
> * Множество фильтров статистики в админке.
> * Поддержка ВСЕХ видов трафа, включая tunnel (антиабузовый траф, все хосты
> с одним IP).
>
> Click to expand...
Продавалась за 1300. Автор занесен в блек-лист.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/infector__xod.rar)
-**Mpack** (Различные версии). На момент продаж:
> В текущей сборке представлены следующие експы:
> \- модифицированный MS06-014 с максимизированной эффективностью
> \- MS06-006 под Firefox 1.5.x и Opera 7.x
> \- unnamed 0day для Win2000 (ms06-044)
> \- XML overflow под XP2k3 с задержкой на срабатывание
> \- WebViewFolderIcon overflow
> \- WinZip ActiveX overflow
> \- QuickTime overflow
> \- ANI overflow
> \- Becks overlow
> \- Пробив последних версий Ие, Оперы
>
> Click to expand...
Скрин:
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/Mpack.rar)

[Скачать](http://dllfiles.org/winux/bunch/MPack081.rar)

[Скачать](http://dllfiles.org/winux/bunch/MPack086.rar)

[Скачать](http://dllfiles.org/winux/bunch/Mpack0.91.rar)

[Скачать](http://dllfiles.org/winux/bunch/Mpack_099.rar)
-**Neosploit-2**. На момент продажи:
> Функции:
> 1\. Перед выдачей сплоита анализируется версия оси, браузера и другого
> постороннего софта на машине юзера. От этого увеличивается скорость
> выполнения загрузки ехе, вероятность срабатывания сплоита и в конечном счете
> - пробив.
> 2\. Сплоиты шифруются в реальном времени уникальным ключом. Расшифровать
> JavаScript стандартными средствами не получится. Однако, если кто-то захочет
> угнать связку, то проще сделать свою, т.к. основную работу делает не
> JavаScript, а сама сишная прога.
> 3\. Защита екзешника от повторной закачки на 1 час (это время
> устанавливается динамически), если тот был слит, а также блокировка самой
> связки - юзер видит 500 ошибку сервера. Если кто-то пробил линк, где лежит
> екзешник, то он его может слить в течении указанного времени только один раз
> и только со своего ip. Сделано для того, чтобы файл не попадал в руки,
> которые его могут сдать аверам.
> 4\. Есть линк для маяков лоадера и линк необходимый самому лоадеру для
> слива ехе. В админке сплоита получается сразу есть и статса по сплоиту и
> стата по лоадеру.
> 5\. Имеется статса по осям, браузерам, странам, реферерам, последним 100
> заходам/загрузкам. Статса по загрузкам двух видов - по сплоиту (по http-
> обращениям к екзешнику) и по лоадеру (маяк или слив ехе).
> 6\. Уникальность загрузок смотрится по ip, с которого был слит ехе. Период
> уникальности ip cчитается на протяжении всей работы связки, до тех пор пока
> не произошло обнуления статсы.
> 7\. Мультиюзерность. Можно создавать юзеров, устанавливать каждому свой
> лоадер и каждому то, что лоадер забирает. Как бонус прилагается сишный
> исходник проги, которая получает от связки инфу об оси, браузере, реферере
> юзера, а так же id партнера, который шлет трафф. После этого прога может
> выдавать нужный екзешник. Например, прога заменяет в лоадере id партнера на
> нужный. Или грузит амерам один ехе, европейцам другой и т.д.
> 8\. Пробиавает IE и Firefox всех версий.
>
> Click to expand...
Продавалась за 1500.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/neosploit-2.rar)
-**Smartpack**. На момент продаж:
> В основе связки лежат уязвимости ie_createobjet и RDS. Пробив считаеться по
> общему трафику, т.е. учитываеться всё, а не только пробив с Internet
> Explorer.
>
> \- USA: 15%
> \- Mix: 15-17%
> \- RU: 35-50%
> \- Adult: 5-7%
>
> Возможности статистики связки:
>
> \- ведеться статистика по странам, реферам, ОС.
> \- выводиться статистика пробива как по общему, так и только по IE-трафику.
> \- в настройках можно задать страницу с 404 Not Found, которая будет
> отображаться при заходе на линк со сплоитом. Пример ошибки берется с этого
> же сервера, так как на разных серверах ее делают по разному.
> \- возможно выбрать три эксплоита для вывода.
> \- в настройках можно указать их последовательность и таймаут между ними в
> секундах.
> \- возможно указать игнорирование определенных стран.
> \- код эксплойта править не нужно, ссылка на статистику определяеться сама,
> необходимо всего лишь расставить права и залить ваш exe-файл
>
> Click to expand...
Продавалась за 200.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/smartpack.rar)
-**Multisploit**. Описания вообще не нашел, может это что-то другое - не знаю.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/Multisploit.rar)
-**TargetExploit**. Описание не смотрел. Может это что другое.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/TargetExploit_v0.01.rar)
-**Tor**. Тоже неизвестно что. По всей видимости это Tornado pack.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/tor.rar)
-**Еще один неизвестный сплоет**
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/unkn.rar)
-**Связка в архиве под паролем**. Откуда взял не помню, пароль не знаю. Что это тоже не знаю. Догадывайтесь сами=). З.Ы: будет пароль-напишите мне.
Spoiler: 3 у вас 43

[Скачать](http://dllfiles.org/winux/bunch/unkn_p.rar)
В конце надоело все устанавливать и скринить, так что многоя я толком не
смотрел.
Литература и документация по исследованию уязвимостей
Author: weaver • 2019-05-25T11:49:53+0000 • Replies: 44 • Views: 31K
Доброго времени суток. В этой теме будут выкладываться книги и документация. А
так же если ты хочешь стать хорошим специалистом в области исследования
уязвимостей программного обеспечения, не используй готовые эксплойты! Ищи
информацию на лентах уязвимостей, используй свои знания и вспомогательные
инструменты для создания собственных вариантов кода, а так же читай много
различных книг и документации по данной тематике, а так же изучай чужой код.
Это поможет тебе научиться и обходить системы защиты, и создавать их. Успешных
взломов, но не забывай о законе!
**Fuzzing-Исследование уязвимостей методом грубой силы**

Фаззинг - это процесс отсылки намеренно некорректных данных в исследуемый
объект с целью вызвать ситуацию сбоя или ошибку. Настоящих правил фаззинга
нет. Это такая технология, при которой успех измеряется исключительно
результатами теста. Для любого отдельно взятого продукта количество вводимых
данных может быть бесконечным. Фаззинг - это процесс предсказания, какие типы
программных ошибок могут оказаться в продукте, какие именно значения ввода
вызовут эти ошибки. Таким образом, фаззинг - это более искусство, чем наука.
Настоящая книга - первая попытка отдать должное фаззингу как технологии.
Знаний, которые даются в книге, достаточно для того, чтобы начать подвергать
фаззингу новые продукты и строить собственные эффективные фаззеры. Ключ к
эффективному фаззингу состоит в знании того, какие данные и для каких
продуктов нужно использовать и какие инструменты необходимы для управления
процессом фаззинга.
Книга представляет интерес для обширной аудитории: как для тех читателей,
которым ничего не известно о фаззинге, так и для тех, кто уже имеет
существенный опыт.
**Gray Hat Python
**
Python — высокоуровневый язык программирования, который быстро набирает
популярность у хакеров. До сих пор еще не было полноценного руководства о том,
как использовать Python для различных хакерских задач. Приходилось постоянно
перечитывать огромное количество форумов и блогов, все время совершенствуя
свой код.
В книге описываются концепции хакерских утилит, эмуляторов, отладчиков. Однако
автор, Justin Seitz, выходит за рамки теории, показывая, как использовать
встроенные инструменты безопасности Python, и как написать свои собственные. В
Gray Hat Python вы узнаете о том, как обеспечить безопасность собственных
программ и взламывать чужие; как использовать инъекции кода; различные методы
перехвата информации и способы избежать этого, а также различные хитрости
использования программ перехвата трафика по зашифрованным каналам.
**Взлом программного обеспечения: анализ и использование кода
**
Эта книга рассказывает о том, как взламывать программный код. Самым подробным
образом, чем это было сделано когда-либо ранее, высококвалифицированные авторы
расскажут о технологии проведения атак и взлома программного кода. Книга
насыщена примерами кода из реальных программ атаки и исправлений, вносимых
хакерами в популярные приложения. Читателям наглядно демонстрируется, как
выявлять неизвестные уязвимые места в программном обеспечении и как можно их
использовать для взлома компьютеров. Книга предназначена для профессионалов в
области программного обеспечения и может использоваться как пособие для
создания более безопасного кода.
**ЗАЩИТА ОТ ВЗЛОМА: Сокеты, Shell-код, Эксплойты
**
В своей новой книге Джеймс Фостер, автор ряда бестселлеров, впервые описывает
методы, которыми пользуются хакеры для атак на операционные системы и
прикладные программы. Он приводит примеры работающего кода на языках C/C++,
Java, Perl и NASL, в которых иллюстрируются методы обнаружения и защиты от
наиболее опасных атак. В книге подробно изложены вопросы, разбираться в
которых насущно необходимо любому программисту, работающему в сфере
информационной безопасности: программирование сокетов, shell-коды, переносимые
приложения и принципы написания эксплойтов.
**Разработка средств безопасности и эксплойтов
**
Эта книга — подробное руководство по разработке средств безопасности для веб-
приложений. В ней подробно рассматриваются проблемы безопасности программного
обеспечения. На многочисленных примерах изучается принцип использования
различных типов уязвимостей компьютерных систем, выполняется детальный анализ
техник взлома. Отдельно изучается программирование расширений для таких
известных средств обеспечения и проверки безопасности, как Ethereal, Nessus и
Metasploit Framework (включая Meterpreter). Книга предназначена для
специалистов в области программирования.**
Искусство взлома и защиты систем
**
Посвящается всем и каждому, кто понимает, что хакерство и обретение новых
знаний — это образ жизни, а не задание на дом и не список готовых инструкций
из этой толстой книжки Книга "Искусство взлома и защиты систем" написана
группой экспертов по безопасности. Некоторые из них занимаются вопросами
безопасности корпоративных приложений, а некоторые являются настоящими
подпольными хакерами. В рассылке bugtrack, посвященной отслеживанию
уязвимостей, их мнение считается наиболее авторитетным. В книге освещены все
аспекты обнаружения дыр в защите систем. Взгляните на оглавление и убедитесь в
этом. Тщательное изучение описываемых методов позволит вам на профессиональном
уровне тестировать и защищать системы, а также использовать имеющиеся
уязвимости. Заплатки для прикрытия дыр в защите систем выпускаются
разработчиками ежедневно. Однако к тому моменту, когда вы установите очередное
обновление, ваши данные уже могут быть атакованы. Эта уникальная книга
позволит вам опередить неприятные события. У вас появится возможность
обнаруживать уязвимости программ, написанных на языке С, использовать эти
уязвимости и предотвращать появление новых дыр в защите. Вы научитесь: -
обнаруживать причины уязвимостей и устранять их; - без труда выявлять дыры в
защите популярных ОС (включая Windows, Linux и Solaris) и приложений (включая
MS SQL Server и Oracle); - атаковать защищенные системы и обходить фильтры -
только пройдя этот этап, можно понять, какие контрмеры действительно
необходимо предпринять; - работать с обнаруженными уязвимостями, использовать
недокументированные возможности и методики.
**The Security Development Lifecycle
**
Ваш глубокий, экспертный справочник для устранения и поиска багов в системе
безопасности. В книге рассматриваются способы фаззинга кода на C++, средства
фаззинга файлов, методика исследования безопасности и прочее...
**The Art of Software Security Assessment: Identifying and Preventing Software
Vulnerabilities
**
Это - один из наиболее подробных, умных, и полезных справочников по
программной безопасности, когда-либо написанных. Авторы ведут консультацию по
безопасности и исследованиям, которые лично открыли уязвимости в приложениях:
Microsoft Exchange, Check Point VPN и Internet Explorer. Опираясь на их
чрезвычайном опыте, они вводят стартовую методологию уязвимостей и приложений,
чтобы показывать наиболее тонкие и хорошо-спрятавшиеся недостатки
безопасности. Искусство оценки программной безопасности покрывает полный
спектр программных уязвимых мест как в UNIX/Linux так и средах Windows.
**A Bug Hunter 's Diary A Guided Tour Through the Wilds of Software Security
**
Эта книга хорошо разъясняет методы эксплуатации уязвимостей не на каких-то
надуманных искусственных примерах и при этом позволяла бы людям не искушенным
в этом вопросе ознакомиться с предметной областью.
Автор книги Tobias Klein, выстроил ее таким образом, что она постепенно
переходит к более сложным темам и при этом рассматриваются уязвимости в
реальных программных продуктах, которые известны многим и пользуются
популярностью. Но сразу стоит сказать, что книга рассчитана на людей не
искушённых с темой поиска уязвимостей и их эксплуатации, здесь вы не найдете
новых методик обхода DEP/ASLR или руководство по использованию ROP.
Отдельно стоит отметить живую манеру изложения, выбранную автором для этой
достаточно не простой темы. При этом все описанные в книге уязвимости были не
просто случайным выбором, а были найдены самим автором. Tobias Klein прошел
весь жизненный цикл для каждой из описанных уязвимостей, от их обнаружения, до
работы с вендором по ее закрытию. Еще одной интересной особенностью данной
книги, является ширина охвата различных операционных систем, так в книге можно
встретить Linux, BSD, iOS и Windows. Опять же речь не идет о подробном
исчерпывающем руководстве по особенностям эксплуатации для каждой их
перечисленных систем. Автор рассматривает лишь уязвимые приложения для этих
систем, но при рассмотрении процесса эксплуатации, также затрагиваются
некоторые особенности для каждой из них.
**Хакинг. Искусство эксплойта**

Хакинг - это искусство творческого решения задач, подразумевающее
нестандартный подход к сложным проблемам и использование уязвимостей программ.
Часто бывает трудно разобраться в методах хакинга, потому что для этого нужны
широкие и глубокие знания.
Автор не учит применять известные эксплойты, а объясняет их работу и
внутреннюю сущность. Вначале читатель знакомится с основами программирования
на С, ассемблере и языке командной оболочки, учится исследовать регистры
процессора. А усвоив материал, можно приступать к хакингу - перезаписывать
память с помощью переполнения буфера, получать доступ к удаленному серверу,
скрывая свое присутствие, и перехватывать соединения TCP. Изучив эти методы,
можно взламывать зашифрованный трафик беспроводных сетей, успешно преодолевая
системы защиты и обнаружения вторжений.
Книга дает полное представление о программировании, машинной архитектуре,
сетевых соединениях и хакерских приемах. С этими знаниями ваши возможности
ограничены только воображением. Материалы для работы с этим изданием имеются в
виде загрузочного диска Ubuntu Linux, который можно скачать и использовать, не
затрагивая установленную на компьютере ОС
**A Guide to Kernel Exploitation: Attacking the Core
**
В книге обсуждается теоретические методы и подходы, необходимые для разработки
надежных и эффективных эксплойтов на уровне ядра, и применять их к различным
операционным системам, а именно к производным UNIX, Mac OS X и Windows.
Концепции и тактика представлены подробно, так что даже когда была исправлена
уязвимость, предоставленная базовая информация поможет хакерам написать новую,
лучшую атаку; или помочь ручным тестировщикам, аудиторам и т. п. разработать
более конкретную конструкцию и защитную структуру.
CVE-2019-0708 | Remote Desktop Services RCE
Author: tabac • 2019-05-15T18:19:05+0000 • Replies: 76 • Views: 30K
**CVE-2019-0708 | Remote Desktop Services RCE**
> Удаленное выполнение произвольного кода в протоколе RDP. Стало известно об
> опасной уязвимости в протоколе RDP: корпорация Microsoft подготовила
> экстренный патч для уязвимости с идентификатором CVE-2019-0708, позволяющей
> выполнить произвольный код на целевой системе.
>
> Уязвимость удаленного выполнения кода существует в службах удаленных
> рабочих столов (ранее они назывались службами терминалов), когда
> злоумышленник, не прошедший проверку подлинности, подключается к целевой
> системе с помощью RDP и отправляет специально созданные запросы. Эта
> уязвимость использует предаутентификацию и не требует взаимодействия с
> пользователем. Злоумышленник, успешно воспользовавшийся данной уязвимостью,
> может выполнить произвольный код в целевой системе.
>
> The vulnerability (CVE-2019-0708) resides in the “remote desktop services”
> component built into supported versions of Windows, including Windows 7,
> Windows Server 2008 R2, and Windows Server 2008. It also is present in
> computers powered by Windows XP and Windows 2003, operating systems for
> which Microsoft long ago stopped shipping security updates.
>
> Чтобы воспользоваться уязвимостью, злоумышленнику необходимо отправить
> специально созданный запрос службе удаленных рабочих столов целевых систем
> через RDP.
>
> Интересным является тот факт, что эту или схожую уязвимость продавали в
> «даркнете» как минимум с сентября прошлого года.
>
> Click to expand...
[ https://portal.msrc.microsoft.com/en-US/security-
guidance/advisory/CVE-2019-0708 ](https://portal.msrc.microsoft.com/en-
US/security-guidance/advisory/CVE-2019-0708)
**pre-auth** , баг ОЧЕНЬ СЕРЬЕЗНЫЙ
кто-то уже встречал poc? или готовый эксп?
[Уязвимости повреждения памяти & шеллкодинг] задай вопрос - получи ответ
Author: wumpus • 2020-06-12T17:21:32+0000 • Replies: 37 • Views: 21K
предлагаю, по аналогии с разделом программирование и разработка, задавать
короткие вопросы, связанные с эксплуатацией уязвимостей класса memory
corruption, в том числе вопросы по написанию шеллкода.
сам могу подсказывать как по win32, так и по никсам. но кодить за вас ничё не
буду. а то есть любители просить эксп под какой-нибудь CVE. ну или уникумы,
которым нужен шеллкод "на typescript + babel.js с компиляцией в облаке воцап."
мне пока спросить особо нечего, поэтому просто напишу пару готовых ответов на
вопросы, с которыми ко мне не так давно обращались. заодно будет понятно,
какой формат общения я имею в виду.
**q:** пишу шеллкод под Win32 на Си в MSVC. получаю PEB через mov eax,
fs:[0x30]. а как получить PEB на x64?
**a:** PPEB peb = (PPEB)__readgsqword(0x60);
после рефакторинга:
C:Copy to clipboard
#if defined(_WIN64)
PPEB peb = (PPEB)__readgsqword(0x60);
#else
PPEB peb = (PPEB)__readfsdword(0x30);
#endif
**q:** ищу модуль по хэшу. взял из инета сниппеты find_module_by_hash и
ror13_hash, но в некоторых случаях не находит kernel32.dll
**a:** во встречающихся в сети сниппетах может отсутствовать учёт регистра
символов, при том что kernel32.dll может быть подгружен как "KERNEL32.DLL", то
есть имя либы в верхнем регистре.
рабочий сниппет функции с багфиксом:
C:Copy to clipboard
DWORD __stdcall unicode_ror13_hash(const WCHAR *unicode_string)
{
DWORD hash = 0;
while (unicode_string != 0 && *unicode_string != 0)
{
DWORD val = (DWORD)*unicode_string++;
if (val >= 'A' && val <= 'Z') {
val |= 0x20;
}
hash = (hash >> 13) | (hash << 19);
hash += val;
}
return hash;
}
для поиска функций по хэшу, конечно же, уже никакой юникод не нужен, а регистр
символов всегда такой, каким мы привыкли его видеть.
думаю по этим двум примерам формат понятен - без флуда и с конкретикой.
Sploitus.com - поисковик эксплойтов и инструментов для хакеров
Author: Bo0oM • 2019-08-23T09:11:14+0000 • Replies: 38 • Views: 18K
Поисковик эксплойтов - [sploitus.com](https://sploitus.com)
Позволяет искать по содержимому и имени в публичных эксплойтах, подбирать софт
по его описанию, смотреть и скачивать их в два клика.
В настоящее включает в себя такие продукты как
* exploitdb
* metasploit
* 0day.today
* canvas
* d2
* packetstorm
* pwnmalw
* saint
* seebug
* vulnerlab
* zeroscience.
Поиск по софту включает ресурсы kitploit и n0where.

На главной странице также представлены популярные эксплойты которые появились
за последнюю неделю.
TODO:
* ~~Создать RSS~~ [RSS](https://sploitus.com/rss), [Atom](https://sploitus.com/atom)
* Создать возможность включения темной темы
* Принимать на модерацию и добавление пользовательские эксплойты (с github)
Можете предлагать свои идеи, рассказывать о багах и отправлять ресурсы для
включения в базу.
Microsoft Internet Explorer
Author: Ŧ1LAN • 2005-12-28T14:35:00+0000 • Replies: 55 • Views: 18K
**Отказ в обслуживании Microsoft Internet Explorer**
**Уязвимые версии:** Microsoft Internet Explorer 5.01, 5.5, 6.0
**Описание:**
Уязвимость позволяет удаленному пользователю вызвать отказ в обслуживании
браузера.
Обнаружено разыменование нулевого указателя при обработке значения атрибута
'datasrc'. Удаленный пользователь может с помощью специально сформированной
Web страницы вызвать аварийное завершение работы браузера.
**Пример** :
Code:Copy to clipboard
> <table datasrc=".">
Патч на момент постинга не вышел.
:zns2: [Производитель](http://microsoft.com)
[mod] [Winux:] Вот так надо посты оформлять.[/mod]
XSS PWN-Day - БИТВА ЗА РЕСПЕКТ 0x01 | Атакуем ядро Windows
Author: varwar • 2024-03-24T19:41:07+0000 • Replies: 60 • Views: 15K
В нашем разделе нередко появляются вопросы "Как вкатиться в ресерч?", "Как
писать эксплойты". Этот мини-конкурс создан специально для Вас.
**Требования для участников**
1. Базовые знания С, ассемблера x64 архитектуры.
2. Базовые навыки работы с ядерным отладчиком WinDbg.
3. Уверенный пользователь IDA Pro либо Ghidra, Binary Ninja и т.д.
4. Базовые навыки программирования под Windows.
5. Уязвимая виртуальная машина c версией Windows 10/11.
**Задача**
В десятидневный срок написать PoC (Proof Of Concept) для уязвимости
[CVE-2024-21338](https://msrc.microsoft.com/update-
guide/vulnerability/CVE-2024-21338)
В зависимости от уровня участника эта задача может быть поделена на несколько
подзадач:
_**Задача #1.**_
Написать PoC, демонстрирующий BSOD.
_**Задача #2.**_
Написать PoC, демонстрирующий получение примитива произвольного чтения/записи
ядерной памяти без обхода kCFG (c выключенным HVCI).
**_Задача #3._**
Написать PoC, демонстрирующий получение примитива произвольного чтения/записи
ядерной памяти с обходом kCFG (с включенным HVCI).
**Порядок обсуждения, вопросы, подсказки**
В теме конкурса разрешено обсуждать детали уязвимости и непосредственно
разработку кода. И все же желательно стремиться выполнить задачу
самостоятельно. Если вы глубоко застряли или тотально затупили, то можете
адресовать вопрос мне в скрытом комментарии и я направлю вас на путь истинный.
Хинты для всех будут публиковаться ежедневно в 19:00.
**Призы**
За демонстрацию решения первой задачи участник получит - **Premium** на год.
За демонстрацию решения второй задачи участник получит - **Premium** на год.
За демонстрацию решения третьей задачи участник будет награжден званием
"**Эксперт** ".
Призы действуют при условии, если не всплывет непредвиденная ситуация, о
которой будет написано в пункте ниже.
**Плагиат**
Под плагиатом я подразумеваю демонстрацию кода чужой разработки. Например,
если выяснится, что код PoC вы целиком откуда-то украли, то будете
репрессированы с позором. Заимствование каких-то отдельных кусков кода не
порицается.
**Непредвиденные ситуации**
Если код PoC появится до завершения конкурса в паблике, то конкурс считается
завершенным. Поэтому в ваших же интересах не тянуть с выполнением задачи.
**Без форс-мажоров конкурс продолжается с 25.03.24 по 03.04.24 включительно.
Подведение итогов и объявление победителей начнется с 04.04.24. **
**Порядок сдачи**
По истечении сроков проведения конкурса или если вы справились с задачей
досрочно, то необходимо предоставить в ЛС
1. Краткое описание алгоритма эксплуатации по пунктам. В дебри лезть не нужно.
2. Исходный код PoC с указанием на какой версии PoC тестировался.
3. Видео, gif по желанию, но по коду и так все будет понятно
**Напутствие**
С любой из трех задач справятся немногие, но это и есть ресерч. Всем удачи!
* * *
Spoiler: Хинт №1

### [ Lazarus and the FudModule Rootkit: Beyond BYOVD with an Admin-to-Kernel
Zero-Day - Avast Threat Labs ](https://decoded.avast.io/janvojtesek/lazarus-
and-the-fudmodule-rootkit-beyond-byovd-with-an-admin-to-kernel-zero-day/)
The Lazarus Group is back with an upgraded variant of their FudModule rootkit,
this time enabled by a zero-day admin-to-kernel vulnerability for
CVE-2024-21338. Read this blog for a detailed analysis of this rootkit variant
and learn more about several new techniques, including a handle table...

decoded.avast.io
Курс молодого бойца, что такое эксплойтинг / PWN ???
Author: weaver • 2019-05-19T00:05:52+0000 • Replies: 0 • Views: 15K
**Exploiting / PWN**
**Exploiting** или **Pwn** ("бинарная эксплуатация", "эксплойтинг", "пвн") —
это категория задач, в которых, как правило, нужно искать и эксплуатировать
уязвимости в скомпилированных приложениях. Чаще всего это уязвимости
повреждения памяти (memory corruption).
Эта категория в каком-то смысле противопоставляется категории Web, в которой
обычно стоит задача взломать приложение на языке высокого уровня (типа PHP),
т.е. всё происходит на уровне интерпретации скрипта, а не на уровне физической
памяти. Однако, порой в категорию Pwn включают и приложения на скриптовых
языках. Это может быть, к примеру, обход песочницы (jail) на языке Python.
Песочницей называют ограниченную среду, в которой разрешены только
определённые команды. Целью решения таска обычно является обойти это
ограничение и прочитать какую-то конфиденциальную информацию (флаг).
Надо отметить, что в последние годы тематика CTF-соревнований заметно
укоренилась именно в области пвна. На топовых соревнованиях задачи зачастую
очень сложные, и их решают известные профессионалы, исследователи,
разработчики кибероружия. Например, одним из сильнейших пвнеров (и цтферов
вообще) является <https://en.wikipedia.org/wiki/George_Hotz>, активно
участвовавший в цтфах в 2013-2014 годах. Сильнейшей командой является команда
PPP (Plaid Parliament of Pwning) родом из университета CMU, которая, как
нетрудно догадаться, тоже специализируется в пвне.
**Ближе к делу.**
Наиболее известным и распространённым случаем повреждения памяти является
переполнение буфера. Если объяснить в двух словах, переполнение буфера
возникает тогда, когда приложение принимает на вход строку и записывает её в
некоторую выделенную область памяти (буфер), недостаточно проверяя её длину.
Таким образом, хакер может выйти за границы буфера и переписать какие-то иные
участки памяти, в которых могут быть важные данные. Классический способ
эксплуатации — это перетирание адреса возврата (return address). Это адрес
памяти, на который программа "перепрыгнет" после завершения выполнения текущей
функции.
Суть эксплойта в том, что хакер записывает в буфер любой код, который он хочет
выполнить, далее выходит за границу буфера и меняет адрес возврата на адрес
буфера. Таким образом, после выхода из текущей функции программа перепрыгнет
на буфер, и выполнится код, который хакер туда записал.
Обычно в качестве условия задачи даётся бинарник (скомпилированный исполняемый
файл программы) и адрес (хост и порт) сервера, на котором этот бинарник висит.
Иногда даётся и исходный код приложения. Участнику нужно проанализировать
приложение (дизассемблировать, декомпилировать или читать исходный код) и
разработать эксплойт, т.е. программу, которая "заставляет" это уязвимое
приложение выполнить произвольный код (вызвать шелл). Далее нужно при помощи
этого эксплойта заставить сервер организаторов выдать флаг.
В простых случаях сам эксплойт может состоять всего из нескольких байт. Это
может быть некоторое количество произвольных байтов для забивания буфера, а
затем адрес какой-то функции, которая выдаёт флаг. Если этот адрес перезапишет
адрес возврата, программа отдаст флаг.
Иногда даже для относительно непростых задач эксплойт пишется в одну строчку,
но найти саму уязвимость и придумать цепочку вызовов для выполнения нужного
действия не так легко.
Есть книга Д. Эриксона "Хакинг. Искусство эксплойта" в русском переводе. В ней
очень доступно описано введение в эксплуатацию уязвимостей повреждения памяти.
Также затронута сетевая безопасность и криптоанализ.
[Как стать
ниндзей](https://xssforumv3isucukbxhdhwz67hoa5e2voakcfkuieq4ch257vsburuid.onion/threads/22554/)
**Простые примеры для понимания:**
* [https://ru.wikipedia.org/wiki/Переполнение_буфера](https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B0)
* <http://www.thegeekstuff.com/2013/06/buffer-overflow/>
* <https://www.owasp.org/index.php/Buffer_overflow_attack>
* <https://www.eecis.udel.edu/~bmiller/cis459/2007s/read>..
* <http://www-inst.eecs.berkeley.edu/~cs161/fa08/papers/stack_smashing.pdf>
* <https://sploitfun.wordpress.com/2015/06/26/linux-x86-exploit-development-tutorial-series/>
**Хорошие ресурсы для тренировки навыков этой категории:**
* <http://io.smashthestack.org/>
* <https://exploit.education/>
* <http://overthewire.org/wargames/>
* <https://ropemporium.com/>
* <https://github.com/xairy/easy-linux-pwn>
* <https://github.com/shellphish/how2heap>
* <https://www.root-me.org/en/Challenges/App-System/>
* <https://github.com/atxsinn3r/VulnCases>
* <https://pwnable.tw/>
* <https://pwnable.kr/>
* <https://pwnable.xyz/>
* <https://wargames.ret2.systems/>
* <https://rev.forkbomb.ru/tasks>
* <https://pwn.spbctf.ru/>
* [https://ctftime.org/writeups?tags=&hidden-tags=pwn](https://ctftime.org/writeups?tags=&hidden-tags=pwn)
В разделе есть специальный тег
[**PWN**](http://xssforumv3isucukbxhdhwz67hoa5e2voakcfkuieq4ch257vsburuid.onion/forums/145/?prefix_id=44),
которым помечаются цтф решения и writeups по бинарной эксплуатации, позволяя
пользователям изучать различные техники и подходы к анализу уязвимостей на
основе уже готовых решений.
**КМБ (Курс молодого бойца) CTF** **(с)**
Разработка эксплойтов для самых маленьких. Изучаем основы бинарной эксплуатации на ОС Linux (VM Protostar)
Author: tabac • 2019-03-12T18:09:57+0000 • Replies: 23 • Views: 15K
**Часть 1 - Введение в переполнение буфера**
Доброго времени суток. Решил написать цикл статей посвященный эксплуатации
бинарных уязвимостей, в народе это называется чёрной магией. В сети есть куча
статей и материалов на эту тему, а четкого пути так и не видно... Потому, что
надо обладать огромным багажом знаний... Так как же научиться писать
эксплойты? Находить 0дей уязвимости, обходить такие защиты, как DEP\ASLR ?
Ответ прост нужна практика, практика и еще раз практика, чем мы с вами сейчас
и займемся. Я буду вашим проводником.
В сети был такой учебный ресурс, как [Exploit Exercises](https://exploit-
exercises.com/).
Exploit Exercises предлагает множество виртуальных машин, документацию и
задачи, которые пригодятся в изучении повышения привилегий, анализа
уязвимостей, разработки эксплойтов, отладки, реверс-инжиниринга и т.д.
Сейчас этот ресурс не доступен, так, как он переехал и доступен теперь по
новому [адресу](http://exploit.education/).
Начнем мы свой путь в профессию Exploit-Developer с решения различных
ExploitMe на образе [Protostar](http://exploit.education/protostar/). Этот
образ хорош тем, что в нем вы изучите основы, азы, переполнения буфера,
уязвимости форматирования строки, переполнение кучи... А так же в нем
отключены защиты подобные DEP и ASLR, чтобы мы могли сконцентрироваться именно
на изучении самих уязвимостей и их эксплуатации. Обходить защиты мы будем, но
чуть позже, когда наберемся опыта, а пока, что будем качать наш с вами скилл.
И так перейдем к делу, качаем [образ виртуальной
машины](https://github.com/ExploitEducation/Protostar/releases/download/v2.0.0/exploit-
exercises-protostar-2.iso) и запускаем его на VirtualBox'e.
Логин и пароль "**user** "
Самое первое задание это[ стек0](http://exploit.education/protostar/stack-
zero/).
**Описание ExploitMe**
Этот уровень вводит в концепцию, что доступ к памяти может осуществляться за
пределами выделенной области, как размещаются переменные стека, и что
изменение за пределами выделенной памяти может изменить выполнение программы.
Переходим в каталог с заданием
`cd /opt/protostar/bin/`
**Исходный код**
C:Copy to clipboard
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
volatile int modified;
char buffer[64];
modified = 0;
gets(buffer);
if(modified != 0) {
printf("you have changed the 'modified' variable\n");
} else {
printf("Try again?\n");
}
}
**Решение**
Тут всё стандартно, за исключением того, что в коде присутствует ключевое
слово **volatile**. Сказал бы я, но... Рассмотрим более подробно, что
представляет из себя переполнение буфера, что это за тип уязвимости такой...
Поэтому начнем с разбора исходного кода программы.
Ключевое слово **volatile** информирует компилятор, что значение переменной
может меняться извне. Это может произойти под управлением операционной
системы, аппаратных средств или другого потока. Поскольку значение может
измениться, компилятор каждый раз загружает его из памяти.
Посмотрим еще раз на исходный код программы, видим, что есть буфер в 64 байта,
в этот буфер будет записана строка посредством функции gets().
Посмотрим описание функции.
Функция gets считывает строку из стандартного потока ввода (stdin) и помещает
ее в массив указанный аргументом. Чтение строки производится пока не будет
встречен символ «переход на новую строку», или не будет достигнут конец файла.
Если чтение строки завершилось по считыванию символа «переход на новую
строку», то символ «переход на новую строку» не записывается в массив, а
заменяется символом «конец строки»
Применение этой функции не рекомендуется, так как размер считываемой строки не
ограничивается размером массива, в который должна быть записана считываемая
строка. В результате может возникнуть переполнение массива и
несанкционированная запись в память, что приведет к ошибкам в работе программы
или ее зависанию.
Вернемся к исходному коду и посмотрим на условие в программе. Если переменная
modified не равняется нулю тогда печатается текст «**you have changed the
‘modified’ variable** », иначе «**Try again?** ».
Переменная **modified** установлена со значением ноль, поэтому всегда будет
печататься текст «**Try again?** ».
Если мы запустим программу и передадим, ей строку типа "**ААААBBBCCCC** " то
ничего не произойдет, а если передадим строку большего размера, чем указано в
буфере "...**AAAABBBBCCCCDDDD** " то мы перезапишем переменную. Посмотрите на
диаграмму ниже. В памяти в стеке это будет выглядеть примерно так.

Исходя из того, что **modified** равен нулю, нам надо её изменить, что мы и
сделаем. Используем **буфер** , функцию **gets** и **volatile**. Просто
передадим в буфер строку не 64 байта, как положено, а 65, чтобы перезаписать
значение переменной **modified**. Чтобы не вводить вручную данные,
воспользуемся python’ом и перенаправим вывод в нашу программу.
`python -c "print 'A' * 65" | ./stack0`
Отлично, переменная перезаписана, а на экране отображается текст «**you have
changed the ‘modified’ variable** », цель достигнута! Когда будете работать
над очередным переполнением буфера, важно понимать, где и как находятся данные
в стеке, поэтому вспоминайте эту диаграмму. В этом ExploitMe мы научились
перезаписывать значение переменной, используя уязвимость переполнения буфера,
теперь можно смело переходить на следующий уровень -
[stack1](http://exploit.education/protostar/stack-one/).
**Видео:**
Фаззинг инструменты
Author: weaver • 2019-05-18T21:54:06+0000 • Replies: 3 • Views: 14K
В этой теме выкладываем ссылки на фаззинг инструменты с кратким описанием их.

Рисунок ( зависимости и использование ). Года создания и использования
различных фаззинг инструментов, стрелочками указано ответвление разработки
нового фаззера, так же указаны три категории инструментов по типу тестирования
White\Black\Grey box.
**AFL-UTILS**
Фаззер AFL (American fuzzy lop) все набирает популярность и сообщество вокруг
себя, что закономерно приводит к появлению расширений и улучшений для него от
сторонних разработчиков.
Afl-utils — это коллекция инструментов для помощи при фаззинге для american
fuzzy lop (afl). Он включает в себя инструменты для решения двух больших
задач:
• автоматический сбор, верификацию, повторение и анализ падений (afl_collect,
afl_vcrash);
• простое управление параллельными (multi-core) задачами при фаззинге
(afl_multicore, afl_multikill). Функции инструментов:
• afl_collect — собирает все краши в централизованном месте для последующего
их анализа, а также позволяет запускать для анализа пользовательские GDB-
скрипты, например exploitable-скрипт для проверки эксплуатации падения и его
классификации;
• afl_multicore — запускает параллельно несколько сессий фаззинга в фоне;
• afl_multikill — завершает все afl-fuzz сессии, принадлежащие afl_multicore
сессии;
• afl_vcrash — проверяет, что краши от afl-fuzz приводят к падению целевого
исполняемого файла.
URL: <https://github.com/rc0r/afl-utils>
OS: Linux
**AFL FUZZING CODE COVERAGE**
Afl-cov — это вспомогательный Python-скрипт для фаззера Михала Залевски AFL
(American fuzzy lop). Для своей работы afl-cov использует тест-кейс файлы от
AFL для генерации gcov результата покрытия кода целевого исполняемого файла.
Покрытие кода интерпретируется от одного тест-кейса к следующему для того,
чтобы определить, какие новые функции или ветки кода были затронуты AFL на
каждой итерации. В дальнейшем afl-cov позволяет задать строчки кода или
функции в файлах покрытия, и потом сделать соответствие тест-кейсам, которые
их затронули. Это позволяет пользователю обнаружить, какой AFL тест-кейс
первым затронул ту или иную функцию. В дополнение к этому afl-cov
предоставляет zero coverage отчет о функциях и участках кода, которые никогда
не были выполнены в процессе фаззинга AFL.
Ну и как ты, наверное, понимаешь, это в конечном счете помогает
улучшить/увеличить покрытие кода в процессе фаззинга, где не справился сам
AFL.
Из зависимостей скрипта:
• afl-fuzz;
• Python;
• gcov, lcov, genhtml.
URL: <https://github.com/mrash/afl-cov>
OS: Linux
Обход пароля на iphone
Author: Gufi • 2023-01-03T20:25:47+0000 • Replies: 80 • Views: 13K
Забыли пароль от своего яблочного устройства?) Не проблема !
Сегодня я научу вас как обойти пароль (пин код) , и удалить привязанный apple
id к устройству!
Для начала хочу предупредить, я не имею никакого отношения к приведении к
работоспособности краденых девайсов , и не держу ответственности за ваши
действия!
Все действия показанные в статье сделаны для того , чтобы вы могли
пользоваться своим девайсом если забыли пароль(пин код) или пароль от apple
id.
Хочу напомнить , что после удаления пароля , все данные с устройства
удаляются. Для обхода пароля устройство не требует джейлбрейка.
Начнем! Для работы потребуется софтина Fonelab ios unlocker ,
[скачиваем](https://ru.fonelab.com/ios-unlocker/) , и запускаем.
Для удаления пароля (пин кода)
1.Выбираем "Удалить пароль"

2.Подключаем устройство

3.Подтверждаем информацию об устройстве

4.Нажимаем "Начинать"
Готово! ждем пока установиться прошивка. Как видим теперь на устройстве нет
пинкода!
Для отвязки от apple id
1.Выбираем "Удалить Apple id"

2\. Подключаем устройство

3\. Подтверждаем все действия

Готово! ждем и наслаждаемся успехом!
Софт работает со всеми видами устройств iphone/ipad и всеми версиями ios ,
линцензия на софт платная , но есть много аналог скриптов в клирнете с похожей
функцией!
Microsoft Windows 2k, XP exploits
Author: Great • 2006-01-12T04:44:53+0000 • Replies: 31 • Views: 13K
**Microsoft Windows 2000/2003/XP**

**Опасность:** Критическая
**Наличие эксплоита:** Нет
**Описание:**
Уязвимость в Microsoft Windows позволяет удаленному пользователю
скомпрометировать уязвимую систему.
Переполнение буфера обнаружено при обработке специально обработанных
внедренных шрифтов. В результате возможно удаленно выполнить произвольный код
когда пользователь посещает специально обработанный Web сайт или просматривает
email сообщение содержащее специально обработанный встроенный Web шрифт.
:zns2: [Microsoft](http://www.microsoft.com)
**Решение:**
Microsoft Windows 2000 (requires Service Pack 4):
[http://www.microsoft.com/downloads/details...4B-4146775BF590](http://www.microsoft.com/downloads/details.aspx?FamilyId=DC6C2FE8-3C81-4661-994B-4146775BF590)
Microsoft Windows XP (requires Service Pack 1 or 2):
[http://www.microsoft.com/downloads/details...BD-B21AC75B5243](http://www.microsoft.com/downloads/details.aspx?FamilyId=6DAEA2AF-3723-4CDF-B5BD-B21AC75B5243)
Microsoft Windows XP Professional x64 Edition:
[http://www.microsoft.com/downloads/details...AB-3F833969E197](http://www.microsoft.com/downloads/details.aspx?FamilyId=1990B2CF-
AE88-4849-AEAB-3F833969E197)
Microsoft Windows Server 2003 (with or without Service Pack 1):
[http://www.microsoft.com/downloads/details...34-BDF0998869C5](http://www.microsoft.com/downloads/details.aspx?FamilyId=5FC12654-486F-45BF-8D34-BDF0998869C5)
Microsoft Windows Server 2003 (Itanium) (with or without SP1):
[http://www.microsoft.com/downloads/details...4D-11EFA57D9CC5](http://www.microsoft.com/downloads/details.aspx?FamilyId=E39D2E29-8934-4AA1-844D-11EFA57D9CC5)
Microsoft Windows Server 2003 x64 Edition:
[http://www.microsoft.com/downloads/details...42-AF0D8A7BC388](http://www.microsoft.com/downloads/details.aspx?FamilyId=80B05C56-5BCE-4262-8142-AF0D8A7BC388)
_Источник: SecurityLab_
Был ли в Tox exploit ? Делаем защиту,конкурс
Author: lefroggy • 2023-07-06T19:36:47+0000 • Replies: 107 • Views: 12K
Смахивает на баян,но предлагаю,кто возьмёться убрать в токсе все возможности
эксплуатации,чтобы можно было передавать только текст и ссылки.картинки и
передачу файлов отключить.а на тексте и на добавление в друзья добавить
фильтрацию от спецсимволов?
так же предлагаю обсудить места где возможно была эксплуатация,не так же много
мест где передаются данные в токс ,не похоже вообще что там был баг,похоже на
баян.
За каждый дельный пост и помощь в разработке по 100$ буду закидывать как
бонус(за каждое дельное сообщение) всем кто будет помогать открыто сделать
токс безопаснее.
Победителю,кто сделает tox идеально безопасным,кто возьмёться 1K$
Вот в соседнем закрытом топике,нашёл на одной из 3х страниц пост дельный от
человека([u0p](/members/313268/), напиши,отправлю бонус)
[ https://xss.is/threads/88913/post-619836
](https://xss.is/threads/88913/post-619836)
Просьба модераторов давать предупреждения флудерам.Топик по теме действительно
возможности эксплуатации в токсе.Через личку буду ВАм на кошелёк скидывать
денежку.Потом можете отписывать в топике что денежку получили.Остальное уже
флуд.Ребят давайте по делу.
Уязвимости: Mozilla Firefox
Author: Winux • 2005-09-24T11:33:42+0000 • Replies: 31 • Views: 12K
**Огнелис порадовал очередным багом.**
Уязвимость имеет место быть при преобразовании интернациональных имён (IDN) в
браузерах, построенных на движках Mozilla (FireFox, Mozilla, Netscape).
**Уязвомость нашли** ребята из security-protocols.com
**Решение:** Установить xpi патч от производителя
[Подробно+Сплойт](http://www.milw0rm.com/id.php?id=1224)
1-Day эксплойты - анализ патчей безопасности Microsoft v2.0
Author: yashechka • 2020-08-24T17:24:20+0000 • Replies: 13 • Views: 11K
В ответ на прибыльный рост исследований уязвимостей, уровень интереса к
двоичному сравнению пропатченных уязвимостей продолжает расти. Обнаруженные в
частном порядке и обнаруженные внутри компании уязвимости обычно предоставляют
ограниченные технические сведения. Процесс бинарного сравнения можно сравнить
с охотой за сокровищами, когда исследователям предоставляется ограниченная
информация о местонахождении и деталях уязвимости или "cхороненного
сокровища". При наличии необходимых навыков и инструментов исследователь может
найти и идентифицировать изменения кода, а затем разработать работающий
эксплоит.
В этой главе мы рассмотрим следующие темы:
> \- Сравнения приложений и патчей
> \- Инструменты для двоичного сравнения
> \- Процесс управления патчами
> \- Real-world сравнения
>
> Click to expand...
**Введение в двоичное сравнение**
При внесении изменений в скомпилированный код, такой как библиотеки,
приложения и драйверы, разница между пропатченными и непропатченными версиями
может дать возможность обнаружить уязвимости. На самом базовом уровне двоичное
сравнение - это процесс выявления различий между двумя версиями одного и того
же файла, такими как версия 1.2 и 1.3. Возможно, наиболее распространенной
целью двоичных сравнений являются исправления Microsoft; однако это можно
применить ко многим различным типам скомпилированного кода. Доступны различные
инструменты для упрощения процесса сравнения двоичных файлов, что позволяет
быстро определять изменения кода в дизассемблере.
**Сравнение приложений**
Обычно выпускаются новые версии приложений. Причина выпуска может включать в
себя введение новых функций, изменения кода для поддержки новых платформ или
версий ядра, использование новых средств контроля безопасности во время
компиляции, таких как canaries или Control Flow Guard (CFG), а также
исправление уязвимостей. Часто новая версия может включать комбинацию
вышеупомянутых рассуждений. Чем больше изменений в коде приложения, тем
сложнее выявить пропатченные уязвимости. Большая часть успеха в выявлении
изменений кода, связанных с исправлениями уязвимостей, зависит от
ограниченного раскрытия информации. Многие организации предпочитают
публиковать минимальную информацию о характере исправления безопасности. Чем
больше улик мы сможем получить из этой информации, тем больше вероятность, что
мы обнаружим уязвимость. Эти типы подсказок будут показаны в реальных
сценариях позже в этой главе.
Здесь показан простой пример фрагмента кода C, который включает уязвимость:

А здесь пропатченный код

Проблема с первым фрагментом заключается в использовании функции gets(),
которая не предлагает проверки границ, что приводит к возможности переполнения
буфера. В пропатченном коде используется функция fgets(), которая требует
аргумента размера, что помогает предотвратить переполнение буфера. Функция
fgets() считается устаревшей и, вероятно, это не лучший выбор из-за ее
неспособности правильно обрабатывать нулевые байты, например, в двоичных
данных; однако это лучший выбор, чем gets(). Мы рассмотрим этот простой пример
позже, используя инструмент двоичного сравнения.
**Сравнение патчей**
Исправления безопасности, например, от Microsoft и Oracle, являются одними из
самых прибыльных целей для двоичного сравнения. У Microsoft исторически был
хорошо спланированный процесс управления исправлениями, который следует
ежемесячному графику, при котором исправления выпускаются во второй вторник
каждого месяца. Исправленные файлы чаще всего представляют собой библиотеки
динамической компоновки (DLL) и файлы драйверов, хотя многие другие типы
файлов также получают обновления. Многие организации не устанавливают
исправления для своих систем быстро, оставляя открытой возможность для
злоумышленников и специалистов на проникновение скомпрометировать эти системы
с помощью публично раскрытых или разработанных в частном порядке эксплоитов с
помощью различения исправлений. Начиная с Windows 10, Microsoft гораздо более
агрессивно относится к требованиям к установке исправлений. В зависимости от
сложности исправленной уязвимости и сложности поиска соответствующего кода
рабочий эксплоит иногда может быть разработан быстро в первые дни после
выпуска исправления. Эксплоиты, разработанные после обратного проектирования
исправлений безопасности, обычно называют 1-day эксплоитами.
По мере продвижения по этой главе вы быстро увидите преимущества сравнения
изменений кода для драйверов, библиотек и приложений. Хотя это и не новая
дисциплина, двоичное сравнение только продолжает привлекать внимание
исследователей безопасности, хакеров и производителей как жизнеспособный метод
обнаружения уязвимостей и получения прибыли. Ценник на 1-day эксплойт не так
высок, как 0-day; однако нередки случаи, когда выплаты за столь востребованные
эксплоиты выражаются пятизначными числами. Поставщики фреймворков для
эксплуатации хотят иметь больше эксплоитов, связанных с уязвимостями,
раскрытыми в частном порядке, чем их конкуренты.
**Инструменты двоичного сравнения**
Ручной анализ скомпилированного кода больших двоичных файлов с помощью
дизассемблеров, таких как Interactive Disassembler (IDA), может стать сложной
задачей даже для самого опытного исследователя. Благодаря использованию
свободно доступных и коммерчески доступных инструментов сравнения двоичных
файлов можно упростить процесс определения интересующего кода, связанного с
исправленной уязвимостью. Такие инструменты могут сэкономить сотни часов
времени, потраченного на реверс кода, который может не иметь отношения к
искомой уязвимости. Вот пять наиболее широко известных инструментов для
сравнения двоичных файлов:
> \- Zynamics BinDiff (free). Приобретенный Google в начале 2011 года,
> Zynamics BinDiff доступен по адресу
> [www.zynamics.com/bindiff.html](http://www.zynamics.com/bindiff.html).
> Требуется лицензионная версия IDA версии 5.5 или новее.
>
> turbodiff (free). Разработанный Nicolas Economou из Core Security,
> turbodiff доступен по адресу
> [http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=tool&name=turbodiff](http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=tool&name=turbodiff).
> Его можно использовать с бесплатной версией IDA 4.9 или 5.0.
>
> \- patchdiff2 (free). patchdiff2, разработанный Nicolas Pouvesle, доступен
> по адресу <https://code.google.com/p/patchdiff2/>. Требуется лицензионная
> версия IDA 6.1 или новее.
>
> \- DarunGrim (бесплатно), DarunGrim, разработанный Jeong Oh О (Matt Oh),
> доступен на [www.darungrim.org](http://www.darungrim.org). Требуется
> последняя лицензионная версия IDA.
>
> \- Diaphora (бесплатно) разработанный Joxean Koret. Diaphora доступна по
> адресу <https://github.com/joxeankoret/diaphora>. Официально поддерживаются
> только самые последние версии IDA.
>
> Click to expand...
Каждый из этих инструментов работает как подключаемый модуль к IDA, используя
различные методы и эвристики для определения изменений кода между двумя
версиями одного и того же файла. Вы можете получить разные результаты при
использовании каждого инструмента с одними и теми же входными файлами. Для
каждого из инструментов требуется возможность доступа к файлам базы данных IDA
(.idb), следовательно, требуется лицензионная версия IDA или бесплатная версия
с turbodiff. Для примеров в этой главе мы будем использовать коммерческий
инструмент BinDiff, а также turbodiff, потому что он работает с бесплатной
версией IDA 5.0, которую все еще можно найти в Интернете на различных сайтах.
Это позволяет пользователям, не имеющим коммерческой версии IDA, выполнять
упражнения. Единственные инструменты из списка, которые активно
поддерживаются, - это Diaphora и BinDiff, хотя BinDiff не часто обновляется.
Авторы каждого из них заслуживают высокой оценки за предоставление таких
прекрасных инструментов, которые экономят нам бесчисленные часы, пытаясь найти
изменения в коде.
**BinDiff**
Как упоминалось ранее, в начале 2011 года Google приобрела немецкую компанию
по разработке программного обеспечения Zynamics, которую возглавлял известный
исследователь Thomas Dullien, также известный как Halvar Flake. Zynamics была
широко известна инструментами BinDiff и BinNavi, которые помогают в реверс
инжиниринге. После приобретения Google значительно снизил стоимость этих
инструментов до одной десятой их первоначальной цены, что сделало их гораздо
более доступными. В марте 2016 года Google объявил, что в будущем BinDiff
будет бесплатным. Новые версии обычно не выпускаются, при этом BinDiff 4.3 был
самой последней версией на момент написания этой статьи. Версия 4.3 предлагает
поддержку macOS. BinDiff часто называют одним из лучших инструментов в своем
роде, обеспечивающим глубокий анализ изменений блоков и кода. По состоянию на
начало 2018 года BinDiff не был портирован для работы с IDA 7.1 или более
поздней версии. Это может измениться в любой момент.
BinDiff 4.3 поставляется в виде пакета установщика Windows (.msi). Для
установки требуется всего несколько щелчков мышью, лицензионная копия IDA и
Java SE Runtime Environment 8. Чтобы использовать BinDiff, вы должны разрешить
IDA выполнять автоматический анализ двух файлов, которые вы хотите сравнить, и
сохранить файлы IDB. Когда это будет завершено и один из файлов будет открыт
внутри IDA, вы нажмете CTRL+6, чтобы вызвать графический интерфейс BinDiff,
как показано здесь.

Следующим шагом является нажатие кнопки Diff Database и выбор другого файла
IDB для сравнения. В зависимости от размера файлов это может занять минуту или
две. После завершения сравнения в IDA появятся новые вкладки, включая "Matched
Functions", "Primary Unmatched" и "Secondary Unmatched". Вкладка "Matched
Functions" содержит функции, существующие в обоих файлах, которые могут
включать или не включать изменения. Другую вкладку можно закрыть. Каждая
функция получает оценку от 0 до 1,0 в столбце Similarity, как показано ниже.
Чем ниже значение, тем больше изменилась функция между двумя файлами. Как
заявляет Zynamics/Google в отношении вкладок Primary Unmatched и Secondary
Unmatched, "Первая отображает функции, которые содержатся в текущей открытой
базе данных и не связаны ни с одной функцией из различаемой базы данных, тогда
как Secondary Unmatched subview содержит функции которые находятся в базе
данных diff, но не связаны ни с какими функциями в первой".

Для получения наиболее точных результатов важно различать правильные версии
файла. При переходе на сайт Microsoft TechNet для приобретения исправлений,
опубликованных до апреля 2017 г., вы увидите столбец справа под названием
"Updates Replaced". Вскоре будет рассмотрен процесс получения исправлений,
начавшийся в апреле 2017 года. Щелкнув ссылку в этом месте и это приведет вас
к предыдущему самому последнему обновлению исправляемого файла. Такой файл,
как mshtml.dll, обновляется почти каждый месяц. Если вы сравниваете версию
файла, полученную несколькими месяцами ранее, с только что выпущенным патчем,
количество различий между двумя файлами очень затруднит анализ. Другие файлы
не исправляются очень часто, поэтому, щелкнув вышеупомянутую ссылку, вы
перейдете к последнему обновлению файла, о котором идет речь, чтобы вы могли
различать подходящие версии. После того, как интересующая функция
идентифицирована с помощью BinDiff, визуальное сравнение может быть
сгенерировано либо щелчком правой кнопкой мыши по желаемой функции на вкладке
"Matched Functions" и выбором "View Flowgraphs", либо щелчком по желаемой
функции и нажатием CTRL+E. Ниже приведен пример визуального сравнения.
Обратите внимание, что вы не сможете прочитать дисассемблерный код, потому что
он уменьшен, чтобы поместиться на странице.

**Turbodiff**
Другой инструмент, который мы рассмотрим в этой главе, - turbodiff. Этот
инструмент был выбран из-за его способности работать с бесплатной версией IDA
5.0. DarunGrim и patchdiff2 также являются отличными инструментами; однако для
их использования требуется лицензионная копия IDA, что делает невозможным
выполнение упражнений в этой главе без приобретения лицензионной копии для
тех, кто читает ее. DarunGrim и patchdiff2 удобны для пользователя и просты в
установке с помощью IDA. Diaphora - еще одна фантастическая альтернатива
BinDiff, и вам предлагается попробовать ее и сравнить это в BinDiff.
Как упоминалось ранее, плагин turbodiff можно получить с веб-сайта
<http://corelabs.coresecurity.com/>, и его можно бесплатно загрузить и
использовать по лицензии GPLv2. Последний стабильный выпуск - версия 1.01b_r2,
выпущенный 19 декабря 2011 года. Чтобы использовать turbodiff, вы должны
загрузить два файла для сравнения по одному в IDA. После того, как IDA
завершит свой автоматический анализ первого файла, вы нажмете CTRL+F11, чтобы
открыть всплывающее меню turbodiff. Из вариантов при первом анализе файла
выберите "take info from this idb" и нажмите "ОК". Повторите те же шаги для
другого файла, который нужно включить в diff. Как только это будет выполнено с
обоими файлами, которые нужно сравнить, снова нажмите CTRL+F11, выберите
вариант "compare with…", а затем выберите другой файл IDB. Должно появиться
следующее окно.

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

**Лабораторная работа 17-1. Наше первое сравнение.**
В этой лабораторной работе вы выполните простое сравнение с кодом, ранее показанным в разделе "Application Diffing". Необходимо сравнить двоичные файлы ELF name и name2. Имя файла - это файл без исправлений, а name2 - с исправлением. Сначала необходимо запустить IDA 5.0, которое вы установили ранее. Как только она будет запущена, перейдите в File | New, выберите вкладку Unix во всплывающем окне и щелкните параметр ELF слева, как показано здесь, а затем щелкните OK.

Перейдите в папку C:\grayhat\app_diff\ и выберите файл name. Примите
появившиеся параметры по умолчанию. IDA должна быстро завершить свой
автоматический анализ, используя по умолчанию функцию main() в окне
дизассемблирования, как показано ниже.

Нажмите CTRL+F11, чтобы открыть всплывающее окно turbodiff. Если он не появляется, вернитесь назад и убедитесь, что вы правильно скопировали необходимые файлы для turbodiff. С окном turbodiff на экране выберите опцию "take info from this idb" и нажмите OK, а затем еще раз "OK". Затем перейдите в File | New, и вы получите всплывающее окно с вопросом, хотите ли вы сохранить базу данных. Примите значения по умолчанию и нажмите "ОК". Повторите шаги выбора вкладки Unix | ELF Executable, а затем нажмите OK. Откройте двоичный файл ELF name2 и примите значения по умолчанию. Повторите шаги по открытию всплывающего окна turbodiff.
Теперь, когда вы выполнили это для обоих файлов, снова нажмите CTRL+F11, при
этом файл name2 все еще открыт в IDA. Выберите вариант "compare with…" и
нажмите "ОК". Выберите файл name.idb и нажмите "ОК", а затем — "ОК". Должно
появиться следующее поле (возможно, вам придется отсортировать по категориям,
чтобы воспроизвести точное изображение).

Обратите внимание, что функция getName() помечена как "подозрительная++".
Дважды щелкните функцию getName(), чтобы открыть следующее окно.

На этом изображении в левом окне показана пропатченная функция, а в правом
окне - непропатченная функция. Блок без исправлений использует функцию gets(),
которая не обеспечивает проверку границ. Исправленный блок использует функцию
fgets(), для которой требуется аргумент размера, чтобы предотвратить
переполнение буфера. Пропатченный дизассемблерный код показан здесь:

Внутри этих двух функций была пара дополнительных блоков кода, но они белые и
не содержат измененного кода. Это просто код защиты стека, который проверяет
canaries стека, за которым следует эпилог функции. На этом лабораторная работа
завершена. В дальнейшем мы посмотрим на real-world различия.
**Процесс управления патчами**
У каждого поставщика есть собственный процесс распространения исправлений,
включая Oracle, Microsoft и Apple. У некоторых поставщиков есть установленное
расписание выпуска исправлений, тогда как у других нет установленного
расписания. Наличие постоянного цикла выпуска исправлений, например,
используемого Microsoft, позволяет ответственным за управление большим
количеством систем соответствующим образом планировать обновление. Внеполосные
исправления могут быть проблематичными для организаций, потому что могут не
быть доступных ресурсов для развертывания обновлений. Мы сосредоточимся в
первую очередь на процессе управления исправлениями Microsoft, потому что это
зрелый процесс, который часто используется для обнаружения уязвимостей с целью
извлечения прибыли.
**Microsoft Patch Tuesday**
Второй вторник каждого месяца - это ежемесячный цикл исправлений Microsoft,
иногда с выходом дополнительных исправлений из-за критического обновления.
Процесс менялся с момента появления накопительных обновлений Windows 10,
вступающих в силу в Windows 7 и 8 с октября 2016 года, а также изменения
способа загрузки исправлений. Вплоть до апреля 2017 г. сводку и исправления
безопасности для каждого обновления можно было найти по адресу
<https://technet.microsoft.com/en-us/security/bulletin>. Начиная с апреля 2017
г., исправления можно получить на сайте Microsoft Security TechCenter по
адресу <https://portal.msrc.microsoft.com/en-us/security-guidance>, а сводную
информацию можно найти на сайте <https://portal.msrc.microsoft.com/en-
us/security-guidance/summary>. Исправления обычно получаются с помощью
инструмента Windows Update на панели управления Windows или управляются
централизованно с помощью такого продукта, как Windows Server Update Services
(WSUS) или Windows Update для бизнеса (WUB). Если исправления необходимы для
распространения, их можно получить по вышеупомянутой ссылке TechNet.
Каждый бюллетень исправлений связан с дополнительной информацией об
обновлении. Некоторые обновления являются результатом публично обнаруженной
уязвимости, в то время как большинство из них связано с той или иной формой
скоординированного частного раскрытия информации. На следующем изображении
показан пример одной такой уязвимости, раскрытой в частном порядке.

Как видите, об уязвимости предоставляется лишь ограниченная информация. Чем
больше информации предоставлено, тем больше вероятность, что кто-то сможет
быстро найти исправленный код и создать работающий эксплоит. В зависимости от
размера обновления и сложности уязвимости обнаружение только исправленного
кода может оказаться сложной задачей. Часто уязвимое состояние носит чисто
теоретический характер или может возникать только при очень специфических
условиях. Это может увеличить сложность определения основной причины и
создания POC, который успешно запускает ошибку. Как только основная причина
определена и уязвимый код найден и доступен для анализа в отладчике,
необходимо определить, насколько сложно будет добиться выполнения кода, если
это применимо.
**Получение и извлечение исправлений Microsoft**
Скоро мы дойдем до лабораторной, но сначала давайте рассмотрим пример
получения и извлечения накопительного обновления для Windows 10. Накопительные
обновления до апреля 2017 г. доступны в Microsoft TechNet по адресу
<https://technet.microsoft.com/en-us/library/security/dn631937.aspx>.
Накопительные обновления с апреля 2017 г. доступны по адресу
<https://portal.msrc.microsoft.com/en-us/security-guidance>. В нашем примере
мы смотрим на MS17-010, в котором исправлено несколько ошибок с SMB и который
был выпущен в марте 2017 года. Информация об этом раскрытии доступна по адресу
<https://technet.microsoft.com/en-us/library/security/ms17-010.aspx>.
Заголовки исправлений безопасности показаны на следующем изображении.

Мы сосредоточимся на CVE-2017-0147, "Уязвимость Windows SMB, связанная с
раскрытием информации", чтобы просто определить исправление, но сначала мы
должны загрузить и извлечь обновление. Используя вышеупомянутую ссылку на
MS17-010, щелкните и загрузите 32-разрядное обновление Windows 10 через сервер
каталогов Microsoft, как показано ниже.

Обведенная область слева - это ссылка для загрузки обновления через сервер
каталога. Обведенная ссылка справа - это поле Updates Replaced. Щелкнув по
этой ссылке, вы перейдете к информации об обновлении, когда в последний раз
были исправлены соответствующий файл или файлы. Если файл srv.sys был
исправлен в октябре 2017 года, а последний раз он был исправлен до этого в
июле 2017 года, ссылка Updates Replaced приведет вас к этому обновлению. Это
важно отметить, потому что вы всегда хотите различать версии, наиболее близкие
друг к другу, чтобы любые изменения функций были связаны с интересующими вас
CVE.
Теперь, когда было загружено накопительное обновление для 32-разрядной версии
Windows 10 за март 2017 г., мы будем использовать инструмент PatchExtract,
созданный Greg Linares, чтобы упростить извлечение. PatchExtract - это
сценарий PowerShell, который использует Microsoft инструмент expand и другие
команды для извлечения и упорядочивания множества файлов, содержащихся в
загруженном файле MSU и последующих файлах CAB. На момент написания этой
статьи PatchExtract версии 1.3 все еще оставался самой последней. Он доступен
по адресу <https://pastebin.com/VjwNV23n>. Greg пользуется псевдонимом Twitter
@Laughing_Mantis. Также существует связанный сценарий PowerShell под названием
PatchClean, который помогает в дальнейшей организации извлеченных обновлений и
гарантирует, что только файлы, которые были изменены в течение последних 30
дней, помечены как интересные. Причина в том, что накопительные обновления
содержат все обновления, относящиеся к этой версии Windows, за многие месяцы.
PatchClean перемещает все файлы старше 30 дней в "старую" папку, чтобы можно
было уделить внимание недавно обновленным файлам. Это по-прежнему требует,
чтобы вы выполнили проверку, и вы также должны знать дату, когда выполняется
извлечение. Если вы выполняете извлечение и запускаете PatchClean после даты
выпуска первоначального исправления, вам может потребоваться соответствующая
настройка даты и времени.
Следующая команда является примером запуска PatchExtract из командной строки
администратора для извлечения файлов и исправлений из накопительного
обновления за март 2017 года:

Команда может выглядеть длинной, но в основном это связано с введенным путем и
длинным именем кумулятивного обновления. После ввода PatchExtract выполнит
извлечение, что может занять несколько минут в зависимости от размера файла.
Накопительные обновления Windows 10 x64 могут иметь размер более 1 ГБ, поэтому
мы выбрали версию x86. Как только оно будет закончено, у нас останется
несколько папок. В нашем примере мы хотим зайти в папку "x86" и посмотреть что
внутри. Там есть 1165 вложенных папок. Найдите минутку, чтобы подумать о нашей
цели. Мы хотим идентифицировать только файлы, относящиеся к мартовскому циклу
исправлений 2017 года, но у нас осталось 1165 подпапок. Здесь в игру вступает
инструмент PatchClean. Сначала мы хотим зайти и изменить дату системы,
используемой для анализа, на дату вторника исправлений для марта 2017 года.
Это будет вторник, 14 марта. По умолчанию PatchClean возвращается на 30 дней
назад с даты и перемещает все файлы, время изменения которых превышает
указанное, в "старую" папку. Это позволяет нам видеть, какие файлы были
изменены за последние 30 дней.

После завершения скрипта у нас остается 318 из 1165 исходных папок. Это
большое количество неудивительно, поскольку Microsoft пропустила вторник
исправлений в феврале 2017 года из-за задержек с исправлением уязвимостей SMB.
**Лабораторная 17-2: Diffing MS17-010**
В этой лабораторной работе вы будете использовать два файла srv.sys, доступные
в репозитории Gray Hat. Один находится в папке "Old", а другой - в папке
"New". Новый из обновления за март 2017 года. Примеры, показанные в этой
лабораторной работе, взяты из IDA 7.0 в режиме совместимости с x86 для
использования подключаемого модуля BinDiff 4.3.
Первый шаг - открыть вашу лицензионную копию IDA или бесплатную версию 5.0,
если у вас нет лицензионной версии, и открыть новый файл srv.sys. Разрешите
IDA завершить анализ. По завершении сохраните базу данных и откройте старую
версию srv.sys. После завершения анализа вы готовы к выполнению сравнения.
Загрузив cтарый файл srv.sys, нажмите CTRL+6, чтобы открыть меню BinDiff, а
затем щелкните Diff Database .… Если вы используете turbodiff, нажмите
CTRL+F11, чтобы вызвать его меню, и используйте тот же метод, что и в
лабораторной работе 17-1.

После нажатия кнопки Diff Database… перейдите к IDB-файлу «New» srv.sys и
выполните сравнение. Через несколько секунд сравнение должно быть завершено, и
у вас должны появиться новые вкладки внутри IDA. То, что нас интересует, - это
"Matched Functions". В результатах сравнения, показанных ниже, мы выбрали
функцию SrvSmbTransaction(). Часто, когда есть более чем несколько функций с
изменениями, вы должны смотреть на имена функций при определении потенциальных
интересующих функций.

Нажмите CTRL+E, чтобы выполнить графическое сравнение. При использовании
turbodiff обязательно используйте метод, описанный ранее, для графического
сравнения. Вот "уменьшенный" обзор графического сравнения.

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

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

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

Вы все еще можете видеть функцию ExecuteTransaction в среднем блоке, но поток
должен сначала пройти через вызовы функции memset, прежде чем попасть в этот
блок. Не стесняйтесь следовать за парой блоков на этом пути. Вызов функции
memset, вероятно, устраняет утечку информации, связанную с CVE-2017-0147.
**Сравнение патча для эксплуатации**
В предыдущем сравнении патчей Microsoft с MS17-010 мы выявили изменения кода,
которые разрешили проблему раскрытия информации; однако это не привело нас к
эксплуатации ошибки. В следующем примере мы рассмотрим ошибку загрузки DLL,
которая может позволить разрешить удаленное выполнение кода и запустить
работающий эксплойт. И MS16-009, и MS16-014 заявляют о решении CVE-2016-0041,
которая связана с "DLL Loading Remote Code Execution Vulnerability". Автор
обнаружил, что интересующий нас файл был доступен в MS16-009 патче.
Чтобы оставаться последовательным, ошибка была обнаружена Greg Linares,
который написал ранее описанный инструмент PatchExtract.
**DLL Side-Loading Bugs**
При проверке в Интернете вы можете получить различные определения того, что
представляет собой DLL side-loading bug. В зависимости от настроек в реестре,
а также аргументов, переданных функции загрузки DLL, такой как набор функций
LoadLibrary(), может быть один или несколько способов принудительной загрузки
нежелательной DLL. Давайте воспользуемся простой аналогией, чтобы описать
пример проблемы. Мы предполагаем, что вы всегда кладете соль и перец,
используемые в еде, в определенное место на кухне. Представьте, что в
следующий раз, когда вы воспользуетесь ими, их нет в этом месте. Вы можете
отказаться от соли и перца или искать их в других местах, например, в других
шкафах, столах и прилавках.
В конце концов, вы либо найдете соль и перец, либо откажетесь. Это не так уж
отличается от порядка поиска, используемого при загрузке DLL. Более безопасный
параметр - разрешить загрузку желаемой DLL только из очень определенного
места, например C:\Windows\System32\\.
Менее безопасный вариант - разрешить загрузку DLL из разных мест на основе
приоритета порядка поиска.
Давайте подробнее рассмотрим, как и откуда можно загружать библиотеки DLL. Во-
первых, в последних нескольких версиях Windows есть контейнер реестра, обычно
в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLs\\.
Здесь показан пример.

В этом контейнере хранятся библиотеки DLL, которые обычно используются для
ускорения загрузки программ, но некоторые также рассматривают его как средство
контроля безопасности, поскольку он указывает, что перечисленные библиотеки
DLL могут быть загружены только из папки System32 в C:\Windows\System32\ или
C:\Windows\SysWOW64\\. Затем функцию LoadLibraryEx можно использовать для
динамической загрузки библиотек DLL, запрошенных процессом:

Одним из обязательных аргументов является dwFlags, который используется для
указания того, откуда потенциально может быть загружена DLL, и других
вариантов поведения, например, связанных с AppLocker, и того, что произойдет
при входе в отношении выполнения кода.
Дополнительную информацию можно найти на <https://msdn.microsoft.com/en-
us/library/windows/desktop/ms684179(v=vs.85).aspx>. Если для аргумента dwFlags
оставить значение по умолчанию 0, поведение будет таким же, как у более старой
функции LoadLibrary, которая реализует SafeDllSearchMode. Как заявляет
Microsoft:
"Если включен SafeDllSearchMode, порядок поиска будет следующим:
\- Каталог, из которого загружено приложение.
\- Системный каталог. Используйте функцию GetSystemDirectory, чтобы получить
путь к этому каталогу.
\- 16-битный системный каталог. Нет функции, которая получает путь к этому
каталогу, но он ищется.
\- Каталог Windows. Используйте функцию GetWindowsDirectory, чтобы получить
путь к этому каталогу.
\- Текущий каталог.
\- Каталоги, перечисленные в переменной среды PATH.
Обратите внимание, что это не включает путь для каждого приложения, указанный
в разделе реестра App Paths. Ключ App Paths не используется при вычислении
пути поиска DLL ".
Из этих вариантов 5 и 6 потенциально представляют угрозу безопасности,
поскольку они могут включать в себя местоположения, на которые может повлиять
злоумышленник, например местоположения, доступные для записи всем. Обычная
опция dwFlags, используемая для защиты вызовов LoadLibraryEX, - это 0x800
LOAD_LIBRARY_SEARCH_SYSTEM32. Этот параметр ограничивает загрузку библиотеки
DLL только папкой System32.
**Лабораторная 17-3: Diffing MS16-009**
В этой лабораторной работе мы анализируем исправление безопасности, связанное
с MS16-009 и MS16-014, которые оба утверждают, что устраняют CVE-2016-0041.
Процесс извлечения патча завершен за вас и доступен в репозитории кода Gray
Hat. В показанных примерах различий патчей используются IDA 7.0 x64 и BinDiff
4.3. Операционные системы, задействованные в эксплуатации, - это Kali Linux
x64 и Windows 10 x64 Home Edition, номер сборки 10586. Версия Skype,
используемая в базовой сборке Windows 10 — 7.18.0.112.
При извлечении патча MS16-009 мы определили, что файл urlmon.dll был обновлен.
Как обновленная версия urlmon.dll, так и предыдущая были предоставлены вам в
рамках этой лабораторной работы. Первый шаг - дизассемблировать их с помощью
IDA и выполнить сравнение. Вы должны использовать BinDiff 4.3 с IDA, который
поддерживает дизассемблирование 64-битных входных файлов, поскольку эта ошибка
затрагивала только 64-битную Windows. Если у вас нет возможности
дизассемблировать 64-разрядные входные файлы и сохранить файлы базы данных IDA
.idb, вы не сможете выполнить эту лабораторную работу, а вместо этого сможете
только прочитать следующие разделы. Вы также можете изучить radare2 как
альтернативу IDA.
Теперь выполните сравнение, используя одну из этих опций. На следующем
изображении показаны результаты при использовании BinDiff.

Согласно BinDiff изменилась только одна функция. Нет ничего проще, чем дать
нам возможность сосредоточиться на функции, связанной с исправлением ошибки.
Имя функции — BuildUserAgentStringMobileHelper(). Давайте нажмем CTRL+E, чтобы
выполнить графическое сравнение. На следующем изображении показаны общие
результаты.

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

Вы должны сразу заметить, что в непропатченной версии слева аргумент dwFlags
подвергается операции XOR с 0. Это заставит SafeDllSearchMode вступить в силу.
В исправленной версии справа для dwFlags установлено значение 0x800, что
ограничит загрузку желаемой DLL в папку System32. Мы хотим увидеть, какая DLL
загружается в это место в коде. Для этого мы можем просто вернуться в IDA и
перейти к функции BuildUserAgentStringMobileHelper(). Самый простой способ
быстро туда добраться - просто щелкнуть окно функций в IDA и начать вводить
желаемое имя функции. Затем дважды щелкните по нему, чтобы вызвать
дизассемблирование. Вы также можете пропустите этот шаг, щелкнув в главном
окне дизассемблирования IDA, нажав G и введя адрес, куда вы хотите перейти.
Оглядываясь назад на непропатченные результаты в BinDiff, мы видим, что
интересующий адрес — 0x18003BCB1. После перехода по этому адресу мы получаем
желаемый результат, как показано ниже.

Как видите, в этот момент кода загружается DLL-библиотека phoneinfo.dll. Вы
можете пропустить следующий шаг, но цель состоит в том, чтобы показать вам,
как определить, какие приложения нуждаются в этой DLL. Во-первых, в корне
файловой системы был выполнен исчерпывающий поиск, чтобы увидеть, существует
ли файл phoneinfo.dll в базовой установке Windows 10 x64. Было подтверждено,
что файл не существует. Затем мы хотим запустить инструмент Process Monitor от
Microsoft (доступный по адресу <https://docs.microsoft.com/en-
us/sysinternals/downloads/procmon>). На следующем изображении показаны два
фильтра, примененные к инструменту Process Monitor после его запуска.

Первый фильтр вступает в силу, если "Результат" \- "NAME NOT FOUND". Второй
фильтр предназначен для «Пути» и заканчивается на "phoneinfo.dll". После
применения этих фильтров мы запускаем различные приложения, такие как IE11,
Edge, Skype, OneDrive, Word и другие.
Поскольку DLL называется phoneinfo.dll, имеет смысл попробовать определенные
приложения на основе только имени. Ниже приводится пример результатов.

Вы можете видеть, что и Internet Explorer, и Skype пытаются загрузить DLL.
Справа вы можете увидеть все отмеченные места. Это поведение
SafeDllSearchMode. Примечательно, что мы видим, что C:\Python27\ является
одним из местоположений проверки. Если мы сможем создать вредоносную DLL с
помощью msfvenom, используя Meterpreter в качестве полезной нагрузки, мы
сможем получить удаленный сеанс с уязвимой системой Windows 10. На следующем
изображении показано создание вредоносного файла phoneinfo.dll, который
содержит полезную нагрузку Meterpreter, которая подключается к нашей системе
Kali Linux. Сразу после этого мы используем модуль Python SimpleHTTPServer для
передачи вредоносной DLL системе-жертве. Мы не применяли никаких методов
кодирования обхода антивируса (AV), или других методов, поэтому мы отключили
Защитник Windows, чтобы протестировать эксплойт.

Затем мы запускаем прослушиватель Metasploit для получения входящего
соединения в случае успеха нашей атаки.

Когда слушатели Python и Metasploit работают, мы возвращаемся в систему
Windows и используем Internet Explorer для подключения к системе Kali через
порт 8080. Затем мы загружаем файл phoneinfo.dll и сохраняем его в
C:\Python27\, как показано здесь.

Затем мы запускаем Skype, который должен загрузить вредоносную DLL из папки
C:\Python27\ как часть операции SafeDllSearchMode, как показано ниже.

Когда приложение Skype запущено, мы снова переключаемся на Kali Linux, чтобы
увидеть, установлен ли сеанс Meterpreter.

Успех! Если мы хотим проделать это в условиях дикой среды, нужно учесть
несколько вещей. Во-первых, мы, безусловно, хотели бы закодировать полезную
нагрузку таким образом, чтобы избежать обнаружения AV. Во-вторых, мы хотели бы
найти способ обманом заставить жертву загрузить вредоносную DLL в свою систему
в определенное место. Это можно сделать с помощью фишинга. Заставить жертву
думать, что существует критическое обновление Skype и что DLL необходимо
разместить в определенном месте.
Резюме
В этой главе были представлены двоичное сравнение и различные инструменты,
которые помогут ускорить анализ. Мы рассмотрели простой пример, подтверждающий
концепцию приложения, а затем изучили реальные исправления, чтобы определить
уязвимости и проверить наши предположения. Это приобретенный навык, тесно
связанный с вашим опытом отладки и чтения дизассемблированного кода. Чем чаще
вы это делаете, тем лучше вы будете определять изменения кода и потенциальные
исправленные уязвимости. Microsoft прекратила поддержку Windows XP и Vista;
однако некоторые версии, например с XP Embedded, все еще поддерживаются и
получают исправления. Это может дать возможность продолжить анализ исправлений
в операционной системе, которая не имеет такой сложности. Microsoft также
нередко незаметно вносит изменения в код с помощью другого патча. Иногда это
отличается в разных версиях Windows, где одна версия Windows может
предоставить больше информации, чем различие другой версии.
Источник: Gray Hat Hacking the Ethica Hacker's Handbook 5th
Автор перевода: [yashechka](/members/136806/)
**Переведено специально для портала XSS.is (c)**
Курс SANS SEC760: Advanced Exploit Development @Full 2020
Author: rrv321 • 2021-08-24T19:29:34+0000 • Replies: 56 • Views: 11K
**Описание курса**
Уязвимости в современных операционных системах, таких как Microsoft Windows 10
и в последних дистрибутивах Linux, часто бывают очень сложными и незаметными.
При использовании очень опытными злоумышленниками эти уязвимости могут
подорвать защиту организации и подвергнуть ее значительному ущербу. Немногие
специалисты по безопасности обладают навыками, позволяющими выяснить, почему
существует сложная уязвимость и как написать эксплойт для ее компрометации. И
наоборот, злоумышленники должны поддерживать этот набор навыков, несмотря на
повышенную сложность. **SEC760: Расширенная разработка эксплойтов для тестеров
на проникновение** обучает навыкам, необходимым для обратного проектирования
32-битных и 64-битных приложений, чтобы находить уязвимости, выполнять
удаленную отладку пользовательских приложений и ядра, анализировать
исправления безопасности для 1-day эксплойтов и писать сложные эксплойты,
такие как атаки использования памяти после освобождения, против современного
программное обеспечение и операционных систем.
Различные предварительно настроенные виртуальные машины, например Windows 10.
Различные инструменты на USB-курсе, необходимые для использования в классе.
Доступ к записанным аудио материалам курса, которые помогут пройти важные
уроки по тестированию на проникновение в сеть.
Полный курс 2020 года (стоимость 7000$)
Все книги - лабы - видео - софт
27Gb

You must have at least 10 reaction(s) to view the content.
Введение в разработку эксплоитов под Windows (fuzzysecurity.com)
Author: yashechka • 2020-05-27T11:56:12+0000 • Replies: 21 • Views: 11K
**Часть 1: Введение в разработку эксплоитов**
Это первая часть в (скромной) многотомной серии туториалов, посвященной
разработке эксплоитов. Эта часть просто расскажет некоторые базовые вещи,
такие, которые нам нужны, чтобы сделать нашу работу, основные идеи скрытые за
разработкой эксплоитов и некоторые вещи, которые нужно держать в памяти, если
мы хотим заслать и выполнить наш шеллкод. Эти туториалы не будут рассказывать
как находить ошибки, вместо этого, каждая часть будет включать уязвимую
программу, для которой нужна определенная техника, чтобы успешно
эксплуатировать ошибку в ПО. Через определенное время, я намерен рассказать
всё, от “**Сохранения Адреса Возврата при Переполнении** ” до “**ROP**
(**Возвратно Ориентированное Программирование**)”, конечно эти туториалы не
напишут сами себя, поэтому это займёт немного времени, чтобы написать это всё.
Стоит отметить, что эти туториалы будут затрагивать все мелкие детали и
случаи; это достигается благодаря дизайну, который **(1)** позволяет мне
сэкономить время и **(2)** позволяет прилежному читателю учиться участвуя в
процессе разработки.
**Я бы хотел выразить особую благодарность Offensive Security и Corelan`y,
спасибо Вам, за то что дали мне эту удивительное и болезненное пристрастие!!
_**(1) Что нам понадобиться**_
Immunity Debugger** \-
[Download](http://debugger.immunityinc.com/ID_register.py)
I**mmunity Debugger** похож на **Ollydbg** , но он имеет поддержку **Python**
, который нужен нам, чтобы запускать плагины, которые помогут нам с
разработкой эксплоита. Он бесплатен; когда перейдите по ссылке, просто
заполните поля левыми данными и нажмите скачать.
**Mona.py** \- [Download](http://redmine.corelan.be/projects/mona/repository)
Mona - это офигенная примочка с кучей функций, которая позволяет нам проводить
быстро и надёжно разработку эксплоита. Я не буду обсуждать все её опции здесь,
мы дойдём до них вскоре во время следующих частей туториала. Загрузите её и
положите её в каталог **Immunity’s PyCommands**.
**Pvefindaddr.py** \-
[Download](http://redmine.corelan.be:8800/projects/pvefindaddr/repository)
**Pvefindaddr** \- это предшественник **Mona’ы** . Я знаю, что он немного
устарел, но остаётся всё ещё полезным, т.к. есть некоторые фишки, которые не
были перенесены ещё в **Mona’у**. Загрузите её и положите в каталог
**Immunity’s PyCommands**.
**Metasploit Framework** \- [Download](http://www.metasploit.com/)
Мы будем использовать **Metasploit Framework** очень интенсивно. Больше всего
мы будем генерировать шеллкоды для наших эксплоитов, но нам также нужна
платформа, которая поможет получить любые соединения, чтобы можно было
вернуться в программу после выполнения эксплоита. Я предлагаю Вам использовать
**Backtrack,** т.к. у него есть всё, что нам нужно, но не стесняйтесь
настроить **metasploit** в любом случае для себя.
Программное обеспечение для виртуализации
В основном здесь существует два варианта — **VirtualBox** , который бесплатен
и **Vmware** , который не бесплатен. Если это возможно, я предложил бы
использовать **Vmware** ; умный человек, возможно, не должен платить за это
).
Вместе с этим нам будут нужны несколько (**32-битных**) операционных систем,
чтобы разрабатывать наши эксплоиты (Вы получите больше пользы из **WindowsXP
PRO SP3** и любой **Windows7**).
**_**(2) Переполнения**_**
В обучающих целях, я думаю важно подать вещи очень просто, а не сложно. В
общем, когда мы пишем эксплоит, нам нужно найти переполнение в программе.
Обычно эти ошибки будут на Переполнение Буфера (место в памяти получает больше
данных, чем планировалось) или Переполнение Стэка (обычно Переполнение Буфера,
которое записывает за концом стэка. Когда такое переполнение случается, есть
две вещи, которые мы ищем; **(1)** наш буфер должен перезаписать **EIP**
(Текущий указатель на инструкцию) и **(2)** один из регистров **ЦП** должен
содержать наш буфер. Вы можете увидеть список регистров **x86** **ЦП** ниже, с
их отдельными функциями. Всё что мы должны помнить, это то, что любой из этих
регистров может хранить наш буфер (и шеллкод).
**EAX** — Главный регистр используемый в арифметических вычислениях. Он также
известен как аккумулятор, он хранит результаты арифметических операций и
возвращает значение из функции.
**EBX** — Регистр базы. Указатель на данные в сегменте **DS**. Используется,
чтобы хранить базовый адрес программы.
**ECX** — Регистр счетчик, часто используется, чтобы хранить значение,
представляющее какое количество раз процесс должен быть повторен. Используется
для цикла и строковых операций.
**EDX** — регистр общего назначения. Также используется, для операций в/в.
Помогает расширить регистр **EAX** до **64** бит.
**ESI** — Индексный регистр источника. Указатель на данные в сегменте
указанном регистром **DS**. Используется как смещение в строковых и массивных
операциях. Он хранит адреса откуда читаются данные.
**EDI** — Индексный регистр назначения. Указатель на данные(или назначение) в
сегменте указанном регистром **ES**. Используется как смещение в строковых и
массивных операциях. Он хранит адреса куда пишутся данные.
**EBP** — Указатель на базу. Указатель на данные, которые хранятся в стэке (в
сегменте **SS**). Он указывает на начало фрэйма стэка. Он используется, чтобы
обращаться к локальным переменным.
**ESP** — Указатель на стэк (в сегменте **SS**). Он указывает на вершину стэка
в текущем фрэйме. Он используется, чтобы обращаться к локальным переменным.
**EIP** — Указатель на инструкцию (хранит адрес следующей инструкции, которая
должна быть выполнена)
**_**(3) Как это работает?**_**
В основном **(1)** мы заставляем программу хранить очень длинную строчку,
**(2)** эта строка перезаписывает **EIP** и часть её храниться в регистре
**ЦП** , **(3)** мы находим указатель, который указывает на регистр, который
содержит наш буфер,**(4)** мы помещаем этот указатель в правильное место в
нашем буфере, так, чтобы он перезаписал **EIP** , **(5)** когда программа
достигает нашего указателя, она исполняет заданную нами инструкцию и прыгает
на регистр, который содержит наш буфер и наконец **(6)** , мы кладем наш
шеллкод в часть буфера, который храниться в регистре **ЦП** . В сущности, мы
угоняем поток выполнения программы и указываем ей на область памяти, которую
мы контролируем. Если мы сможет это сделать, мы сможем исполнять на удаленной
машине любые инструкции. Это немного упрощенно, но этого должно нам хватить,
чтобы понять базовые идеи того как работают эксплоиты.
Источник: <https://www.fuzzysecurity.com/tutorials/expDev/1.html>
Автор перевода: [yashechka](/members/136806/)
**Переведено специально для портала XSS.is (c)**
Как стать ниндзей
Author: higaru • 2012-02-01T17:37:28+0000 • Replies: 17 • Views: 10K
**Предисловие переводчика**
VRT - это подразделение Sourcefire, которое занимается поиском зиродеев и
написанием под них сигнатур для снорта. Довольно давно на их блоге была
хорошая статья на тему с чего начать в эксплойтинге. Ниже будет её перевод.
Она написана в довольно шутливом тоне и довольно легко читается, но это мой
первый опыт в переводах (читать то читаю легко), так что за исправление
косяков в тексте поблагадарю.
\-------------------
**How do I become a Ninja?**
Ранее мы опубликовали на блоге пост — Задайте вопрос VRT. Несколько человек
написали нам и задали вопросы, относящиеся к Snort`у. Но далее случилось кое
что интересное. Некто под ником mish спросил - «Как мне стать Ниндзей?» (Его
вопрос был несколько длинее и конечно мы подразумеваем «Ниндзя - иследователь
уязвимостей»).
Мы задали этот вопрос нескольким людям из VRT и по видимому нажали на горячую
кнопку нашего старшего директора группы исследования уязвимостей — Matt
Watchinski. Далее следует его манифест в ответ на вопрос mish`а:
**1.** Вам нужно переделать ваш образ мышления. Большинство людей видят
компьютер и программы как инструменты для выполнения задач, которые встают
перед ними изо дня в день. Если вы видите все вокруг как что-то необходимое
для вашей работы, тогда вы никогда не увидите это как что-то, что можно
поломать и использовать для своей выгоды. Лучший путь о котором я когда нибудь
слышал, приводящим к этому - «Будьте злым».
**2.** Чтение книг без попыток перевести информацию из них в практические
знания не сделает из вас ниндзю. Только опыт делает ниндзю тем, чем он
является. Сидение в библиотеке не даст ничего полезного. Как только вы
исправите свой образ мышления на первый план выходят технические навыки.
**3.** Главное в технических навыках это то, что вам не надо быть мастером ни
в одном из них, но вам надо быть мастером в поиске мест, где эта информация
находится когда она вам нужна.
**4.** Возьмите себе старую RedHat без PAX/AppArmor/и тд, убедитесь, что
рандомизация стека выключена и скачайте все уроки ABO`s from Gera (
<http://community.corest.com/~gera/InsecureProgramming/> ). Начните работать
над простыми примерами переполнения буфера. Если вы застряните — все ответы
находятся в гугле (но не мошенничайте, оно того не стоит).
**5.** После этого вы будете ненавидеть GDB. Настало время перейти к
настоящему отладчику. Возьмите виртуалку с Windows XP (без сервис пака) или с
Windows 2000 с любым сервис паком (к слову, VMWare — великая вещь). Начните
работать с AWBO ( <http://www.snort.org/vrt/tools/awbo.html> ). Там будет все,
вплоть до эксплуатации уязвимости через seh на Windows. Никто не ожидает, что
после завершения изучения этих примеров вы станете мастером в эксплойтах, но
все базовые вещи должны быть освоены. Дополнительно, к этому моменту вы
наверное прочтете все документы по теме переполнений, которые можно найти
через гугл. Также вы должны уже свободно владеть WinDbg, OllyDbg или
ImmunityDebugger (WinDbg круче) и к сожалению GDB, худшим отладчиком на
планете.
**6.** Теперь пришло время попробовать немного code auditing. Простейший путь
— провести аудит на предмет известных уязвимостей. Лучший пример работы этого
типа здесь <http://xorl.wordpress.com/category/bugs/> . Начните делать точно
то, что делает этот парень. Также пришло время скачать C99 стандарт и
прочитать его. Также неплохо скачать мануалы интела. После аудита нескольких
сотен программ вы будете относительно фамильярны с паттернами Си и других
языков, которые приводят к ошибкам. На самом деле весь code audit заключается
в поиске паттернов, тк реальное программное обеспечение очень большое и
способность быстро находить опасные шаблоны очень важна, так как позволяет вам
пропустить тонны говно кода и сфокусироваться только на интересных кусках.
**7.** Теперь наступило время начать использовать другие инструменты. По моему
мнению лучшее с чего можно начать это фаззеры, чтото типа FileFuzz от iDefense
(http://packetstormsecurity.org/files/39626/FileFuzz.zip.html ). Также
посмотрите на Sully и Peach. Запустите кучу виртуальных машин с различными
программами и фаззьте их в фонновом режиме, пока изучаете другие вещи. В конце
концов вы возненавидите эти инструменты так сильно, что у вас появится идея
переписать их с нуля. Поддайтесь этой идее и начните писать простейший
файловый фаззер. Но учитесь ненавидеть Sully/Peach и работать с ними
одновременно, так как написание подобного инструмента с нуля займет кучу
времени и вы забудете много всего написать по пути. Однако вы можете полюбить
питон в процессе, правда не уверен хорошо это или плохо =).
**8.** Надеюсь к этому моменту вы получили несколько падений от своих
фаззеров. Пришло время начать читать RFC, документацию на протоколы, форматы
файлов и всего прочего, что имеет отношение к падению. Также это время купить
IDA Pro (прим. переводчика — или скачать =)). Работайте над созданием
надежного тест кейза (при. переводчика — минимально необходимого и надежного
триггера падения) для вашего падения, чтобы точно понять, что происходит. Это
искусство и нет более надежного способа обучится этому, чем отладка бинарных
приложений без исходников, но это требует кучи проб и ошибок. В этот момент вы
встанете над пропастью алкоголизма, так как будете биться головой о проблемы,
которые не можете понять и из-за этого прикладываться к бутылке, чтобы унять
боль. Настало время найти поддержку, не для алкоголизма, но для вашей
проблемы. Алкоголизм — это нормально (не совсем). Если вы действительно хороши
в эксплойтах, вам нужен алкоголь, чтобы прожить день, так как вы понимаете,
что каждый инструмент и приложение, которое ты запускаешь содержит громадное
количество уязвимостей, которые можно использовать, чтобы поиметь компьютер.
Также если в процессе обучения вы писали себе инструменты вы найдете в них
ошибки, так как большинство ниндзь в процессе обучения — хреновые кодеры
(иногда настоящие ниндзя продолжают быть хреновыми кодерами) (заметка
редактора — точнее они все хреновые кодеры).
**9.** Как только вы получите свой первый работающий зиро дей, вам нужно
изобрести победный танец. Это важно, так как он будет использоваться в
будущем, чтобы показать друзьям, что вы получили новый зиро дей. Хотя это и
смотрится глупо это очень важно, так как теперь вы алкоголик и вам надо уметь
быстро отпраздновать ваши достижения без прикладывания лишний раз к бутылке и
не претуплять тем самым ваши боевые навыки.
**10.** Теперь у вас есть выбор. Вы имеете навыки, которые стоят денег. Вы
можете начать самостоятельно продавать эксплойты или впечатлить какого-нибудь
работодателя с помощью резюме, полного раскрытых уязвимостей. Но это не урок о
бизнесе, это манифест о том как стать ниндзей.
**11.** Если вы выбрали путь работы на кого-то, то у вас есть возможность для
специализации. Это хорошо, так как вам будет нужно писать новые тулзы и
разрабатывать новые техники если вы выберите направление где нет публично
доступной информации. К примеру возьмем реверсинг приложений под vxWorks.
Ничего полезного об этом нигде нет. Прости, Matasano, но твой единственный
пост в блоге на эту тему не считается и возможно нарушает что-то в DMCA, так
что я не могу дать ссылку на него здесь.
После прочтения этой статьи у вас в мозгу наверное появилась мысль — «Это не
то, о чем я спрашивал, я спрашивал о конкретных шагах, книгах и статьях». К
сожалению ничего из того, что вы прочтете не сделает никогда из вас того, кем
вы хотите быть. Только холодный, тяжелый практический опыт может сделать это.
Вы не увидите этого, пока не начнете этим заниматься и каждое новое
приключение будет открывать новую информацию и идеи, которые были скрыты пока
вы в них не нуждались. Вы действительно должны любить этот процесс. Если вы
входите в ресторан и видите компьютер с меню на нем и вашей первой мыслью
будет не потрогать все его кнопки и посмотреть сломается ли он, значит вы не
любите все это.
**Оригинал** : <http://vrt-blog.snort.org/2009/07/how-do-i-become-ninja.html>
**Перевод** : **higaru**
Как защитить себя от связок и эксплойтов!
Author: jet92 • 2008-11-29T02:03:10+0000 • Replies: 41 • Views: 10K
Собрав факты.
Отключив JS можно весьма прилично обезопасить работу в сети, но при этом будет
криво отображаться множество сайтов.
Поэтому думаю стоит установить фаерфокс и плагин NOSCRIPT. Данный плагин
позволяет вам самим выбирать на каких сайтах можно запускать JS.
К сожалению не так все просто, в наше время связки развиваются. Поэтому имеет
смысл использовать софт для блокировки flash, pdf утилит.
Для этого можно использовать FLASHBLOCK. Многие из нас слышали про .NET и
JAVA, для большей безопасности не следует устанавливать их. ( Почему, к
сожалению одинокий волк умолчал... )
Многиз связки работают посредством PHP/PERL. Однако если настроить фильтрацию
заголовков, то безопасность так же заметно увеличится.
Регулярно обновлять антивирусное ПО/ОС/Да и вообще весь софт.
Для параноиков!!!
Самое главное я думаю не обходимо самому следить за версиями установленных
програм. Время от времени проверять сплойты.
Если под версию установленного у вас ПО появился эксплойт, то следует удалить
или обновить софтинку.
Буду добавлять по мере поступления информации.
\-------------------------------------------------------------------------------------
Какая на даннный момент самая актуальная ПАБЛИК связка ?
Каковы шансы протроянить с ее помощью 1 конкретноо человека ?
Ну и честно признаюсь с связками никогда не работал еще...
Можно ли использовать простой хостинг, вернее абузный иметь обязательно ли ?
И каким образом связка устанавливается ?
Какие шансы протроянить человека например как я = )
Ось не обновляласт с момента покупки ХР.
Софт и прочее аналогично.
Антивируса нет.
Фаерволла нет.
Буду ждать помощи от старперов в этой тематики.
Если что прошу прощения за размещение темы.
Может быть я ошибся разделом.
Подборка материалов по архитектуре V8\Chrome - для исследователей уязвимостей
Author: weaver • 2020-08-24T14:17:22+0000 • Replies: 1 • Views: 9K
Хотите узнать, как взломать V8 или Chrome? У вас есть свободное время в
дороге? Посмотрите эти доклады с конференций или прочтите эти статьи, чтобы
узнать больше о V8 и внутреннем устройстве Chrome.
****Видео** **
* [Mathias Bynens - V8 internals for JavaScript developers](https://www.youtube.com/watch?v=m9cTaYI95Zc) \- _JSConf AU 18 - Mathias Bynens_ \- Discusses how elements kinds and different data types are handled in V8. Covers the following topics:
* SMIs
* Doubles
* Regular Elements
* Packed Elements
* Holey elements
* Performance
* [JavaScript Engines: The Good Parts](https://www.youtube.com/watch?v=5nmpokoRaZI) \- _JSConf EU 2018 - Mathias Bynens & Benedikt Meurer_Introduction to the four main JavaScript engines. Covers JavaScript engine fundamentals such as:
* Representation of objects
* Transition trees
* High level comparison between the optimizing/JIT compilers in each JS engine.
* [JavaScript engines - how do they even?](https://www.youtube.com/watch?v=p-iiEDtpy6I) \- _JSConf EU 2017 - Franziska Hinkelmann_ \- Introduction to JIT, optimizing compilers and compiler differences in each JavaScript engine.
* [A Tale of Types, Classes, and Maps](https://www.youtube.com/watch?v=IFWulQnM5E0) \- _JSCamp Barcelona 2018 - Benedikt Meurer_ \- Introduction to the main four JavaScript engines and how they work. Discusses optimixation, deoptimization fundamentals and differences in each engine.
* [Escape Analysis in V8](https://www.youtube.com/watch?v=KiWEWLwQ3oI) \- _Google - Tobias Tebbi_ \- Covers escape analysis in Turbofan. Escape Analysis is a compiler optimization that allows to remove or postpone the allocation of temporary objects, potentially storing the object fields in registers instead.
* [Inside V8: The choreography of Ignition and TurboFan](https://www.youtube.com/watch?v=mjHtadilm00) \- _Web Rebels 2018 - Sigurd Scheider_
* [Garbage Collection in V8](https://www.youtube.com/watch?v=T42_nGOVHig) \- _React Vienna 2017 - Irina Shestak_
* [Orinoco: The new V8 Garbage Collector](https://www.youtube.com/watch?v=Scxz6jVS4Ls) \- _NodeConf EU 2018 - Peter Marshall_
* [Memory Layout of V8’s Heap](https://www.youtube.com/watch?v=tLyIs_0cUyc) \- _dotJS 2016 - Fedor Indutny_ \- Discusses core V8 concepts such as “SMIs” (Small Integers), Pointer Tagging, Boxing, “Maps” and the object layout in memory. Also introduces “llnode”, a lldb plugin for debugging NodeJS and V8.
* [Breaking the JavaScript Speed Limit with V8](https://youtu.be/UJPdhx5zTaw)
* [Ignition: An Interpreter for V8](https://www.youtube.com/watch?v=r5OWCtuKiAk&feature=youtu.be)
* [Turbofan: A new code generation architecture for V8](https://www.youtube.com/watch?v=M1FBosB5tjM)
* [Mojo - Chrome’s IPC](https://www.youtube.com/watch?v=o-nR7enXzII)
* [Security 101 (Chrome University)](https://www.youtube.com/watch?v=jqQdgQKYq7E&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=13&t=0s)
* [Security 201 (Chrome University)](https://www.youtube.com/watch?v=lv0lvJigrRw&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=13)
* [Anatomy of the Browser 101 (Chrome University)](https://www.youtube.com/watch?v=PzzNuCk-e0Y&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=2)
* [Anatomy of the Browser 201 (Chrome University)](https://www.youtube.com/watch?v=u7berRU9Qys&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=3)
* [Life of a Process (Chrome University)](https://www.youtube.com/watch?v=5im7SGmJxnA&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=7)
* [Life of a Script (Chrome Univesity)](https://www.youtube.com/watch?v=3bVcTFOKRyo&list=PLNYkxOF6rcICgS7eFJrGDhMBwWtdTgzpx&index=11)
**Концепции V8**
* [JavaScript engine fundamentals: optimizing prototypes](https://benediktmeurer.de/2018/08/16/javascript-engine-fundamentals-optimizing-prototypes/)
* [JavaScript engine fundamentals: Shapes and Inline Caches](https://benediktmeurer.de/2018/06/14/javascript-engine-fundamentals-shapes-and-inline-caches/)
* [Elements kinds in V8](https://v8.dev/blog/elements-kinds)
* [Getting garbage collection for free](https://v8.dev/blog/free-garbage-collection)
* [Fast Properties in V8](https://v8.dev/blog/fast-properties)
* [A tour of V8: full compiler](http://www.jayconrod.com/posts/51/a-tour-of-V8--full-compiler)
* [A tour of V8: object representation](http://www.jayconrod.com/posts/52/a-tour-of-V8--object-representation)
* [Allocating Numbers](https://darksi.de/5.allocating-numbers/)
* [SMIs and Doubles](https://darksi.de/6.smis-and-doubles/)
* [ELI5: v8 Isolates and Contexts](https://dev.to/aafrey/eli5-v8-isolates-and-contexts-1o5i)
* [JS Object Structure Analysis](https://medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16)
**Безопасность Chrome и IPC**
* [Chrome Sandbox Design](https://chromium.googlesource.com/chromium/src/+/master/docs/design/sandbox.md)
* [The Security Architecture of Chromium Browser](http://seclab.stanford.edu/websec/chromium/chromium-security-architecture.pdf)
* [Chrome Security Arcitecture Diagram](https://docs.google.com/drawings/d/1TuECFL9K7J5q5UePJLC-YH3satvb1RrjLRH-tW_VKeE/edit)
* [Chrome Site Isolation](https://www.chromium.org/Home/chromium-security/site-isolation)
* [Chrome Partition Alloc](https://chromium.googlesource.com/chromium/src/+/dcc13470a/third_party/WebKit/Source/wtf/PartitionAlloc.md)
* [Chrome Mojo IPC Style Guide](https://chromium.googlesource.com/chromium/src/+/master/docs/security/mojo.md)
* [Chrome Mojo Readme](https://chromium.googlesource.com/chromium/src.git/+/master/mojo/README.md)
* [Intro to Mojo & Services](https://chromium.googlesource.com/chromium/src.git/+/master/docs/mojo_and_services.md)
* [How Blink Works](https://docs.google.com/document/d/1aitSOucL0VHZa9Z2vbRJSyAIsAz24kX8LFByQ5xQnUg/edit)
**Ignition (интерпретатор V8)**
* [Firing up the Ignition interpreter](https://v8.dev/blog/ignition-interpreter)
* [Ignition: Jump-starting an Interpreter for V8](https://docs.google.com/presentation/d/1HgDDXBYqCJNasBKBDf9szap1j4q4wnSHhOYpaNy5mHU/edit#slide=id.g1357e6d1a4_0_58)
* [Ignition: An Interpreter for V8](https://docs.google.com/presentation/d/1OqjVqRhtwlKeKfvMdX6HaCIu9wpZsrzqpIVIwQSuiXQ/edit)
* [Ignition Design Document](https://docs.google.com/document/d/11T2CRex9hXxoJwbYqVQ32yIPMh0uouUZLdyrtmMoL44/edit?ts=56f27d9d#heading=h.6jz9dj3bnr8t)
* [Ignition: Register Equivalence Optimization](https://docs.google.com/document/d/1wW_VkkIwhAAgAxLYM0wvoTEkq8XykibDIikGpWH7l1I/edit?ts=570d7131#heading=h.6jz9dj3bnr8t)
* [Understanding V8’s Bytecode](https://medium.com/dailyjs/understanding-v8s-bytecode-317d46c94775)
* [Blazingly Fast Parsing, Part 2](https://v8.dev/blog/preparser)
**Turbofan (JIT-компилятор V8)**
* [An Introduction to Speculative Optimization in V8](https://benediktmeurer.de/2017/12/13/an-introduction-to-speculative-optimization-in-V8/)
* [Digging into the TurboFan JIT](https://v8.dev/blog/turbofan-jit)
* [Deoptimize me not, v8](https://darksi.de/a.deoptimize-me-not/)
* [How to start JIT-ting](https://darksi.de/4.how-to-start-jitting/)
* [Sea of Nodes](https://darksi.de/d.sea-of-nodes/)
* [Turbofan Docs](https://v8.dev/docs/turbofan)
* [Hooking up the Ignition to the Turbofan](https://docs.google.com/presentation/d/1chhN90uB8yPaIhx_h2M3lPyxPgdPmkADqSNAoXYQiVE/edit)
* [Tale of Turbofan](https://benediktmeurer.de/2017/03/01/v8-behind-the-scenes-february-edition)
* [Ignition+TurboFan and ES2015](https://benediktmeurer.de/2016/11/25/v8-behind-the-scenes-november-edition)
* [CodeStubAssembler Redux](https://docs.google.com/presentation/d/1u6bsgRBqyVY3RddMfF1ZaJ1hWmqHZiVMuPRw_iKpHlY/edit#slide=id.p)
* [Overview of the Turbofan Compiler](https://docs.google.com/presentation/d/1H1lLsbclvzyOF3IUR05ZUaZcqDxo7_-8f4yJoxdMooU/edit)
* [Turbofan IR](https://docs.google.com/presentation/d/1Z9iIHojKDrXvZ27gRX51UxHD-bKf1QcPzSijntpMJBM)
* [Turbofan’s JIT Design](https://docs.google.com/presentation/d/1sOEF4MlF7LeO7uq-uThJSulJlTh--wgLeaVibsbb3tc)
* [Fast Arithmetic for Dynamic Languages](https://docs.google.com/a/google.com/presentation/d/1wZVIqJMODGFYggueQySdiA3tUYuHNMcyp_PndgXsO1Y)
* [Deoptimization in V8](https://docs.google.com/presentation/d/1Z6oCocRASCfTqGq1GCo1jbULDGS-w-nzxkbVF7Up0u0)
* [Turbofan a new code generation architecture for V8](https://docs.google.com/presentation/d/1_eLlVzcj94_G4r9j9d_Lj5HRKFnq6jgpuPJtnmIBs88)
* [An Internship on Lazyness Slides](https://docs.google.com/presentation/d/1AVu1wiz6Deyz1MDlhzOWZDRn6g_iFkcqsGce1F23i-M/edit)
* [An internship on laziness: lazy unlinking of deoptimized functions](https://v8.dev/blog/lazy-unlinking)
* [Turbofan: Function Context Specification](https://docs.google.com/document/d/1CJbBtqzKmQxM1Mo4xU0ENA7KXqb1YzI6HQU8qESZ9Ic/edit)
* [Turbofan: Rest Parameters and Arguments Exotic Objects optimization plan](https://docs.google.com/document/d/1DvDx3Xursn1ViV5k4rT4KB8HBfBb2GdUy3wzNfJWcKM/edit)
* [Turbofan Developer Tools Integration](https://docs.google.com/document/d/1zl0IA7dbPffvPPkaCmLVPttq4BYIfAe2Qy8sapkYgRE)
* [Turbofan Inlining](https://docs.google.com/document/d/1l-oZOW3uU4kSAHccaMuUMl_RCwuQC526s0hcNVeAM1E)
* [Turbofan Inlining Heuristics](https://docs.google.com/document/d/1VoYBhpDhJC4VlqMXCKvae-8IGuheBGxy32EOgC2LnT8)
* [TurboFan redundant bounds and overflow check elimination](https://docs.google.com/document/d/1R7-BIUnIKFzqki0jR4SfEZb3XmLafa04DLDrqhxgZ9U)
* [Turbofan Lazy deoptimization without code patching](https://docs.google.com/document/d/1ELgd71B6iBaU6UmZ_lvwxf_OrYYnv0e4nuzZpK05-pg)
* [Turbofan Register Allocator](https://docs.google.com/document/d/1aeUugkWCF1biPB4tTZ2KT3mmRSDV785yWZhwzlJe5xY)
* [Projection nodes in TurboFan](https://docs.google.com/document/d/1C9P8T98P1T_r2ymuUFz2jFWLUL7gbb6FnAaRjabuOMY/edit)
**Orinoco (Сборщик мусора V8)**
* [Jank Busters Part Two: Orinoco](https://v8.dev/blog/orinoco)
* [Garbage Collection: V8’s Orinoco](https://medium.com/@nikolay.veretelnik/garbage-collection-v8s-orinoco-452b70761f0c)
* [Trash talk: the Orinoco garbage collector](https://v8.dev/blog/trash-talk)
**Полезные ссылки**
* [V8 Homepage](https://v8.dev/)
* [OmahaProxy](https://omahaproxy.appspot.com/)
* [V8 Github Mirror](https://github.com/v8/v8)
* [V8 / Chrome Source Browser](https://source.chromium.org/chromium/chromium/src/+/master:v8/src/)
* [Chromium Bug Tracker](https://bugs.chromium.org/p/chromium/issues/list)
* [V8 Bug Tracker](https://bugs.chromium.org/p/chromium/issues/list?q=blink%20component%3ABlink%3EJavaScript&can=2)
* [Google Groups V8](https://groups.google.com/forum/#!forum/v8-users)
* [Google Groups Chrome](https://groups.google.com/a/chromium.org/forum/#!forum/chromium-discuss)
* [Chrome Status](https://chromestatus.com/)
* [Chrome Release Schedule](https://chromiumdash.appspot.com/schedule)
* [Chromium Blog](https://blog.chromium.org/)
* [Chrome Severity Guidelines](https://www.chromium.org/developers/severity-guidelines)
* [Chromium Code Review Gerrit](https://chromium-review.googlesource.com/q/status:open)
* [Chromium IRC](https://www.chromium.org/developers/irc)
Источник: <https://zon8.re/posts/v8-chrome-architecture-reading-list-for-
vulnerability-researchers/>
Правила раздела! Обязательно к прочтению.
Author: weaver • 2020-07-17T16:37:41+0000 • Replies: 0 • Views: 9K
**Правила раздела "Эксплойтинг"**
Прежде всего данный раздел создан для обсуждения технических подробностей
**бинарных уязвимостей**! Для публикации эксплойтов существует раздел
[**Bugtraq**](https://xss.is/forums/122/).
В данном разделе приветствуется обсуждения на тему:
* различных фаззинг инструментов (не веб) и санитайзеров;
* обсуждение на тему поиска уязвимостей (фаззинг, патерны, статик анализ и анализ патчей безопасности);
* темы связанные эксплуатацией уязвимостей (их триггер до фул сплойта, анализ креша);
* обсуждения связанные с защитой от эксплойтов и их обхода (различные security mitigation: методы предотвращения эксплуатации памяти);
* публикация своих статей и чужих статей, переводы из различных блогов, публикации ваших CTF writeup'ов категории PWN;
* обсуждения и исследования внутреннего устройства ОС Windows, Linux, MacOS, Android, iOS;
* обсуждение и работа с различными отладчиками и дизассемблерами и прочем вспомогательным софтом для Exploit-Development'a.
* В этот раздел из новостей идет только самое вкусное (Например: информация об уязвимостях в процессорах Intel\AMD, информация о новых техниках эксплуатации и исследованиях).
Для решения каких либо проблем или затруднений существует тема в стиле
быстрого вопроса ответа (FAQ) где можно задать соответствующий вопрос.
[**[FAQ] Memory corruption & shellcoding**](https://xss.is/threads/38392/)
В разделе есть специальный тег
[**PWN**](http://xssforumv3isucukbxhdhwz67hoa5e2voakcfkuieq4ch257vsburuid.onion/forums/145/?prefix_id=44),
которым помечаются цтф решения и writeups по бинарной эксплуатации, позволяя
пользователям изучать различные техники и подходы к анализу уязвимостей на
основе уже готовых решений.
**В этом разделе ЗАПРЕЩЕНО вести коммерческую деятельность, для этого есть
раздел **[**Торговая площадка**](https://xss.is/categories/27/)**.
Запрещено** (наказание **ПРЕДУПРЕЖДЕНИЕ** \- рецидив **БАН**)
* Оскорблять других участников форума и публично выяснять отношения.
* Флуд - сообщения не несущие никакой информативной нагрузки и лишенные всякого смысла (Для это есть реакции: лайки и дизлайки).
* Оффтопить, то есть обсуждать вопросы, не соответствующие теме.
* Нецензурные выражения.
* Игнорирование поиска и создание аналогичных тем.
* Ярко выраженная реклама других порталов.
* Постить несколько сообщений друг за другом.
* Поднятие старых тем и отписывать в темах, в которых вопрос уже решен.
Кроме правил раздела существует обязательное выполнение общих [правил
форума](https://xss.is/help/rules/).
**Рекомендации**
* Код эксплойтов лучше всего публиковать в специальных тегах для размещения кода.
* Ссылки на сторонние ресурсы можно и нужно указывать.
* Картинки нужно заливать на сам форум.
* Можно добавить так же ссылку на уязвимое ПО.
* Эксплойты лучшего всего не тестировать на основной машине, а запускать и тестировать в специализированных средах, песочницах, vm-контейнерах и т.д.
* Приветствуется уважительное обращение к другим участникам, конструктивные ответы на поставленные вопросы и инициатива в создании новых, интересных тем!
Уязвимости в ядре Линукс.
Author: FireEmag • 2005-11-05T16:56:45+0000 • Replies: 19 • Views: 9K
Многочисленные уязвимости были найдены в загрузчике бинарных файлов типа ELF.
Источники этих проблем находятся в функции load_elf_binary файла binfmt_elf.c
Первая проблема происходит от неправильной проверки возвращаемого значения
функции kernel_load. Атакующий может получить контроль над выполнением SUID-
ного бинарника с помощью изменения расположения памяти бинарника. Вторая
проблема происходит от неправильной обработки ошибки во время сбоя mmap()
Третья уязвимости происходит когда неправильное возврещаемое значение
программы интерпретатора (линкера) загружается в память. Говорят, что эта
проблема существует только для 2.4.х версий ядра. Четвертая уязвимость
выявляется в то время как пользователь может выполнить бинарник с неправильной
строкой названия интерпретатора. Эта проблема может привести к системному
сбою. Последняя проблема существует в коде execve() . Эта проблема может
позволить атакующему раскрыть доступ к важным данным, которые могут
потенциально быть использованы чтобы заполучить более высокие привелегии.
Эксплоит одной из уязвимостей доступен здесь:
[http://securityfocus.com/data/vulnerabilit...nfmt_elf_dump.c](http://securityfocus.com/data/vulnerabilities/exploits/binfmt_elf_dump.c)
[mod][Great:] Склеил эту тему с новой. Теперь тут постим все баги в ядрышке
пингвина.[/mod]
Эксплоит! где такой найти?
Author: Trol • 2006-08-19T07:59:03+0000 • Replies: 33 • Views: 9K
Парни такой вопрос, где найти сплоит под Сп2 что бы давал шелл на удаленной
тачке!
Типа КАНТ2- но он под Сп2 на работает)..
И если моно инфу поподробнее)
3аранее благодарен!
Подборка материалов по исследованию уязвимостей в гипервизоре
Author: weaver • 2020-11-17T09:40:06+0000 • Replies: 0 • Views: 8K
Virtualization security Generalized deep technical
● <https://www.cs.ucr.edu/~heng/pubs/VDF_raid17.pdf>
● <https://www.ernw.de/download/xenpwn.pdf>
● [https://www.blackhat.com/docs/eu-16...tual-Device-Fuzzing-Framework-With-
AFL-wp.pdf](https://www.blackhat.com/docs/eu-16/materials/eu-16-Li-When-
Virtualization-Encounters-AFL-A-Portable-Virtual-Device-Fuzzing-Framework-
With-AFL-wp.pdf)
● [https://www.syssec.ruhr-uni-bochum....entlichungen/2020/02/07/Hyper-Cube-
NDSS20.pdf](https://www.syssec.ruhr-uni-
bochum.de/media/emma/veroeffentlichungen/2020/02/07/Hyper-Cube-NDSS20.pdf)
●
[https://www.troopers.de/downloads/t...ing_hypervisor_through_hardwear_emulation.pdf](https://www.troopers.de/downloads/troopers17/TR17_Attacking_hypervisor_through_hardwear_emulation.pdf)
Quality reference - system internals & vulndev primitives
● [https://www.exploit-db.com/docs/eng...-on-vulnerabilities-of-hypercall-
handlers.pdf](https://www.exploit-db.com/docs/english/34859-technical-
information-on-vulnerabilities-of-hypercall-handlers.pdf)
● <https://census-labs.com/media/straightouttavmware-wp.pdf>
● [https://www.blackhat.com/docs/eu-17...tudy-Of-Vmware-G2H-Escape-
Vulnerabilities.pdf](https://www.blackhat.com/docs/eu-17/materials/eu-17-Mandal-
The-Great-Escapes-Of-Vmware-A-Retrospective-Case-Study-Of-Vmware-G2H-Escape-
Vulnerabilities.pdf)
Frontiers: Hyper-V, ESXi, speculative execution
● <https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html>
● <https://www.usenix.org/system/files/woot19-paper_zhao.pdf>
● [https://blogs.technet.microsoft.com...anted-to-know-about-sr-iov-in-hyper-
v-part-1/](https://blogs.technet.microsoft.com/jhoward/2012/03/12/everything-
you-wanted-to-know-about-sr-iov-in-hyper-v-part-1/)
●
[https://www.blackhat.com/presentati...tation/BH07_Baker_WSV_Hypervisor_Security.pdf](https://www.blackhat.com/presentations/bh-
usa-07/Baker/Presentation/BH07_Baker_WSV_Hypervisor_Security.pdf) (2007!)
● [https://github.com/Microsoft/MSRC-Security-
Research/blob/master/presentations/2019_02_OffensiveCon/2019_02 - OffensiveCon
- Growing Hypervisor 0day with
Hyperseed.pdf](https://github.com/Microsoft/MSRC-Security-
Research/blob/master/presentations/2019_02_OffensiveCon/2019_02%20-%20OffensiveCon%20-%20Growing%20Hypervisor%200day%20with%20Hyperseed.pdf)
● <https://blogs.technet.microsoft.com/srd/2019/01/28/fuzzing-para-
virtualized-devices-in-hyper-v/>
● <https://docs.microsoft.com/en-us/archive/blogs/jhoward/hyper-v-
generation-2-virtual-machines-part-1>
● [https://i.blackhat.com/us-18/Thu-Au...per-V-Through-Offensive-Security-
Research.pdf](https://i.blackhat.com/us-18/Thu-August-9/us-18-Rabet-Hardening-
Hyper-V-Through-Offensive-Security-Research.pdf)
References
● Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined
Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D and 4

### [ Intel® 64 and IA-32 Architectures Software Developer Manuals
](https://software.intel.com/content/www/us/en/develop/articles/intel-
sdm.html)
These manuals describe the architecture and programming environment of the
Intel® 64 and IA-32 architectures.

software.intel.com
● TLFS: Microsoft Hypervisor Top Level Functional Specification

### [ Hypervisor Specification ](https://docs.microsoft.com/en-
us/virtualization/hyper-v-on-windows/reference/tlfs)
Hypervisor Specification
docs.microsoft.com
● Hyper-V Architecture

### [ Hyper-v Architecture ](https://docs.microsoft.com/en-
us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture)
Describes the Hyper-V architecture and its role in virtualization and provides
an overview and glossary of the architecture.
docs.microsoft.com
● Enhanced Session Mode

### [ Share devices with Windows virtual machines
](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-
guide/enhanced-session-mode)
Walks you through sharing devices with Hyper-V virtual machines (USB, audio,
microphone, and mounted drives).
docs.microsoft.com
● Overview of Remote NDIS

### [ Overview of Remote NDIS (RNDIS) - Windows drivers
](https://docs.microsoft.com/en-us/windows-hardware/drivers/network/overview-
of-remote-ndis--rndis-)
RNDIS eliminates the need for hardware vendors to write an NDIS miniport
driver for a network device attached to the USB bus.
docs.microsoft.com
● [MS-RNDIS]
[
https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/WinArchive/%5bMS-
RNDIS%5d.pdf
](https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/WinArchive/%5bMS-
RNDIS%5d.pdf)
● SLP: Service Location Protocol specification
### [ rfc2165 ](https://tools.ietf.org/html/rfc2165)
Service Location Protocol (RFC )

tools.ietf.org
### [ rfc2608 ](https://tools.ietf.org/html/rfc2608)
Service Location Protocol, Version 2 (RFC )

tools.ietf.org
Taken from
[ https://alisa.sh/slides/HypervisorVulnerabilityResearch2020.pdf
](https://alisa.sh/slides/HypervisorVulnerabilityResearch2020.pdf)
[[GreHack 2024] Attacking hypervisors - A practical
case](http://xssforumv3isucukbxhdhwz67hoa5e2voakcfkuieq4ch257vsburuid.onion/threads/127974/)
Введение в эксплоитинг и реверсинг с использованием IDA FREE и других бесплатных инструментов. Глава 2
Author: yashechka • 2020-04-14T08:17:44+0000 • Replies: 42 • Views: 8K
Всем привет.
Опубликовал новый перевод.

### [ Ðведение в ÑкÑплоиÑинг и ÑевеÑÑинг Ñ
иÑполÑзованием IDA FREE и дÑÑÐ³Ð¸Ñ Ð±ÐµÑплаÑнÑÑ
инÑÑÑÑменÑов. Ðлава 2 ](https://habr.com/ru/post/496672/)
РпеÑвой ÑаÑÑи Ð¼Ñ ÑÑÑановили неÑколÑко
инÑÑÑÑменÑов, коÑоÑÑе бÑдÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ Ð´Ð»Ñ Ð½Ð°Ñ Ð´Ð»Ñ
пÑоÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ ÑÑого кÑÑÑа. ÐÑ Ð¾ÑобенноÑÑÑ Ð² Ñом, ÑÑо
они вÑе беÑплаÑнÑ. ÐÑ Ð½Ðµ бÑдем иÑполÑзоваÑÑ...

habr.com
Если очень нужно могу ещё и сюда залить.