HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.03.2021, 00:09
Telariust
Guest
Сообщений: n/a
Провел на форуме:
3018

Репутация: 3
По умолчанию

########################

Прошу воспринимать тему как Заметки об использовании masscan.

Если вы обнаружили не ожидаемое поведение masscan и хотите этим поделиться - пишите здесь.

Первый пост будет обновляться по мере возможности.

Коротко о главном.

Сканер в целом замИчательный, но изобилует внезапными проблемами.

Вобщем, поимев некоторый опыт использования masscan, хочу рассказать другим.

Многие ньюансы нигде не описаны вообще, а значит на эти грабли продолжают наступать.

Писать автору не пробовал (и говорят он забил), если напишите за меня возражать не буду.

########################

IPv6

Спустя ~3года вышла новая версия с поддержкой IPv6! (зрители аплодируют стоя)

1.0.5 - "released this on 8 Mar 2018"

1.3.0 - "released this on 9 Jan 2021"

В 1.3.x изменилось поведение по умолчанию (сюрпризы ждут любителей --banners).

Чтобы понять как было до и после - прервите сканирование по Ctrl+C и сравните paused.conf от разных версий.

Баг, в 1.3.x восстановление сессии не работает пока не уберете из paused.conf "nocapture = servername".

Пофиксить просто - добавляем флаг "--capture=servername" и paused.conf станет корректный.

########################

lowspeed + NATproblem + PPPoE not work

masscan для работы требует MAC роутера.

А роутер - это NAT-трансляция.

А NAT-трансляция - это порог возможных одновременных соединений.

Лично у меня 5Kpcs/s (client->routerNAT->PPPoE->provider).

Напрямую к PPPoE нельзя - это виртуальный интерфейс без MAC.

Так что из дома вы много не насканите (и это хорошо, как защита от дурака)

В статье https://kaimi.io/2017/12/mass-scanning/ чел поставил эксперимент. Он снял несколько VPS, сканил повышая скорость и смотрел на прилетающие абузы от IDS; при 4Kpcs/s - вообще не было абуз, когда повысил раз в 10 - тогда начались.

Как же сканят на 900Kpcs/s и более?

Насколько мне известно, нужно настроить маршрутизацию пакетов с физического интерфейса(у него есть MAC) на виртуальный.

Если кто знает как сделать быстро и что для этого нужно (вторая сетевая карта или микротик роутер) - было бы полезно узнать.

тема не раскрыта

В версии 1.3.x также заявлена поддержка виртуальных интерфейсов (vlan) но это PPPoE не помогло.

моя конфигурация не заработала

использовал kali2020.2 + LAN_PPPoE + masscan1.3.2

Что насчет запуска PPPoE через Docker?

sudo docker run -it ilyaglow/masscan -p80 0.0.0.0/4 --rate 1000000

у меня не заработало, с той же ошибкой "failed to detect MAC address"

использовал kali2020.2 + LAN_PPPoE + docker:ilyaglow/masscan

тема не раскрыта

########################

--banners

Изначально masscan и zmap создавался для свербыстрого асинхронного SYN сканирования (только для обнаружения).

Потом они начали обрастать жиром.

Zmap пошел по пути отдельных тулз под конкретную задачу https://zmap.io/ (и это правильно).

А masscan решил запихивать в себя.

Многим не очевидно, что сверхбыстрое SYN-scan(-sS) несовместимо c медленным --banners, которое требует полноценный TCP-connect (-sT) для получения информации.

--nobanners - правильный выбор.

Собирайте баннеры другим сканером (Nmap) который для этого был создан.

Предположим, что вы проигнорировали здравый смысл описанный выше (ценой потери скорости и стабильности канала).

Включили "--banners", но баннеров нет?

Вы попали в top10 граблей! Оказывается "--banners" не работает без "--adapter-ip=192.168.0.254" изза вредных RST пакетов.

(где указанный IP не должен использоваться, чтобы RST уходили на него - в пустоту)

(также можно резать RST фаерволом, но через adapter-ip проще)

(с) спасибо https://kali.tools/?p=976 (кстати это одна из лучших статей про masscan)

Сбор баннеров можно сделать более продвинутым используя

--capture=servername/html/cert/heartbleed/ticketbleed

--hello=http/ssl/smbv1

--http-user-agent=myagent

--http-header="user-agent: myagent"

--tcp-timeout=4 (вот он, медленный некошерный TCP-connect!)

где

html - сбор главной страницы

cert - сбор ssl сертификатов

heartbleed - одноименный чекер

ticketbleed - одноименный чекер

########################

--append-output

в 1.0.x Win не работает, трет лог

в 1.3.x Win не работает, трет лог

########################

--rotate --rotate-dir

в 1.0.x Win оно у меня не работало

в 1.3.x Win заработало, все ок

########################

--sendq

Нет. Не надо. Пожалуйста не надо.

Если раньше пакеты генерировались стабильно, то теперь они копятся и шлются пачкой.

Нагрузка на канал становится пульсирующей.

(эта опция похожа(или даже ее эквивалент) на "Interrupt Moderation" в настройках сетевой карты)

Лично у меня применение --sendq только создавало/усиливало проблему пропуска валидных целей.

########################

masscan - скрытые опции


Как я "люблю" скрытые опции не заявленные в --help.

Такое чувство, что автор специально умалчивает, чтобы только "избранные"(задроты), читающие священный исходный код, узнали о всех возможностях.

masscan --help (совсем плохо)

masscan --nmap (уже получше)

наконец

https://github.com/robertdavidgraham...can.8.markdown

и даже теперь вы знаете далеко не все

https://github.com/robertdavidgraham...rc/main-conf.c

вот теперь ок

########################

Nmap - скрытые опции


nmap -h | grep NOTFOUND

--randomize-hosts

Это звучит как начало анекдота, но о существовании этой замечательной опции я узнал из "masscan --nmap".

--max-os-tries 1

Расширение опции -O, сколько раз пытаться уточнять версию удаленной системы.

Опция примечательна тем что.. бывало ли у вас так, что nmap при определении OS заявляет о двух разных OS? Это происходит потому что OS детектится через особенности обработки пакетов, замеры timestamp и прочее на каждом порту. Когда порт проброшен через port_forwarded то nmap будет заявлять о наличие сигнатур linux(router) и windows(nat).

--defeat-rst-ratelimit

Многие хосты давно имеют ограничения на количество (1/sec) генерируемых ими ICMP сообщений об ошибке (ошибка о недостижимости порта).

Также многие системы сейчас используют похожие ограничения на количество RST(сброс).

Это может сильно замедлить сканирование, т.к. Nmap подстраивается под эти ограничения. Вы можете указать Nmap игнорировать такие ограничения ценой потери точности.

При SYN-scan не отвечающие порты помечаются как фильтруемые, а не закрытые, как в случае принятия ответа RST.

Это опция полезна, только когда вам важны открытые порты (--open), а различать закрытые и фильтруемые порты нет необходимости.

Если нужно именно через Nmap просканить много хостов (на 1порт)

-sS -Pn -n -p T:80 --open -T3 --max-rtt-timeout 2800ms --host-timeout 3s --max-hostgroup 200 --max-retries 0

Если увеличить max-hostgroup то будет быстрее, но будут экспоненциально увеличиваться тормоза и пропуски. Значение по умолчанию 1024, и это оч много, особенно под Win.

За 3сек даже самый тормозной хост должен дать ответ с другой стороны земного шара (ну или края, если у вас Земля плоская).

Число повторов в ноль предполагает пренебрежение к малой погрешности потерь.

(только при нуле будет ругаться "giving up on port because retransmission cap hit (0)")

Скриптовое сканирование (-sC) много пропускает с числом потоков уже более 50 (--max-hostgroup 50).

Причем можно параллейно запустить четыре окна по 50 и они будут работать много чище чем одно окно на 200.

кстати оч рекомендую прочитать

собственно сами опции

https://nmap.org/book/performance-low-level.html

их подробное описание

https://nmap.org/man/ru/man-performance.html

и как они связаны с тайминг режимами

https://nmap.org/book/performance-timing-templates.html

########################

--excludefile ip_excl.list


Часто в списках ip глобальных подсетей стран встречаются локальные (или хуже того - широковещательные) ip.

Например, попытки просканировать 240.0.0.0/4 приводит к аццким глюкам OS.

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

127.0.0.0/8

192.168.0.0/16

172.16.0.0/12

10.0.0.0/8

100.64.0.0/10

169.254.0.0/16

240.0.0.0/4

########################

(с) описания взяты из разных источников и отредактированы Капитаном Очевидность чтобы оно понятно было
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ