No dobra.
To teraz na jakim protokole stawiamy serwer? Przy C++ie i XMPP będzie trzeba trochę się pomęczyć. Tlen działa na zamkniętym protokole Jabbera, więc raczej odpada. W ostateczności można opanować protokół gg, ale z nim lubią bywać problemy (jak z samym komunikatorem).
// Edit
Moja cudowna lista prac:
Kod:
Ogólny zarys projektu:
- opcje trojana
- komunikacja (wiadomości klient-serwer)
- konfiguracja (klasa konfiguracji i dane w niej zawarte)
Projekt serwera:
- protokół (XMPP?)
- sposób instalacji (ścieżka [C:\%userprofile%\<podawane przy konfiguracji>] - ewentualnie podpięcie pod jakiś inny program z autostartem, usługa)
- czy ma działać za podaniem hasła (? - jak coś to hasło hashowane dwukrotnie w md5;P)
- budowa kodu serwera (Proponuję stworzyć klasę Server, a do niej wrzucić wszystkie nasze metody [później ustalimy co i jak])
- funkcje serwera (żeby szło się podzielić robotą i jako tako zgrać;) )
Projekt klienta wydaje mi się, że najlepiej będzie jak zaproponuje ktoś z grupy Delphi.
No to po kolei:
Opcje trojana - proponuję żeby każdy podał kilka swoich takich, żebyśmy dali radę je obkodzić. Jeśli jakaś opcja wydaje się być zbędna, albo coś to warto to omówić. Kilka opcji z mojej strony:
- przesyłanie plików klien-serwer i na odwrót
- wyłączenie/restart kompa
- <strike>zabawa z tacką cdromu</strike>
- <strike>bomba okienkowa (taki śmieszny skrypt batcha: :loop; start %1; goto loop) - niemal natychmiast zwiesza kompa i nie pozwala się wyłączyć (testowałem ;P)</strike>
- <strike>gaszenie/włączanie monitora (ztestuję na xp, na Viście może nie ruszyć)</strike>
- <strike>zmiana tapety pulpitu (j.w.)</strike>
- <strike>"szalona mysz" - co 100 ms kursor znajduje się w innym punkcie</strike>
- <strike>można też się pokusić o chowanie paska zadań/przycisku menu start. (na Viście mi działać nie chciało)</strike>
- pobiera tytuł aktywnego okna
- chowa aktywne okno
- najróżniejsze komunikaty
- uruchamianie plików/programów/stron internetowych
Propozycje Gondollera:
- harvest danych o sprzęcie na którym został zainstalowany;
- przeglądanie dysków;
- zarządzanie procesami w systemie;
- zarządzanie rejestrem systemowym;
- pobieranie haseł znajdujących się w pamięci podręcznej;
- przechwytywanie pakietów;
- możliwość użycia pluginów ( w przyszłości tongue.gif)
- hook na klawiaturę /może także mysz;
- możliwość pacnięcia screena i wysłania razem z logami na maila/ftp
- możliwość spięcia zainfekowanych komputerów jako zombi - może sie przydać tongue.gif
Propozycje THC_Flowa:
- ukrywanie, blokowanie, zamykanie (itd) okien.
Propozycja adikx'a:
- sniffing gg
Komunikacja - przypuszczam, że zostaniemy przy XMPP. Trzeba będzie przetwarzać trochę tekstu, ale zarwie się noc i powinno wszystko działać. Wiadomości przesyłane między klientem, a serwerem będą z góry ustalone jako polecenia "ukryjOkno" (ew. jedziemy po angielsku - "hideWindow"). Ustalimy wszystkie jak uzgodnimy listę opcji. Ewentualnie dojdą kolejne przy kodzeniu.
Konfiguracja - obiekt klasy Config (nie wiem jak to będzie w Delphi) zapisany na końcu pliku nowego serwera. Wg. mnie powinien zawierać pola:
- isPassword:bool - serwer ma reagować na hasło, czy od razu udostępniać opcje "zabawy"
- password:char*/string - 2x md5-owane hasło podane przy konfiguracji, jeśli nieaktywne - puste
- fileName:char*/string - nazwa pliku w C:\%userprofile%\. Myślę, że %userprofile% nadaje się najlepiej, ponieważ większość userów ma tam dostęp, nawet jeśli posiadają jakieś ograniczenia (np. w szkole).
Jak wyglądają wasze propozycje i uwagi?