Tabnabbing pozwala skutecznie atakować użytkowników większości publicznych stron. Wykorzystuje funkcjonalność przeglądarek, która jest dostępna już od kilkunastu lat. Dzięki przekierowaniu na wybraną przez siebie stronę, atakujący zyskuje możliwość przeprowadzenia całego spektrum innych ataków.
Mimo, że zapobieganie atakowi przez Tabnabbing jest trywialne, większość producentów aplikacji lekceważy zagrożenie i nie wprowadza odpowiednich zabezpieczeń.
W czasie prelekcji Michał i Dominik opowiedzieli na czym polega Tabnabbing, jak zabezpieczyć swoje aplikacje oraz przedstawili prosty scenariusz ataku.
2. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Tabnabbing – bug czy feature
twojej przeglądarki?
Dominik Młynek
Michał Witas
Quality Meetup #17, Katowice
3. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Agenda - szybka i prosta
1. O nas
2. Teoria
3. Praktyka
4. Heheszki
5. Koniec
4. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Kim jesteśmy?
● Security Engineer, szkoleniowiec
w Future Processing
● Piechur
● Wspinacz
● Spadochroniarz
● Offensive Security Certified
Professional
Michał Witas
5. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
● Security Engineer w Future
Processing
● Pasjonat programowania,
● Piłki nożnej,
● Wycieczek górskich
Kim jesteśmy?
Dominik Młynek
7. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Czym jest tabnabbing?
Tabnabbing jest techniką phishingową, w której
atakujący, przy nieuwadze użytkownika,
podmienia zawartość zakładki na potencjalnie
szkodliwą.
8. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Źródło wszelkiego zła
<a href="http://atacker.com"
target="_blank">SUPERB LINK!</a>
10. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
window.opener - historia
● DOM Level 0 - “nieoficjalny” model DOM przeglądarki Netscape Navigator 3
(release: październik 1996)
● Nie stanowi oficjalnego standardu W3C
● Zaimplementowany we wszystkich innych, znanych przeglądarkach
internetowych
12. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
A może by tak...
window.opener.location = 'http://attacker.com';
window.opener.location.assign('http://attacker.com');
13. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
A może by tak...
window.opener.location = 'http://attacker.com';
window.opener.location.assign('http://attacker.com');
14. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Poprawki: rel=”noopener”
Przeglądarka Zgłoszono Poprawka Ticket
Chrome
2013-01-09
Chrome 49
2016-03-03
Chromium Monorail
#168988
Opera
Opera 36
2016-03-07
Mozilla Firefox 2015-11-06
Firefox 52
2017-03-07
Bugzilla
#1222516
Safari 2016-03-08
Safari 10.1
2017-03-27
WebKit Bugzilla
#155166
Microsoft Edge 2016-03-15 ???
Windows Developer Feedback
#12942405
17. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jak się bronić? Microsoft edge
18. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jak podnieść skuteczność ataku?
● Podstawa social engineering - Domain Typo
○ faebook.com
○ tacebook.com
○ facenook.com
○ faceb0ok.com
○ fabceook.com
● Monitorowanie braku aktywności użytkownika
● CSS History Mining
19. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Zastosowanie
Kradzież tożsamości
20. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Zastosowanie
Kradzież danych
21. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Zastosowanie
Deface
22. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Zastosowanie
Malware / Ransomware
23. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Nie używaj target="_blank"
○ Bo tak chcesz/tak jest fajnie
○ Żeby użytkownicy nie opuścili Twojej strony
○ Linki zewnętrzne
○ Linki do PDFa/Worda/Excela
○ Twój klient tak chce
○ Strony typu Infinite-scroll
Jak się bronić? (Jako developer)
24. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jeżeli naprawdę musisz użyć target="_blank" -
koniecznie dodaj rel="noopener"
○ Użytkownik odtwarza multimedia (film, podcast)
○ Użytkownik może stracić wprowadzone dane
○ Użytkownik używa (starego) programu który wymaga target="_blank"
Jak się bronić? (Jako developer)
25. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Dodawaj rel="noopener"do każdego
niezaufanego linka
Jak się bronić? (Jako developer)
26. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jak się bronić (jako użytkownik)?
Manager haseł
27. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jak się bronić (jako użytkownik)?
Szczególna ostrożność
28. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Jak się bronić (jako użytkownik)?
...i dobry manager haseł.
29. Dominik Młynek, Michał Witas, Quality Meetup #17, Katowice, 24.05.2018
Linki
● https://html.spec.whatwg.org/multipage/links.html#link-type-noopener
● https://caniuse.com/#feat=rel-noopener
● https://mathiasbynens.github.io/rel-noopener/
● https://css-tricks.com/use-target_blank/