HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг > Задания/Квесты/CTF/Конкурсы
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 04.05.2024, 22:31
yetiraki
Новичок
Регистрация: 07.02.2023
Сообщений: 0
С нами: 1719376

Репутация: 0
По умолчанию

Давно не писал.
Решил выложить другой вариант прохождения таска.

Открываем IDA и смотрим декомпилированный код функции main.



Видим, что читаем 85 байт в переменную mem. Посмотрим на нее:



Видим, что она находится в _bss сегменте (неинициализированные переменные). Видим, что сегмент этот на чтение/запись только, хотя название таска и категории какбы намекает, что нушно шелкодить.
Возвращаемся и смотрим снова в main. Вызывается какая-то странная фнукция, а дальше идет запуск кода из mem, но как это может запуститься из RW сегмента?
Смотрим функцию change_page_permissions_of_address:



Интересно... Гуглим, читаем что такое mprotect и как оно работает. (man mprotect). Понимаем, что меняются разрешения для этой памяти.
Узнаем, что PROT_READ = 1 PROT_WRITE = 2 PROT_EXEC = 4, тем самым получается, что у нас тут память эта станет выполняемой, это уже годится.

Так как у нас pwn, то будем использовать pwn.



Что делает скрипт:
1. Генерирует стандартный шеллкод.
2. Ждет "приветствия" от проги (локально или удаленно)
3. Посылает шелкод
4. Переходим в интерактивный режим, что бы можно было вводить команды.

В скрипте указаны команды, которые помогут быстро найти флаг =))

PWNED
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.