Сейчас на форуме: Lohmaty (+7 невидимых)

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

Ранг: 5.0 (гость)
Активность: 0.030.01
Статус: Участник

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

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




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

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

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

-----
EnJoy!




Ранг: 5.0 (гость)
Активность: 0.030.01
Статус: Участник

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

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




Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

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

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

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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

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

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

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

-----
2 оттенка серого





Ранг: 71.5 (постоянный), 95thx
Активность: 0.10.38
Статус: Участник

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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

Wine))




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

Vladislou

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

-----
vx





Ранг: 77.2 (постоянный), 74thx
Активность: 0.190.15
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

sefkrd

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

-----
vx





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

ARCHANGEL

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

-----
vx





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

difexacaw

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

ARCHANGEL

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

-----
vx





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

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

ROP - return oriented programming...

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

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

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

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

sefkrd

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

-----
vx




Ранг: 16.5 (новичок), 5thx
Активность: 0.01=0.01
Статус: Участник
iOS expert

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

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

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

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

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




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 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

Ранг: 16.5 (новичок), 5thx
Активность: 0.01=0.01
Статус: Участник
iOS expert

Создано: 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 и CP. Есть даже такое:

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

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

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

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

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


Ранг: 77.2 (постоянный), 74thx
Активность: 0.190.15
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

Katana

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

И эту --> Link <--

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

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

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

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

-----
vx




Ранг: 20.8 (новичок), 7thx
Активность: 0.010.02
Статус: Участник

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

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

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

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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

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

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

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

-----
2 оттенка серого




Ранг: 5.0 (гость)
Активность: 0.030.01
Статус: Участник

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

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



Ранг: 16.5 (новичок), 5thx
Активность: 0.01=0.01
Статус: Участник
iOS expert

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

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

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

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




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 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
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати