SlideShare une entreprise Scribd logo
1  sur  28
Ataki po stronie klienta w
publicznych punktach
dostępowych
Paweł Rzepa
Agenda
• Kim jestem
• Zarys problemu
• Środowisko testowe
• SSLstrip
• SSLsplit
• Metody obrony przed atakami MitM
• Dnsspoof
• Złośliwy kod w Captive Portals
• Wnioski
• Dla zainteresowanych
Kim jestem?
• Specjalista ds. bezpieczeństwa w organizacji
EY.
• Na co dzień zajmuję się szukaniem podatności
w wewnętrznych aplikacjach EY.
• Kontakt: pawel.rzepa@outlook.com
https://pl.linkedin.com/pub/pawel-rzepa/5b/696/532
Zarys problemu, czyli skąd pomysł na
tą prezentację?
• Mit 1. Jak aplikacja działa na HTTPS to niemożliwe są
ataki MitM.
• Mit 2. Jeżeli aplikacja używa flagi secure to niemożliwe
są ataki MitM.
Niestety nie zawsze jest to prawdą! A ponadto:
• Większość aplikacji, które testuję zezwalają na
transmisję HTTP (poprzez wymuszenie http:// w
adresie, lub zmianę User Agent) i/lub nie mają
zaimplementowanej flagi secure.
Flaga secure
• Atrybut „secure” w nagłówku Set-Cookie wymusza
użycie protokołu HTTPS do transmisji ciasteczek.
Więcej o implementacji flagi secure: https://www.owasp.org/index.php/SecureFlag
Środowisko testowe – WiFi Pineapple
• To zwyczajny Router WiFi z niezwyczajnym soft’em
Więcej na https://www.wifipineapple.com/
WiFi Pineapple – połączenie z
Internetem
• Może korzystać z Internetu mobilnego (modem 3/4G)
• Może pracować jednocześnie jako klient innego AP i
rozgłaszać swoją sieć.
• Może w ogóle nie mieć podłączenia do Internetu i
dalej być wartościowy.
WiFi Pineapple – połączenie z klientem
• Rozgłaszanie otwartej sieci WiFi pod zachęcającą
nazwą (np. „Miejski Internet”).
• Fałszywy AP – podstawienie pod istniejącą sieć.
• Podszycie się pod sieć szukaną przez urządzenie
końcowe (Karma).
SSLstrip
• SSLstrip po prostu wymusza przekierowanie
żądania na port HTTP.
• Wciąż możliwe w niektórych aplikacjach.
SSLstrip
• Przykład:
SSLstrip
• I jeszcze jeden...
SSLsplit
• SSL/TLS proxy.
• Przedstawia się klientowi dynamicznie
wygenerowanym certyfikatem.
• Nie działa na portale, używające HSTS, ale...
SSLsplit
• ...nie wszystkie portale używają HSTS...
Co jest nie tak? Co robić? Jak żyć?!
• Stosować nagłówek HTTP Strict Transport Security
(HSTS). Wymusza transmisję HTTPS oraz nie zezwala
na akceptację niezaufanego certyfikatu.
Co jest nie tak? Co robić? Jak żyć?!
• Stosować Certificate Pinning – „na sztywno”
przypisany certyfikat do klienta (aplikacji
mobilnej, przeglądarki). Połączenie jest
ustanowione tylko gdy certyfikat jest zaufany.
• Stosować tylko certyfikaty podpisane przez
zaufane Certificate Authority – piękne, ale czy
realne?
Chain of trust
• Hierarchicznie Certificate Authority gwarantują, że dany
certyfikat jest prawdziwy.
• Podpisanie certyfikatu wiąże się z dodatkowymi kosztami,
dlatego nie każdy decyduje się na ten krok (powszechny
problem w aplikacjach mobilnych).
Czy grozi nam coś jeszcze?
• Załóżmy, że mamy to wszystko – czy grozi nam jeszcze jakieś
niebezpieczeństwo?
• Odp: Oczywiście 
• Dnsspoof
• Captive Portals ze złośliwym kodem
• Podatności w samym SSL (więcej na ten temat
https://www.digicert.com/cert-inspector-
vulnerabilities.htm#certificate_vulnerabilities)
• Podatności w TLS, czyli Key Compromise Impersonation (więcej
https://kcitls.org/)
• Podstawienie plików aktualizacyjnych na złośliwe (np. peinjector
https://peinjector.eu/ czy evilgrade
http://www.infobyte.com.ar/down/isr-evilgrade-Readme.txt)
Dnsspoof – stary, ale wciąż jary!
• Czyli przekierowanie dowolnej nazwy domeny
na kopię własnej strony.
Dnsspoof
Dnsspoof
Obrona prrzed Dnsspoof
• HTTPS w adresie!
• VPN z proxy z przypisanym DNS (np. korporacyjny VPN)
• Mimo to zawsze ktoś się nabierze 
Captive Portals z BeEF hook
• Captive Portal czyli strona, która wyświetli się jako
pierwsza zanim nastąpi przekierowanie na żądaną
stronę.
Captive Portals z BeEF hook
• Nic nie stoi na przeszkodzie, aby umieścić tam
dowolny kod, np. BeEF hook.js 
Captive Portals z BeEF hook
Captive Portals z BeEF hook
Obrona przed złośliwym kodem na
Captive Portals
• Wyłączona obsługa skryptów?
• Chrome extension?
http://blog.cylance.com/vegan-chrome-
extension-to-defeat-beef
• Zaktualizowana przeglądarka + zdrowy
rozsądek 
Wnioski
• Komunikacja nieszyfrowana to zeszła epoka!
• Szyfrowanie to metoda na ataki MitM, ale tylko jeśli jest
WŁAŚCIWIE zaimplementowane!
• Sama flaga secure to za mało. Należy ją uzupełnić o
nagłówek HSTS!
• Stosuj certificate pinning!
• Multi-factor Authentication do poufnych operacji!
• Duża ostrożność w stosowaniu publicznych punktów
dostępu!
• Wyłącz łączenie się przez WiFi jeśli z niego nie korzystasz!
Dla zainteresowanych tematem
• Wszystko, co powinieneś wiedzieć o komunikacji
szyfrowanej:
https://www.owasp.org/index.php/Transport_Layer_Protec
tion_Cheat_Sheet
• Dobrze wytłumaczone działanie HSTS:
http://sekurak.pl/hsts-czyli-http-strict-transport-security/
• Ataki na Pineapple też są możliwe:
http://www.networkworld.com/article/2462478/microsoft-
subnet/hacker-hunts-and-pwns-wifi-pineapples-with-0-day-
at-def-con.html

Contenu connexe

Tendances

CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...PROIDEA
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITKamil Grabowski
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławTomasz Dziuda
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Tomasz Dziuda
 
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPROIDEA
 
Wielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziWielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziThe Software House
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front enduTomasz Dziuda
 

Tendances (7)

CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
CONFidence 2018: "Small money, a lot of bugs" - Large scale bughunting dla ty...
 
Ansible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań ITAnsible - Automatyzacja zadań IT
Ansible - Automatyzacja zadań IT
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł StefańskiPLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
PLNOG16: Integracja Ceph w OpenStack - status i przyszłość, Paweł Stefański
 
Wielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziWielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludzi
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front endu
 

Similaire à Ataki po stronie klienta w publicznych punktach dostępowych

HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohateraHordeTechnology
 
10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowaniaSecuRing
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech DworakowskiPROIDEA
 
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...PROIDEA
 
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego kodu
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego koduPLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego kodu
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego koduPROIDEA
 
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSLJak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL👨🏻‍💻 Albert Wolszon
 
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10Ideo Sp. z o.o.
 
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009Logicaltrust pl
 
Malware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiMalware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiSecuRing
 
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaLeszek Mi?
 
Piątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPPiątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPXSolve
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Logicaltrust pl
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnychSlawomir Jasek
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnychSecuRing
 
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...PROIDEA
 
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comNGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comLeszek Mi?
 
Space Wars Hack - Class #1
Space Wars Hack - Class #1Space Wars Hack - Class #1
Space Wars Hack - Class #1Piotr Pawlak
 
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue TeamuPiotr Kaźmierczak
 
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...ecommerce poland expo
 

Similaire à Ataki po stronie klienta w publicznych punktach dostępowych (20)

HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohatera
 
10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania10 przykazań bezpiecznego programowania
10 przykazań bezpiecznego programowania
 
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
 
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...JDD 2017:  Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
JDD 2017: Bezpieczny wypoczynek - czyli uwierzytelnianie RESTa (Krzysztof Be...
 
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego kodu
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego koduPLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego kodu
PLNOG19 - Sebastian Pasternacki - Wykrywanie złośliwego kodu
 
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSLJak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL
Jak w łatwy sposób zintegrować stronę z Cloudflare? - czyli darmowe SSL
 
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10
Hackowanie webaplikacji – ofensywa programisty na przykładzie OWASP TOP 10
 
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009
Bezpieczenstwo Portali Spolecznosciowych W Ujeciu Robakow Web 20 Pingwinaria2009
 
Malware vs autoryzacja transakcji
Malware vs autoryzacja transakcjiMalware vs autoryzacja transakcji
Malware vs autoryzacja transakcji
 
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-PolskaModsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
 
Piątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPPiątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTP
 
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
 
Iron Python I Dlr
Iron Python I DlrIron Python I Dlr
Iron Python I Dlr
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych
 
(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych(Nie)bezpieczenstwo aplikacji mobilnych
(Nie)bezpieczenstwo aplikacji mobilnych
 
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
 
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.comNGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
 
Space Wars Hack - Class #1
Space Wars Hack - Class #1Space Wars Hack - Class #1
Space Wars Hack - Class #1
 
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu
 
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...
III Targi eHandlu: CertyfikatySSL.pl Bezpieczeństwo danych w sklepie internet...
 

Plus de Pawel Rzepa

Attacking aws workshops - teaser
Attacking aws workshops - teaserAttacking aws workshops - teaser
Attacking aws workshops - teaserPawel Rzepa
 
Hunting for the secrets in a cloud forest
Hunting for the secrets in a cloud forestHunting for the secrets in a cloud forest
Hunting for the secrets in a cloud forestPawel Rzepa
 
Aws(in)security - the devil is in the detail
Aws(in)security - the devil is in the detailAws(in)security - the devil is in the detail
Aws(in)security - the devil is in the detailPawel Rzepa
 
Owasp for testing_mobile_apps_opd
Owasp for testing_mobile_apps_opdOwasp for testing_mobile_apps_opd
Owasp for testing_mobile_apps_opdPawel Rzepa
 
Fuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugsFuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugsPawel Rzepa
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10Pawel Rzepa
 

Plus de Pawel Rzepa (6)

Attacking aws workshops - teaser
Attacking aws workshops - teaserAttacking aws workshops - teaser
Attacking aws workshops - teaser
 
Hunting for the secrets in a cloud forest
Hunting for the secrets in a cloud forestHunting for the secrets in a cloud forest
Hunting for the secrets in a cloud forest
 
Aws(in)security - the devil is in the detail
Aws(in)security - the devil is in the detailAws(in)security - the devil is in the detail
Aws(in)security - the devil is in the detail
 
Owasp for testing_mobile_apps_opd
Owasp for testing_mobile_apps_opdOwasp for testing_mobile_apps_opd
Owasp for testing_mobile_apps_opd
 
Fuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugsFuzzing underestimated method of finding hidden bugs
Fuzzing underestimated method of finding hidden bugs
 
Owasp mobile top 10
Owasp mobile top 10Owasp mobile top 10
Owasp mobile top 10
 

Ataki po stronie klienta w publicznych punktach dostępowych

  • 1. Ataki po stronie klienta w publicznych punktach dostępowych Paweł Rzepa
  • 2. Agenda • Kim jestem • Zarys problemu • Środowisko testowe • SSLstrip • SSLsplit • Metody obrony przed atakami MitM • Dnsspoof • Złośliwy kod w Captive Portals • Wnioski • Dla zainteresowanych
  • 3. Kim jestem? • Specjalista ds. bezpieczeństwa w organizacji EY. • Na co dzień zajmuję się szukaniem podatności w wewnętrznych aplikacjach EY. • Kontakt: pawel.rzepa@outlook.com https://pl.linkedin.com/pub/pawel-rzepa/5b/696/532
  • 4. Zarys problemu, czyli skąd pomysł na tą prezentację? • Mit 1. Jak aplikacja działa na HTTPS to niemożliwe są ataki MitM. • Mit 2. Jeżeli aplikacja używa flagi secure to niemożliwe są ataki MitM. Niestety nie zawsze jest to prawdą! A ponadto: • Większość aplikacji, które testuję zezwalają na transmisję HTTP (poprzez wymuszenie http:// w adresie, lub zmianę User Agent) i/lub nie mają zaimplementowanej flagi secure.
  • 5. Flaga secure • Atrybut „secure” w nagłówku Set-Cookie wymusza użycie protokołu HTTPS do transmisji ciasteczek. Więcej o implementacji flagi secure: https://www.owasp.org/index.php/SecureFlag
  • 6. Środowisko testowe – WiFi Pineapple • To zwyczajny Router WiFi z niezwyczajnym soft’em Więcej na https://www.wifipineapple.com/
  • 7. WiFi Pineapple – połączenie z Internetem • Może korzystać z Internetu mobilnego (modem 3/4G) • Może pracować jednocześnie jako klient innego AP i rozgłaszać swoją sieć. • Może w ogóle nie mieć podłączenia do Internetu i dalej być wartościowy.
  • 8. WiFi Pineapple – połączenie z klientem • Rozgłaszanie otwartej sieci WiFi pod zachęcającą nazwą (np. „Miejski Internet”). • Fałszywy AP – podstawienie pod istniejącą sieć. • Podszycie się pod sieć szukaną przez urządzenie końcowe (Karma).
  • 9. SSLstrip • SSLstrip po prostu wymusza przekierowanie żądania na port HTTP. • Wciąż możliwe w niektórych aplikacjach.
  • 12. SSLsplit • SSL/TLS proxy. • Przedstawia się klientowi dynamicznie wygenerowanym certyfikatem. • Nie działa na portale, używające HSTS, ale...
  • 13. SSLsplit • ...nie wszystkie portale używają HSTS...
  • 14. Co jest nie tak? Co robić? Jak żyć?! • Stosować nagłówek HTTP Strict Transport Security (HSTS). Wymusza transmisję HTTPS oraz nie zezwala na akceptację niezaufanego certyfikatu.
  • 15. Co jest nie tak? Co robić? Jak żyć?! • Stosować Certificate Pinning – „na sztywno” przypisany certyfikat do klienta (aplikacji mobilnej, przeglądarki). Połączenie jest ustanowione tylko gdy certyfikat jest zaufany. • Stosować tylko certyfikaty podpisane przez zaufane Certificate Authority – piękne, ale czy realne?
  • 16. Chain of trust • Hierarchicznie Certificate Authority gwarantują, że dany certyfikat jest prawdziwy. • Podpisanie certyfikatu wiąże się z dodatkowymi kosztami, dlatego nie każdy decyduje się na ten krok (powszechny problem w aplikacjach mobilnych).
  • 17. Czy grozi nam coś jeszcze? • Załóżmy, że mamy to wszystko – czy grozi nam jeszcze jakieś niebezpieczeństwo? • Odp: Oczywiście  • Dnsspoof • Captive Portals ze złośliwym kodem • Podatności w samym SSL (więcej na ten temat https://www.digicert.com/cert-inspector- vulnerabilities.htm#certificate_vulnerabilities) • Podatności w TLS, czyli Key Compromise Impersonation (więcej https://kcitls.org/) • Podstawienie plików aktualizacyjnych na złośliwe (np. peinjector https://peinjector.eu/ czy evilgrade http://www.infobyte.com.ar/down/isr-evilgrade-Readme.txt)
  • 18. Dnsspoof – stary, ale wciąż jary! • Czyli przekierowanie dowolnej nazwy domeny na kopię własnej strony.
  • 21. Obrona prrzed Dnsspoof • HTTPS w adresie! • VPN z proxy z przypisanym DNS (np. korporacyjny VPN) • Mimo to zawsze ktoś się nabierze 
  • 22. Captive Portals z BeEF hook • Captive Portal czyli strona, która wyświetli się jako pierwsza zanim nastąpi przekierowanie na żądaną stronę.
  • 23. Captive Portals z BeEF hook • Nic nie stoi na przeszkodzie, aby umieścić tam dowolny kod, np. BeEF hook.js 
  • 24. Captive Portals z BeEF hook
  • 25. Captive Portals z BeEF hook
  • 26. Obrona przed złośliwym kodem na Captive Portals • Wyłączona obsługa skryptów? • Chrome extension? http://blog.cylance.com/vegan-chrome- extension-to-defeat-beef • Zaktualizowana przeglądarka + zdrowy rozsądek 
  • 27. Wnioski • Komunikacja nieszyfrowana to zeszła epoka! • Szyfrowanie to metoda na ataki MitM, ale tylko jeśli jest WŁAŚCIWIE zaimplementowane! • Sama flaga secure to za mało. Należy ją uzupełnić o nagłówek HSTS! • Stosuj certificate pinning! • Multi-factor Authentication do poufnych operacji! • Duża ostrożność w stosowaniu publicznych punktów dostępu! • Wyłącz łączenie się przez WiFi jeśli z niego nie korzystasz!
  • 28. Dla zainteresowanych tematem • Wszystko, co powinieneś wiedzieć o komunikacji szyfrowanej: https://www.owasp.org/index.php/Transport_Layer_Protec tion_Cheat_Sheet • Dobrze wytłumaczone działanie HSTS: http://sekurak.pl/hsts-czyli-http-strict-transport-security/ • Ataki na Pineapple też są możliwe: http://www.networkworld.com/article/2462478/microsoft- subnet/hacker-hunts-and-pwns-wifi-pineapples-with-0-day- at-def-con.html