ВАЖНО Учимся обходить детект антивирусов - Часть 1.


pastorok

Пользователь
Форумчанин
Регистрация
04.02.2015
Сообщения
33
Репутация
19
странно, еслиб ты кодил микроконтроллеры то было бы понятно. А так от функционального стиля только голова болит, и багов больше. Я не столь узконаправлен. Кодирую GUI и боты для сайтов. Но ведь static метод работает также быстро
 

virt

Просветленный
Просветленный
Регистрация
24.11.2016
Сообщения
706
Репутация
228
странно, еслиб ты кодил микроконтроллеры то было бы понятно.
Ну как-бы ими и занимаюсь, я не малварьщик, мне просто интересны эти технологии, но к сожалению, а может даже и к счастью каких-то супер работ и нет, да и знаний как-бы тоже в этой области не много...

Но хочу сказать, что сейчас что-бы что-то добиться как-раз и нужно развиваться в какой-то отдельной теме, та-же малварь достаточно узконаправленная специализация.

А из того-что я видел, когда разбирал семплы, как-раз серьёзные работы - Это в основном низкоуровневый коденг, используется в основном си и вставки на ассемблере, очень часто используют среду Visual Studia 6 по мойму, но не самую новую почему-то...

Дело в том, что винда как-раз и написана, как минимум ядро точно на классическом си и асме, эти языки используются для разработки ОС, микроконтроллеров и т.д.

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

В этом есть небольшеё сходство с кодингом для какой-то железки, правда сходство только в том-что что и там и там нужно знать и понимать низкоуровневые механизмы, а так совсем разные направления...:)

Ну и последнее хочу сказать, то-что если не комерс, то многим кто изучает не для комерса, а для искусства, как-раз и интересны эти низкоуровневые технологии в малвари, хотя-бы то-что написано в этой статье и во второй части, на основе этих знаний можно много-чего расширить в своих работах ! :)

А-так если просто нужно сделать по быстрому "на отъебись", то-да есть С# с обфускаторами, тоже палева не будет так-то, ну или то-что вы предложили на QT бинарник в 20 метров, но всё это не тру, хотя "хомяки" схавают возможно.

А так такой ещё момент, что-да в большинстве случаев низкоуровневый коденг весьма узконаправлен и мало где нужен сейчас, по причине что это используется:

1. Для разработки каких-то устройсв, но если живёте в РФ, мало где есть такие компании;

2. Для разработки своих ОС, опять-таки мало где-это нужно и особенно в РФ не жалуют таких специалистов.

3. Да к сожалению для разработки малвари, но опять-таки нужно иметь базу знаний соответствующую, да и знать куда и как приминить эту малварь, к тому-же нужно желание возиться в этой "чернушке", мне например стрёмно...:(

Если говорить про вакансии, то думаю 70% всех наверное вакансии "программиста", это "С#", "1С", "PHP и веб" и как правило многие заинтересованы получить знания именно там в приоритете, поэтому специалистов умеющих хорошо кодить на низкоуровневых языках уменьшается, либо они переквалифицируются в другие направления ! :(

В комерсе малвари примерно то-же самое, идут по лёгкому пути, вместо того что-бы разобраться и сделать качественно, лепят батники, часто неработоющие сборки РМС и т.д.

С# ещё не самое стрёмное в этом всем гомнисце, хотя тоже калл ещё-тот ! :(

Хотя учитывая контингент который в комерсе, ничего другова я и не ожидал, скажу честно, без обид, если кто продаёт малварь здесь ! :)
 

pastorok

Пользователь
Форумчанин
Регистрация
04.02.2015
Сообщения
33
Репутация
19
как по мне Qt это как расширение стандартной библиотеки языка "C". Методы - функции принимающие указатель на структуру. Конструкции языка - макросы.
Возможно дауншифтинг это тоже тру.
 

virt

Просветленный
Просветленный
Регистрация
24.11.2016
Сообщения
706
Репутация
228
как по мне Qt это как расширение стандартной библиотеки языка "C".
Думаю что вы не правы, QT это IDE в которой свой API, вообще QT изначально создавался для облегчения создания гуя под линукс...

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

Но мы сейчас-же обсуждаем малварь, причём малварь под винду, и QT ну никак не приспособлен для написания малвари...:)

И причём тут дауншифтинг, видно вы даже не представляете что такое низкоуровневый коденг, это целый мир, там свои технологии на изучение которых жизни не хватит ! :)
 

pastorok

Пользователь
Форумчанин
Регистрация
04.02.2015
Сообщения
33
Репутация
19
А-так если просто нужно сделать по быстрому "на отъебись", то-да есть С# с обфускаторами,
любой овощ откроет через .NET Reflector и скажет что это вирус. Мусор также спалится.
кстати, в Qt небольшие строки кода могут сгенерировать груду машинного кода, так что реверсеры будут довольны. Также жаль ассемблерщиков, палят свой сорец.
еще можно покатать свой Qt код по компиляторам, с разными настройками оптимизации. Скомпилить под линукс. Гдето видел макросы заставляющие компиляторы морфить машинный код, получается кучаговна которую нереально понять
 
Последнее редактирование:

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
получается кучаговна которую нереально понять
Ну а-что мешает самому генерировать код, самое простое, пишите генератор случайных чисел, далее случайно генерируете функции с мусорным кодом, который тоже генерируется по определённому алгоритму и случайно...

Т.е. у вас генератор случайных чисел от 0 до 10, если 0-ль, то вызывается функция f0, которая генерирует код и вызывает функцию f7 (В зависимости какое число сгенерит генератор), функция f7 опять генерирует мусорный код и вызывает уже другую функцию, в итоге получим простейший генератор мусорного кода в своей программе...

Видел такое где-то, в реализации нетак сложно так-то, но это простейший вариант, наверное самый простой ! :)
 

Indy

Уважаемый пользователь
Форумчанин
Регистрация
21.01.2015
Сообщения
277
Репутация
105
Стыдно должно быть за такие "статьи". Видимо у школоты мотивация не на матчасть, а на пиар. Сам факт того, то автор статьи считает примитив который опубликовал, достойным публикации и актуальным характеризует его, никакой инфы полезной в тех плане не имеет.
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Indy, а что конкретно не понравилось ?

Вот оригинал здесь, не я автор статьи:

Есть ещё часть два:ВАЖНО - Учимся обходить детект антивирусов - Часть 2 – Внедрение бэкдора в PE-файл

Вообще лучше-бы писали, если возможно, что конкретно нетак в статье (Ошибки и т.д.), а так статья расчитана именно на новичков, где рассмотрены основные понятия и т.д., что-то более сложное смысла постить тут на форуме нет, ибо мало кто поймёт и не будет не одного коммента, скучно ! :(
 

0x0

VIP
VIP
Регистрация
01.09.2016
Сообщения
11
Репутация
8
любой овощ откроет через .NET Reflector и скажет что это вирус. Мусор также спалится.
А что не так с .Net? Сейчас идет в составе винды, есть почти везде. Многие игры его требуют. Никаких dll тащить с собой не надо. Если код обработать нормальным обфускатором, то "овощ" ничего не поймет, а в некоторых случаях и Reflector открыть не сможет. Виндовое апи удобно обернуто, в некоторых случаях одна строчка заменяет пол экрана текста работы с апи напрямую. Можно достаточно быстро написать бота. А работать с памтью в "ручном" режиме там, где это надо. А если совсем обнаглеть, то можно и WCF использовать для простоты передачи команд :) И да, так как многие используют обфускаторы, то пофиг на размер стаба в крипторе :) Если только забить на стабомерянье ради ЧСВ
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
6 082
Репутация
8 199
Интересно, кто отписал, а вы хоть бегло читали статью ?

Про QT этот товарищь бред написал, есть такая вещь как "Энтропия", что это такое прочитайте в статье, так-вот если энтропия слишком большая, то ваша поделка только по этому показателю будет задетектена...:)

В частности поэтому и важен вес стаба в крипторе.

Чем плох Нет ? Если исключить платформенную зависимость, разная версия винды, может по разному влиять на поведения вашей программы, так и крипторы на нет, не все файлы может криптовать...:(

Плюс, если почитаете статью, антивирусы отслеживают API, также как и мониторят циклы распаковки, по простому они начинают проверять когда вирус уже распакован в памяти и на таком фреймворке как .NET это тяжело обойти, да на VT может и не будет детекта, но при запуске наверное 70% всех крипторов либо детектятся, либо тупо падают...:)
 
Верх Низ