ShellShock Attack, проста

Наскоро семейство на уязвимости, свързани с BAS BUG, най -разпространеният преводач в GNU / Linux, MAC OS и някои Unix, и се нарича ShellShock или Затваряща се врата (CVE-2014-6271). Най -важният и тревожен въпрос в това отношение е свързан с факта, че BUG присъства в Bash през последните 20 години, така че се изчислява, че сериозността на въпроса е дори по -голяма от Heartbleed.

The Bash BUG или ShellShock Самият той не е злонамерен код (като компютърни вируси, шпионски софтуер, зловреден софтуер и т.н.), така че не може да бъде открит и блокиран от антивирусни или подобни системи, а трябва да бъде коригиран в самата софтуерна реализация, която го „страда“.

Препоръчва се този урок да се прилага в контролирани среди, за цели, свързани с изследване и изучаване на компютърни науки, както е обяснено тук.

Какво представлява Bash BUG ShellShock?


По принцип проблемът се крие във възможността Bash да съхранява дефиницията на скриптови функции в променливи на средата, по -точно в начина, по който тези функции се зареждат от Bash.

BUG се проявява, когато в променлива на среда, след дефиницията на функцията, се добави допълнителен код, който Bash ще продължи да анализира и изпълнява след зареждане на функцията.

Със следната команда дефиницията на празна функция, произволен код, беше заредена в променливата "x" и след това беше извикана Bash.

Това, което се случва, е, че преди да извикате Bash, променливата на средата е заредена и инжектираният код е изпълнен, който просто показва низа "уязвим" на конзолата (можеше да бъде и по -лошо, разбира се!). След това Bash е изпълнен и командата echo е извикана като пример. По -прост вариант на командата за извършване на теста:

 $ env x = '() {:;}; ехо уязвимо 'bash 
Тази последна команда ще покаже низ "уязвим" на екрана, ако Bash версията има BUG или няма да покаже нищо, ако е закърпена версия.

Както е посочено във въведението, този BUG определя семейство от уязвимости, които могат да бъдат използвани от нападател за дистанционно управление на компютри. В рамките на тези варианти има някои малко по -сложни, други много прости и някои повече или по -малко сложни. Има варианти, свързани с Apache и CGI модули, други за DHCP клиента, а някои малко по -сложни от други.

Един от най -простите случаи ще бъде използван за това ръководство, shellShock атака върху GNU / Linux DHCP клиент.

Включени системиЖертва домакин:
GNU / Linux с Bash 4.3
DHCP клиент isc-dhclient-4.2.4
IP 192.168.1.88 (чрез DHCP)

Атакуващ домакин:
Уиндоус експи
DHCP сървър "tftp32" от Ph. Jounin
IP: 192.168.1.100

Увеличете

За доказателство на концепцията, ние приемаме LAN, в който и жертвата, и нападателят са свързани.
Тъй като клиентският софтуер на DHCP се изпълнява с административни разрешения, нападателят ще се опита да включи злонамерен код в някой параметър на DHCP опция в DHCP конфигурацията, присвоена на жертвата.

Процес

1) Нападателят изпълнява софтуера за DHCP услуга {(ftp32 ”от Ph. Jounin) беше използван за това ръководство}

1.1) Изберете мрежовия интерфейс, който да използвате, и натиснете бутона „Настройки“

1.2) Конфигурирайте опциите за стартиране само на DHCP услугата.

1.3) Отидете на раздела „DHCP“ и конфигурирайте, както следва:

1.4) Забележка в полето "Addiotional Option" е посочена опция 114 (използвана във VOIP) и дефиницията на функцията Bash и злонамерения код са въведени в полето с подробности за опцията:

 () {игнорирано;}; ехо „КОД ИНЖЕКТИРАН“; / bin / cat / etc / passwd 
1.5) Натиснете "OK", DHCP услугата е готова.

2) В системния терминал на жертвата изпълнете следната команда, за да изложите системния журнал на системата, когато изпълняваме DHCP заявката:

 # tail -f / var / log / syslog & 
3) Ако приемем, че eth1 е мрежовият интерфейс на жертвата, стартирайте DHCP клиента:
 # dhclient eth1 
4) Командата ще направи DHCP заявката и Нападателя съответната задача:

5) В терминала на жертвата, благодарение на командата tail, която беше на заден план, показваща системния дневник, ще се покаже изпълнението на инжектирания код, в този случай ще се покаже низът „INJECTED CODE“ и след това съдържанието на файла / etc / passwd на жертвата (можеше да бъде много по -лошо …):

Последната част е благодарение на командата "/ bin / cat / etc / passwd”Което е част от низ, посочен като опция 114.

Нападателят би могъл да изпълни други команди и да извърши каквото и да е действие, тъй като има „root“ разрешения, тъй като DHCP клиентът на жертвата работи с тези права.

СъображенияЗа това ръководство е използван общ софтуер, без промени в системата Victim. Тази уязвимост присъства в други приложения, които използват Bash за изпълнение на параметри или скриптове в системата.

Наложително е приложете съответните актуализации към системата, за да предотвратите този тип атаки.

Струва си да се изясни, че съдържанието, представено тук, е полезно както за разбиране на механиката на атаката, така и за повишаване на осведомеността относно тази последна точка. Имайте предвид, че това решение съществува от поне 20 години, така че може да е било приложено много преди да бъде публикувано.

Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave