técnicas de evasão
DESCRIPTION
Segurança de Servidores LinuxAutor: HumbertoTRANSCRIPT
Segurança em Servidores Linux
Técnicas de Evasão
Prof. Humberto CaetanoFaculdade Santo Agostinho
Pós-Graduação em Redes de Computadores
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
2.16
Honeypot
● É uma ferramenta que simula falhas de forma proposital. Assim identificamos agentes que estão em busca destas falhas e podemos efetuar o bloqueio destes de maneira próativa.
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
3.16
O Honeyd● O Honeyd é um daemon desenvolvido por Niels Provos para ser
utilizado tanto em Windows quanto *nix.● Ele funciona criando “hosts virtuais” os quais podem ser
configurados para emular vários serviços diferentes como e-mail, SSH, Telnet, DNS, backdoors como o MyDoom, etc. Além de emular serviços, o Honeyd também pode enganar scanners de rede fingindo ser outro sistema operacional. Por exemplo, você consegue emular um roteador Cisco, um Windows XP, Windows 2000, Windows Server 2003, Cisco IOS, OS/400, entre vários outros. Ele consegue isso utilizando o banco de dados de fingerprints do NMap (http://www.insecure.org/nmap).
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
4.16
O Honeyd
● O Honeyd é software livre licensiado sob a GPL, ou seja, use à vontade para qualquer finalidade. Ele também é utilizado bastante pelo Honeynet.BR Project (entidade brasileira de pesquisa de honeypots).
● Website oficial http://www.honeyd.org.
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
5.16
Lab 18: O Honeyd
● Instalação– wget
http://ftp.us.debian.org/debian/pool/main/h/honeyd/honeyd_1.5c-7+b1_i386.deb
– wget http://ftp.us.debian.org/debian/pool/main/libe/libevent/libevent-1.4-2_1.4.13-stable-1_i386.deb
– wget http://ftp.us.debian.org/debian/pool/main/r/readline5/libreadline5_5.2-7_i386.deb
– wget http://ftp.us.debian.org/debian/pool/main/h/honeyd/honeyd-common_1.5c-7_all.deb
– wget http://www.honeyd.org/contrib/fabian.bieker/honeyd.tgz
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
6.16
Lab 18: O Honeyd
● Instalação– dpkg -i honeyd_1.5c-7+b1_i386.deb libevent-1.4-
2_1.4.13-stable-1_i386.deb libreadline5_5.2-7_i386.deb honeyd-common_1.5c-7_all.deb
– tar zxvf honeyd.tgz– cp -r honeyd/* /usr/share/honeyd/– apt-get install farpd libdumbnet1 libpcap0.8
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
7.16
Lab 18: O Honeyd
● Configuração● # vim /etc/default/honeyd● (Aqui coloque a interface de trabalho e o IP)● # cd /etc/honeypot● # mv honeyd.conf honeyd.back
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
8.16
Lab 18: O Honeyd
● Configuração. Vamos criar uma máquina Linux com FTP e WEB.● # vim /etc/honeypot/honeyd.conf
– create linuxftp– set linuxftp personality "Linux 2.4.7 (X86)"– add linuxftp tcp port 80 "sh scripts/web.sh"– add linuxftp tcp port 21 "sh scripts/unix/linux/suse8.0/proftpd.sh
$ipsrc $sport $ipdst $dport"– set linuxftp default tcp action reset– set linuxftp default icmp action open– bind 192.168.1.50 linuxftp
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
9.16
Lab 18: O Honeyd
● Iniciando o serviço● # farpd 192.168.1.50 -i eth0● # /etc/init.d/honeyd start● (Aqui o serviço apresentará um erro, mas está
funcional)● # ps -ef | grep honey
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
10.16
Lab 18: O Honeyd
● Testando● A partir de outra máquina execute testes de
ping, nmap e telnet● # ping 192.168.1.50● # nmap --send-ip -O -sS 192.168.1.50● # telnet 192.168.1.50 21
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
11.16
Port Knocking
● A técnica de Port Knocking funciona como uma combinação de um cofre. Depois que você digita os códigos corretos o servidor abre a conexão para você.
● No caso os códigos são portas TCP para acesso à um serviço.
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
12.16
Lab 19: Port Knocking
● Acessando serviço SSH através do Port Knocking.● A sequência será 100, 200, 300 e 400. Após
essas quatro transações o SSH será habilitado.
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
13.16
Lab 19: Port Knocking● Script do Port Knocking
● iptables -N INTO-FASE2● iptables -A INTO-FASE2 -m recent --name FASE1 --remove● iptables -A INTO-FASE2 -m recent --name FASE2 --set● iptables -A INTO-FASE2 -j LOG --log-prefix "INTO FASE2: "
● iptables -N INTO-FASE3● iptables -A INTO-FASE3 -m recent --name FASE2 --remove● iptables -A INTO-FASE3 -m recent --name FASE3 --set● iptables -A INTO-FASE3 -j LOG --log-prefix "INTO FASE3: "
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
14.16
Lab 19: Port Knocking● Script do Port Knocking
● iptables -N INTO-FASE4● iptables -A INTO-FASE4 -m recent --name FASE3 --remove● iptables -A INTO-FASE4 -m recent --name FASE4 --set● iptables -A INTO-FASE4 -j LOG --log-prefix "INTO FASE4: "●
● iptables -A INPUT -m recent --update --name FASE1●
● iptables -A INPUT -p tcp --dport 100 -m recent --set --name FASE1● iptables -A INPUT -p tcp --dport 200 -m recent --rcheck --seconds 15 --name FASE1 -j INTO-
FASE2● iptables -A INPUT -p tcp --dport 300 -m recent --rcheck --seconds 15 --name FASE2 -j INTO-
FASE3● iptables -A INPUT -p tcp --dport 400 -m recent --rcheck --seconds 15 --name FASE3 -j INTO-
FASE4
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
15.16
Lab 19: Port Knocking
● Script do Port Knocking● iptables -A INPUT -p tcp --dport 22 -m recent
--rcheck --seconds 3600 --name FASE4 -j ACCEPT
2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores
16.16
Lab 19: Port Knocking
● Testando:● # for x in 100 200 300 400; do nmap -Pn
--host_timeout 100 --max-retries 0 -p $x 192.168.1.23 && sleep 1; done && ssh [email protected]