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

Малварь на Go, python и новые технологии. Почему нельзя ?

Реализуй мне малварь на голанге, которую ты сможешь нормально монентизировать. Кроме локера. У тебя вероятнее всего ничего не выйдет, т.к всё упрётся в вес и трафферы не будут грузить твоё чудо :)
Если монетизация не связана с продажами - то реализовал.
 
Кстати какие 10-15 мегабайт, это что-же надо с кодом делать такое, что-бы такой вес был.

Максимум 500Кб., и-то это можно ужать до 200Кб.

Не более...

Все это адекватный вполне-себе вес.)))

Какие-то ужасы вы рассказываете, не пугайте меня...:oops:
 
Кстати какие 10-15 мегабайт, это что-же надо с кодом делать такое, что-бы такой вес был.

Максимум 500Кб., и-то это можно ужать до 200Кб.

Не более...

Все это адекватный вполне-себе вес.)))

Какие-то ужасы вы рассказываете, не пугайте меня...:oops:
все дело в том что тут срач, а не обсуждение, и утрирование, а не аргументы.
 
Кстати какие 10-15 мегабайт, это что-же надо с кодом делать такое, что-бы такой вес был.

Максимум 500Кб., и-то это можно ужать до 200Кб.

Не более...

Все это адекватный вполне-себе вес.)))

Какие-то ужасы вы рассказываете, не пугайте меня...:oops:
сам хз, откуда у него получился такой вес :)
вы даже не хотите признать одной маленькой детали - а именно трудозатраты на код - не приносят денег - если они не реализуются в проект который будет зарабатывать эти деньги. коль скоро мы будем обсуждать что я написал стиллер на голанге и это говнокод, то давайте просто возьмем на вскидку то что на голанге невозможно написать говнокод, как бы ты это не старался сделать, это особенность языка, выстрелить себе в ногу очень сложно. второе, тот же стиллер в легкую может занимать 15 мб на жеском диске
видимо, всё-таки удалось выстрелить себе в ногу.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Можешь, разрешаю.
Пишите малварь на яваскрипт, тяните на машину ноде.жс и запускайте. И проще, и авера заодно обойдете.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Можешь, разрешаю.
Пишите малварь на яваскрипт, тяните на машину ноде.жс и запускайте. И проще, и авера заодно обойдете.
А касательно голанга? Я вижу в нём только один минус - вес.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
А касательно голанга? Я вижу в нём только один минус - вес.
Не писал на нем ни разу, поэтому хз.
Там можно кодить зеро-рантайм, т.е. полностью отделить стандартную либу, как в Си? Если нет, то значит уже плохо.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Не писал на нем ни разу, поэтому хз.
Там можно кодить зеро-рантайм, т.е. полностью отделить стандартную либу, как в Си? Если нет, то значит уже плохо.
Можно вместо стандартной либы юзать винапи. У меня есть желание написать что-то подобное на го, но что-то времени не нахожу для этого. Мне кажется тогда можно будет уложиться в 500-1000 кб
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Можно вместо стандартной либы юзать винапи
Я немного не про то. Смотри, в Си (или Паскаль) ты можешь написать код, который не будет тянуть за собой разную ерунду, попросту говоря будет примерно тоже, что и на асме (но лучше оптимизировано). Почему это важно в малвари? Потому что такой код (в теории) можно преобразовать в ШК, или банально загрузить в память (мы же малварь пишем, а не калькуляторы, надо учитывать крипторы и прочее). Если взять, допустим, стандартный ехе с новой студии, со всеми этими _except_handler4, CFG, и проч. и проч. Никакой пе лоадер это не осилит, во-первых некоторые вещи нужно делать вообще из ядра, а во-вторых - посмотри на квалификацию криптовщиков, там пздц же если честно. Допустим, в студии мы все отключили, а если стандартная либа не отключается и тянет за собой какие-то нюансы? Вот тут важно , можно ли в GO убрать такое, есть там оно вообще или нет, какие получаются бинарники.
 
Quake3, на го такое не сделать.
Да, такое делать, чистый си + асм идеальный вариант.

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

В этом минусы конечно, но плюсы у вас получится образ мега оптимизированный, с минимальным и весом и там будет только что нужно вам. Короче крутяк.)))
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Я немного не про то. Смотри, в Си (или Паскаль) ты можешь написать код, который не будет тянуть за собой разную ерунду, попросту говоря будет примерно тоже, что и на асме (но лучше оптимизировано). Почему это важно в малвари? Потому что такой код (в теории) можно преобразовать в ШК, или банально загрузить в память (мы же малварь пишем, а не калькуляторы, надо учитывать крипторы и прочее). Если взять, допустим, стандартный ехе с новой студии, со всеми этими _except_handler4, CFG, и проч. и проч. Никакой пе лоадер это не осилит, во-первых некоторые вещи нужно делать вообще из ядра, а во-вторых - посмотри на квалификацию криптовщиков, там пздц же если честно. Допустим, в студии мы все отключили, а если стандартная либа не отключается и тянет за собой какие-то нюансы? Вот тут важно , можно ли в GO убрать такое, есть там оно вообще или нет, какие получаются бинарники.
На голанге, к сожалению, не получится написать полностью чистый бинарник. Го имеет сборщик мусора, который никак не убрать, он тянет за собой много всякой дряни, необходимой для работы. Компилятор нормально всё это дело собирает в один бинарник, без нужды таскать с собой сторонние либы.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Ну тут необходимо понимать, если вы и либ. си уберете, вам нужно реализовывать работу со своими строками, памятью и прочее-прочее...)
В малваре обычно так и делают, ну по крайней мере я всегда кодил без црт (и те, на кого я ориентировался).
Го имеет сборщик мусора, который никак не убрать, он тянет за собой много всякой дряни, необходимой для работы.
Как с криптом? Можешь сделать для теста простой хелловорлд на Go, интересно посмотреть.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В малваре обычно так и делают, ну по крайней мере я всегда кодил без црт (и те, на кого я ориентировался).

Как с криптом? Можешь сделать для теста простой хелловорлд на Go, интересно посмотреть.
Скрытый контент для зарегистрированных пользователей.

xss.pro

Там простой мессаджбокс, исходник в архиве. Вес около 700 кб, под upx до 300 кб ужимается
 
вообще не понимаю смысла срача, если честно. Сейчас необходимо использовать инструменты цепочкой. Это тренды и все такое. Если вы посмотрите популярные APT, то там никто не грузит PE, который под 15 метров. Он может быть под 15 метров. Это не вопрос. Другой вопрос в доставке. Что мешает написать loadpe шк который подтянет в рантайме с сервера 15 метровый код. Если речь про связки как говорилось выше - опять же цепочка - грузани ты ехе обертку весом пару десятку кб. Которая уже после попадания со связки на пк - загрузит остальное. Нужен ли нейтив в таком случае? Да нужен. Но не для всей малвари целиком, а лишь для критического участка. И целый лоадер бабахать на нейтиве при таком расскладе - какой смысл. Или допустим, если дроп позволителен. - возьми jscript или hta. И через ActiveX скачай и запусти нужный, 15 метровый код в бекграунде. А js файл будет измеряться в десятке кб. В один стейдж доставку делают кретины. JScript(в hta, js, chm форматах и не только в таких) -> PWSH -> loadpe. И при такой схеме вообще поебать на каких технологиях написан код, который грузится в рантайме. Важно - человекочасы на поддержу. И стабильность.
 
Там простой мессаджбокс, исходник в архиве. Вес около 700 кб, под upx до 300 кб ужимается
Не некруто.:(

Даже на мессаджбокс например у нода уже детект.)))

Интересно, если пересобрать, то детект пропал.))))
В архиве также упаковал в RunPe.

Динчек:

1)То-что запокавал ранпе (Без антиэмуляции и т.д.):

2)Твой вариант:

Залил тестовые семплы (Пакованный и пересобранный):https://anonfiles.com/32I5k7A0oa/Release_zip

Пароль:111
 
вообще не понимаю смысла срача, если честно. Сейчас необходимо использовать инструменты цепочкой. Это тренды и все такое. Если вы посмотрите популярные APT, то там никто не грузит PE, который под 15 метров. Он может быть под 15 метров. Это не вопрос. Другой вопрос в доставке. Что мешает написать loadpe шк который подтянет в рантайме с сервера 15 метровый код. Если речь про связки как говорилось выше - опять же цепочка - грузани ты ехе обертку весом пару десятку кб. Которая уже после попадания со связки на пк - загрузит остальное. Нужен ли нейтив в таком случае? Да нужен. Но не для всей малвари целиком, а лишь для критического участка. И целый лоадер бабахать на нейтиве при таком расскладе - какой смысл. Или допустим, если дроп позволителен. - возьми jscript или hta. И через ActiveX скачай и запусти нужный, 15 метровый код в бекграунде. А js файл будет измеряться в десятке кб. В один стейдж доставку делают кретины. JScript(в hta, js, chm форматах и не только в таких) -> PWSH -> loadpe. И при такой схеме вообще поебать на каких технологиях написан код, который грузится в рантайме. Важно - человекочасы на поддержу. И стабильность.
само по себе сначала сделать билд 15 мб, а потом думать, как его грузить - неправильный путь. хз откуда берутся идеи грузить такие объёмы напрямую. без натива и лоу левела здесь никак не обойтись.
ну а loadpe шк, wsh/ps - это стандартик :) про преймущества в рантайме вообще говорить не приходится, живёшь в доверенных процессах, мигрируешь куда хочешь без (почти) какого-либо внимания со стороны ав :) дальше уже грузи всё что хочешь. пацаны из тао вообще не заморачиваются и заливают своим таргетам по 50 - 100 метров кошерных модулей. там вплоть до интерпретатора lua :)
 
А кто запрещает? Пиши на чем тебе угодно. Просто уровень абстракций современных языков (go, rust) не позволяет делать это так удобно, как на сишке. А скриптовые языки требуют тащить за собой интерпретатор. Хотя если взять lua, там размер небольшой и liblua можно заихнуть куда угодно, затем подтягивая модули из скриптов.

Но си - высокоуровневый язык. А в го/расте доступ к памяти в "unsafe".
Мне кажется ты кроме скринов кода с растом, с ним в жизни не работал, ибо то что ты написал никак вообще не коррелирует с реальностью. На расте можно писать такой же процедурный код как и на си, и так же легко вызывать asm код. Размер кода на расте тоже такой же как и на си, стилак можно написать вполне спокойно с весом ~50кб без std либы и ~120кб с пересобранной оптимизированной std либой, причем в большинстве случаев имея все memory safety гарантии и прекрасный error handling, что довольно важно в малваре
 
Я немного не про то. Смотри, в Си (или Паскаль) ты можешь написать код, который не будет тянуть за собой разную ерунду, попросту говоря будет примерно тоже, что и на асме (но лучше оптимизировано). Почему это важно в малвари? Потому что такой код (в теории) можно преобразовать в ШК, или банально загрузить в память (мы же малварь пишем, а не калькуляторы, надо учитывать крипторы и прочее). Если взять, допустим, стандартный ехе с новой студии, со всеми этими _except_handler4, CFG, и проч. и проч. Никакой пе лоадер это не осилит, во-первых некоторые вещи нужно делать вообще из ядра, а во-вторых - посмотри на квалификацию криптовщиков, там пздц же если честно. Допустим, в студии мы все отключили, а если стандартная либа не отключается и тянет за собой какие-то нюансы? Вот тут важно , можно ли в GO убрать такое, есть там оно вообще или нет, какие получаются бинарники.
Именно поэтому го никак для малвари не подойдет, мальвар с встроенным сборщиком мусора это вообще больше на прикол похоже конечно. А вот на rust, как раз можно собрать бинарник без какого-либа рантайма, плюс есть zero-cost абстракции которые намного облегчают жизнь и не добавляют всякой ерунды в твой

Для примера, я как-то изучал Rust и неделю писал реализацию односвязного списка.)))
Для сравнения на си напишу, ну минут за тридцать, там с отладкой, а-то и быстрее...)

Ну тут ты конечно все очень сильно утрируешь, в раст буке имеется готовая реализация linkedlist, и там же имеется раздел где все очень хорошо расписано об смарт пойнтерах, хватит и двух часов чтоб разобраться в самых дефолтных смарт пойнтерах по типу Box, Rc, RefCell. Во многих мальварях вообще можно обойтись и без них. И на крайняк LinkedList реализация есть готовая, которую можно использоваться в no std environment, просто указав свой аллокатор для него. Ну и если кто-то поклоник unsafe кода, то реализацию Linkedlist можно написать также на raw pointers и будет такой же как и в сях
 
Скрытый контент для зарегистрированных пользователей.

Мне кажется ты кроме скринов кода с растом, с ним в жизни не работал, ибо то что ты написал никак вообще не коррелирует с реальностью. На расте можно писать такой же процедурный код как и на си, и так же легко вызывать asm код. Размер кода на расте тоже такой же как и на си, стилак можно написать вполне спокойно с весом ~50кб без std либы и ~120кб с пересобранной оптимизированной std либой, причем в большинстве случаев имея все memory safety гарантии и прекрасный error handling, что довольно важно в малваре
Вот неплохой видеоролик, где показывается преимущество C++ над Rust:
Короче говоря, Rust еще сыроват :)
P.S. просто для общего развития
 


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