Шелл-код (англ. shellcode, код запуску оболонки) — це двійковий виконуваний код, який зазвичай передає управління командному процесору, наприклад '/bin/sh' в Unix shell, 'command.com' в MS-DOS і 'cmd.exe' в операційних системах Microsoft Windows. Шелл-код може бути використаний як корисне навантаження експлойта, який забезпечує зловмиснику доступ до командної оболонки (англ. shell) у комп'ютерній системі.
При експлуатації віддаленої уразливості шелл-код може відкривати заздалегідь заданий порт TCP уразливого комп'ютера, через який буде здійснюватися подальший доступ до командної оболонки, такий код називається - код прив'язки до порту (англ. port binding shellcode). Якщо шелл-код здійснює підключення до порту комп'ютера атакуючого, що проводиться з метою обходу брандмауера або NAT, то такий код називається зворотною оболонкою (англ. reverse shell shellcode).
Принцип роботи
Шелл-код зазвичай впроваджується в пам'ять експлуатованої програми, після чого на нього передається управління шляхом переповнення стека, або при переповненні буфера в купі, або використовуючи атаки форматного рядка. Передача управління шелл-коду здійснюється перезаписом адреси повернення в стеку адресою впровадженого шелл-коду, перезаписом адрес функцій, що викликаються або зміною обробників переривань. Результатом цього є виконання шелл-коду, який відкриває командний рядок для використання зловмисником.
Виявлення
Зловмисники пишуть шелл-коди, часто використовуючи прийоми, що приховують їх атаку. Вони часто намагаються з'ясувати, як системи виявлення вторгнень (СВВ) розпізнають будь-яку вхідну атаку. Типова СВВ зазвичай переглядає всі вхідні пакети в пошуках структури, специфічної для шелл-коду (часто великий масив сміттєвих кодів, у найпростішому випадку NOP-ів); якщо вона знаходить таку структуру, пакет знищується до того, як він досягне своєї мети. Слабкість позиції системи виявлення вторгнень в даному випадку полягає в тому, що вона не здійснює достатньо ретельного аналізу, інакше він займе дуже багато часу і, таким чином, сповільнить з'єднання з інтернетом.
Шелл-код майже завжди містить рядок з ім'ям оболонки. Всі вхідні пакети, що містять такий рядок, завжди розглядаються як підозрілі в очах СВВ. Також деякі програми не приймають не алфавітно-цифрове введення (вони не приймають символів, що виходять за рамки набору a-z, A-Z, 0-9 та кількох інших символів.)
Для проходження через всі ці заходи, спрямовані проти вторгнення, зловмисники використовують шифрування, самопереробний код, поліморфний код і алфавітно-цифровий код.
Дивись також
Посилання
- Steve Hanna (2004). Shellcoding for Linux and Windows Tutorial with example windows and linux shellcode. Архів оригіналу за 25 серпня 2011. Процитовано 30 сентября 2007.
- Designing Shellcode Demystified. Архів оригіналу за 25 серпня 2011. Процитовано 19 квітня 2018.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shell kod angl shellcode kod zapusku obolonki ce dvijkovij vikonuvanij kod yakij zazvichaj peredaye upravlinnya komandnomu procesoru napriklad bin sh v Unix shell command com v MS DOS i cmd exe v operacijnih sistemah Microsoft Windows Shell kod mozhe buti vikoristanij yak korisne navantazhennya eksplojta yakij zabezpechuye zlovmisniku dostup do komandnoyi obolonki angl shell u komp yuternij sistemi Pri ekspluataciyi viddalenoyi urazlivosti shell kod mozhe vidkrivati zazdalegid zadanij port TCP urazlivogo komp yutera cherez yakij bude zdijsnyuvatisya podalshij dostup do komandnoyi obolonki takij kod nazivayetsya kod priv yazki do portu angl port binding shellcode Yaksho shell kod zdijsnyuye pidklyuchennya do portu komp yutera atakuyuchogo sho provoditsya z metoyu obhodu brandmauera abo NAT to takij kod nazivayetsya zvorotnoyu obolonkoyu angl reverse shell shellcode Princip robotiShell kod zazvichaj vprovadzhuyetsya v pam yat ekspluatovanoyi programi pislya chogo na nogo peredayetsya upravlinnya shlyahom perepovnennya steka abo pri perepovnenni bufera v kupi abo vikoristovuyuchi ataki formatnogo ryadka Peredacha upravlinnya shell kodu zdijsnyuyetsya perezapisom adresi povernennya v steku adresoyu vprovadzhenogo shell kodu perezapisom adres funkcij sho viklikayutsya abo zminoyu obrobnikiv pererivan Rezultatom cogo ye vikonannya shell kodu yakij vidkrivaye komandnij ryadok dlya vikoristannya zlovmisnikom Viyavlennya Zlovmisniki pishut shell kodi chasto vikoristovuyuchi prijomi sho prihovuyut yih ataku Voni chasto namagayutsya z yasuvati yak sistemi viyavlennya vtorgnen SVV rozpiznayut bud yaku vhidnu ataku Tipova SVV zazvichaj pereglyadaye vsi vhidni paketi v poshukah strukturi specifichnoyi dlya shell kodu chasto velikij masiv smittyevih kodiv u najprostishomu vipadku NOP iv yaksho vona znahodit taku strukturu paket znishuyetsya do togo yak vin dosyagne svoyeyi meti Slabkist poziciyi sistemi viyavlennya vtorgnen v danomu vipadku polyagaye v tomu sho vona ne zdijsnyuye dostatno retelnogo analizu inakshe vin zajme duzhe bagato chasu i takim chinom spovilnit z yednannya z internetom Shell kod majzhe zavzhdi mistit ryadok z im yam obolonki Vsi vhidni paketi sho mistyat takij ryadok zavzhdi rozglyadayutsya yak pidozrili v ochah SVV Takozh deyaki programi ne prijmayut ne alfavitno cifrove vvedennya voni ne prijmayut simvoliv sho vihodyat za ramki naboru a z A Z 0 9 ta kilkoh inshih simvoliv Dlya prohodzhennya cherez vsi ci zahodi spryamovani proti vtorgnennya zlovmisniki vikoristovuyut shifruvannya samopererobnij kod polimorfnij kod i alfavitno cifrovij kod Divis takozhPerepovnennya bufera en Informacijna bezpeka Mova asemblera Heap sprayingPosilannyaSteve Hanna 2004 Shellcoding for Linux and Windows Tutorial with example windows and linux shellcode Arhiv originalu za 25 serpnya 2011 Procitovano 30 sentyabrya 2007 Designing Shellcode Demystified Arhiv originalu za 25 serpnya 2011 Procitovano 19 kvitnya 2018