• XSS.stack #1 – первый литературный журнал от юзеров форума

Как выстроить путь в MalDev без копипасты ?

Пожалуйста, обратите внимание, что пользователь заблокирован
Оу шит хир ви гоу эген... Два основных тезиса: (1) RAII - как часть ООП полезна везде (в том числе и шеллкодах) и в большей мере прекрасно работает без стандартных библиотек, а в Цэ (к сожалению) до сих пор defer statement никак не доедет; и (2) можно сколько угодно заниматься процедурным программированием небольших утилит на коленке, но когда проект большой и его нужно поддерживать долгое время - абстракции и архитектура необходимы, чтобы не обосраться, а ООП для этого вполне подходит. Ну и да, не путайте теплое с желтым, STL - это не ООП, как ООП - это не STL, "си с классами" - такой же ООП, и вас никто не заставляет использовать ООП полностью.
 
Оу шит хир ви гоу эген... Два основных тезиса: (1) RAII - как часть ООП полезна везде (в том числе и шеллкодах) и в большей мере прекрасно работает без стандартных библиотек, а в Цэ (к сожалению) до сих пор defer statement никак не доедет; и (2) можно сколько угодно заниматься процедурным программированием небольших утилит на коленке, но когда проект большой и его нужно поддерживать долгое время - абстракции и архитектура необходимы, чтобы не обосраться, а ООП для этого вполне подходит. Ну и да, не путайте теплое с желтым, STL - это не ООП, как ООП - это не STL, "си с классами" - такой же ООП, и вас никто не заставляет использовать ООП полностью.
Вот чтобы это понимать и нужно учить ООП, чтобы было осознание, где ты себе сможешь архитектурно облегчить жизнь, а где нет
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Урок первый: не запоминай коды, а понимай их

Здравствуйте! Христос воскрес!
Я новичок в C, изучаю его уже несколько недель и стремительно продвигаюсь.
Моя конечная цель — не просто учиться ради интереса, а серьёзно освоить разработку вредоносного ПО в рамках Red Team и MalDev.
Я начал проходить курсы MalDev Academy, но без твёрдого плана обучения становится сложно:


Я не хочу быть скрипт-кидди — мне важно понимать каждую функцию, каждый шаг.
Но сейчас я не знаю, какие темы приоритетны, в каком порядке их изучать и как выстроить путь.
Мне нужен совет опытных разработчиков:
 — С чего лучше начинать?
 — Какой план развития подойдёт, чтобы двигаться уверенно и без пробелов?
 — Какие ресурсы реально полезны, а какие — трата времени?


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

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

Куда интереснее смотреть на современные подходы, которые пусть и кажутся старичкам бредом - вон на питоне такие приколы выкидывают, что сидишь и думаешь, как вообще это срабатывает и почему ав не реагируют
Да даже из относительно недавнего - бум на малварь написанную на Go, к примеру

Си, плюсы это все классно, но мир не застрял в 2007 как бы нам этого не хотелось
Так что лучше изучать современные кейсы и придумывать свои, а не слепо полагаться на наработанные десятилетиями и известные уже всем методы
 
Внесу свои пять копеек - лично мне кажется, что вся эта наработанная десятилетиями база и стандарты разработки малвари уже себя исчерпали - все ваши х32 сишные нативные бинарники не импортирующие никаких функций и имеющие собственную реализацию всех базовых плюсовых фишек стали куда палевнее, чем написанный по современным стандартам код, пусть и вредоностный
Аверы уже по умолчанию косо смотрят на такие бинарники, как ты их не упаковывай
Нужен альтернативный подход - косить поведением под белый софт, а не плясать вокруг попыток скрыть чернуху

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

Куда интереснее смотреть на современные подходы, которые пусть и кажутся старичкам бредом - вон на питоне такие приколы выкидывают, что сидишь и думаешь, как вообще это срабатывает и почему ав не реагируют
Да даже из относительно недавнего - бум на малварь написанную на Go, к примеру

Си, плюсы это все классно, но мир не застрял в 2007 как бы нам этого не хотелось
Так что лучше изучать современные кейсы и придумывать свои, а не слепо полагаться на наработанные десятилетиями и известные уже всем методы
Сказано по сути, но малварь это имхо лоулевел - а корячиться с ним в юзыках отличных от цэ\с++ так себе затея (мазахизм)
Для небольших боевых модулей цэ
Для больших проектов (именно боевая часть) - с++

Малварь на питоне - имеет место быть, как и на павершеле, но скорее в связке с другими модулями на других яп

Малварь это не только ехе\длл\драйвер, это и шеллкод в том числе
Я лично похехаю увидев шеллкод написанный на голенге или расте, а учитывая сколько придется изгаляться для его написания...
Зачем шеллкод? Ну например для легкого запуска на том же петоне или павершеле, так как иначе могут возникнуть проблемы с загрузкой

Обработка импортов, тлс, сех и тд - и то не гарантирует 100% загрузки, самый легитный вариант это хук функций в процессе загрузки левой длл (HookPe)
А реализовать такое на питоне\павершеле в целом нельзя, если только тащить шеллкод-лоадер пе файлов (ну вот и вернулись к истокам - це)

По поводу стандартов малвари х32 - отчасти да, 32 битный системы редкость в наше время - но кто знает, возможно в компании N стоит комп на 32 битной семерке с важной информаций?)

Посмотрите новости, под х64 выпускают разные обновы, ранпе пофиксили спустя 15 лет то, а в х32 работает
Есть много разных приколов в х32, а если быть точнее - в симуляции вов64
 
Последнее редактирование:
Давно не было такой темы, давайте по новой обсудим почему нужно учить Си в 25 году, и все такое.
Я думаю, петона и чат_гпт достаточно.
Малварь на питоне :)
 
x86 системы часто распространены в корп. сегменте, есть серваки, которые не обновляются десятилетиями. Малварь на то и малварь, что должна работать всегда и везде, поэтому поддержка х86 будет хорошим тоном. Малварь пишется по тем же принципам, что и белый enterprise софт. Важно выстроить норм архитектуру, чтобы софт можно было поддерживать в долгосрочной перспективе. Стек разработки не важен и выбирается под каждую задачу индивидуально, я бы не акцентировал внимание на сиплюсах, или же наоборот питонах/голангах, а выбирал то что позволит быстро и качественно написать необходимое в контексте конкретного кейса. Универсального решения нет
 
В любом случае, на данный момент меня вполне устраивает язык C. Какой бы язык я ни выбрал для изучения, всегда найдутся люди, которые посоветуют изучать что-то другое. Но сейчас моя цель — именно язык C. Когда я хорошо его освою, а также низкоуровневое программирование, возможно, перейду на что-то другое.
Я просил совета о том, как лучше учиться, а не что учить. Я никого не хочу обидеть — просто хочу дать понять, что на данный момент я сознательно выбрал язык C, а не другой.
 
Малварь на питоне :)
Хиханьки хаханьками, но ведь аверы не палят, и обфусцировать можно очень даже хорошо

x86 системы часто распространены в корп. сегменте, есть серваки, которые не обновляются десятилетиями. Малварь на то и малварь, что должна работать всегда и везде, поэтому поддержка х86 будет хорошим тоном.
Именно так
 
Пожалуйста, обратите внимание, что пользователь заблокирован
обфусцировать можно очень даже хорошо
Забавно, но последний раз, когда я смотрел обфусцированный код на Петухоне, он был просто 6 раз подряд обернут в b64decode и exec. Понятно, что можно сделать и нормальный обфусктатор, вопрос в том, будет ли этот кастомный нормальный обфускатор делать автор малвари на Петухоне. Скорее он возьмет что-то готовое и публичное, к чему уже могут быть готовые деобфускаторы или описанные подходы, как упростить реверсинг, ну или просто накрутит какой-то чуши вокруг exec'а, которую в принципе можно и автоматом решить, через хук последнего.
 
Забавно, но последний раз, когда я смотрел обфусцированный код на Петухоне, он был просто 6 раз подряд обернут в b64decode и exec. Понятно, что можно сделать и нормальный обфусктатор, вопрос в том, будет ли этот кастомный нормальный обфускатор делать автор малвари на Петухоне. Скорее он возьмет что-то готовое и публичное, к чему уже могут быть готовые деобфускаторы или описанные подходы, как упростить реверсинг, ну или просто накрутит какой-то чуши вокруг exec'а, которую в принципе можно и автоматом решить, через хук последнего.
Скрытый контент для пользователей: .
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Haunt, в целом нет, тк я довольно далек от темы малвари на Петухонах, я только для гуишек использовал и для микросервисов. Идея странная, в теории возможная, но тебе придется грузить пешку в ихний загрузчик целиком, и даже если она не останется где-то несобранной гц висеть в памяти, ее скорее всего можно будет перехватить на момент загрузки с помощью отладки или хуками самого загрузчика.

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

Интересная тема, когданибудь надо будет протестить
 
Какие можно почитать книги/другие сурсы по WinAPI? (Желательно на великом и могучем и не слишком древние).
ChatGPT, релевантней выдачи под свой вопрос не найдешь
 
ChatGPT, релевантней выдачи под свой вопрос не найдешь
grok получше будет
 
Какие можно почитать книги/другие сурсы по WinAPI? (Желательно на великом и могучем и не слишком древние).
bing copilot тоже неплохо расписывает. Кстати имба при реализации алгоритмов разного толка в том числе и сложных по блоксхемам.
 
Какие можно почитать книги/другие сурсы по WinAPI? (Желательно на великом и могучем и не слишком древние).
Windows Internals, Windows Native API Programming
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх