У лютому австрієць Christian Haschek у своєму блозі опублікував цікаву статтю під назвою “Я просканував усю Австрію” (https://blog.haschek.at/2019/i-scanned-austria.html). Звичайно, мені стало цікаво, що буде, якщо повторити це дослідження, але вже з Україною. Кілька тижнів цілодобового збору інформації, ще пару днів на те, щоб оформити цю статтю, а впродовж цього дослідження розмови з різними представниками нашої спільноти, щось уточнити, щось дізнатися більше.
TL;DR
Для збору інформації не використовувалося жодних спеціальних засобів (хоча декілька людей радили використати той же OpenVAS, щоб зробити дослідження грунтовнішим та інформативнішим). З безпекою IP, які відносяться до України (нижче про те, як визначали), ситуація, на мою думку, доволі погана (і точно гірша за те, що відбувається в Австрії). Жодних спроб використати виявлені уразливі сервери не зроблено та не заплановано.
Перш за все: як можна отримати усі IP адреси, які відносяться до певної країни?
Це, насправді, дуже просто. IP адреси не генеруються самою країною, а виділяються їй. Тому є список (і він публічний) усіх країн і усіх IP, що їм належать. Кожен може скачати його, а потім відфільтрувати його grep Ukraine IP2LOCATION-LITE-DB1.CSV > ukraine.csv
Простий скрипт, який створив Крістіан, дозволяє привести список у більш придатний до використання вигляд.
Україні належить майже стільки ж IPv4 адрес, як і Австрії, трохи більше 11 млн. 11 640 409, якщо бути точним (для порівняння в Австрії – 11 170 487).
Якщо ви не хочете гратися з IP адресами самостійно (та й це не варто робити!), то можна використати сервіс Shodan.io.
Чи є в Україні непропатчені Windows машини, які мають прямий доступ до інтернет?
Звичайно, жоден притомний українець не буде відкривати такий доступ для своїх комп’ютерів. Чи буде?
masscan -p445 –rate 300 -iL ukraine.ips -oG ukraine.445.scan && cat ukraine.445.scan | wc -l
5669 машин під Windows з прямим доступом до мережі знайдено (в Австрії таких лише 1273, але й це багато).
Упс. Чи є серед них такі, що можна було б атакувати за допомогою експлойту ETHERNALBLUE, який відомий ще з 2017 року? В Австрії не було жодної такої машини, і я сподівався, що в Україні також не буде знайдено. На жаль, марно. Знайдено 198 IP адрес, які не закрили цю “дірку” у себе.
DNS, DDoS та глибина кролячої нори
Досить про Windows. Давайте подивимося, що у нас з DNS серверами, що є open-resolvers та можуть бути використані для DDoS атаки.
Це працює приблизно так. Атакувальник надсилає маленький DNS запит, а уразливий сервер відповідає жертві пакетом, який більший у 100 разів. Бум! Корпоратвні мережі можуть доволі швидко впасти від такого обсягу даних, а для атаки потрібна пропускна здатність, яку може забезпечити сучасний смартфон. І такі атаки не рідкість навіть на GitHub (https://www.zdnet.com/article/github-was-hit-with-the-largest-ddos-attack-ever-seen/).
Подивимося, чи є такі сервери в Україні.
**_masscan -pU:53 -iL ukraine.ips -oG ukraine.53.scan && cat ukraine.53.scan | wc -l_** |
Першим кроком знайдемо ті, які мають відкритий 53 порт. В результаті маємо список з 58 730 IP адрес, але це ще не означає, що вони усі можуть бути використані для DDoS атаки. Потрібно, щоб виконувалася друга вимога, а саме вони мають бути open-resolver.
Для того можна використати просту команду dig і побачити, що ми зможемо “накопати” dig +short test.openresolver.com TXT @ip.of.dns.server. Якщо сервер відповідав open-resolver-detected, то його можна вважати потенційним об’єктом атаки. Open resolver’и складають приблизно 25%, що порівнювано з Австрією. З точки зору загальної кількості, то це 0,02% усіх українських IP (небагато, але й ті, що є можуть спричинити певні проблеми).
Що ще можна знайти в Україні?
Радий, що ви запитали. Найпростіше (і найцікавіше для мене особисто) подивитися, у яких IP відкрито 80 порт і що на ньому “крутиться”.
Вебсервери
260 849 українських IP відповідають на 80 порту (http). 125 444 адреси відповіли позитивно (200 статус) на простенький GET запит, який може надіслати браузер. Решта видали ті чи інші помилки. Цікаво, що 853 сервери видали 500 статус, а найрідкіснішими статусами стали 407 (запит на проксі авторизацію) та абсолютно нестандартний 602 (IP не в “білому списку”) по одній відповіді.
Apache домінує абсолютно – 114 544 сервери використовують саме його. Найстаріша зі знайдених мною версій в Україні – 1.3.29, що вийшла 29 жовтня 2003 року (!!!). nginx на другому місці 61 659 серверів.
11 серверів використовують WinCE, яка вийшла 1996 року, а перестали патчити її у 2013 році (в Австрії таких лише 4).
Протокол HTTP/2 використовує 5 144 серверів, HTTP/1.1 – 256 836, HTTP/1 – 13 491.
Принтери.. тому що… чому б ні?
2 HP, 5 Epson та 4 Canon, які доступні з мережі, деякі з них без жодної авторизації.
На відміну від Австрії номеру факсу не було, тому повідомити власникам не вдалося, на жаль.
Вебкамери
Це не новина, що в Україні є ДУЖЕ багато вебкамер, що транслюють себе в інтернет, що зібрані на різних ресурсах. 75 камер транслюють себе в інтернет без жодного захисту. Подивитися на них можна тут https://www.insecam.org/en/bycountry/UA/
</figure>
Що далі?
Україна – невеличка країна, як і Австрія, але має ті самі проблеми, що й великі країни у сфері ІТ. Нам необхідно випрацьовувати краще розуміння того, що є безпечним, а що небезпечним, а також виробники обладнання мають надавати безпечну початкову конфігурацію свого обладнання.
Крім того, я збираю компанії партнери (стати партнером), які можуть допомогти вам забезпечити недоторканність власної ІТ інфраструктури. Наступним кроком планую зробити огляд безпеки українських сайтів. Не перемикайтеся!