Сейчас на форуме: Lohmaty (+7 невидимых) |
eXeL@B —› Вопросы новичков —› Внедрение шелкода с помощью ROP цепочек в ОС Linux |
Посл.ответ | Сообщение |
|
Создано: 18 сентября 2018 07:13 · Личное сообщение · #1 Есть приложение которое читает из файла символы, по 50 к примеру, и записывает в буфер, также в этом приложении есть код который не играет особой роли(какие нибудь вычисления). Эти 50 символов переполняют буфер и изменяют код приложения с помощью rop цепочек, затем востонавливают буфер и читаются следующие 50 символов. И таким образом полностью переписать часть программы где находятся вычисляния, допустим записать туда функцию чтоб она вывела список всех запущенных процесов. Можно такое реализовать вообще? |
|
Создано: 18 сентября 2018 09:35 · Личное сообщение · #2 |
|
Создано: 18 сентября 2018 11:35 · Личное сообщение · #3 |
|
Создано: 18 сентября 2018 12:15 · Поправил: BlackCode · Личное сообщение · #4 Vladislou пишет: тк стоит защита от записи Защиту от записи можно решить двумя способами: 1. При компиляции программы линковщику (если это link.exe) указать слияние секции кода с секцией данных В этом случае флаг созданной секции будет E0000020h (Executable + Reatable + Writeable). 2. В основном коде вызвать Аналог VirtualProtect в линуксе |
|
Создано: 18 сентября 2018 12:22 · Личное сообщение · #5 |
|
Создано: 18 сентября 2018 12:32 · Личное сообщение · #6 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 18 сентября 2018 18:09 · Личное сообщение · #7 |
|
Создано: 18 сентября 2018 19:57 · Личное сообщение · #8 |
|
Создано: 18 сентября 2018 21:26 · Личное сообщение · #9 |
|
Создано: 18 сентября 2018 22:10 · Личное сообщение · #10 |
|
Создано: 18 сентября 2018 22:13 · Личное сообщение · #11 |
|
Создано: 18 сентября 2018 22:16 · Личное сообщение · #12 |
|
Создано: 18 сентября 2018 22:18 · Личное сообщение · #13 |
|
Создано: 18 сентября 2018 22:23 · Личное сообщение · #14 |
|
Создано: 18 сентября 2018 22:29 · Личное сообщение · #15 ROP - return oriented programming... Также, как OOP, POP и любое другое что-тоOP. А вот ваши Я ж говорю - мастер терминов и названий. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 18 сентября 2018 22:51 · Личное сообщение · #16 Читайте матчасть, я в эту тему не зашёл спорить. Просто никсы не особо к данной теме относятся, там эта защита не разрабатывается. Там даже толком ав обычный не живёт. sefkrd По защите(OP) очень много теории наработано, вы просто не в теме. Анклавы и прочее, ну а так просто обосрать всё можно. У меня есть как минимум 4 публикации по теме. ----- vx |
|
Создано: 18 сентября 2018 23:35 · Личное сообщение · #17 Call Oriented Programming (COP) пруфлинк здесь - https://people.eecs.berkeley.edu/~daw/papers/rop-usenix14.pdf Применяется в блэке повсеместно. Но, конечно, University of California, Berkeley - лошары. Им никогда не достигнуть уровня одептов креклаба В одном все точно сойдутся во мнении - одни критикуют и оценивают, другие действительно делают. |
|
Создано: 18 сентября 2018 23:55 · Личное сообщение · #18 Katana Хорошая статья, интересная. Return oriented, jump oriented, call oriented - всё есть. Просто OP нету. Не выдумывайте свои термины, которых нет. Иначе ж вас не понять, о чём вы там сами себе толкуете. difexacaw Если у вас есть публикации - это прекрасно, выложите парню почитать, чтобы он узнал, как и что. По поводу терминов, я боюсь спросить, что же такое анклавы. По поводу самой темы - ROP используется для того, чтобы вы в коде самого приложения ничего не переписывали. e(r)sp используется здесь, как аналог e(r)ip, и вы прыгаете по гаджетам, выполняя свой нужный код. Технически переписать что-то можно, выше уже пояснили как, но, как правило, этого не следует делать. ----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: sefkrd |
|
Создано: 19 сентября 2018 00:10 · Поправил: Katana · Личное сообщение · #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 и https://en.wikipedia.org/wiki/Sigreturn-oriented_programming Так что тот кто стремится к знаниям, способен переварить даже неудобную информацию и получить результат. А если что-то пишешь и нет понимания, это проблема того, кто не понимает, пока ты не лектор и тебе за это платят. ARCHANGEL пишет: но, как правило, этого не следует делать. Это по какому такому правилу? Не выдумывайте правила, которых нет. | Сообщение посчитали полезным: difexacaw |
|
Создано: 19 сентября 2018 00:41 · Личное сообщение · #20 |
|
Создано: 19 сентября 2018 20:51 · Поправил: difexacaw · Личное сообщение · #21 Katana Абсолютно согласен. Посмотри эту тему И эту Если ты шаришь в теме, то можно обьеденить разработки. Есть куча довольно сложных задач. На формирование фундаментальных понятий и их проработку ушли года. А сейчас это вообще полная засада из за тупиков. Основная работа проделана, есть чёткое понимание как алгоритмов защиты, принципов так и их обхода. Но это всё под нт. Никсы это не тот случай, где можно разрабатывать защиту. Эта ось никогда не была интересна виксам. ----- vx |
|
Создано: 01 октября 2018 23:01 · Поправил: int_256 · Личное сообщение · #22 difexacaw пишет: тем более что лини это самопальная сборка во-первых любой школоло может скачать сорцы ядра и сопутствующей набор требухи но не каждый даже бородатый одмин сможет это все скомпелировать и сделать "самопальную сборку" в силу незнания матчасти и тут знания по-более потребуются, чем полученные копанием в андоке кишок оси для хомяков-мышедвигателей, где юзвери кликают по любой иконке "клевая телка.жпг.ехе" на которых и рассчитана илита виксов. И то, что ваши знания получены многолетним просиживанием в дебагере - это никому не нужно, нормальные люди релизят сорцы, в отличие от M$ когда вы осилите матчасть по линуксу, тогда можете заходитьв данные темыи отписывать в тему а не пустой флуд |
|
Создано: 02 октября 2018 04:26 · Личное сообщение · #23 int_256 пишет: во-первых любой школоло может скачать сорцы ядра и сопутствующей набор требухи но не каждый даже бородатый одмин сможет это все скомпелировать "Каждое чмо может купить байк, но не каждое чмо может стать байкером" Много лет назад, когда я еще интересовался никсами, в составе многих дистрибутивов были исходники на выбор 2.4 и 2.6, ажно в виде пакета. Надо было тупо вставить диск, установить пакет, уметь запустить скрипт-конфигуратор и ввести еще пару команд. При желании обезьяну системы "шимпанзе" этому обучить можно. Обидно и горько за одминов и других бородачей. ----- 2 оттенка серого |
|
Создано: 02 октября 2018 19:29 · Личное сообщение · #24 |
|
Создано: 03 октября 2018 11:52 · Поправил: Katana · Личное сообщение · #25 Записывать чем? Блокнотом? Или на каком-то Вообще если создается бинарный файл, то проще всего взять какой-нибудь винрарный WinHex или 010 Edtitor и перейти в режим HEX-редактирования, не забывая при этом что адрес - little-endian, т.е. 0х555546e3 надо записывать как E3 46 55 55. Если все же фанат блокнота, то мучайся с таблицами и ALT-ом: |
|
Создано: 03 октября 2018 23:15 · Личное сообщение · #26 Vladislou пишет: 0х555546e3, \0x\35\35..., \0x\x35 Смотря в какой файл ты хочешь записывать. Эта строка выглядит скорее как структура/описание в исходнике, а не как данные для записи в файл. В данном случае: 0х555546e3 - адрес, по которому писать \0x\35\35..., \0x\x35 - байты, которые нужно записать по данному адресу ----- EnJoy! |
eXeL@B —› Вопросы новичков —› Внедрение шелкода с помощью ROP цепочек в ОС Linux |