SlideShare une entreprise Scribd logo
1  sur  22
Еще один недостаток
современных клиент-серверных
приложений
Антон Сапожников
• Антон Сапожников
• Занимаюсь тестированиями на
проникновение больше 6 лет
• CTF player MoreSmokedLeetChicken
– DEFCON, CODEGATE, HITB,…
• KPMG
О чем?
• Рассмотрю типовую задачу, возникающую
на пентестах
• Обсудим возможные варианты её решения
• Поделюсь своими tips & tricks
Постановка задачи
• Корпоративная среда
• Получен удаленный доступ к рабочей
станции пользователя
• Пользователь работает с толстым клиентом
СУБД/АБС/….
• Как получить доступ к данным в СУБД?
Простые решения
• Понаблюдать за экраном пользователя
• metasploit->meterpreter->screenspy|vnc
Простые решения.2
• Не увидел ничего на экране пользователя?
Используй клавиатурный шпион!1
+ metasploit->meterpreter->keylogrecorder
– глюкавый
– нужно ждать…. иногда очень долго
+ можно «убить» приложение
• Поискать в файлах пользователя:
– C:usersuser1Desctoppass.xls
– C:Program FilesMy ProgramData*.*
Не очень простые решения
снять дамп памяти приложения
• meterpreter->memdump
• meterpreter->memory_grep
Pros:
В памяти можно найти:
– паролиимена пользователей
– конфигурации
– куски данных
Cons:
– большие объем данных для анализа
– только текущие данные пользователя
– непонятно что и где искать?
Не очень простые решения.2
Перехват сетевого трафика
• windump*sniff
Pros:
В трафике можно найти:
– паролиимена пользователей
– данные запрашиваемые пользователем
Cons:
– большие объем данных для анализа
– только текущие данные пользователя
– непонятно что и где искать?
– данные могут быть зашифрованы
А что если?
• Паролиключи в памяти не хранятся
• Паролейключей в конфигурационных
файлах нет
• Сетевой трафик шифруется
• К серверу доступ разрешен только с
некоторых ip адресов, и нашего в этом
списке нет
• Реализована двухфакторная
аутентификация
Что делать?
• Хучить (hook) функции работы с сервером в
клиентском приложении
<…>
h = connect(database,username,pass,…);
r = query(h, ‘select PAN, HNAME from CARDS’);
<…>
Как делать?
• Перехват функций работы с сокетами
+ универсальный вариант
– нужно реализовывать протокол
– данные могут быть зашифрованы
• Перехват функций уровня прикладного
протокола или API.
– реализация сильно зависит от приложения
+ удобная работа с сервером
Как делать?.2
Pros:
– Обход ограничений по ip адресам
– Работает в рамках пользовательской сессии, т.е. на
сервере в логах будет только одно соединение
– Обход аутентификации пользователя на сервере
– Обход двухфакторной аутентификации при
установке соединения с сервером
– Незаметно для пользователя атакуемого
приложения
– Возможность напрямую работать с сервером
приложения
Как делать?.3
Cons:
– Зависимость от конкретной версии
приложения
– Права администратора
– SeDebugPrivilege
Например для Oracle
Работа с СУБД Oracle реализованная через OCI.DLL
OCIEnvCreate -> envhp
3xOCIHandleAlloc ->
OCI_HTYPE_ERROR, OCI_HTYPE_SERVER, OCI_HTYPE_SVCCTX,
OCIServerAttach -> srvhp
OCIAttrSet -> OCI_HTYPE_SVCCTX
OCIHandleAlloc -> OCI_HTYPE_SESSION
2xOCIAttrSet -> usernamepass
OCISessionBegin -> svchp
OCIAttrSet -> OCI_HTYPE_SVCCTX
OCIHandleAlloc -> OCI_HTYPE_STMT
OCIStmtPrepare -> stmt
OCIStmtExecute
Например для Oracle.2
– OCIHandleAlloc, дает доступ к envhp
– OCIStmtExecute, дает доступ svchp
– Достаточно корректно перехватить всего два
вызова.
Как перехватить?
– EasyHooking
– DETOURS
– DLL Injection
• http://syprog.blogspot.ru/2012/05/createremotethrea
d-bypass-windows.html
• Начало нужной функции патчим переходом на наш
обработчик
– Your way
Как внедрить?
suspend_all_threads(processId));
remoteAddress = (unsigned
int)VirtualAllocEx(victimProcess, NULL,
sizeof(shellCode), MEM_COMMIT,
PAGE_EXECUTE_READWRITE);
WriteProcessMemory(victimProcess,
(LPVOID)remoteAddress, (LPCVOID)shellCode,
shellCodeSize, &aux));
victimThread = OpenThread(THREAD_ALL_ACCESS,
FALSE, mainThread);
GetThreadContext(victimThread, &ctx);
Как внедрить?.2
WriteProcessMemory(victimProcess, (LPVOID)ctx.Es
p, (LPCVOID)&ctx.Eip, sizeof(unsigned int), &aux);
ctx.Eip = remoteAddress + sizeof(unsigned int);
SetThreadContext(victimThread, &ctx)
resume_all_threads(processId);
Итого
– Шлем запросы прямо в СУБД
– Нет необходимости аутентифицироваться
– Используем уже установленное соединение
…
– Profit!!1!
КОНЕЦ
Антон Сапожников
@snowytoxa

Contenu connexe

Tendances

Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеbeched
 
4.3. Rat races conditions
4.3. Rat races conditions4.3. Rat races conditions
4.3. Rat races conditionsdefconmoscow
 
Как обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииКак обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииNaZapad
 
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервереAndrew Sovtsov
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionAndrew Petukhov
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
 
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
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUBadoo Development
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Ontico
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуPositive Development User Group
 
Анатомия инструментов автоматизации функционального тестирования
Анатомия инструментов автоматизации функционального тестированияАнатомия инструментов автоматизации функционального тестирования
Анатомия инструментов автоматизации функционального тестированияAlexei Barantsev
 
Контроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времениКонтроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времениSQALab
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsAnton Stepanenko
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаSQALab
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Ontico
 

Tendances (18)

Пост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновениеПост-эксплуатация веб-приложений в тестах на проникновение
Пост-эксплуатация веб-приложений в тестах на проникновение
 
4.3. Rat races conditions
4.3. Rat races conditions4.3. Rat races conditions
4.3. Rat races conditions
 
Hl2009 1c Bitrix
Hl2009 1c BitrixHl2009 1c Bitrix
Hl2009 1c Bitrix
 
Как обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендацииКак обезопасить PBN от взлома? Практические рекомендации
Как обезопасить PBN от взлома? Практические рекомендации
 
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
20160316 Работа с подготовленными заранее опросниками, хранимыми на сервере
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter edition
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
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
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
 
Highload 2011-demona
Highload 2011-demonaHighload 2011-demona
Highload 2011-demona
 
Анатомия инструментов автоматизации функционального тестирования
Анатомия инструментов автоматизации функционального тестированияАнатомия инструментов автоматизации функционального тестирования
Анатомия инструментов автоматизации функционального тестирования
 
Контроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времениКонтроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времени
 
Speeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI testsSpeeding up UI tests, profiling of UI tests
Speeding up UI tests, profiling of UI tests
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
 
Кто сказал «WAF»?
Кто сказал «WAF»?Кто сказал «WAF»?
Кто сказал «WAF»?
 

En vedette

24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...Positive Hack Days
 
24may 1600 valday dmitry gutsko 'sap attack methodology'
24may 1600 valday dmitry gutsko 'sap attack methodology'24may 1600 valday dmitry gutsko 'sap attack methodology'
24may 1600 valday dmitry gutsko 'sap attack methodology'Positive Hack Days
 
Nahuel Grisolia. RFID Workshop.
Nahuel Grisolia. RFID Workshop.Nahuel Grisolia. RFID Workshop.
Nahuel Grisolia. RFID Workshop.Positive Hack Days
 
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?Positive Hack Days
 
23may 1745 valday young school ciganok 'statistical analysis for malware clas...
23may 1745 valday young school ciganok 'statistical analysis for malware clas...23may 1745 valday young school ciganok 'statistical analysis for malware clas...
23may 1745 valday young school ciganok 'statistical analysis for malware clas...Positive Hack Days
 
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...Positive Hack Days
 
V defense veniamin levtsov-kl_24 may 2013
V defense veniamin levtsov-kl_24 may 2013V defense veniamin levtsov-kl_24 may 2013
V defense veniamin levtsov-kl_24 may 2013Positive Hack Days
 
24may 1200 valday алексей липунов 'информационная безопасность банков'
24may 1200 valday алексей липунов 'информационная безопасность банков'24may 1200 valday алексей липунов 'информационная безопасность банков'
24may 1200 valday алексей липунов 'информационная безопасность банков'Positive Hack Days
 
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'Positive Hack Days
 
павел коростелев
павел коростелевпавел коростелев
павел коростелевPositive Hack Days
 
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...Positive Hack Days
 
23may 1815 valday young school chechulin 'construction of attack graphs for s...
23may 1815 valday young school chechulin 'construction of attack graphs for s...23may 1815 valday young school chechulin 'construction of attack graphs for s...
23may 1815 valday young school chechulin 'construction of attack graphs for s...Positive Hack Days
 
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяДмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяPositive Hack Days
 
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'Positive Hack Days
 
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...Positive Hack Days
 

En vedette (20)

Phdays
PhdaysPhdays
Phdays
 
Phd13 kotenko
Phd13 kotenkoPhd13 kotenko
Phd13 kotenko
 
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
24may 1600 valday особенности транспортной системы sap 'особенности транспорт...
 
24may 1600 valday dmitry gutsko 'sap attack methodology'
24may 1600 valday dmitry gutsko 'sap attack methodology'24may 1600 valday dmitry gutsko 'sap attack methodology'
24may 1600 valday dmitry gutsko 'sap attack methodology'
 
E potseluevskaya ru
E potseluevskaya ruE potseluevskaya ru
E potseluevskaya ru
 
Nahuel Grisolia. RFID Workshop.
Nahuel Grisolia. RFID Workshop.Nahuel Grisolia. RFID Workshop.
Nahuel Grisolia. RFID Workshop.
 
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?
Алексей Лукацкий. SDLC – блажь, веяние моды или требование регуляторов?
 
23may 1745 valday young school ciganok 'statistical analysis for malware clas...
23may 1745 valday young school ciganok 'statistical analysis for malware clas...23may 1745 valday young school ciganok 'statistical analysis for malware clas...
23may 1745 valday young school ciganok 'statistical analysis for malware clas...
 
Sms bank
Sms bankSms bank
Sms bank
 
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...
23may 1500 valday михаил кадер 'что надо знать о сертификации по общим критер...
 
V defense veniamin levtsov-kl_24 may 2013
V defense veniamin levtsov-kl_24 may 2013V defense veniamin levtsov-kl_24 may 2013
V defense veniamin levtsov-kl_24 may 2013
 
24may 1200 valday алексей липунов 'информационная безопасность банков'
24may 1200 valday алексей липунов 'информационная безопасность банков'24may 1200 valday алексей липунов 'информационная безопасность банков'
24may 1200 valday алексей липунов 'информационная безопасность банков'
 
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
 
Sdlc ph days_2013
Sdlc ph days_2013Sdlc ph days_2013
Sdlc ph days_2013
 
павел коростелев
павел коростелевпавел коростелев
павел коростелев
 
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...
23may 1500 valday трифаленков 'размещение приложений в облачной платформе о7 ...
 
23may 1815 valday young school chechulin 'construction of attack graphs for s...
23may 1815 valday young school chechulin 'construction of attack graphs for s...23may 1815 valday young school chechulin 'construction of attack graphs for s...
23may 1815 valday young school chechulin 'construction of attack graphs for s...
 
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителяДмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
Дмитрий Кузнецов. Сертификация в странах CCRA глазами заявителя
 
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'
24may 1200 valday ольга кочетова'проблемы безопасности атм и способы их решения'
 
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...
24may 1200 valday хохлов андрей 'банковские приложения и киберпреступность – ...
 

Similaire à 23may 1300 valday антон сапожников 'еще один недостаток современных клиент серверных приложений'

еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложенийAlexander Khozya
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиковOlesya Shelestova
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Ontico
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012Mykhail Galushko
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Cоздание приложений со знанием Perl
Cоздание приложений со знанием PerlCоздание приложений со знанием Perl
Cоздание приложений со знанием PerlAnatoly Sharifulin
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программистru_Parallels
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and backqqlan
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...HappyDev
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusCisco Russia
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
 

Similaire à 23may 1300 valday антон сапожников 'еще один недостаток современных клиент серверных приложений' (20)

еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Sivko
SivkoSivko
Sivko
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Руководство по формату событий для разработчиков
Руководство по формату событий для разработчиковРуководство по формату событий для разработчиков
Руководство по формату событий для разработчиков
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012Разработка WinRT приложений для  Windows 8: реальный опыт, UA Mobile 2012
Разработка WinRT приложений для Windows 8: реальный опыт, UA Mobile 2012
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Cоздание приложений со знанием Perl
Cоздание приложений со знанием PerlCоздание приложений со знанием Perl
Cоздание приложений со знанием Perl
 
Что должен уметь Linux программист
Что должен уметь Linux программистЧто должен уметь Linux программист
Что должен уметь Linux программист
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
From ERP to SCADA and back
From ERP to SCADA and backFrom ERP to SCADA and back
From ERP to SCADA and back
 
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
2015-12-06 Евгений Тюменцев - Разработка надежных параллельных, распределенны...
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
 

Plus de Positive Hack Days

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerPositive Hack Days
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikPositive Hack Days
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQubePositive Hack Days
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityPositive Hack Days
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Positive Hack Days
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для ApproofPositive Hack Days
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Positive Hack Days
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложенийPositive Hack Days
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложенийPositive Hack Days
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application SecurityPositive Hack Days
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летPositive Hack Days
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиPositive Hack Days
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОPositive Hack Days
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке СиPositive Hack Days
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CorePositive Hack Days
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опытPositive Hack Days
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterPositive Hack Days
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 

Plus de Positive Hack Days (20)

Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
Методика определения неиспользуемых ресурсов виртуальных машин и автоматизаци...
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»Мастер-класс «Трущобы Application Security»
Мастер-класс «Трущобы Application Security»
 
Формальные методы защиты приложений
Формальные методы защиты приложенийФормальные методы защиты приложений
Формальные методы защиты приложений
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Теоретические основы Application Security
Теоретические основы Application SecurityТеоретические основы Application Security
Теоретические основы Application Security
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 
Требования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПОТребования по безопасности в архитектуре ПО
Требования по безопасности в архитектуре ПО
 
Формальная верификация кода на языке Си
Формальная верификация кода на языке СиФормальная верификация кода на языке Си
Формальная верификация кода на языке Си
 
Механизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET CoreМеханизмы предотвращения атак в ASP.NET Core
Механизмы предотвращения атак в ASP.NET Core
 
SOC для КИИ: израильский опыт
SOC для КИИ: израильский опытSOC для КИИ: израильский опыт
SOC для КИИ: израильский опыт
 
Honeywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services CenterHoneywell Industrial Cyber Security Lab & Services Center
Honeywell Industrial Cyber Security Lab & Services Center
 
Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 

23may 1300 valday антон сапожников 'еще один недостаток современных клиент серверных приложений'

  • 1. Еще один недостаток современных клиент-серверных приложений Антон Сапожников
  • 2. • Антон Сапожников • Занимаюсь тестированиями на проникновение больше 6 лет • CTF player MoreSmokedLeetChicken – DEFCON, CODEGATE, HITB,… • KPMG
  • 3. О чем? • Рассмотрю типовую задачу, возникающую на пентестах • Обсудим возможные варианты её решения • Поделюсь своими tips & tricks
  • 4. Постановка задачи • Корпоративная среда • Получен удаленный доступ к рабочей станции пользователя • Пользователь работает с толстым клиентом СУБД/АБС/…. • Как получить доступ к данным в СУБД?
  • 5. Простые решения • Понаблюдать за экраном пользователя • metasploit->meterpreter->screenspy|vnc
  • 6.
  • 7. Простые решения.2 • Не увидел ничего на экране пользователя? Используй клавиатурный шпион!1 + metasploit->meterpreter->keylogrecorder – глюкавый – нужно ждать…. иногда очень долго + можно «убить» приложение • Поискать в файлах пользователя: – C:usersuser1Desctoppass.xls – C:Program FilesMy ProgramData*.*
  • 8. Не очень простые решения снять дамп памяти приложения • meterpreter->memdump • meterpreter->memory_grep Pros: В памяти можно найти: – паролиимена пользователей – конфигурации – куски данных Cons: – большие объем данных для анализа – только текущие данные пользователя – непонятно что и где искать?
  • 9. Не очень простые решения.2 Перехват сетевого трафика • windump*sniff Pros: В трафике можно найти: – паролиимена пользователей – данные запрашиваемые пользователем Cons: – большие объем данных для анализа – только текущие данные пользователя – непонятно что и где искать? – данные могут быть зашифрованы
  • 10. А что если? • Паролиключи в памяти не хранятся • Паролейключей в конфигурационных файлах нет • Сетевой трафик шифруется • К серверу доступ разрешен только с некоторых ip адресов, и нашего в этом списке нет • Реализована двухфакторная аутентификация
  • 11. Что делать? • Хучить (hook) функции работы с сервером в клиентском приложении <…> h = connect(database,username,pass,…); r = query(h, ‘select PAN, HNAME from CARDS’); <…>
  • 12.
  • 13. Как делать? • Перехват функций работы с сокетами + универсальный вариант – нужно реализовывать протокол – данные могут быть зашифрованы • Перехват функций уровня прикладного протокола или API. – реализация сильно зависит от приложения + удобная работа с сервером
  • 14. Как делать?.2 Pros: – Обход ограничений по ip адресам – Работает в рамках пользовательской сессии, т.е. на сервере в логах будет только одно соединение – Обход аутентификации пользователя на сервере – Обход двухфакторной аутентификации при установке соединения с сервером – Незаметно для пользователя атакуемого приложения – Возможность напрямую работать с сервером приложения
  • 15. Как делать?.3 Cons: – Зависимость от конкретной версии приложения – Права администратора – SeDebugPrivilege
  • 16. Например для Oracle Работа с СУБД Oracle реализованная через OCI.DLL OCIEnvCreate -> envhp 3xOCIHandleAlloc -> OCI_HTYPE_ERROR, OCI_HTYPE_SERVER, OCI_HTYPE_SVCCTX, OCIServerAttach -> srvhp OCIAttrSet -> OCI_HTYPE_SVCCTX OCIHandleAlloc -> OCI_HTYPE_SESSION 2xOCIAttrSet -> usernamepass OCISessionBegin -> svchp OCIAttrSet -> OCI_HTYPE_SVCCTX OCIHandleAlloc -> OCI_HTYPE_STMT OCIStmtPrepare -> stmt OCIStmtExecute
  • 17. Например для Oracle.2 – OCIHandleAlloc, дает доступ к envhp – OCIStmtExecute, дает доступ svchp – Достаточно корректно перехватить всего два вызова.
  • 18. Как перехватить? – EasyHooking – DETOURS – DLL Injection • http://syprog.blogspot.ru/2012/05/createremotethrea d-bypass-windows.html • Начало нужной функции патчим переходом на наш обработчик – Your way
  • 19. Как внедрить? suspend_all_threads(processId)); remoteAddress = (unsigned int)VirtualAllocEx(victimProcess, NULL, sizeof(shellCode), MEM_COMMIT, PAGE_EXECUTE_READWRITE); WriteProcessMemory(victimProcess, (LPVOID)remoteAddress, (LPCVOID)shellCode, shellCodeSize, &aux)); victimThread = OpenThread(THREAD_ALL_ACCESS, FALSE, mainThread); GetThreadContext(victimThread, &ctx);
  • 20. Как внедрить?.2 WriteProcessMemory(victimProcess, (LPVOID)ctx.Es p, (LPCVOID)&ctx.Eip, sizeof(unsigned int), &aux); ctx.Eip = remoteAddress + sizeof(unsigned int); SetThreadContext(victimThread, &ctx) resume_all_threads(processId);
  • 21. Итого – Шлем запросы прямо в СУБД – Нет необходимости аутентифицироваться – Используем уже установленное соединение … – Profit!!1!