Codeby
35.9K subscribers
1.38K photos
92 videos
12 files
7.35K links
Блог сообщества Кодебай

Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.school
Пентест: codeby.one
CTF: hackerlab.pro

VK: vk.com/codeby
YT: clck.ru/XG99c

Сотрудничество: @KinWiz
Download Telegram
​​Windows Shellcoding x86 – поиск Kernel32.dll – часть 1 [Перевод]

Добро пожаловать в ад на земле

Абсолютно верно, вы обратились по адресу. Для человека, который изучал Linux Shellcoding, а потом начал работать в Windows, поверьте мне, это будет намного сложнее, чем вы себе можете это представить. Ядро Windows полностью отличается от ядра Linux. Как уже говорилось, ядро Linux намного легче в понимании, чем ядро Windows, потому что оно имеет открытый исходный код и у него намного меньше свойств по сравнению с ядром Windows. С другой стороны, у Windows было столько вправок и переделывании за последние годы, в результате чего многое изменилось. Мы сконцентрируемся только на Windows 10 x86, хотя более ранние версии не намного отличаются. Есть огромное количество блогов по PEB LDR, но нет ни одного, который бы логически объяснял его важность. Многие люди просто вскользь упоминают windbg и думают, что вы моментально поймете выходной буфер. Основная причина, почему я решил написать этот блог, это пройти от С до ASM и понять, как это работает в бэкенде, когда Shellcoding в ASM x86.

Читать статью https://codeby.net/threads/windows-shellcoding-x86-poisk-kernel32-dll-chast-1-perevod.69678/

#ShellCode
​​Windows Shellcoding x86 – функции вызова в Kernel32.dll – часть 2 [Перевод]

В предыдущей части мы нашли адрес Kernel32.dll, проходя через LDR структуру. В этой части мы сконцентрируемся на нахождении адреса функций (известных как DLL символы) в Kernel32.dll и вызовем их путем предоставления аргументов. Одним из методов вызова этих символов является использование LoadLibraryA с целью нахождения адреса этих символов от Kernel32.dll. Однако, мы этого делать не будем, т.к. это слишком легко. Основная цель моей серии блогов является помочь людям понять, как именно работает код сборки, чтобы было легко писать нулевой шелл-код для любой функции, которая им нужна. В этой части я объясню, как написать шелл-код для GetComputerNameA, и мы пройдемся по нашему исполняемому файлу в дизассемблере x32dbg, чтобы посмотреть имя хоста компьютера, на котором он запущен.

Читать статью полностью: https://codeby.net/threads/windows-shellcoding-x86-funkcii-vyzova-v-kernel32-dll-chast-2-perevod.69693/

#asm #assembler #shellcode #windows10