Це буде комплексний матеріал, у якому я розповім як самотужки провести мережеву розвідку та проаналізувати будь-яку IP-адресу. Реальний практичний кейс з OSINT. Також дам пояснення як виявляти та банити токсичні IP-адреси, які атакують ваші ресурси.
Розпочнемо з того як виявляти різноманітні токсичні й шкідливі IP-адреси.
Зазвичай, ми стикаємося з ними на етапах адміністрування та обслуговування своїх сайтів, ресурсів, серверів.
Найбільше інформації містять системні журнали – логи (log files). Вони зберігаються на сервері й реєструють усе, що відбувається на рівні сервера/домену.
Існує 2 типи системних журналів:
Швидко переглянути останні записи логів можна з допомогою командного рядка Linux:
Виявити шкідливі IP-адреси також можна з допомогою антиспам-фільтрів, а також email-заголовків в яких міститься інформація про IP-адресу сервера відправника:
Для власників розгалуженої ІТ-інфраструктури рекомендується застосовувати більш просунуті централізовані платформи моніторингу, такі як Splunk, Zabbix, Kibana, Graffana, а також SIEM-системи, які автоматично аналізують усі надані вищепереліченими платформами дані й сповіщають адміністраторів про виявлені підозрілі хости/IP-адреси.
В операційних системах Windows/Linux можна використати мережевий сніффер Wireshark. Він покаже усі потоки даних – куди, звідки і які інтернет-пакети проходять через вашу мережу. Таким чином можна виявити несанкціоновані або підозрілі з’єднання.
Зібрати токсичні IP-адреси також допоможуть різноманітні Threat Intelligence платформи – це спеціальні додатки і онлайн-сервіси, які сканують та аналізують мережу Інтернет на наявність підозрілої активності, реєструють кіберінциденти, сортуючи усі індикатори у своїй базі даних. Приклади: MISP, OpenCTI, Yeti, RiskIQ, AlienVaultOTX, Harpoon та інші.
Існують ще методи “медової бочки” (honeyspot) – це мережеві приманки, які цілеспрямовано заманюють потенційних зловмисників на сервер, а далі здійснюють запис будь-яких дій з метою вивчення їх поведінки та подальшої деанонімізації.
Заблокувати токсичну IP-адресу можна різними способами.
1) Найперший з них – скористатися мережевою утилітою IPtables і здійснити блокування на рівні мережі сервера.
Ось деякі приклади використання:
iptables -A INPUT -s X.XX.XXX.XXX -j DROP
– блокування усіх вхідних запитів з вказаної IP-адреси;iptables -I INPUT -i eth0 -s XX.XXX.XXX.XXX -j DROP
– блокування усіх вхідних запитів щодо мережевого інтерфейсу eth0 з вказаної IP-адреси;iptables -I INPUT -s XX.XX.XX.XX/8 -j DROP
– заблокувати усі вхідні запити, які надходять із вказаного пулу IP-адрес (підмережі);iptables -A INPUT -s XX.XXX.XX.XX -p tcp --dport 100 -j DROP
– заблокувати вхідні запити на вказаний TCP-порт з зазначеної IP-адреси;iptables -A OUTPUT -p tcp -d XX.XX.XXX.XXX -j DROP
– заблокувати усі вихідні запити до конкретної IP-адреси по TCP-порту;iptables -A INPUT -p icmp -i eth0 -j DROP
– заблокувати усі вхідні запити по ICMP-порту (ping) на конкретний мережевий інтерфейс;iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP
– заблокувати вхідні запити до пристрою по конкретній MAC-адресі;iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
– обмежити кількість одночасних з’єднань (не більше 3) по зазначеному TCP порту;iptables -A OUTPUT -p tcp -m multiport --dports 25,465,587 -j REJECT
– заборонити вихідні запити (відправка електронної пошти) по вказаним портам;service iptables save
– зберегти нові правила IPtables;systemctl restart iptables
– перезавантажити службу IPtables;iptables -L
– переглянути правила IPtables.2) Якщо у вас сайт на базі CMS WordPress, слушно буде встановити плагін-фаєрвол Wordfence Security і внести токсичну IP-адресу у його блекліст. Для цього необхідно перейти в меню Wordfence -> Blocking:
3) На третьому етапі, не зайвим буде здійснити зовнішнє блокування на рівні CDN/WAF Cloudflare.
Треба перейти у налаштування домену, в розділ Security ->WAF й створити правило блокування:
Додатково у тому ж розділі Security можна перейти в меню Bots й увімкнути Bots Fight Mode. А також в розділі Security -> Settings підняти загальний рівень безпеки, наприклад з Low на Medium.
Отже, у результаті маємо тришаровий ешелонований захист. Якщо зловмисник повторно вирішить атакувати вас зі своєї IP-адреси – отримає блокування на всіх рівнях.
Додатково рекомендую зареєструватися в широковідомому сервісі AbuseIPDB і внести токсичну IP-адресу у їхню базу даних. Перевагою сервісу є те, що він інтегрується з багатьма антиспам-фільтрами, фаєрволами та системами. Таким чином, ви зможете попередити атаки не тільки для себе, а й для інших.
Інші abuse-report сервіси:
Також читайте:
OSINT-розвідка IP-адрес мало чим відрізняється від розвідки доменів – Web Domain Intelligence (WEBINT) і полягає у тому, щоб зібрати про хост якомога більше інформації, використуючи відкриті і публічнодоступні джерела, спеціалізовані додатки, Cyber Threat Intelligence (CTI) платформи, сканери, пошукові системи тощо.
Для аналізу хостів та IP-адрес я застосовую безліч інструментів та онлайн-сервісів. Розглянемо кращі із них.
ℹ️ Середовище Linux є надзвичайно важливим та багатим на різноманітні інструменти мережевої розвідки. Нижче пропоную розглянути найпопулярніші з них.
Host – це найпростіша утиліта мережевої розвідки Linux для миттєвого аналізу DNS та rDNS.
Приклади команд:
host domain.com
host XX.XX.XXX.XXX
host ns.domain.com
host -t ns domain.com
host -t cname domain.com
Whois – це TCP-протокол, який збирає інформацію з реєстрів доменних імен (IANA, RIPE, ICANN, InterNIC). Whois може надати чимало інформації про хост або домен, наприклад дані власника і провайдера (реєстранта) домену, прив’язані NS-сервери, контактні і технічні дані.
Приклади команд:
whois domain.com
whois XX.XX.XXX.XXX
В тілі відповідей WHOIS варто завжди звертати увагу на такі статуси:
Traceroute – це мережева утиліта призначена для визначення маршрутів проходження даних у мережах TCP/IP.
Приклад команди:
traceroute XX.XX.XXX.XXX
Ping – це мережева утиліта для перевірки з’єднань в мережах на основі стеку TCP/IP.
Приклади команд:
ping XX.XX.XXX.XXX
ping -f XX.XX.XXX.XXX
Dig (з англ. “dig” — копати) — це потужна багатофункціональна утиліта командного рядка Linux для аналізу DNS-зони.
Приклади команд:
dig domain.com
dig +noall +answer +multiline domain.com A
dig +noall +answer +multiline domain.com TXT
dig +noall +answer +multiline domain.com MX
dig +noall +answer +multiline domain.com NS
dig +noall +answer +multiline domain.com SOA
dig axfr @ns.xxxx.com domain.com
dig axfr domain.com
dig -x XX.XXX.XX.XXX +short
dig domain.com +dnssec +short
Nslookup (з англ. “name server lookup”) — корисна, проста і функціональна утиліта Linux для аналізу DNS.
Приклади команд:
nslookup domain.com
— аналіз DNS (BIND) домену;nslookup -query=ns domain.com
— аналіз NS-серверів запитуваного домену;nslookup -query=mx domain.com
— аналіз MX-записів;nslookup -query=soa domain.com
— аналіз SOA-запису;nslookup -type=any domain.com
— аналіз усіх DNS-записів;nslookup XX.XX.XXX.XXX
— аналіз зворотного PTR-запису (reverse DNS);nslookup domain.com ns1.domain.com
— аналіз домену за вказаним неймсервером.Google Dorks – це спеціальні пошукові запити, які дозволяють знаходити певний тип інформації в інтернеті.
Приклади пошукових запитів:
"XXX.XXX.XXX.XXX"
ip:XX.XX.XXX.XXX
ip:XX.XX.XXX.XXX -www
"Server: Apache" "at" "port 80" ip:XX.XXX.XXX.XXX
ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf "ip:xxx.xxx.xxx.xxx"
intitle:"index of" intext:"config.xml" "ip:xxx.xxx.xxx.xxx"
intitle:"index of" "ip:xxx.xxx.xxx.xxx"
👉Читайте детальніше про Google Dorks>>
Dirb – це утиліта командого рядка для брутфорсу файлів та директорій веб-ресурсів.
Приклади команд:
dirb http://XX.XXX.XXX.XXX
— сканування IP-адреси.dirb http://XX.XXX.XXX.XXX/ wordlist.txt
— сканування за словником.dirb http://XX.XXX.XXX.XXX -N 301
— ігнорувати URL з кодом відповіді 301.dirb http://XX.XXX.XXX.XXX -X php
— шукати виключно файли з розширенням php.dirb http://XX.XXX.XXX.XXX -H php
— шукати всі ресурси, де зустрічається слово php в заголовках, назвах файлів.dirb http://XX.XXX.XXX.XXX -z 100
— сканувати з затримкою 100 мілісекунд.dirb http://XX.XXX.XXX.XXX -r
— не сканувати директорії рекурсивно (без обходу всіх папок і підпапок).dirb http://XX.XXX.XXX.XXX -v
— шукати URL з кодом відповіді 404.dirb http://XX.XXX.XXX.XXX -w
— повне сканування ігноруючи будь-які помилки та попередження.dirb http://XX.XXX.XXX.XXX -i
— використовувати пошук чутливий до регістру.dirb http://XX.XXX.XXX.XXX -t
— сканувати не додаючи слеш “/” до файлів і папок.dirb http://XX.XXX.XXX.XXX -a ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36’
— застосувати вказаний User Agent для сканера.dirb http://XX.XX.XX.XXX -o result.txt
— зберегти результати сканування у файл.dirb http://XX.XX.XX.XXX/login.php -u test:test
— сканування з авторизацією.dirb http://XX.XX.XX.XXX -p XX.XX.XXX.XXX:port
— сканування через проксі-сервер.testssl.sh – це утиліта командного рядка Linux для перевірки SSL-сертифікатів.
Приклад команди:
./testssl.sh XXX.XXX.XXX.XXX
Nikto – це мережевий сканер для аналізу хостів та доменів в командному рядку Linux.
Приклади команд:
nikto -h XX.XXX.XX.XXX
nikto -h XXX.XXX.XXX.XXX -p 80
nikto -h XXX.XXX.XXX.XXX -o result -F txt
nikto -h XXX.XXX.XXX.XXX -useproxy (додайте проксі в nikto.conf)
NMAP – це “народна” утиліта командного рядку для сканування мережевих портів. Надзвичайно просунута, гнучка і функціональна. Універсальний інструмент, який можна використовувати для різних цілей та задача — і для OSINT, і для пошуку та аналізу вразливостей, тестувань на проникнення. Застосовується IT-спеціалістами різних областей: кіберфахівцями, адміністраторами, вебмайстрами, програмістами, пентестерами.
Приклади команд:
nmap -sS -sV -O <host>
— базовий список портів та їх версій + визначення ОС;nmap - sV -O -A -Pn <host>
— комплексний аудит мережевих портів;nmap -sS -sV -PN -O <host>
— тихий режим з обходом WAF;nmap -sS <host>
—вивести список портів;sudo nmap -top-ports 20 <host>
— аналіз перших 20-ти портів;sudo nmap -p 1–53 <host>
— аналіз заданого діапазону портів;nmap -sV -sC <host>
— виводить приховані характеристики;nmap -T4 -A -O -v <host>
— глибокий аналіз;nmap -v -sS -A -T4 <host>
— глибокий аналіз;nmap -sL -n XX.XX.XXX.X/24
— вивести список IP-адрес за вказаною підмережею;nmap -R -sL -Pn XX.XX.XXX.X/24 | grep '('
— масово отримати reverse DNS;nmap -R -sL -Pn XX.XX.XXX.X/24 | grep '(' | grep -Eo '[A-Za-z0-9_\.-]*\.(kyiv|ua)'
— масово отримати reverse DNS, але вивести лише список доменів в зоні kyiv.ua;sudo nmap -sV -O XX.XX.XXX.XXX
sudo nmap --script=banner XX.XX.XXX.XXX
sudo nmap -sU -p 1-124 XX.XX.XXX.XXX
sudo nmap -sO XX.XX.XXX.XXX
nmap -sV --script nmap-vulners XX.XXX.XX.XXX
nmap -sSUC -p 111 XX.XXX.XXX.XXX
nmap -sV -p 3306 --script mysql-audit,mysql-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 XX.XXX.XXX.XXX
nmap -sV -p 22 --script ssh-auth-methods,ssh-hostkey,ssh-publickey-acceptance,ssh-run,ssh2-enum-algos,sshv1 XX.XX.XXX.XXX
Повний список ключів NMAP з описом:
Web Check – це універсальний інструмент для пошуку інформації про веб-сайт/хост, створений дослідницею безпеки Alycia Sykes. З допомогою сервісу можна дізнатися архітектуру та походження певного електронного ресурсу, переглянути такі дані як: інформація про IP-адресу, SSL, DNS, cookie, HTTP-заголовки, розташування сервера, відкриті порти, traceroute, трекери, пов’язані імена хостів та багато іншого.
Shodan.io – це культова кібер-пошукова система, яка дозволяє швидко знаходити пристрої та електронні ресурси у мережі Інтернет та аналізувати відомості про них.
Щоби проаналізувати будь-яку IP-адресу у кібер-пошуковику SHODAN, достатньо вставити в пошуковий рядок браузера URL-адресу:
https://www.shodan.io/host/X.XX.XXX.XX
У відповідь SHODAN покаже вичерпні відомості, які йому вдалось отримати з відкритих джерел:
Censys.io – це пошукова система мережевих пристроїв і електронних ресурсів, заснована американськими дослідниками.
Для перевірки IP-адреси у пошуковій системі CENSYS вбиваємо URL у форматі:
https://search.censys.io/hosts/XX.XXX.XXX.XX
Існує також сервіс на базі штучного інтелекту – CensysGPT, який конструює запити для пошуку даних: https://gpt.censys.io/
ZoomEye – це китайська кібер-пошукова система, призначеня для виявлення та аналізу мережевих пристроїв і ресурсів.
Для перевірки IP-адреси в ZoomEye необхідна реєстрація. В результатах пошукової видачі отримуємо чимало інформації:
CISCO Talos – це потужна кіберпошукова система від засновників CISCO для аналізу та перевірки IP-адрес.
URL-адреса для перевірки:
https://talosintelligence.com/reputation_center/lookup?search=XXX.XXX.XXX.XXX
RISKIQ – це Threat Intelligence платформа для мережевої розвідки.
URL-адреса для перевірки:
https://community.riskiq.com/search/XXX.XXX.XXX.XXX
Intelx.io – це популярний OSINT-сервіс для пошуку витоків даних в мережі Інтернет.
URL-адреси для перевірки:
https://intelx.io/?s=XXX.XXX.XXX.XXX
https://intelx.io/tools?tab=ip
DNSlytics – це комплекс онлайн-інструментів для аналізу електронних ресурсів.
Цікавим є інструмент Reverse IP в сервісі DNSlytics, який показує пов’язані ресурси та домени, що може знадобитися для подальшого інтернет-розслідування:
Приклад API-запиту:
Документація по API DNSlytics>>
Maltego – це відомий додаток для проведення OSINT-розслідувань, який входить до складу операційної системи Kali Linux.
Сервіс Maltego допоможе візуалізувати деталізовану блок-схему усіх пов’язаних з токсичною IP-адресою хостів і доменів та структурувати ці зв’язки:
SpiderFoot – це безкоштовна автоматизована десктопна OSINT-платформа, написана на Python. Являє собою агрегатор API різних кіберпошукових систем.
DNSdumpster – це онлайн-сервіс для проведення пасивної DNS-розвідки.
Сервіс DNSdumpster допоможе провести пасивну DNS-розвідку (Passive DNS) досліджуваної IP-адреси, покаже HTTP-заголовки сервера та список направлених на неї хостів:
Synapsint – це безкоштовний OSINT-сервіс для пошуку інформації, пов’язаної з доменом, IP-адресою та ASN.
Criminalip.io – це пошукова Threat Intelligence платформа, яка виявляє та аналізує мережеві пристрої та електронні ресурси.
URL-адреса для перевірки:
https://www.criminalip.io/asset/search?query=ip%3AXX.XXX.XXX.XXX
Cloudflare Radar – це онлайн-сервіс від засновників Cloudflare, який складається з різних дашбордів та надає різноманітну статистичну інформацію: кібератаки, трафік, ip-адреси, домени, якість інтернету і багато іншого. Також тут можна отримати інформацію про будь-яку URL або IP-адресу.
Cylect.io – це OSINT-фреймворк і агрегатор популярних пошукових онлайн-сервісів. Містить величезну кількість посилань на кращі інструменти, включаючи AI.
Security Trails – це популярний онлайн-сервіс від засновників американської розвідувальної агенції RecordFuture.
Сервіс Security Trails дозволить знайти пов’язані домени і проаналізувати їх історію, хронологію DNS-записів:
Приклади безкоштовних API-запитів:
Документація по API SecurityTrails>>
IPQULITYSCORE – це Fraud Detection система, яка дає оцінку якості IP-адреси, а також може перевіряти URL/Email/Domain.
Сервіс цінний тим, що показує сукупну інформацію за вказаною IP-адресою. Надаються такі статуси як Proxy, TOR, VPN, а також бот-активність, географія, ASN і ISP провайдера, хост-адреса та інші параметри.
Iknowwhatyoudownload.com – це сервіс, який виявляє Торент-завантаження за IP-адресою. Таким чином, можна визначити, що завантажує той чи інший користувач Інтернету, якщо він користується Торентом.
URL-адреса для перевірки:
https://iknowwhatyoudownload.com/en/peer/?ip=XX.XXX.XXX.XXX
Читайте також: Кіберпошукові системи для пентестера
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!