sexta-feira, 29 de novembro de 2019

RapidScan - Multi-Tool WEB Vulnerability Scanner



Introdução

Para que serve?

Scanner Multi-tool para checagem de 80 testes, que incluem:
  • DNS/HTTP Load Balancers & Web Application Firewalls.
  • Checks for Joomla, WordPress and Drupal
  • SSL related Vulnerabilities (HEARTBLEED, FREAK, POODLE, CCS Injection, LOGJAM, OCSP Stapling).
  • Commonly Opened Ports.
  • DNS Zone Transfers using multiple tools (Fierce, DNSWalk, DNSRecon, DNSEnum).
  • Sub-Domains Brute Forcing.
  • Open Directory/File Brute Forcing.
  • Shallow XSS, SQLi and BSQLi Banners.
  • Slow-Loris DoS Attack, LFI (Local File Inclusion), RFI (Remote File Inclusion) & RCE (Remote Code Execution).

Pré-requisitos

  • Python 2.7.
  • Qualquer SO que suporte o Python

Faça download e instalação com o seguinte comando:

wget -O rapidscan.py https://raw.githubusercontent.com/skavngr/rapidscan/master/rapidscan.py && chmod +x rapidscan.py

Utilização e Lista de Comandos

Realiza um scan do destino:

./rapidscan.py exemplo.com

Atualiza para a última versão:

./rapidscan.py --update

Menu de ajuda:

./rapidscan.py --help

Exemplo de comando

Dentro da pasta do "rapidscan", execute:

./rapidscan.py google.com

...e aguarde o script concluir a tarefa.

Observações:
  • Ctrl+c: ele pula (skip) a task.
  • Ctrl+z: ele para o script.

Telas

Considerações Finais

Fonte: 
 

quarta-feira, 23 de outubro de 2019

Instalando Samba 4 com Domínio no CentOS 7

Introdução

Configuração

Instale o repositório EPEL mais atualizado possível:

# rpm -ivh http://mirror.globo.com/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

Atualize o sistema:

# yum -y update

Instale os pacotes necessários do sistema:

# yum -y install wget vim net-tools open-vm-tools
# yum -y groupinstall 'Development Tools'

Configuração do nome da máquina:

# vim /etc/hostname

nomedamaquina

Configurando o sysconfig/network:

# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=nomedamaquina

Desabilitando o SElinux e IPtables

Para não complicar muito as coisas nesse momento e como estamos fazendo em um ambiente de controle e de teste, vamos desabilitar o SELinux e o Firewall.

# vim /etc/selinux/config

SELINUX=disabled

# systemctl stop firewalld
# systemctl disable firewalld

Reinicie a máquina:

# init 6

Preparando para a instalação do Samba4

Nesta seção, iremos preparar o ambiente para que o Samba4 seja instalado como controle de configuração do CentOS 7. Instale o repositório EPEL, mais atualizado possível:

# rpm -ivh http://mirror.globo.com/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

Atualize o sistema:

# yum -y update

Instale os pacotes necessários do sistema:

# yum -y install wget vim net-tools open-vm-tools
# yum -y groupinstall 'Development Tools'

Configuração do nome da máquina:

# vim /etc/hostname

nomedamaquina

Configurando o sysconfig/network:

# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=nomedamaquina

Para não complicar muito as coisas nesse momento e como estamos fazendo em um ambiente controla e de teste, vamos desabilitar o SELinux e o Firewall.

# vim /etc/selinux/config

SELINUX=disabled

# systemctl stop firewalld
# systemctl disable firewalld

Reinicie a máquina:

# init 6

O CentOS 7 não possui todos os pacotes necessários para compilação do Samba4 com suporte a Active Directory, por isso devemos baixar os pacotes.

Instalando pacotes necessários para a instalação do Samba4:

# yum install -y openldap-devel pam-devel git gcc make wget libacl-devel libblkid-devel gnutls-devel readline-devel python-devel cups-devel libaio-devel quota-devel ctdb-devel krb5-devel krb5-workstation acl setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils bind-sdb bind-devel bind-libs bind avahi-devel mingw32-iconv gamin libcap-devel rpc2-devel glusterfs-devel python-dns pkgconfig gdb e2fsprogs-devel zlib-devel sqlite-devel perl attr acl krb5-user ntp bind bind-sdb attr bind-utils docbook-style-xsl gcc gdb krb5-workstation libsemanage-python libxslt perl perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python python-crypto gnutls-devel libattr-devel keyutils-libs-devel libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel tdb-tools

Configurando o arquivo "hosts":

# vim /etc/hosts

192.168.40.70 inf.infstorage.local inf

Configurando "fstab":

# vim /etc/fstab

defaults,acl,user_xattr

# mount -o remount /

Configurando NTP

O NTP (Network Time Protocol) é um protocolo de rede baseado no TCP/IP. Ele é usado para sincronizar o relógio dos computadores conectados a uma rede de dados de maneira precisa. A real necessidade disso é superar aos problemas causados pela latência, os quais colocam quaisquer registros sob desconfiança.

# vim /etc/ntp.conf

server a.ntp.br
server b.ntp.br
server c.ntp.br
server a.st1.ntp.br
server b.st1.ntp.br
server c.st1.ntp.br

# systemctl enable ntpd
# systemctl restart ntpd

Baixando o pacote do Samba4:

wget https://download.samba.org/pub/samba/stable/samba-4.8.2.tar.gz

Configurando o "resolv.conf":

# vim /etc/resolv.conf

search infstorage.local
domain infstorage.local
nameserver 127.0.0.1

Configurando o krb5.conf

Kerberos é um protocolo desenvolvido para fornecer poderosa autenticação em aplicações usuário/servidor, onde ele funciona como a terceira parte neste processo, oferendo autenticação ao usuário.

# mv /etc/krb5.conf /etc/krb5.conf.old
# vim /etc/krb5.conf

[libdefaults]
        default_realm = INFSTORAGE.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true

Extraindo e copilando o pacote:

# tar zxvf samba-4.8.2.tar.gz
# cd samba-4.8.2
# ./configure
# make
# make install

Provisionando o Samba4

Provisionamento do domínio em que serão utilizadas ferramentas automatizadas do próprio Samba para preparar nosso servidor como controlador do domínio. A principal ferramenta é o comando "samba-tool", que serve como frontend responsável por manipular o OpenLDAP.

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 -interactive
Realm [INFSTORAGE.LOCAL]
Domain [INFSTORGE]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrator password:
Retype password:


Verificar se o Samba subiu normalmente:

# /usr/local/samba/sbin/samba
# ps uax | grep samba

Script de inicialização do Samba4

Para que o Unit baseado no Systemd seja integrado ao servidor, possibilitando assim, o controle dos processos relativos aos serviços, bem como na inicialização do sistema e o Samba possa subir automaticamente.

# vim /etc/systemd/system/samba.service

[Unit]
Description=Samba AD Daemon
After=syslog.target network.target
[Service]
Type=forking
NotifyAccess=all
PIDFile=/usr/local/samba/var/run/samba.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/local/samba/sbin/samba -D
ExecReload=/usr/bin/kill -HUP $MAINPID
ExecStop=/usr/bin/killall samba
Restart=on-failure
[Install]
WantedBy=multi-user.target

Configurando o DNS

Um Active Directory funcional baseia-se fortemente em um DNS funcional. Não é apenas para resolver endereços IP em nomes e vice-versa. Os clientes encontram seus controladores de domínio e outros serviços importantes do AD por meio de consultas DNS, isso significa que seus clientes devem usar seus controladores de domínio como seus servidores de nomes.

Acessando o "named.conf", altere ou insira:

# vim /etc/named.conf

options{
   tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
      listen-on port 53 { 127.0.0.1; 192.168.40.70;};
      forwarders {
                200.175.182.139;
                8.8.8.8;
        };
}

include "/usr/local/samba/bind-dns/named.conf";
zone "70.168.192.in-addr.arpa" {
    type master;
    file "/var/named/192.168.70.rev";
    allow-update {
     none;
        };
                };

Verificar a versão do "named":

# named -v
# vim /usr/local/samba/bind-dns/named.conf

Retire a opção # da versão do named.

Reinicie o "named":

# systemctl restart named

Testando o Samba4:

# host -t SRV _ldap._tcp.infstorage.local.
# host -t SRV _kerberos._udp. infstorage.local.
# host -t A infstorage.local

Gerando chave do Kerberos:

# kinit administrator

Verificando a chave:

# klist -e

Atualizando o DNS:

# /usr/local/samba/sbin/samba_dnsupdate –verbose

Referências

quarta-feira, 20 de março de 2019

Instalando Zabbix no CentOS 7

O Zabbix é uma ferramenta de monitoramento de código aberto, monitorando servidores, máquinas virtuais e serviços, métricas de monitoramento, utilização da rede, carga da CPU e consumo de espaço em disco. Vamos mostrar a instalação e adicionar máquinas com Linux e Windows no monitoramento.
Por: Daniel Lara Souza em 22/02/2019 | Blog: http://danniel-lara.blogspot.com/

INSTALANDO O ZABBIX


Após a instalação do CentOS, instale o epel e atualize: 

# yum install epel* -y
# yum udpate -y 

Desative o selinux e reinicie o servidor. Adicione o repositório do Zabbix

# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 

Instale o Zabbix e o MariaDB: 

# yum install zabbix-server-mysql zabbix-proxy-mysql zabbix-web-mysql mariadb-server -y 

Inicialize os serviços do Apache e MariaDB e ative na inicialização dos serviços: 

# systemctl start httpd
# systemctl enable httpd
# systemctl start mariadb
# systemctl enable mariadb 

Defina a senha para o banco de dados: 

# mysqladmin -u root password 'centos' 

Acesse o banco e crie a base de dados: 

# mysql -u root -p 

MariaDB [(none)]> CREATE DATABASE zabbix;
Query OK, 1 row affected (0.00 sec) 

MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec) 

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec) 

MariaDB [(none)]> quit
Bye 

Agora, importe os dados para o banco: 

# zcat /usr/share/doc/zabbix-server-mysql-4.0.4/create.sql.gz | mysql -uzabbix -p zabbix 

Edita o arquivo: 

# vim /etc/zabbix/zabbix_server.conf 

E deixe-o com essas informações: 

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

Ajuste o timezone: 

# vim /etc/httpd/conf.d/zabbix.conf 

E deixe-o assim, a linha estava comentada: 

php_value date.timezone America/Sao_Paulo

Agora, reinicie o Apache: 

# systemctl restart httpd 

Inicie o Zabbix e ative na inicialização: 

# systemctl start zabbix-server
# systemctl enable zabbix-server 

CONFIGURAÇÃO VIA BROWSER

Vamos continuar a configuração via browser. 

A instalação é bem tranquila, basta ir preenchendo os dados necessários e ao logar, o usuário do zabbix é "admin" e a senha é "zabbix": 

http://<ip ou nome do server>/zabbix

Só Next e completando os campo que pedem. 

Next:
Se tiver tudo certo, só dar Next:
Complete o campo de acesso ao MariaDB:
No caso, só preencher Name:
Agora, só um sumário:
Parabéns, Zabbix instalado:
Agora, só logar no Zabbix:
  • Usuário = admin
  • Senha = zabbix



INSTALANDO ZABBIX-CLIENT NO LINUX


Vamos agora instalar o client do Zabbix em um servidor Linux, no caso estou usando o CentOS 7

Baixe o client no site do Zabbix: 

# wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.4-1.el7.x86_64.rpm 

Instale o pacote rpm: 

# rpm -ivh zabbix-agent-4.0.4-1.el7.x86_64.rpm 

Agora, efetuar o backup do arquivo "conf" do Zabbix client: 

# mv /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bkp 

Agora, vamos criar um arquivo novo, só com o necessário: 

# vim /etc/zabbix/zabbix_agentd.conf 

E adicione as linhas no arquivo: 

Server=192.168.122.254
Hostname=zabbix
StartAgents=3
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
Timeout=3

Salve e saia do arquivo. 

Inicie o Serviço do client: 

# systemctl start zabbix-agent 

Ative na inicialização: 

# systemctl enable zabbix-agent 

Agora no Zabbix: 

Vá em: Configuration > Hosts
Agora vá em: Create Host
Preenche os campos como Host name, Groups, IP Address:
Agora, vá em: Templates
Selecione: "Template OS Linux" > Add
Após, podemos verificar que o host já está OK no monitoramento:
Depois, pode ir em: Monitoring > Graphs
E selecionar o seu Servidor:

INSTALANDO ZABBIX-CLIENT NO WINDOWS


Agora, vamos instalar o client no Windows e adicionar no Zabbix Server. 

Baixe o client do Windows:
Crie uma pasta no c:, chamado de "Zabbix". 

Agora, descompacta o "arquivo.zip" e copie os arquivos que estão dentro da pasta "bin" e "conf" para a pasta que tu criou no c:

Renomeia o arquivo "zabbix_agentd.win.conf" para: zabbix_agentd.conf 

Edite o arquivo e adicione: 

Server=192.168.122.254
Hostname=srv
StartAgents=5
DebugLevel=3
LogFile=C: abbixzabbix_agentd.log
Timeout=3

Salve o arquivo.
Agora, abra um prompt de comando como adminstrador. 

Para instalar: 

C:zabbixzabbix_agentd.exe --config C:zabbixzabbix_agentd.conf --install 

Iniciar o serviço: 

C:zabbixzabbix_agentd.exe --config C:zabbixzabbix_agentd.conf --start
Agora, no Zabbix vá em: Configuration > Host groups > Create Host group
Vá em: Configuration > Host > Create Hosts 

Preenche os dados como nome do servidor, IP do servidor e o grupo que criou:
Adicione o template do Windows:
Agora, verificamos que o Windows já está sendo monitorado:
Espero que ajude. 

REFERÊNCIAS

Envio e-mail pelo sendemail

# !/bin/bash
smtpemailfrom=emailenvio@email.com #email para envio
mailto=emailrecebe@email.com #email que receberá
subject='Logado FTP Server' # Assunto do Email
smtpserver=mail.server.com # Host Servidor de Email
smtplogin= emailenvio@email.com #email para envio
smtppass=senha #senha do email
smtpauth=tls=yes #tipo de criptografia do servidor
arq=/opt/FTP/logando.txt #Aqui coloquei o arquivo que ira ser comparado e enviado 

/usr/bin/sendemail -f $smtpemailfrom -t $mailto -u $subject -o message-file=$arq -s $smtpserver:587 -xu $smtplogin -xp $smtppass

segunda-feira, 18 de fevereiro de 2019

Configuração do Quagga e seus protocolos

1 – Instalando o quagga
$ apt-get install quagga.
2 – copiando os arquivos de configuração:
$ cp /usr/share/doc/quagga/examples/* /etc/quagga.
Com este comando todos os arquivos de configuração serão copiados, no caso de utilizar somente alguns protocolos de roteamento, deve-ser copiar o arquivo zebra.conf.samples e o arquivo correspondente ao protocolo de roteamento, ex: ripd.conf.samples.
3 – Renomear os arquivos de configuração que foram copiados da pasta examples.
É necessário renomear os arquivos que serão utilizados. EX: utilizando o protocolo RIP.
$ mv /etc/quagga/zebra.conf.samples /etc/quagga/zebra.conf
$ mv /etc/quagga/ripd.conf.samples /etc/quagga/ripd.conf.
$ mv /etc/quagga/ospfd.conf.samples /etc/quagga/ospfd.conf.
$ mv /etc/quagga/bgpd.conf.samples /etc/quagga/bgpd.conf.
4 – Editar o arquivo /etc/quagga/daemons.
$ nano /etc/quagga/daemons.
No fim do arquivo está a configuração dos daemons que rodarão. Marcar com yes ou no…
Exemplo para rodar o protocolo RIP..
zebra=yes
ripd=yes
ospfd=no
deixar os outros como no.
5 – Executar o serviço quagga.
$ /etc/init.d/quagga restart
6 – Configurar o zebra
$ telnet localhost 2601.
  • A senha padrão é zebra.
Este comando acessa o console do zebra.
Router>
para habilitar o zebra.
Router> enable
# coloca o zebra em modo superusuário (Gustavão q ensinou ahah)
  • Para verificar a configuração atual executar o comando
Router$ show run
No zebra devemos configurar todas as nossas interfaces de rede
Para configurar, primeiro entrar com o comando
Router$ configure terminal
# utilizar o tab, como no linux facilita a digitação.
Router(config)$
  • Deve-se configurar as interfaces… Para isso é necessário realizar a sequencia de comandos abaixo
Ex: de configuração da interface eth0 com ip 172.16.1.2/30
Router(config)$ interface eth0
Router(config-if)$  ip address 172.16.1.2/30
Router(config-if)$ quit
Executar esta sequência para todas as interfaces…
Ao final executar o comando
Router(config-if)$ write
Sair:
Router(config-if)$ end
Router$ quit
– Nas interfaces podemos setar algumas configurações adicionais como por exemplo:
Router(config-if)$ bandwidth 100000
– Este comando indica que a interface trabalha a 100Mbps… Os valores estão em Kbps. Isto é útil quando utilizamos o protocolo OSPF e a opção auto-cost bandwidth está ativa. Ele leva em conta a largura de banda da interface.
  • Pronto o zebra está configurado, mas é só a metade.
7 – Reiniciar o zebra com as novas configurações.
$ /etc/init.d/quagga restart.
O quagga será reiniciado com as novas configurações.
8 – Configurar o RIP.
No RIP, configuraremos as redes e as interfaces… ainda não sei a necessidade das interfaces, mas consultarei alguns tutoriais, por hora é desta maneira que iremos configurar.
Entrar no console;
$ telnet localhost 2602
$ password: zebra
ripd>
  • habilitar o console
ripd> enable
  • para verificar as configurações que estão rodando executar;
ripd$ show run
  • configurar o RIP
ripd$ configure terminal
  • Entrar na configuração do RIP
ripd(config)$ router rip
  • Entrar com as configurações das networks Exemplo:
ripd(config-router)$ network 172.16.1.0/30
ripd(config-router)$ network eth0
  • realizar este procedimento para todas as redes.
  • se uma interface não deve conter tráfego das informações devemos acrescentar a opção;
ripd(config-router)$ passive-interface eth3
– Deste modo a informação não será trocada nesta interface.
– Se desejamos que as informações de rota default seja trocada acrescentamos a opção:
ripd(config-router)$ default-information originate
  • salvar as configurações
ripd(config-router)$ write
  • sair
ripd(config-router)$ end
ripd$
  • verificar as configurações
ripd$ show run
  • sair
ripd$ quit.
** CONFIGURAR O OSPF NO QUAGGA
Para habilitar o OSPF devemos editar o arquivo /etc/quagga/daemons e colocar ospfd=yes na parte de configuração dos daemons. Salvar o arquivo e reiniciar o quagga.
# nano /etc/quagga/daemons

ospfd=yes

#/etc/init.d/quagga restart
** Acessando o OSPF
O acesso ao daemon do OSPF é por telnet pela porta 2604. A senha padrão é zebra.
#telnet localhost 2604

ospfd>
Setando algumas configurações básicas… Tomando como exemplo as nossas redes.
– Configurando as redes.
ospfd>en
ospfd# configure terminal
ospfd(config)# router ospf
– Identificando o roteador no AS
ospfd(config-router)# router-id 0
– Inserindo as redes que serão propagadas
ospfd(config-router)# network 172.16.1.0/24 area 0
ospfd(config-router)# network 192.168.10.0/24 area 0
ospfd(config-router)# wr
ospfd(config-router)# end
  • se uma interface não deve conter tráfego das informações devemos acrescentar a opção;
ripd(config-router)$ passive-interface eth3
– Deste modo a informação não será trocada nesta interface.
– Se desejamos que as informações de rota default seja trocada acrescentamos a opção:
ripd(config-router)$ default-information originate

- Note que a área indica em qual AS as informações serão trocadas.

- Algumas configurações das interfaces.

[
1
2
3
4
5
]
ospfd>en
ospfd# configure terminal
ospfd(config)# interface ethx
[
]
Indica um custo para aquela interface.
[
1
2
3
]
ospfd(config-if)# ospf cost
[
]
Modifica o tempo de troca de informações: hello e dead. (dead é quando a interface passa a ser down).
ospfd(config-if)# ospf hello-interval 3 ospfd(config-if)# ospf dead-interval 5
Estas configurações devem ser as mesmas em todos os roteadores do AS
Quagga no BGP
Um exemplo de configuracao do bgp:
unixrouter# conf t
unixrouter(config)# router bgp 65002
unixrouter(config-router)# bgp router-id 192.168.0.2
unixrouter(config-router)# network 20.10.0.0/16
unixrouter(config-router)# network 20.20.0.0/16
unixrouter(config-router)# network 20.30.0.0/16
unixrouter(config-router)# network 20.40.0.0/16
unixrouter(config-router)# neighbor 192.168.0.1 remote-as 65001
unixrouter(config-router)# quit
unixrouter(config)# wr
Configuration saved to /etc/quagga/bgpd.conf
unixrouter(config)# exit
unixrouter# show ip bgp summary
BGP router identifier 192.168.0.2, local AS number 65002
2 BGP AS-PATH entries
0 BGP community entries
Neighbor V AS MsgRcvd? MsgSent TblVer? InQ OutQ Up/Down State/PfxRcd
192.168.0.1 4 65001 6 10 0 0 0 00:01:57 4
Total number of neighbors 1
unixrouter# sh ip bgp
BGP table version is 0, local router ID is 192.168.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i – internal
Origin codes: i – IGP, e – EGP, ? – incomplete
Network Next Hop Metric LocPrf? Weight Path
*> 10.10.0.0/16 192.168.0.1 0 0 65001 i
*> 10.20.0.0/16 192.168.0.1 0 0 65001 i
*> 10.30.0.0/16 192.168.0.1 0 0 65001 i
*> 10.40.0.0/16 192.168.0.1 0 0 65001 i
*> 20.10.0.0/16 0.0.0.0 0 32768 i
*> 20.20.0.0/16 0.0.0.0 0 32768 i
*> 20.30.0.0/16 0.0.0.0 0 32768 i
*> 20.40.0.0/16 0.0.0.0 0 32768 i
Total number of prefixes 8
unixrouter#
 
 
 
Ref.: https://fabiolima08.wordpress.com/2012/10/23/configuracao-do-quagga-e-seus-protocolos/