36
Penetration testing за глупци

Penetration testing for dummies

Embed Size (px)

Citation preview

Page 1: Penetration testing for dummies

Penetration testing

за глупци

Page 2: Penetration testing for dummies

КСТ ТУ 2006-2010

МБА ТУ 2015-2017*

3xCCNP Cisco Systems 2008-2010

CEH and CISSP trained HP 2010-2011

Webmaster Evolink 2008-2010

Information Security Officer Nokia, Ericsson 2010-2012

Бизнес консултант Philips, Pfizer 2012-2015

CTO CodeRunners 2012 +

$ whoami

Page 3: Penetration testing for dummies

Бермудски триъгълник на сигурността

УдобноЗащитено

Скъпо

Page 4: Penetration testing for dummies
Page 5: Penetration testing for dummies

Защо все пак е важно да сме защитени?

Source: http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/

Page 6: Penetration testing for dummies

Защо все пак е важно да сме защитени?

Source: IBM X-Force report, http://www.foerderland.de/fileadmin/pdf/IBM_XForce_Report_2016.pdf

Page 7: Penetration testing for dummies
Page 8: Penetration testing for dummies

35%от пробивите се случват през уеб приложения

Кой каза web?

Защо?По-лесен достъп.

Page 9: Penetration testing for dummies

Sensitivity loss = # of records stolen * sensitivity of leaks

1. Email address/Online information 2. SSN/Personal details 3. Credit card information 4. Email password/Health records 5. Full bank account details

Web Data Breaches

Source: http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/

Page 10: Penetration testing for dummies

Как помага един penetration test?

Създава условия на „реалистична заплаха“

Тества системите за отговор – автоматизираните, аналитичните

и реакционните

Позволява временно да се разменят ролите с „лошите“

Убеждава екипа, че не трябва да има лесно уязвими точки:

o Философията на weakest link

o Философията на low hanging fruit

Page 11: Penetration testing for dummies

Видовете penetration testPe

net

rati

on

tes

tin

g

Black BoxBrute force атака срещу цялата

инфраструктура, с надежда да бъде открита уязвимост

Защитава до 72% от атаките*Открива 20% от уязвимостите

Много бавен, често автоматизиран. За добър резултат е нужно да

наемете световни имена – иначе рискувате пропуски.

White BoxПроверяващият получава пълен

достъп до сорс кода, софтуерната архитектура и инфраструктурата

Бърз, изчерпателен, много скъп -защото изисква много повече

работа на ръка. 95% от уязвимостите!

Трябва да имате пълно доверие на проверяващия: той вече знае

всичките ви тайни.

Gray Box Лимитирано знание на тестера за архитектурата на апликацията.

Хибриден подход, опитващ да комбинира предимствата на

предишните два метода.25-50% от уязвимостите.

Page 12: Penetration testing for dummies

Ефективност на penetration test

Black Box

Gray Box

50%

White Box

Отк

ри

ти с

лаб

ост

и

Разходи

Page 13: Penetration testing for dummies

Типове penetration test

Penetration testing по тип

Мрежови атаки

Computer Network Exploitation (C/I)

Firewall

IPS

DNS атаки

Non-web апликации

Computer Network Attack (A)

Firewall

IPS

DNS атаки

Non-web апликации

Client-sideапликации

Социално инженерство

Phishing

Dumpster Diving

Имперсонализация

Заплахи

Уеб апликация

Page 14: Penetration testing for dummies

Типове penetration test

Penetration testing по тип

Мрежови атаки

Computer Network Exploitation (C/I)

Firewall

IPS

DNS атаки

Non-web апликации

Computer Network Attack (A)

Firewall

IPS

DNS атаки

Non-web апликации

Client-sideапликации

Социално инженерство

Phishing

Dumpster Diving

Имперсонализация

Заплахи

Уеб апликация

Page 15: Penetration testing for dummies

Планът

•Secure Development Lifecycle

Secure coding

•Как създавате сървър (виртуализация / хостинг / ?

•Какви допълнителни услуги/софтуер имате на сървъра?

•Имате ли политика на пачване?

Защитен сървър•Колко разнородна е

инфраструктурата?

•Следите ли – и колко ефективно – уязвимостите

Защитена инфраструктура

•Автоматиочен scanning

•Ръчна валидация на откритите уязвимости

•Процес и време за отстраняване

Вътрешен одит•Колко авторитетен е

вендорът?

•Колко доверие му имате?

•Колко ресурси сте склонни да отделите (хора, пари, време)?

Външен одит

Page 16: Penetration testing for dummies
Page 17: Penetration testing for dummies

Планът

•Secure Development Lifecycle

Secure coding

•Как създавате сървър (виртуализация / хостинг / ?

•Какви допълнителни услуги/софтуер имате на сървъра?

•Имате ли политика на пачване?

Защитен сървър•Колко разнородна е

инфраструктурата?

•Следите ли – и колко ефективно – уязвимостите

Защитена инфраструктура

•Автоматиочен scanning

•Ръчна валидация на откритите уязвимости

•Процес и време за отстраняване

Вътрешен одит•Колко авторитетен е

вендорът?

•Колко доверие му имате?

•Колко ресурси сте склонни да отделите (хора, пари, време)?

Външен одит

Continuous compliance

Page 18: Penetration testing for dummies

„The more input you collect, the larger the attack surface”

Уеб апликацияВходни данни

Отговор

Page 19: Penetration testing for dummies

OWASP Top 10

Page 20: Penetration testing for dummies

Secure Coding: Top 15 уязвимости vs.

OWASP Top 10

Cross Site Scripting (XSS) Cross Site Request Forgery (CSRF) Path Traversal (Redirects and Forwards) Information Disclosure Authentication / Управление на сесиите (SQL) Injection Качване на файлове External Entity Injection (XXE) Управление на пароли Authorization (Missing Function Level Access Control) Canocalization, locale и UNICODE Error handling, auditing и logging Using Components with Known Vulnerabilities Insecure Direct Object References Security Misconfiguration

Source: SecConsult, OWASP Top10

И в двете бази данни Top 15 OWASP Top 10

Page 21: Penetration testing for dummies

Input validation, output sanitization

Уеб апликацияВходни данни

Отговор

Inp

ut valid

ation

Ou

tpu

t sa

nit

izat

ion

Как да валидираме? https://www.owasp.org/index.php/Web_Application_Penetration_Testing

On the server side:•Always be as strict as possible:•Validate input based on regex or whitelists•Sanitize user output ()•Validation / Sanitization rule is dependent on context!•Do not rely on any user supplied values!•Validate the content of the uploaded file against the specified mime-type•Check the maximum file size beforehand•Never execute user supplied files directly•Do not store uploaded file in a web-accessible folder•Recreate binary data of images (if possible)•Use random filenames instead of the user provided

• Be aware of DOM based XSSIf required, do:• Clients side validation of user data• Client side sanitization of user data

• Know your JavaScript framework• Use provided validation classes• Use provided filter classes• Don‘t make false assumptions

Page 22: Penetration testing for dummies
Page 23: Penetration testing for dummies

Какво предотвратихме дотук?

Cross Site Scripting (XSS) Cross Site Request Forgery (CSRF) Path Traversal (Redirects and Forwards) Information Disclosure Authentication / Управление на сесиите (SQL) Injection Качване на файлове External Entity Injection (XXE) Управление на пароли Authorization (Missing Function Level Access Control) Canocalization, locale и UNICODE Error handling, auditing и logging Using Components with Known Vulnerabilities Insecure Direct Object References Security Misconfiguration

Source: SecConsult, OWASP Top10

И в двете бази данни Top 15 OWASP Top 10Input validation fixOutput sanitation fixSecure Coding fix

Page 24: Penetration testing for dummies
Page 25: Penetration testing for dummies
Page 26: Penetration testing for dummies

Планът

•Secure Development Lifecycle

Secure coding

•Как създавате сървър (виртуализация / хостинг / ?

•Какви допълнителни услуги/софтуер имате на сървъра?

•Имате ли политика на пачване?

Защитен сървър•Колко разнородна е

инфраструктурата?

•Следите ли – и колко ефективно – уязвимостите

Защитена инфраструктура

•Автоматиочен scanning

•Ръчна валидация на откритите уязвимости

•Процес и време за отстраняване

Вътрешен одит•Колко авторитетен е

вендорът?

•Колко доверие му имате?

•Колко ресурси сте склонни да отделите (хора, пари, време)?

Външен одит

Continuous compliance

Page 27: Penetration testing for dummies

Self-service pentest tools

Page 28: Penetration testing for dummies

Wireshark

• Следи целия L2/L3 трафик на мрежовата карта• HTTP(S)• Всичко

останало

• Sniffing – не модифицира заявки

• Не декриптира HTTPS

Page 29: Penetration testing for dummies

Zed Attack Proxy

• Java-базирано (платформено агностично) прокси; ефективно MitM• След като научи credentials, може да crawl-ва цели апликации

(може и да се ограничи по домейн)• Web sockets• OWASP tool

Page 30: Penetration testing for dummies

Burp Suite

• ZAP еквивалент• Поддържа се от едноименната компания, има комерсиална част

Page 31: Penetration testing for dummies

Xenotix XSS Exploit Framework

• XSS detection & exploitation, 4800+ exploits• Лесно създаване на PoC• OWASP tool

Page 32: Penetration testing for dummies

Не-безплатни, не-отворени алтернативи

• Acunetix• Вградена приоритизация на уязвимостите, която работи• Предложения за разрешаване на проблема• Sensing на използвания framework, специфични уязвимости и съвети• Има и скенер на мрежата • Windows

• IBM App Scanner• Индустриален, корпоративен стандарт• Windows

• Nexpose• Силно ограничена безплатна фунционалност

• Qualis Guard (Qualis)• Cloud-based

• Web Inspect (HP)

Page 33: Penetration testing for dummies

Планът

•Secure Development Lifecycle

Secure coding

•Как създавате сървър (виртуализация / хостинг / ?

•Какви допълнителни услуги/софтуер имате на сървъра?

•Имате ли политика на пачване?

Защитен сървър•Колко разнородна е

инфраструктурата?

•Следите ли – и колко ефективно – уязвимостите

Защитена инфраструктура

•Автоматиочен scanning

•Ръчна валидация на откритите уязвимости

•Процес и време за отстраняване

Вътрешен одит•Колко авторитетен е

вендорът?

•Колко доверие му имате?

•Колко ресурси сте склонни да отделите (хора, пари, време)?

Външен одит

Continuous compliance

Page 34: Penetration testing for dummies

Минимална чеклиста, оптимална

чеклиста

Резулати от автоматизирано тестване Анализ и валидация на автоматизирания тест Ръчно открити уязвимости и PoC code Рапорт, приоритизация на рисковете и препоръки

Риск scoring методология и сравнение с други играчи в индустрията Система за управление на рисковете Повторен тест след като отстраните уязвимостите Обучение по security awareness (Spear)Phishing тест на екипа Социално инженерство DDoS моделиране

Page 35: Penetration testing for dummies
Page 36: Penetration testing for dummies

https://www.code-runners.com

Въпроси и контакт