
Programa: vulcan
Autor: Nelson Murilo <nelson@pangeia.com.br>
Versao: 0.b2 (2001/11/20)

Objetivo: 
  Identificar vulnerabilidades em servicos diversos, baseado 
  nas informacoes iniciais dos servidores (banners) e comparando-as 
  com uma base de dados de versoes vulneraveis.

Descricao:
  Vulcan foi escrito para permitir uma analise automatizada do 
  ambiente e determinar quais servidos e servidores necessitam ser
  atualizados, em funcao de problemas de seguranca tornados
  publicos. Portanto a qualidade do programa nao esta no codigo 
  e sim em conter bases de dados de vulnerabilidade corretas e tao 
  completas e atualizadas quanto possivel.
  
Uso:
	vulcan [-v] <-f vulfile> <-p port> <iprange>

    Onde: 
        -v  verbose
        -f  indica o percurso do arquivo com a listagem das versoes 
            vulneraveis para um determinado servico
        -p  indica a porta onde o servico esta rodando
        <iprange> o formato permite intervalos (separados por '-') ou 
            listas (separados por ',')

Formato do arquivo de vulnerabilidades:
Permite a inclusao de variaveis que vao modificar o comportamento
programa, as variaveis sao:
SC (Send Command) - Indica o que deve ser enviado ao servidor antes
                    da leitura do banner
VL (Verify Line)  - Indica o que deve conter a linha a ser analisada, 
                    util para casos onde o servidor envie multiplas
                    linhas.
CMP (CoMPare)     - Indica se a comparacao sera feita com a linha exata do 
                    banner (EX) ou nao (PT). 
NL (NewLine)      - Indica se e quantas "novas linhas" serao enviadas ao 
                    servidor antes da leitura do banner.
               
Os demais campos sao separados por ':' (dois pontos), o primeiro e' composto 
de um texto que sera comparado com o banner do servico e o segunto campo 
informa sobre a existencia ou nao de vulnerabilidade para a versao do servico 
analisado.
Ex:
SC=\n
VL=SSH
CMP=EX
SSH-1.5-1.2.24:affected
SSH-1.5-1.3.10:affected # F-Secure SSH versions prior to 1.3.11-2
SSH-1.5-1.2.29:affected
SSH-1.5-1.2.30:affected # AnotherDescription

Dicas:
  o A versao atual nao controla tempo de conexao, portando evite incluir 
    maquinas desligadas para nao aumentar muito o tempo de espera.

Exemplos:
  vulcan -f ssh.vul -p 22 192.168.1.3,192.168.1.15,192.168.10.54 
  vulcan -f /usr/local/etc/vulcan/ssh.vul -p 22 192.168.1.30
  vulcan -f http.vul -p 80 www.d.com.br
  vulcan -f ssh.vul -p 22 host.d.com.br,host2.d.com.br,192.168.1.1
  vulcan -f http.vul -p 80 www.h.com.br,www.d.com.br 
  vulcan -f ftp.vul -p 21 192.168.1.5-192.168.1.10

Testado com sucesso nos seguintes ambientes:
  o Linux 2.0.x - 2.4.x
     (RH7.x, SuSE, TurboLinux, Debian, Slackware 7.x, 8.0)
  o FreeBSD 3.x, 4.x
  o OpenBSD 2.x 
  o Windows 2000


Download:

ftp://ftp.pangeia.com.br/pub/seg/pac/vulcan.tar.gz

Agradecimentos:

Alvicler Magalhaes
Cristine Hoepers
Klaus Steding-Jessen
Pedro Vazquez
Rafael R. Obelheiro 

