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

 eXeL@B —› Основной форум —› Как вставить шеллкод в эксплоит??
Посл.ответ Сообщение

Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 января 2009 09:34
· Личное сообщение · #1

Есть сервер с FreeBSD 7, на нём работает эксплоит на переполнение буфера функцией strfmon()
securityreason.com/achievement_securityalert/53 - вот подробное описание этого эксплоита
markmail.org/message/khpusmffi4fv6vzq - вот более короткий вариант

Откомпилированная программа:
Code:
  1. #include <stdio.h>
  2. #include <monetary.h>
  3. main(){
  4.          char buff[50];
  5.          char *bux=buff;
  6.          int res;
  7.          res=strfmon(bux, 50, "%99999999999999999999n", "-999.999");
  8. }

даёт нужный результат - переполнение буфера. И если указать "%1n" вместо "%999..99n" - сервер зависает, это проверено. Причем зависает до ребута.

У меня есть готовый шелл код, вида "\x90\x90\x90..." где вместо \x90 естественно нужные команды. Как его вставить в эту уязвимую функцию, чтоб он нормально выполнился?

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




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 27 января 2009 10:45
· Личное сообщение · #2

Думаю лучше для начала разобраться с принципом переполнения, а потом браться за подобную задачу.
А то кроме генерации (копи паста) шелкода ничего не знаем, но хотим все и сразу.

Ну а чтобы был ответ по теме, то посмотри какая длина в реале получится у строки и какие символы затирают те или иные регистры (больше всего обращать внимания на EBP и ESP). В зависимости от этого и смотреть куда размещать шелл.

-----
Computer Security Laboratory




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 января 2009 11:04
· Личное сообщение · #3

[HEX] пишет:
Думаю лучше для начала разобраться с принципом переполнения, а потом браться за подобную задачу.
А то кроме генерации (копи паста) шелкода ничего не знаем, но хотим все и сразу.

Ну а чтобы был ответ по теме, то посмотри какая длина в реале получится у строки и какие символы затирают те или иные регистры (больше всего обращать внимания на EBP и ESP). В зависимости от этого и смотреть куда размещать шелл.

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



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

Создано: 27 января 2009 11:15
· Личное сообщение · #4

Поставь ту же ОСь с тем же дырявым софтом (чтоб все версии совпадали) и готовь эксплойт локально.




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 27 января 2009 12:27 · Поправил: [HEX]
· Личное сообщение · #5

Vasili11
Хочу тебя огорчить, но рута ты не получишь. Так как с твоих слов ты сидишь под обычным юзверем и пытаешся написать уязвимое ПО и его же эксплуатировать. Запущеное тобой ПО будет иметь теже права под которыми ты и сидишь, тоесть так же пользовательские. Поэтому даже если у тебя и хватит знаний написать сплоит к своей же программе, то ты получишь теже права Так что как я уже писал лучше поучить матчасть. Другое дело если ты найдешь какое нибудь суидное приложение с данной багой владельцем которой будет рут, вот тогда другое дело. А так можешь и не пытаться.

-----
Computer Security Laboratory





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 27 января 2009 12:33 · Поправил: Ice-T
· Личное сообщение · #6

Из статьи:
Affected Software:
FreeBSD lines: 6,7
NetBSD 4
another systems what use this functions.
Standard C Library (libc, -lc) for BSD
probably some MacOS version


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

Адд:
[HEX], может он скопипастит туда сплоет для получения привелегий =)

-----
invoke OpenFire




Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 января 2009 15:11
· Личное сообщение · #7

[HEX], эта уязвимость находится не в коде программы, запущенной из под другого пользователя,а в библиотеке libc, то есть в самой системе FreeBSD. Не важно от какого пользователя будет запущена программа,шелл код запустится в самой ОСи, а не в каком-то уязвимом сервисе, запущенном от чьего-то имени, и поэтому права там будут максимальные.

Или я ошибаюсь?




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 27 января 2009 16:11
· Личное сообщение · #8

Ошибаешься. Шелл-код расположится в твоем процессе, стало быть и испольняться с его правами будет.

-----
invoke OpenFire





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 30 января 2009 13:59
· Личное сообщение · #9

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



Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 30 января 2009 14:22
· Личное сообщение · #10

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 30 января 2009 14:23
· Личное сообщение · #11

я же написал "допустим"...ну тогда пусть будет пдэфка.



Ранг: 137.9 (ветеран), 45thx
Активность: 0.080
Статус: Участник

Создано: 30 января 2009 14:56 · Поправил: yanus0
· Личное сообщение · #12

Analyzing PDF files and Shellcode http://www.sudosecure.net/archives/313 а вообще анализом, исщем подозрительные вещи которые не должны там быть.




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 30 января 2009 18:06
· Личное сообщение · #13

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

-----
Computer Security Laboratory





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 января 2009 19:43
· Личное сообщение · #14

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




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 31 января 2009 13:28 · Поправил: [HEX]
· Личное сообщение · #15

www.milw0rm.com/search.php?dong=winrar

Archer
Угу натравливая на сплоит уязвимое ПО главное не дать сплоиту выполниться, а для этого лучше знать детали баги =) Иначе могут быть такие же последствия что и при аналезе вирусни

-----
Computer Security Laboratory





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 31 января 2009 15:19
· Личное сообщение · #16

Это всё само собой, поэтому всё гонять на варе со снапшотами и прямыми руками.


 eXeL@B —› Основной форум —› Как вставить шеллкод в эксплоит??
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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