Top Banner
Penetration testing за глупци
36

Penetration testing for dummies

Jan 22, 2018

Download

Internet

Code Runners
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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

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