Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
👁 Прокачай свой NMAP!
• Nmap — эталон среди сканеров портов и один из важнейших инструментов пентестера. В первую очередь используется для сканирования портов, но, кроме этого, имеет огромную массу полезных функций, что, по сути, делает Nmap супер-комбайном для исследования сетей.
• В Nmap есть поддержка скриптов для сканирования (NSE — Nmap Scripting Engine). С использованием скриптов мы можем автоматизировать свою работу и сократить время на выполнение определенных задач. Согласитесь, ведь удобнее же «нажать одну кнопку» и получить результат, чем постоянно проделывать одну и ту же последовательность действий, верно?
• Первая статья освещает базовую информацию о том, как работать со скриптами в Nmap: https://www.stationx.net/nmap-scripting-engine/
• Вторая статья от журнала ][акер, которая поможет не только разобраться с основами, но еще и даст необходимую информацию по написанию собственных скриптов. Содержание следующее:
- Постановка задачи;
- Структура NSE-скрипта;
- Описание скрипта (description);
- Категории, в которых находится скрипт (categories);
- Информация об авторе (author);
- Информация об использующейся лицензии (license);
- Зависимости от других скриптов (dependencies);
- Хост и порт (host & port);
- Подключение библиотек;
- Инструкции скрипта (action);
- Настройка PostgreSQL;
- Запуск скрипта;
- Аргументы;
- Расширение;
- Отладка скриптов.
• После прочтения материала по ссылкам выше, обязательно обратите внимание на все доступные сценарии NSE, которые разбиты на 14 категорий:
- auth;
- broadcast;
- brute;
- default;
- discovery;
- dos;
- exploit;
- external;
- fuzzer;
- intrusive;
- malware;
- safe;
- version;
- vuln.
➡https://www.infosecmatter.com/ultimate-list-of-nmap-nse-scripts-interactive-table/
#nmap
• Очень объемная статья с форума XSS, которая описывает неочевидные функции Nmap и его возможности. Материал будет полезен пентестерам и #ИБ специалистам. Содержание следующее:
➡Nmap и IDS;
➡Nmap и службы;
➡Nmap и белые списки;
➡Выявление хостов в сети;
➡Скрытый скан портов Nmap;
➡Интеграция Nmap с Metasploit;
➡Тайминг и производительность в Nmap;
➡Анализ операционных систем с помощью Nmap;
➡Обнаружение и анализ виртуальных частных сетей;
➡Использование Zenmap для автоматизации сканирования;
➡Использование API Nmap для создания собственных приложений;
➡Nmap Scripting Engine: расширение функционала Nmap скриптами;
➡Автоматизация тестирования безопасности с использованием Nmap.
#Nmap
🤖 Тамагочи для хакера.
• Bjorn - инструмент, предназначенный для проведения комплексного сканирования сетей и оценки их уязвимости. Проект имеет модульную конструкцию и его функционал может быть расширен за счет скриптов на Python.
• Самое забавное, что инструмент реализован в виде игры по типу Тамагочи с виртуальным персонажем - викингом, где за каждые успешные сканирования или взломы вы будете получать игровые монеты, и прокачивать вашего виртуального «друга».
• Для изготовления такого устройства вам понадобится Raspberry PI Zero W или Zero 2W и 2.13 дюймовый e-ink экран с драйвером, подключаемый к GPIO. Устройством можно управлять как с экрана, так и через веб-интерфейс.
• Основные особенности устройства в текущей реализации:
➡Идентификация активных хостов и открытых портов в сети;
➡Сканирование сетей на наличие уязвимостей с использованием #Nmap и других инструментов;
➡Brute-force атаки на различные сервисы (FTP, SSH, SMB, RDP, Telnet, SQL).
➡️https://github.com/infinition/Bjorn
#ИБ#Пентест
👁 Nmap + Grafana.
• Grafana является прекрасной системой визуализации и анализа информации, которая позволяет «из коробки» работать с широким спектром источников данных (data source) – Elasticsearch, Loki, MS SQL, MySQL, PostgreSQL, Prometheus и др. При необходимости также интегрируется с Zabbix, PRTG и др. системами. Свободно распространяется по лицензии GNU AGPL v3 (бесплатно).
• В этой статье описано создание панели управления Nmap с помощью Grafana и Docker, чтобы получить полноценный обзор сети и открытых служб: https://hackertarget.com/nmap-dashboard-with-grafana/
#Nmap#Grafana
👁 Nmap Cheat Sheet 2024: All the Commands & Flags.
• Полезная шпаргалка по #nmap, которая поможет автоматизировать свою работу и сократить время на выполнение определенных задач: https://www.stationx.net/nmap-cheat-sheet/
• В качестве дополнения предлагаю ознакомиться с материалом по ссылкам ниже, где Вы найдете необходимую информацию для изучения этого инструмента:
• Host Discovery;
• Output Format Scan;
• Understanding Nmap Packet Trace;
• Nmap Scan with Timing Parameters;
• Nmap Scans using Hex Value of Flags;
• Forensic Investigation of Nmap Scan using Wireshark;
• Understanding Guide for Nmap Timing Scan (Firewall Bypass);
• Understanding Guide for Nmap Ping Scan (Firewall Bypass);
• Comprehensive Guide on Nmap Port Status;
• How to Detect NMAP Scan Using Snort;
• Understanding Guide to Nmap Firewall Scan (Part 2);
• Understanding Guide to Nmap Firewall Scan (Part 1);
• Understanding Nmap Scan with Wireshark;
• Password Cracking using Nmap;
• Vulnerability Scan;
• Network Scanning using NMAP (Beginner Guide);
• MSSQL Penetration Testing using Nmap;
• MySQL Penetration Testing with Nmap.
#ИБ#Eng#Nmap
Один из наших читателей, занимается переводом книг, с английского языка на русский. Это очень большой труд и большая трата времени. Его усилиями, на русский язык была переведена книга: Quick Start Guide to Penetration Testing: With NMAP, OpenVAS and Metasploit by Sagar Rahalkar.
👾 VT.
Язык: RU
#NMAP#Metasploit#OpenVAS#Пентест#Pentest#Книга