Тестване за проникване с Metasploit Framework
Когато хората кажат „инструмент за тестване на проникване“, първото нещо, което им идва наум, еMetasploit– най-големият Ruby проект в света с над 700 000 реда код. Не е изненадващо, че той се превърна в де факто стандарт за тестване за проникване и разработване на уязвимости, с над един милион уникални изтегляния годишно и най-голямата в света база данни с подвизи с гарантирано качество.
Metasploit Frameworkе програма и подпроект, разработени от Metasploit LLC. Първоначално беше разпространен през 2003 г. в Perl, но по-късно беше радикално пренаписан в Ruby. Metasploit изведе тестването и моделирането на експлойт на изцяло ново ниво, измествайки своите скъпи търговски партньори, като увеличи скоростта и смъртоносността на експлойт кода за възможно най-кратко време.
Metasploit Framework следва определени ключови стъпки за използване на система. Това са основните стъпки:
1. Изберете и конфигурирайте експлойт - като цел. Това е код, който ще бъде насочен срещу система с намерението да се възползва от дефект в софтуера.
2. Проверете дали избраната система е податлива на избрания експлойт.
3. Изберете и конфигурирайте полезния товар, който да се използва. Този полезен товар е кодът, който ще захранва системата, след като бъде открита вратичка в системата и е зададена входна точка.
4. Изберете и конфигурирайте схемата за кодиране, която да се използва, за да се гарантира, че полезният товар може лесно да заобиколи системата за откриване на проникване.
5. Стартирайте експлойт.
В тази статия ще предоставим подробно описание на използването на Metasploit Framework за изпълнение на експлойти с графични илюстрации и команди.
Работа сMetasploit:
Metasploit е лесен за използване и е създаден с намерението да улесни нещата и да помогне на тестерите да преодолеят сигурността.
Ще ви покажа всичко в демонстрацията на BackTrack 5, така че го изтеглете, ако още го нямате - http://www.backtrack-linux.org/downloads/ Причината, поради която се използва BackTrack 5, е, че има правилните библиотеки на Ruby.
Metasploit Framework има три конфигурации - интерфейси msfconsole, msfcli и msfweb. Основната и най-предпочитана работна област обаче е msfconsole. Това е мощен интерфейс на командния ред, който има собствен набор от команди и система за конфигуриране.
Преди да започнем, е полезно да разберем какво представляват определени команди на Metasploit. По-долу са някои от командите, които ще използвате най-често. Графично обяснение на техните открития ще бъде дадено малко по-късно в същата статия, когато ги използваме по време на експлоатацията на определени блокове.
(i) търсене : Въвеждане на командата „търсене“ заедно със списъци с ключови думи от редица различни възможни експлойти, които имат този модел на ключови думи.
(ii)покажи експлойти : Въвеждането на командата "покажи действия" ни дава списък с наличните в момента експлойти. Има отдалечени експлойти за различни платформи и приложения, включително Windows, Linux, IIS, Apache и т.н., които помагат да се тества гъвкавостта и да се разбере как работи Metasploid.
(iii) показване на полезни товари: Със същата команда "покажи" можем да получим списък с налични полезни товари. Можем да използвамекоманда "покажи полезни товари", за да получите списък с полезни товари.
(iv)покажи опциите : Въвеждането на командата "покажи опции" ще ви покаже опциите, които сте задали, и евентуално някои, които може да сте забравили да зададете. Всеки експлойт и полезен товар идва със свои собствени опции, които можете да зададете.
(v) информация : Ако имате нужда от конкретна информация за експлойт или полезен товар, можете да използвате командата информация. Например, да кажем, че искаме да получим пълна информация за полезния товар на "winbind". Можем да използваме "info payload winbind".
(vi)use : Тази команда казва на Metasploit да използва експлойт с конкретно име.
(vii) set RHOST : Тази команда ще каже на Metasploit да избере конкретен отдалечен хост.
(viii) set RPORT : Тази команда задава порта, към който Metasplloit ще се свърже на отдалечения хост.
(ix)set PAYLOAD : Тази команда задава полезния товар, който се прилага към груповия полезен товар, който ще ви предостави обвивка, когато услугата бъде експлоатирана.
(x) set LPORT : Тази команда задава номера на порта, който полезният товар ще отвори на сървъра, когато експлойтът бъде експлоатиран. Важно е този номер на порт да бъде порт, който може да бъде отворен на сървъра (т.е. да не се използва от друга услуга и да не е запазен за административна употреба), така че въведете произволен 4-цифрен номер, който е по-голям от 1024 и това ще бъде достатъчно за успешна работа. Освен това ще трябва да променяте номера всеки път, когато успешно използвате услугата.
(xi)exploit : Всъщност експлоатира услугата. Друга експлойт версия, rexploit презарежда вашия експлойт код и след това изпълнява експлойта. Това ви позволява да изпитате минималнопромени във вашия експлойт код без презареждане на конзолата.
(xii)помощ : Командата "помощ" ще ви даде основна информация за всички команди, които не са изброени тук.
Сега, след като сте запознати с всички основни команди, от които се нуждаете, за да изпълните своя експлойт, нека изберем няколко сценария за поемане на контрол върху отдалечено свързана машина.