Сега ќе пробаме друг начин на инјектирање SQL. Ајде да видиме дали базата на податоци продолжува да испраќа пораки за грешка. Овој метод се нарекува „чекање за доцнење“, а самото доцнење е напишано на следниов начин: чекање за доцнење 00:00:01'. Го копирам ова од нашата датотека и го ставам во лентата за адреси на прелистувачот.

Сето ова се нарекува „слепа привремена инјекција на SQL“. Сè што правиме овде е да кажеме „почекајте задоцнување од 10 секунди“. Ако забележавте, горе лево го имаме натписот „поврзување...“, односно што прави нашата страница? Се чека за поврзување и по 10 секунди се појавува точната страница на вашиот монитор. Користејќи ја оваа техника, ја контактираме базата на податоци за да ни овозможи да и поставиме уште неколку прашања, на пример, ако корисникот е Џо, тогаш треба да почекаме 10 секунди. Тоа е јасно? Ако корисникот е dbo, почекајте и 10 секунди. Ова е слеп метод на инјектирање SQL.
Мислам дека програмерите не ја поправаат оваа ранливост кога креираат закрпи. Ова е SQL инјекција, но нашата програма IDS не ја гледа ниту, како претходните методи на инјектирање SQL.
Ајде да пробаме нешто поинтересно. Ајде да ја копираме оваа линија со IP адресата и да ја залепиме во прелистувачот. Успеа! Лентата TCP во нашата програма стана црвена, програмата забележа 2 безбедносни закани.

Одлично, да видиме што ќе се случи понатаму. Имаме една закана за XP школка, а друга закана - обид за инјектирање SQL. Вкупно, забележани се два обиди за напад на веб апликацијата.

Добро, сега помогни ми со логиката. Имаме пакет со податоци за упад во кој IDS вели дека одговорил на разни упади во школката на XP.

Ако скролуваме надолу, гледаме табела со HEX кодови, од која десно има знаменце со порака xp_cmdshell + &27ping, и очигледно ова е лошо.

Ајде да видиме овде што се случи. Што направи SQL серверот?

SQL-серверот рече: „Можете да ја имате лозинката за мојата база на податоци, можете да ги добиете сите записи во мојата база на податоци, но пријателе, не сакам да ги извршувате вашите команди врз мене, тоа воопшто не е кул“!
Она што треба да го направиме е да се осигураме дека дури и ако IDS пријави закана за XP школка, заканата е игнорирана. Ако користите SQL Server 2005 или SQL Server 2008, ако се открие обид за инјектирање SQL, командната школка на оперативниот систем ќе биде заклучена, што ќе ве спречи да продолжите со работата. Ова е многу досадно. Па што треба да правиме? Треба да се обидете да го прашате серверот многу љубезно. Дали треба да го кажете ова: „те молам, тато, може ли да ги имам овие колачиња“? Тоа го правам, сериозно, многу учтиво го прашувам серверот! Барам дополнителни опции, барам реконфигурација и барам да се сменат поставките за XP shell за да биде достапна школка бидејќи ми треба!

Гледаме дека IDS го откри ова - гледате, овде веќе се забележани 3 закани.

Само погледнете овде - ги разнесевме безбедносните дневници! Изгледа како елка, има толку многу виси овде! Дури 27 безбедносни закани! Ура момци, го фативме овој хакер, го добивме!

Не сме загрижени дека ќе ни ги украде податоците, но ако може да ги изврши системските команди во нашата „кутија“ - ова е веќе сериозно! Можете да нацртате маршрута на Телнет, FTP, можете да ги преземете моите податоци, тоа е одлично, но не се грижам за тоа, едноставно не сакам да ја преземете обвивката од мојата „кутија“.
Сакам да зборувам за работи кои навистина ме воодушевија. Работам за организации, долги години работам кај нив и ова ви го кажувам затоа што мојата девојка мисли дека сум невработена. Таа мисли дека се што правам е да стојам на сцена и да разговарам, ова не може да се смета за работа. Но, јас велам: „не, радост моја, јас сум консултант“! Тоа е разликата - јас си го кажувам мислењето и добивам плата за тоа.
Ќе го кажам ова - ние, како хакери, сакаме да ја пукаме лушпата, а за нас нема поголемо задоволство на светот од „голтање на лушпата“. Кога аналитичарите на IDS ги пишуваат своите правила, гледате дека тие ги пишуваат за да се заштитат од манипулации со школка. Но, ако разговарате со ЦИО за проблемот со екстракција на податоци, тој ќе ве замоли да размислите за две опции. Да речеме дека имам апликација која прави 100 „парчиња“ на час. Што е поважно за мене: обезбедување на безбедноста на сите податоци во оваа апликација или безбедноста на школката „кутија“? Ова е сериозно прашање! За што треба повеќе да се грижите?

Само затоа што вашата „кутија“ школка е оштетена, не мора да значи дека некој добил пристап до внатрешната работа на апликациите. Да, ова е повеќе од веројатно, а ако сè уште не се случило, може да се случи наскоро. Но, имајте предвид дека многу безбедносни производи се изградени врз претпоставката дека напаѓачот се движи низ вашата мрежа. Значи тие внимаваат на извршувањето на командите, на имплементацијата на командите и мора да забележите дека ова е сериозна работа. Тие обрнуваат внимание на тривијалните пропусти, на многу едноставното скриптирање меѓу страниците, на многу едноставните инјекции на SQL. Тие не се грижат за напредните закани или шифрирани пораки, не се грижат за такви работи. Може да се каже дека сите безбедносни производи бараат бучава, бараат јап, бараат да спречат нешто што ви го гризе глуждот. Еве што научив од справувањето со безбедносни производи. Не мора да купувате безбедносни производи, не мора да го возите камионот во рикверц. Потребни ви се компетентни, вешти луѓе кои ја разбираат технологијата. Да, Боже мој, токму луѓе! Не сакаме да фрламе милиони долари на овие прашања, но многумина од вас работеа на ова поле и знаат дека штом вашиот шеф ќе види оглас, тој трча до продавницата врескајќи: „Мораме да го добиеме ова! " Но, навистина не ни треба, само треба да го поправиме нередот што е зад нас. Тоа беше премисата за овој настап.
Безбедносното опкружување е нешто каде што поминав многу време разбирајќи како функционираат безбедносните механизми. Откако ќе ги разберете заштитните механизми, заобиколувањето на заштитата не е тешко. На пример, имам веб апликација која е заштитена со сопствен заштитен ѕид. Ја копирам адресата на панелот за поставки, ја залепувам во лентата за адреси на прелистувачот и одам до поставките и пробам скриптирање меѓу страници.

Како резултат на тоа, добивам порака на заштитен ѕид за закана - блокиран сум.

Мислам дека ова е лошо, дали се согласувате? Наидовте на безбедносен производ. Но, што ако пробам вакво нешто: го внесувам параметарот Joe'+OR+1='1

Како што можете да видите, тоа функционираше. Поправете ме ако грешам, но видовме дека SQL injection го поразува заштитен ѕид на апликацијата. Сега да се преправаме дека сакаме да основаме компанија за имплементација на безбедноста, па ќе ја ставиме капата на нашиот производител на софтвер. Сега го отелотворуваме злото затоа што тоа е црна капа. Јас сум консултант, така што можам да го направам истото со производителите на софтвер.
Сакаме да создадеме и распоредиме нов систем за откривање на манипулации, па ќе основаме компанија за откривање на манипулации. Snort, како производ со отворен код, содржи стотици илјади потписи за закана за манипулација. Мора да постапуваме етички, така што нема да ги украдеме овие потписи од други апликации и да ги вметнуваме во нашиот систем. Само ќе седнеме и ќе ги преработиме сите - еј, Боб, Тим, Џо, ајде тука, брзо поминете низ сите овие 100 потписи!
Исто така, треба да создадеме скенер за ранливост. Знаете дека Nessus, програма за автоматско пребарување на пропусти, има добри 80 илјади потписи и скрипти кои проверуваат за ранливости. Повторно ќе постапиме етички и самите ќе ги препишеме сите во нашата програма.
Луѓето ме прашуваат: „Џо, ги правиш сите овие тестови користејќи софтвер со отворен код како Mod Security, Snort и слично, колку се слични со производите на другите производители? Им одговарам: „Воопшто не личат! Бидејќи производителите не крадат работи од безбедносни производи со отворен код, тие седнуваат и сами ги пишуваат сите овие правила.
Ако можете да направите вашите сопствени потписи и низи за напади да функционираат без да користите производи со отворен код, ова е одлична можност за вас. Ако не сте во можност да се натпреварувате со комерцијални производи, движејќи се во вистинската насока, мора да најдете концепт кој ќе ви помогне да станете познат во вашата област.
Сите знаат дека пијам. Дозволете ми да ви покажам зошто пијам. Ако некогаш во животот сте направиле ревизија на изворниот код, дефинитивно ќе пиете, верувајте ми, после тоа ќе почнете да пиете.

Значи, нашиот омилен јазик е C++. Да ја погледнеме оваа програма - Web Knight, таа е апликација за заштитен ѕид за веб сервери. Стандардно има исклучоци. Ова е интересно - ако го распоредам овој заштитен ѕид, нема да ме заштити од Outlook Web Access.

Прекрасно! Тоа е затоа што многу продавачи на софтвер повлекуваат правила од една апликација и ги залепуваат во нивниот производ без да направат цел куп истражувања. Така, кога ја распоредувам веб-апликацијата за заштитен ѕид, откривам дека сè за веб-пошта е направено погрешно! Бидејќи речиси секоја веб-пошта стандардно ја нарушува безбедноста. Имате веб-код што ги извршува системските команди и барања за LDAP или која било друга складиште на базата на податоци на корисници директно на Интернет.
Кажи ми, на која планета може вакво нешто да се смета за безбедно? Само размислете за тоа: отворате Outlook Web Access, притиснете ctrl +K, пребарувате корисници и сето тоа, управувате со Active Directory директно од Интернет, извршувате системски команди на Linux, ако користите Squirrel Mail или Horde или што и да е нешто. друго. Ги извлекувате сите овие вали и други видови небезбедни функционалности. Затоа, многу заштитни ѕидови ги исклучуваат од списокот на безбедносни ризици, обидете се да го прашате вашиот производител на софтвер за ова.
Да се вратиме на апликацијата Web Knight. Украде многу безбедносни правила од скенерот за URL, кој ги скенира сите овие опсези на IP адреси. Значи, дали сите овие опсези на адреси се исклучени од мојот производ?

Дали некој од вас сака да ги инсталира овие адреси на вашата мрежа? Дали сакате вашата мрежа да работи на овие адреси? Да, тоа е неверојатно. Добро, ајде да скролуваме надолу оваа програма и да погледнеме други работи што овој заштитен ѕид не сака да ги прави.
Тие се викаат „1999“ и сакаат нивниот веб-сервер да се врати во времето! Дали некој од вас се сеќава на ова ѓубре: /scripts, /iihelp, msads? Можеби неколку луѓе со носталгија ќе се сетат колку беше забавно да се хакираат такви работи. „Се сеќаваш ли, пријателе, колку одамна ги „убивме“ серверите, беше кул!

Сега, ако ги погледнете овие исклучоци, ќе видите дека можете да ги правите сите овие работи - msads, принтери, iisadmpwd - сите овие работи што никому не му требаат денес. Што е со командите што не ви е дозволено да ги извршувате?

Тоа се arp, at, cacls, chkdsk, шифра, cmd, com. Додека ги набројувате, ве обземаат спомени од старите времиња, „бачо, сети се кога го презедовме тој сервер, сети се на тие денови“?
Но, еве што е навистина интересно - дали некој го гледа WMIC или можеби PowerShell овде? Замислете дека имате нова апликација која функционира со извршување на скрипти на локалниот систем, а тоа се модерни скрипти затоа што сакате да го стартувате Windows Server 2008, а јас ќе направам одлична работа со тоа што ќе ја заштитам со правила дизајнирани за Windows 2000. Така што следниот пат кога некој продавач ќе дојде кај вас со својата веб-апликација, прашајте го: „Еј човеку, дали имаш покриено работи како bits admin или извршување на команди Powershell, дали си ги проверил сите други работи, затоа што ќе ажурираме и да ја користите новата верзија на DotNET“? Но, сите овие работи стандардно треба да бидат присутни во безбедносниот производ!

Следната работа за која сакам да разговарам со вас се логичките грешки. Ајде да одиме на 192.168.2.6. Ова е приближно истата апликација како и претходната.

Можеби ќе забележите нешто интересно ако скролувате надолу по страницата и кликнете на врската Контактирајте со нас.

Ако го погледнете изворниот код на табулаторот „Контактирајте со нас“, кој е еден од методите за тестирање што го правам цело време, ќе ја забележите оваа линија.

Размислете за тоа! Слушам дека кога го виделе ова, многумина рекле: „Леле“! Еднаш правев тестирање за пенетрација за, да речеме, банка-милијардер, и забележав нешто слично. Значи, не ни треба никакво SQL инјектирање или скриптирање меѓу страници - ги имаме основите, оваа лента за адреси.

Така, без претерување - од банката ни рекоа дека имале и мрежен специјалист и веб-инспектор и не дадоа никакви коментари. Односно, тие сметаа дека е нормално што може да се отвори текстуална датотека и да се чита преку прелистувач.
Тоа е, можете едноставно да ја прочитате датотеката директно од датотечниот систем. Шефот на нивниот безбедносен тим ми рече: „Да, еден од скенерите ја најде оваа ранливост, но ја сметаше за мала“. На што одговорив, во ред, дај ми минута. Впишав filename=../../../../boot.ini во лентата за адреси и можев да ја прочитам датотеката за подигање на датотечниот систем!

На ова ми рекоа: „не, не, не, ова не се критични досиеја“! Јас одговорив - но ова е Server 2008? Тие рекоа да, тоа е тој. Велам - но овој сервер има конфигурациска датотека лоцирана во root директориумот на серверот, нели? „Точно“, одговараат тие. „Одлично“, велам, „што ако напаѓачот го направи ова“, и впишувам filename=web.config во лентата за адреси. Тие велат - па што, не гледате ништо на мониторот?

Велам - што ако кликнам со десното копче на мониторот и ја одберам опцијата Show Page Source? И што ќе најдам овде? „Ништо критично“? Ќе ја видам администраторската лозинка на серверот!

А ти велиш дека тука нема проблем?
Но, мојот омилен дел е следниот. Не ми дозволувате да извршувам команди во полето, но можам да ја украдам лозинката и базата на податоци на администраторот на веб-серверот, да ја разгледам целата база на податоци, да го искинам целиот материјал за базата на податоци и дефекти на системот и да се извлечам од сето тоа. Ова е случај кога лошиот човек вели: „Еј човеку, денес е голем ден“!

Не дозволувајте безбедносните производи да ве разболат! Не дозволувајте безбедносните производи да ве разболат! Пронајдете некои глупаци, дајте им ги сите сувенири од „Ѕвездени патеки“, заинтересирајте ги, поттикнете ги да останат со вас, бидејќи оние здодевните смрдливи што не се тушираат секој ден се тие што прават вашите мрежи да работат. Ова се луѓето кои ќе им помогнат на вашите безбедносни производи да работат како што треба.
Кажете ми, колкумина од вас можат да останат долго време во иста просторија со личност која постојано вели: „Ох, итно треба да ја напишам оваа скрипта!“, и која е постојано зафатена со ова? Но, ви требаат луѓе кои прават вашите безбедносни производи да функционираат.
Пак ќе кажам - безбедносните производи се глупави затоа што светлата постојано прават грешки, постојано прават посрани работи, едноставно не обезбедуваат безбедност. Никогаш не сум видел добар безбедносен производ за кој не е потребно лице со шрафцигер да го затегне онаму каде што е потребно за да може да работи повеќе или помалку нормално. Тоа е само огромна листа на правила кои велат дека е лошо, тоа е сè!
Затоа, сакам да го погледнете образованието, работи како безбедност, политехничко образование, бидејќи има многу бесплатни онлајн курсеви за безбедносни прашања. Научете Python, учете собрание, научите тестирање на веб-апликации.

Ова е она што навистина ќе ви помогне да ја заштитите вашата мрежа. Паметните луѓе ги штитат мрежите, мрежните производи не! Вратете се на работа и кажете му на вашиот шеф дека ви треба повеќе буџет за повеќе паметни луѓе, знам дека ова е криза, но сепак кажете му - ни требаат повеќе пари за луѓето, за да ги обучиме. Ако купуваме производ, но не купуваме курс за тоа како да го користиме затоа што е скап, тогаш зошто воопшто го купуваме ако нема да ги научиме луѓето како да го користат?
Работев за многу продавачи на производи за безбедност, речиси цел живот го поминав во имплементација на тие производи и ми се гади од сета контрола на пристапот до мрежата и други работи бидејќи ги инсталирав и ги пуштав сите тие глупости производи. Еднаш дојдов до клиент, тие сакаа да го имплементираат стандардот 802.1x за протоколот EAP, така што имаа MAC адреси и секундарни адреси за секоја порта. Дојдов, видов дека е лошо, се свртев и почнав да притискам копчиња на печатачот. Знаете, печатачот може да отпечати тест страница на мрежна опрема со сите MAC адреси и IP адреси. Но, се покажа дека печатачот не го поддржува стандардот 802.1x, па затоа треба да се исклучи.
Потоа го исклучив печатачот од мрежата и ја сменив MAC адресата на мојот лаптоп во MAC адресата на печатачот и го поврзав мојот лаптоп, со што го заобиколив ова скапо MAC решение, размислете за тоа! Значи, каква корист може да направи ова MAC решение за мене ако некое лице може едноставно да го предаде секое парче опрема како печатач или телефон на VoIP?
Така, денес, ми е тешко да трошам време обидувајќи се да го разберам и разберам безбедносниот производ што го купил мојот клиент. Денес, секоја банка во која правам тестирање за пенетрација ги има сите овие HIPS, NIPS, LAUGTHS, MACS и цел куп други акроними кои се целосна глупост. Но, јас се обидувам да сфатам што се обидуваат да направат овие производи и како се обидуваат да го направат тоа. Потоа, откако ќе сфатам каква методологија и логика користат за да обезбедат заштита, воопшто не е тешко да се заобиколи.
Мојот омилен производ што ќе ви го оставам се вика MS 1103. Тоа е експлоатација базирана на прелистувач што „прска“ HIPS, потпис за спречување на упад на домаќинот или потписи за спречување на упади. Всушност, тој е дизајниран да ги заобиколи потписите на HIPS. Не сакам да покажам како функционира затоа што не сакам време да го покажам тоа, но одлично ја заобиколува таа безбедност и сакам да го пробате.
Добро момци, сега заминувам.

Некои реклами 🙂
Ви благодариме што останавте со нас. Дали ви се допаѓаат нашите написи? Сакате да видите поинтересна содржина? Поддржете не со нарачка или препорака на пријатели, , уникатен аналог на сервери на почетно ниво, кој беше измислен од нас за вас: (достапен со RAID1 и RAID10, до 24 јадра и до 40 GB DDR4).
Dell R730xd 2 пати поевтин во центарот за податоци Equinix Tier IV во Амстердам? Само овде во Холандија! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - од 99 долари! Прочитајте за
Извор: www.habr.com
