Close

Як провести мережеву розвідку і OSINT аналіз IP-адреси?

Це буде комплексний матеріал, у якому я розповім як самотужки провести мережеву розвідку та проаналізувати будь-яку IP-адресу. Реальний практичний кейс з OSINT. Також дам пояснення як виявляти та банити токсичні IP-адреси, які атакують ваші ресурси.

Зміст статті

Частина 1. Виявлення токсичних IP-адрес

Malware Traffic Analysis

Розпочнемо з того як виявляти різноманітні токсичні й шкідливі IP-адреси. 

Зазвичай, ми стикаємося з ними на етапах адміністрування та обслуговування своїх сайтів, ресурсів, серверів.

Найбільше інформації містять системні журнали – логи (log files). Вони зберігаються на сервері й реєструють усе, що відбувається на рівні сервера/домену.

Існує 2 типи системних журналів:

  • access.log — журнал відвідування, вхідні HTTP-запити, тобто інтернет-трафік.
  • error.log — журнал помилок.

Швидко переглянути останні записи логів можна з допомогою командного рядка Linux:

  • tail -f access.log — перегляд логів в режимі реалнього часу у командному рядку;
  • tail -n 100 access.log — перегляд останні 100 записів логів у командному рядку.
Виявлення токсичної IP адреси в логах

Зловмисник з токсичної IP-адреси під’єднався до сайту та намагався провести енумерацію файлу wp-config.php. У висновку, на файлі wp-config.backup він зіткнувся з помилкою сервера 500  –  через велику кількість запитів, сервер просто перенавантажився й не зміг обробити запит, що привело до недоступності сайту.

Виявити шкідливі IP-адреси також можна з допомогою антиспам-фільтрів, а також email-заголовків в яких міститься інформація про IP-адресу сервера відправника:

MASPIC Spam Log

Приклад виявлення токсичних IP-адрес, заблокованих з допомогою антиспам-фільтру MASPIC з інтеграцією AbuseIPDB API.

Виявлення шкідливої IP-адреси у заголовках email листа

Приклад виявлення шкідливої IP-адреси у заголовках email листа.

Для власників розгалуженої ІТ-інфраструктури рекомендується застосовувати більш просунуті централізовані платформи моніторингу, такі як Splunk, Zabbix, Kibana, Graffana, а також SIEM-системи, які автоматично аналізують усі надані вищепереліченими платформами дані й сповіщають адміністраторів про виявлені підозрілі хости/IP-адреси.

Splunk Cybersecurity logs

Приклад моніторингу трафіку з допомогою Splunk.

В операційних системах Windows/Linux можна використати мережевий сніффер Wireshark. Він покаже усі потоки даних – куди, звідки і які інтернет-пакети проходять через вашу мережу. Таким чином можна виявити несанкціоновані або підозрілі з’єднання.

Wireshark Malware Traffic Analysis

Аналіз шкідливого мережевого трафіку в Wireshark.

Зібрати токсичні IP-адреси також допоможуть різноманітні Threat Intelligence платформи – це спеціальні додатки і онлайн-сервіси, які сканують та аналізують мережу Інтернет на наявність підозрілої активності, реєструють кіберінциденти, сортуючи усі індикатори у своїй базі даних. Приклади: MISP, OpenCTI, Yeti, RiskIQ, AlienVaultOTX, Harpoon та інші.

Існують ще методи “медової бочки” (honeyspot) – це мережеві приманки, які цілеспрямовано заманюють потенційних зловмисників на сервер, а далі здійснюють запис будь-яких дій з метою вивчення їх поведінки та подальшої деанонімізації.

Частина 2. Блокування і блеклістинг токсичних IP-адрес

Внесення IP-адрес в чорний список

Заблокувати токсичну 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:

Блокування IP-адреси в плагіні Wordfence Security

3) На третьому етапі, не зайвим буде здійснити зовнішнє блокування на рівні CDN/WAF Cloudflare.

Треба перейти у налаштування домену, в розділ Security ->WAF й створити правило блокування:

Block IP Address with Cloudflare WAF

Додатково у тому ж розділі Security можна перейти в меню Bots й увімкнути Bots Fight Mode. А також в розділі Security -> Settings підняти загальний рівень безпеки, наприклад з Low на Medium.

Отже, у результаті маємо тришаровий ешелонований захист. Якщо зловмисник повторно вирішить атакувати вас зі своєї IP-адреси  –  отримає блокування на всіх рівнях.

Додатково рекомендую зареєструватися в широковідомому сервісі AbuseIPDB і внести токсичну IP-адресу у їхню базу даних. Перевагою сервісу є те, що він інтегрується з багатьма антиспам-фільтрами, фаєрволами та системами. Таким чином, ви зможете попередити атаки не тільки для себе, а й для інших.

AbuseIPDB IP address analysis

Бачимо, що IP-адреса вже була додана у чорні списки. Там же можна ознайомитись з детальними звітами щодо цієї адреси.

Інші abuse-report сервіси:

Також читайте:

Частина 3. OSINT розвідка і аналіз IP-адрес

Instruments and services for osint ip address

OSINT-розвідка IP-адрес мало чим відрізняється від розвідки доменів – Web Domain Intelligence (WEBINT) і полягає у тому, щоб зібрати про хост якомога більше інформації, використуючи відкриті і публічнодоступні джерела, спеціалізовані додатки, Cyber Threat Intelligence (CTI) платформи, сканери, пошукові системи тощо.

IP Address OSINT Mindmap

Attack surface OSINT Investgations

Для аналізу хостів та IP-адрес я застосовую безліч інструментів та онлайн-сервісів. Розглянемо кращі із них.

Утиліти консолі Linux

Network Intelligence

ℹ️ Середовище Linux є надзвичайно важливим та багатим на різноманітні інструменти мережевої розвідки. Нижче пропоную розглянути найпопулярніші з них.

HOST

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

Whois Analysis

Whois – це TCP-протокол, який збирає інформацію з реєстрів доменних імен (IANA, RIPE, ICANN, InterNIC). Whois може надати чимало інформації про хост або домен, наприклад дані власника і провайдера (реєстранта) домену, прив’язані NS-сервери, контактні і технічні дані.

Приклади команд:

  • whois domain.com
  • whois XX.XX.XXX.XXX

В тілі відповідей WHOIS варто завжди звертати увагу на такі статуси:

  • clientTransferProhibited — захист від несанкціонованого трансферу домену і зміни реєстратора;
  • clientDeleteProhibited — блокування видалення домену з реєстру;
  • clientUpdateProhibited — блокування від несанкціонованого оновлення інформації про домен;
  • DNSSEC — система безпеки доменів, що здійснює перевірку аутентифікації.

TRACEROUTE

Traceroute – це мережева утиліта призначена для визначення маршрутів проходження даних у мережах TCP/IP.

Приклад команди:

  • traceroute XX.XX.XXX.XXX

PING

Ping – це мережева утиліта для перевірки з’єднань в мережах на основі стеку TCP/IP.

Приклади команд:

  • ping XX.XX.XXX.XXX
  • ping -f XX.XX.XXX.XXX

DIG

DIG

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

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

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 – це утиліта командого рядка для брутфорсу файлів та директорій веб-ресурсів.

Приклади команд:

  • 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

testssl.sh – це утиліта командного рядка Linux для перевірки SSL-сертифікатів.

Приклад команди:

  • ./testssl.sh XXX.XXX.XXX.XXX

NIKTO

Nikto Web Server Scanner

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

NMAP wallpaper

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 з описом:

All keys NMAP

WEB CHECK

Web Check – це універсальний інструмент для пошуку інформації про веб-сайт/хост, створений дослідницею безпеки Alycia Sykes. З допомогою сервісу можна дізнатися архітектуру та походження певного електронного ресурсу, переглянути такі дані як: інформація про IP-адресу, SSL, DNS, cookie, HTTP-заголовки, розташування сервера, відкриті порти, traceroute, трекери, пов’язані імена хостів та багато іншого.

Web Check IP Address

SHODAN

Shodan.io – це культова кібер-пошукова система, яка дозволяє швидко знаходити пристрої та електронні ресурси у мережі Інтернет та аналізувати відомості про них. 

Щоби проаналізувати будь-яку IP-адресу у кібер-пошуковику SHODAN, достатньо вставити в пошуковий рядок браузера URL-адресу:

https://www.shodan.io/host/X.XX.XXX.XX

У відповідь SHODAN покаже вичерпні відомості, які йому вдалось отримати з відкритих джерел:

Аналіз IP-адреси з допомогою SHODAN

CENSYS

Censys.io – це пошукова система мережевих пристроїв і електронних ресурсів, заснована американськими дослідниками.

Для перевірки IP-адреси у пошуковій системі CENSYS вбиваємо URL у форматі:

https://search.censys.io/hosts/XX.XXX.XXX.XX

Аналіз IP-адреси в Censys

Існує також сервіс на базі штучного інтелекту – CensysGPT, який конструює запити для пошуку даних: https://gpt.censys.io/

ZOOMEYE

ZoomEye – це китайська кібер-пошукова система, призначеня для виявлення та аналізу мережевих пристроїв і ресурсів.

Для перевірки IP-адреси в ZoomEye необхідна реєстрація. В результатах пошукової видачі отримуємо чимало інформації:

ZoomEye IP address analysis

CISCO Talos

CISCO Talos – це потужна кіберпошукова система від засновників CISCO для аналізу та перевірки IP-адрес.

URL-адреса для перевірки:

https://talosintelligence.com/reputation_center/lookup?search=XXX.XXX.XXX.XXX

CISCO Talos IP address analysis

RISKIQ

RISKIQ  – це Threat Intelligence платформа для мережевої розвідки.

URL-адреса для перевірки:

https://community.riskiq.com/search/XXX.XXX.XXX.XXX

RISKIQ

IntelligenceX

Intelx.io – це популярний OSINT-сервіс для пошуку витоків даних в мережі Інтернет.

URL-адреси для перевірки:

https://intelx.io/?s=XXX.XXX.XXX.XXX
https://intelx.io/tools?tab=ip

DNSlytics

DNSlytics – це комплекс онлайн-інструментів для аналізу електронних ресурсів.

Цікавим є інструмент Reverse IP в сервісі DNSlytics, який показує пов’язані ресурси та домени, що може знадобитися для подальшого інтернет-розслідування:

Приклад API-запиту:

  • curl https://freeapi.dnslytics.net/v1/ip2asn/XX.XXX.XX.XXX

Документація по API DNSlytics>>

MALTEGO

Maltego – це відомий додаток для проведення OSINT-розслідувань, який входить до складу операційної системи Kali Linux.

Сервіс Maltego допоможе візуалізувати деталізовану блок-схему усіх пов’язаних з токсичною IP-адресою хостів і доменів та структурувати ці зв’язки:

MALTEGO IP address analysis

SpiderFoot

SpiderFoot – це безкоштовна автоматизована десктопна OSINT-платформа, написана на Python. Являє собою агрегатор API різних кіберпошукових систем. 

SpiderFoot OSINT

DNSdumpster

DNSdumpster – це онлайн-сервіс для проведення пасивної DNS-розвідки.

Сервіс DNSdumpster допоможе провести пасивну DNS-розвідку (Passive DNS) досліджуваної IP-адреси, покаже HTTP-заголовки сервера та список направлених на неї хостів:

DNSdumpster IP address analysis

SYNAPSINT

Synapsint – це безкоштовний OSINT-сервіс для пошуку інформації, пов’язаної з доменом, IP-адресою та ASN.

Synapsint OSINT analysis

CRIMINALIP

Criminalip.io – це пошукова Threat Intelligence платформа, яка виявляє та аналізує мережеві пристрої та електронні ресурси.

URL-адреса для перевірки:

https://www.criminalip.io/asset/search?query=ip%3AXX.XXX.XXX.XXX

Criminal IP Cyber Threat Intelligence

CLAUDFLARE RADAR

Cloudflare Radar – це онлайн-сервіс від засновників Cloudflare, який складається з різних дашбордів та надає різноманітну статистичну інформацію: кібератаки, трафік, ip-адреси, домени, якість інтернету і багато іншого. Також тут можна отримати інформацію про будь-яку URL або IP-адресу.

Cloudflare Radar

CYLECT.IO

Cylect.io – це OSINT-фреймворк і агрегатор популярних пошукових онлайн-сервісів. Містить величезну кількість посилань на кращі інструменти, включаючи AI.

Cylect OSINT tool

SECURITY TRAILS

Security Trails – це популярний онлайн-сервіс від засновників американської розвідувальної агенції RecordFuture.

Сервіс Security Trails дозволить знайти пов’язані домени і проаналізувати їх історію, хронологію DNS-записів:

Історія DNS в сервісі SecurityTrails

Приклади безкоштовних API-запитів:

  • curl –request GET \
    –url
    https://api.securitytrails.com/v1/ips/nearby/XX.XXX.XX.XXX \
    –header ‘APIKEY: XXXXX’
  • curl –request GET \
    –url
    https://api.securitytrails.com/v1/history/domain.com/dns/a \
    –header ‘APIKEY: XXXXX’
    –header ‘accept: application/json’

Документація по API SecurityTrails>>

IPQULITYSCORE

IPQULITYSCORE – це Fraud Detection система, яка дає оцінку якості IP-адреси, а також може перевіряти URL/Email/Domain.

Сервіс цінний тим, що показує сукупну інформацію за вказаною IP-адресою. Надаються такі статуси як Proxy, TOR, VPN, а також бот-активність, географія, ASN і ISP провайдера, хост-адреса та інші параметри.

I Know What You Download

Iknowwhatyoudownload.com – це сервіс, який виявляє Торент-завантаження за IP-адресою. Таким чином, можна визначити, що завантажує той чи інший користувач Інтернету, якщо він користується Торентом.

URL-адреса для перевірки:

https://iknowwhatyoudownload.com/en/peer/?ip=XX.XXX.XXX.XXX

Читайте також: Кіберпошукові системи для пентестера

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

5 1 голос
Рейтинг статті
Підписатися
Сповістити про
guest
0 Коментарі
Старіші
Новіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Цікаво почути Вашу думку!x
Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію

Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!

Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!