eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Внедрение шелкода с помощью ROP цепочек в ОС Linux
Посл.ответ Сообщение

Ранг: 4.4 (гость)
Статус: Участник

Создано: 18 сентября 2018 07:13 New!
Цитата · Личное сообщение · #1

Есть приложение которое читает из файла символы, по 50 к примеру, и записывает в буфер, также в этом приложении есть код который не играет особой роли(какие нибудь вычисления). Эти 50 символов переполняют буфер и изменяют код приложения с помощью rop цепочек, затем востонавливают буфер и читаются следующие 50 символов. И таким образом полностью переписать часть программы где находятся вычисляния, допустим записать туда функцию чтоб она вывела список всех запущенных процесов. Можно такое реализовать вообще?


Ранг: 582.6 (!)
Статус: Модератор
Research & Development

Создано: 18 сентября 2018 09:35 New!
Цитата · Личное сообщение · #2

Цель какая? Замаскировать под полезный функционал?

Ранг: 4.4 (гость)
Статус: Участник

Создано: 18 сентября 2018 11:35 New!
Цитата · Личное сообщение · #3

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

Ранг: 44.7 (посетитель)
Статус: Участник

Создано: 18 сентября 2018 12:15 · Поправил: BlackCode New!
Цитата · Личное сообщение · #4

Vladislou пишет:
тк стоит защита от записи

Защиту от записи можно решить двумя способами:
1. При компиляции программы линковщику (если это link.exe) указать слияние секции кода
с секцией данных --> MERGE <--
В этом случае флаг созданной секции будет E0000020h (Executable + Reatable + Writeable).
2. В основном коде вызвать --> VirtualProtect <-- и изменить защиту, добавив возможность записи.
Аналог VirtualProtect в линуксе --> MPROTECT <--


Ранг: 206.4 (наставник)
Статус: Участник

Создано: 18 сентября 2018 12:22 New!
Цитата · Личное сообщение · #5

BlackCode пишет:
--> VirtualProtect <--

В линухе есть кернел32.длл?

Ранг: 44.7 (посетитель)
Статус: Участник

Создано: 18 сентября 2018 12:32 New!
Цитата · Личное сообщение · #6

f13nd пишет:
В линухе есть кернел32.длл?

На всякий случай, если под Win захочет виряк написать

Ранг: 376.8 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 18 сентября 2018 18:09 New!
Цитата · Личное сообщение · #7

f13nd пишет:
В линухе есть кернел32.длл?

Wine))


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 18 сентября 2018 19:57 New!
Цитата · Личное сообщение · #8

Vladislou

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

Ранг: 69.7 (постоянный)
Статус: Участник

Создано: 18 сентября 2018 21:26 New!
Цитата · Личное сообщение · #9

difexacaw пишет:
как там что в линях работает хз, тем более что лини это самопальная сборка.

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


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 18 сентября 2018 22:10 New!
Цитата · Личное сообщение · #10

sefkrd

Ну уточним, в теме OP я лучший. Это вы с тс не верные вопросы задаёте.


Ранг: 655.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 18 сентября 2018 22:13 New!
Цитата · Личное сообщение · #11

Что такое ОР? Это орать с кого-то?


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 18 сентября 2018 22:16 New!
Цитата · Личное сообщение · #12

ARCHANGEL

Oriented-Programming. Это инжекты, малварь. Блэк.


Ранг: 655.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 18 сентября 2018 22:18 New!
Цитата · Личное сообщение · #13

difexacaw

В одном все точно сойдутся во мнениях - вы непревзойдённый мастер выдумывания терминов.


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 18 сентября 2018 22:23 New!
Цитата · Личное сообщение · #14

ARCHANGEL

ROP - return oriented programming. Это частное понятие для общей OP, есть множество видов атак - ROP/COP etc, принято понимать это как OP-inject. Общепринятые понятия. ТС лезет в очень сложную тему, а походу есчо и местные троли подтянулись. Такие дела.


Ранг: 655.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 18 сентября 2018 22:29 New!
Цитата · Личное сообщение · #15

ROP - return oriented programming...

Также, как OOP, POP и любое другое что-тоOP. А вот ваши --> OP-inject <--

Я ж говорю - мастер терминов и названий.


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 18 сентября 2018 22:51 New!
Цитата · Личное сообщение · #16

Читайте матчасть, я в эту тему не зашёл спорить. Просто никсы не особо к данной теме относятся, там эта защита не разрабатывается. Там даже толком ав обычный не живёт.

sefkrd

По защите(OP) очень много теории наработано, вы просто не в теме. Анклавы и прочее, ну а так просто обосрать всё можно. У меня есть как минимум 4 публикации по теме.

Ранг: 13.5 (новичок)
Статус: Участник
iOS expert

Создано: 18 сентября 2018 23:35 New!
Цитата · Личное сообщение · #17

Call Oriented Programming (COP) пруфлинк здесь - https://people.eecs.berkeley.edu/~daw/papers/rop-usenix14.pdf

Применяется в блэке повсеместно.

Но, конечно, University of California, Berkeley - лошары. Им никогда не достигнуть уровня одептов креклаба

В одном все точно сойдутся во мнении - одни критикуют и оценивают, другие действительно делают.


Ранг: 655.7 (! !)
Статус: Участник
ALIEN Hack Team

Создано: 18 сентября 2018 23:55 New!
Цитата · Личное сообщение · #18

Katana
Хорошая статья, интересная. Return oriented, jump oriented, call oriented - всё есть. Просто OP нету. Не выдумывайте свои термины, которых нет. Иначе ж вас не понять, о чём вы там сами себе толкуете.

difexacaw
Если у вас есть публикации - это прекрасно, выложите парню почитать, чтобы он узнал, как и что.

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

По поводу самой темы - ROP используется для того, чтобы вы в коде самого приложения ничего не переписывали. e(r)sp используется здесь, как аналог e(r)ip, и вы прыгаете по гаджетам, выполняя свой нужный код. Технически переписать что-то можно, выше уже пояснили как, но, как правило, этого не следует делать.

| Сообщение посчитали полезным: sefkrd


Ранг: 13.5 (новичок)
Статус: Участник
iOS expert

Создано: 19 сентября 2018 00:10 · Поправил: Katana New!
Цитата · Личное сообщение · #19

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

https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%BA%D0%BB%D0%B0%D0%B2

Полагаю, Клерк подразумевал приватные форумы тематики vx.

ARCHANGEL пишет:
Иначе ж вас не понять

Было бы стремление и желание... Попробуй пользоваться Google. Просто вставь в гугл "Oriented-Programming exploit" и ты получишь результат, это именно так и работает. Найдешь и ROP, и JOP и CP. Есть даже такое:

https://en.wikipedia.org/wiki/Sigreturn-oriented_programming

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

ARCHANGEL пишет:
но, как правило, этого не следует делать.

Это по какому такому правилу? Не выдумывайте правила, которых нет.

| Сообщение посчитали полезным: difexacaw


Ранг: 69.7 (постоянный)
Статус: Участник

Создано: 19 сентября 2018 00:41 New!
Цитата · Личное сообщение · #20

Katana пишет:
Есть даже такое

Ты конечно указал "пруф"..
Я там(wikipedia) сейчас вкладочку Edit нажму, и твой свист будет совершенно другим..(у вас секта чтоль..)


Ранг: 291.0 (наставник)
Статус: Участник

Создано: 19 сентября 2018 20:51 · Поправил: difexacaw New!
Цитата · Личное сообщение · #21

Katana

Абсолютно согласен. Посмотри эту тему --> Link <--

И эту --> Link <--

Если ты шаришь в теме, то можно обьеденить разработки.

Есть куча довольно сложных задач.

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

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

Ранг: 18.4 (новичок)
Статус: Участник

Создано: 1 октября 2018 23:01 · Поправил: int_256 New!
Цитата · Личное сообщение · #22

difexacaw пишет:
тем более что лини это самопальная сборка

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

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


Ранг: 206.4 (наставник)
Статус: Участник

Создано: 2 октября 2018 04:26 New!
Цитата · Личное сообщение · #23

int_256 пишет:
во-первых любой школоло может скачать сорцы ядра и сопутствующей набор требухи но не каждый даже бородатый одмин сможет это все скомпелировать

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

Ранг: 4.4 (гость)
Статус: Участник

Создано: 2 октября 2018 19:29 New!
Цитата · Личное сообщение · #24

Как надо записывать адреса в файл, чтоб они считывались
Записавыл: 0х555546e3, \0x\35\35..., \0x\x35...
Читает все равно как текст и не переходит по ним

Ранг: 13.5 (новичок)
Статус: Участник
iOS expert

Создано: 3 октября 2018 11:52 · Поправил: Katana New!
Цитата · Личное сообщение · #25

Записывать чем? Блокнотом? Или на каком-то скриптовом языке?

Вообще если создается бинарный файл, то проще всего взять какой-нибудь винрарный WinHex или 010 Edtitor и перейти в режим HEX-редактирования, не забывая при этом что адрес - little-endian, т.е. 0х555546e3 надо записывать как E3 46 55 55.

Если все же фанат блокнота, то мучайся с таблицами и ALT-ом: --> Link <--


Ранг: 582.6 (!)
Статус: Модератор
Research & Development

Создано: 3 октября 2018 23:15 New!
Цитата · Личное сообщение · #26

Vladislou пишет:
0х555546e3, \0x\35\35..., \0x\x35


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

В данном случае:
0х555546e3 - адрес, по которому писать
\0x\35\35..., \0x\x35 - байты, которые нужно записать по данному адресу
 eXeL@B —› Вопросы новичков —› Внедрение шелкода с помощью ROP цепочек в ОС Linux

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS