Перейти к содержимому

Фотография

Пишем свой ShellCode

* * * * * 1 Голосов C++ injecto inject ShellCode Shell Code Как сделать ShellCode Shell Code Делаем ShellCode шелл-код

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1
  MS_CHESTER

MS_CHESTER
    Администратор
  • Сообщения:
    157
  • Номер пользователя:
    1
  • Регистрация:
    19-Nov 17
  • Репутация:
    129

Привет люди!

 

Для тех кто не знает или не умеет делать шелл код. Хочу продемонстрировать небольшой пример!

Данные пример будет вызывать функцию MessageBoxA в любом процессе

 

1. Начнем с создание и настройки проекта под шелл код.

 

- Жмем создать проект и выбираем Win32 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Ставим галочку на Пустой проект и отключаем SDL 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Создаем файл C++ 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Дальше заходим в свойства проекта 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Прописываем точку входа EntryPoint (Определит от куда будет начинаться наша программа и уберет лишнии зависимости)

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

2. Напишем нашу точку входа (EntryPoint - название то которое мы прописали в настройках. Этот тот же WinMain только указан вручную)

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

3. Для вызова функции на нужна структура в ней будут храниться данные

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

4. Напишем сам шеллкод или функция которая будет выполняться в процессе

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Прототип основан на стандартной функции

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

5. Напишем функцию которая будет создавать и заполнять нашу структуру с данными в процесс

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

6. Запускаем наш ShellCode) 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Общий принцип:

  1. Описать функцию без лишних вызовов.
  2. Описать структуру с данными которые нам нужно передать нашей функции.
  3. Записать все эти данные в процесс

Открываем процесс в который мы будем инжектить код -> Выделяем в нем память под все данные(Структуру, Функцию) -> Записываем структуру и функцию в выделенное место -> Создаем поток на нашу функцию и передаем в параметрах потока адресс нашей структуры.

 

Пример:

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Выполняется только наш код который мы записали. Без инжекта длл и прочего

 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Надеюсь у вас получится)



#2
  SID

SID
    Администратор
  • Сообщения:
    551
  • Номер пользователя:
    3
  • Регистрация:
    20-Nov 17
  • Репутация:
    496

Отмечу этот день,в календаре :burumburum:

-25.07.18 - Честер создал тему. :applause:


  • MS_CHESTER и P45H3 это нравится

#3
  Volorf

Volorf
    Новичок
  • Сообщения:
    1
  • Номер пользователя:
    4372
  • Регистрация:
    02-Apr 20
  • Репутация:
    0

 

Привет люди!

 

Для тех кто не знает или не умеет делать шелл код. Хочу продемонстрировать небольшой пример!

Данные пример будет вызывать функцию MessageBoxA в любом процессе

 

1. Начнем с создание и настройки проекта под шелл код.

 

- Жмем создать проект и выбираем Win32 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Ставим галочку на Пустой проект и отключаем SDL 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Создаем файл C++ 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Дальше заходим в свойства проекта 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

- Прописываем точку входа EntryPoint (Определит от куда будет начинаться наша программа и уберет лишнии зависимости)

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

2. Напишем нашу точку входа (EntryPoint - название то которое мы прописали в настройках. Этот тот же WinMain только указан вручную)

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

3. Для вызова функции на нужна структура в ней будут храниться данные

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

4. Напишем сам шеллкод или функция которая будет выполняться в процессе

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Прототип основан на стандартной функции

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

5. Напишем функцию которая будет создавать и заполнять нашу структуру с данными в процесс

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

6. Запускаем наш ShellCode) 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Общий принцип:

  1. Описать функцию без лишних вызовов.
  2. Описать структуру с данными которые нам нужно передать нашей функции.
  3. Записать все эти данные в процесс

Открываем процесс в который мы будем инжектить код -> Выделяем в нем память под все данные(Структуру, Функцию) -> Записываем структуру и функцию в выделенное место -> Создаем поток на нашу функцию и передаем в параметрах потока адресс нашей структуры.

 

Пример:

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Выполняется только наш код который мы записали. Без инжекта длл и прочего

 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент

 

Надеюсь у вас получится)

 

Есть возможность исходник перезалить? :smutili:



#4
  MS_CHESTER

MS_CHESTER
    Администратор
  • Сообщения:
    157
  • Номер пользователя:
    1
  • Регистрация:
    19-Nov 17
  • Репутация:
    129

Есть возможность исходник перезалить? :smutili:

Тут описан весь исходник. Самого исхода не осталось

 

Пожалуйста Логин или Регистрация чтобы увидеть этот скрытый контент






Темы с аналогичными тегами: C++, injecto, inject, ShellCode, Shell, Code, Как сделать ShellCode, Shell Code, Делаем ShellCode, шелл-код

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Тему поситили 93 пользователей


    Tommynon, BradleyHib, Henrybuh, Seo-Ul-kig, SteveRen, Georgegluts, DanielExisy, AZINKO, pups_lookup, Holowife, Awiject, systemz, Flazy, HyctorRed, LucilleScurb, albutle, izen022, WjoHwgsg, Soltaz, Максим Ахиев, MarusechkaElart, Ingefel, Marvinwrigo, K3llone, Brentlon, mhalaider, SID, Kot, MS_CHESTER, WilliamFlous, SERZ_P, abobaboba, frisymn, umiott, kovalskiy, MarkHawk, baresark, Purpursarkans, Hunt, Richardded, JamesTrier, EdwardWrage, egy95, Zacharygog, hveiled, JosephKaw, villainX7, test, erased, InsaneOP, ZuvilsTek, XRumerTest, Stadnyk2.0, antoxaassaa, kp6im, RonaldSluck, imynn, Dumitory, Gixvoivy, KathiEnulk, tulaibks, qadwdsaegfadrg dzarghsfhrs, Disu9iN, DexFect, Dimitrius, Proximo1993, o1ds7ar, , Volorf, ThePanix, Kokich, LearnC++, Diabl0xx, DagerOnFire, Jav1x, neskuiqi, spinne, ashleyzz, Stamka, ZWun_cHerk, es3n1n, N4ZoX, Velasav, Resetlive, fuze, Mrhukadan, Aquarium, DarkD, P45H3, duke04, never1337, GayPig, Ikfakof