Total Security - totalsecurity.com.br
Detectando vulnerabilidades com NESSUS
Nessus é uma ferramenta para auditoria de segurança. Com ele é possível verificar varias vulnerabilidades em sua rede. O nessus permite que se faça isso de uma forma segura, nao permitindo que usuários não autorizados possam scanear sua rede com ele.Ele é composto por duas partes, sendo um cliente e um servidor. Pode-se usá-lo a partir do windows©, porém isso não será abordado nesse artigo. Ele possui uma série de recursos bastante interessantes como trabalhar em conjunto com o nmap e também a possibilidade de atualização apenas baixando novos plugins de ataques e/ou vulnerabilidades. O Nessus foi criado em 1998 por Renaud Deraison, sendo que naquela época o melhor security scanner era o SATAN ( que se encontrava bastante desatualizado ). Deraison resolveu dividir o sistema em plugins, facilitando muito a atualização e a prevenção contra novos ataques. A partir da versão 1.0.0 foi criado um script que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade e assim sugerir uma forma ou explicacao para corrigi-la.
Adquirindo e compilando o NESSUS
Você pode conseguir o nessus no formato .rpm, mas recomendo baixar o fontes e compilá-los assim pode-se familiarizar melhor com seus detalhes. Baixe em www.nessus.org ou no mirror ftp://mirror.arc.nasa.gov/pub/tools/nessus os arquivos :
nessus-libraries-1.x.x.tar.gz
nessus-core-1.x.x.tar.gz
libnasl-1.x.x.tar.gz
nessus-plugins-1.x.x.tar.gz
Descompate-os e execute os seguites comandos dentro de cada pasta criada na ordem acima.
[root@pikachu nessus-core]# ./configure
[root@pikachu nessus-core]# make
[root@pikachu nessus-core]# make install
Caso o configure acuse algum erro é porque falta alguma biblioteca ou algo do genero. (veja a documentação do nessus para saber sobre as dependências). É fortemente recomendado que, ao executar o configure do nessus-libraries, você utilize ./configure --enable-cipher para ativar o layer de criptografia.
Configurações iniciais
Depois de instalar tudo, deve-se configurar um usuário e uma senha. Para isso utilize o comando nessus-adduser. O programa irá pedir os dados do novo usuário tais como login,senha,senha em texto plano ou encriptada, sendo que se você escolher usar senha encriptada (recomendado), o programa irá solicitar de onde este usuário poderá fazer scan na máquina.
Com o usuário criado você deve rodar o servidor ( nessusd ). Se você sempre efetuar o scan da mesma máquina eu recomendo você startar o servidor com a opção --listen para que o nessusd aceite apenas conexões de um determinado host(deve-se usar o endereço IP). Por exemplo :
[root@pikachu /]# nessusd --listen=192.162.1.13 # ou . . .
[root@pikachu /]# nessusd -a 192.162.1.13
Nessus modo gráfico
O nessus possui uma GUI muito flexível onde você configura vários detalhes de varredura na sua rede. Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que serão scanneados. Primeiramente rode o nessus cliente, bastando para isso digitar nessus na linha de comando. Ele pedirá, entao, a senha que você configurou inicialmente. Vamos abordar agora quais são as opções de configuração do cliente nessus.
Nessus host -> nesta aba de configuração você deve especificar o endereço ip do daemon nessus e também a porta tcp em que ele está rodando (geralmente 1241). Nesta tela também é possível optar pelo algoritmo de criptografia que será usado. Também é preciso especificar o nome do usuário para logar no daemon.
Plugins -> Aqui reside todo o poder do nessus, nesta aba se encontram as explorações (exploits) das vulnerabilidades conhecidas em forma de plugins. O nessus se vale destes plugins para avaliar as vulnerabilidades do sistema scanneado.
Prefs. -> São especificados valores como usuários e senhas de serviços como ftp, pop, imap e smb. De porte desses dados o nessus pode fazer verificações muito mais eficitentes nos seus hosts, já que alguns exploits pressupõem que o "explorador" possui uma conta válida de algum desses serviços. Também é possível configurar o tipo de scan que será usado pelo nmap ( caso possua ).
Scan Option -> Aqui pode-se especificar as portas que serão scaneadas pelo nessus, use virgula para portas individuais e hifen para intervalos(80,110,443-1024). No caso de utilizar o nessus para scanear servidores web é bastante interessante especificar o path, ou caminho, dos CGI"s no seu servidor. Por exemplo se você especificar o path /cgi-bin/ para o nessus procurará por CGI"s "exploitáveis" em http://host/cgi-bin/.
Target Selection -> Preencha o único campo desta aba para especificar as máquinas que serão scaneadas. Clicando no botão "Read file..." você especifica um arquivo onde estão o endereços IP das máquinas a serem verificadas.
User -> Aqui estão suas informacões pessoais como a chave que deve ser usada e também pode-se trocar a sua senha do nessus.
Nessus em modo texto
Apesar do nessus possuir uma GUI muito interessante e flexível você pode usá-lo também no modo linha de comando. Desta forma você deve passar alguns argumentos para ele veja como :
Servidor Porta Login Alvos Resultados
| | | | |
| | | | +-- Arquivo onde serão armazenados os resultados
| | | +----------- Arquivo contento os IPs ou host das máquinas serem scaneadas
| | +------------------ Usuário para efetuar o login
| +------------------------ Porta onde o nessusd está em listen(default 3001)
+------------------------------- Ip ou host onde está rodando o nessusd
Obs.: No modo linha de comando todos estes campos são obrigatórios inclusive o arquivo de alvos(onde os hosts/IPs devem estar separados por vírgula) e o arquivo onde ficarão os resultados. Caso eu fosse realizar um nessus scan na minha máquina agora realizaria o comando:
[root@pikachu]# nessus 127.0.0.1 3001 root alvos.txt result.txt
Sendo que o arquivo alvos.txt teria apenas o número ip 127.0.0.1 que se refere a máquina que desejo scanear.
O unico inconveniente que se tem ao usar o nessus no modo texto é que você não pode acompanhar a progressão da varreduara nos hosts mesmo assim é uma opção bastante útil em diversas ocasiões.
Iniciando a inspeção na sua rede
Assim que você iniciar o nessus lhe será solicitado a senha. A primera tela que irá surgir é a nessus host nesta tela se encontram, além da opções citadas acima, o botão de login clicando nele você ja poderá configurar os plugins que serão utilizados. Agora na aba Plugins você escolhe quais "ataques" e explorações deverão ser aplicadas aos seus alvos. Como já citei anteriormente este é um dos maiores diferenciais do nessus, os plugins estão separados por categorias e cada um deles possui um texto explicando o que aquele exploit faz e também o grau de risco bem como resolver o problema caso esta vulnerabilidade seja encontrada. Caso alvos sejam máquinas que estão em produção não aconselho usar utilizar o plugins de DoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas. Se os alvos estiverem abertos para internet é importante marcar ao menos as seguintes categorias : Gain Shell Remotely, Gain Root Remotely, Backdoors, Remote File Access. Cabe a você analizar quais plugins deverão ser utilizados na varredura, caso sua rede seja composta apenas por sistemas *NIX não existe a menor necessidade de utilizar os plugins referentes a Wingate, por exemplo.
Após escolher os plugins mais adequandos a sua rede vamos escolher quais hosts serão scaneados. Clique na aba Target Selection e especifique as máquinas que deseja scanear ( todas elas devem estar com o nessusd rodando ). Como mencionado acima você deve colocar os alvos(targets) separados por vírgula ou especificar um arquivo de onde onde o nessus irá ler os alvos.
Com tudo configurado(geralmente não é preciso mudar muita coisa) você pode iniciar a varredura em sua rede para isto clique no botão "Start the scan". Agora o nessus irá varrer sua rede isso pode demorar um pouco conforme a velocidade da rede e quantidade de plugins que você selecionou.
Tela Nessus Report
Feito a varredura podemos verificar a falhas de segurança e as recomendações do nessus para as vulnerabilidades encontradas. Na tela Nessus Report você vê os hosts scaneados a esquerda e as vulnerabilidades encontradas em cada um deles á direita. Clicando no sinal de + sobre as vulnerabilidades tem-se a explicação do problema e também como proceder para corrigi-lo. Para uma futura referência pode-se também exportar o relatório basta escolher o formato e clicar em "Save as..." recomendo escolher a opcão "Save as HTML with pies an graphs" com isso nessus irá salvar os resultados na pasta que você escolher e também gerará gráficos sobre as vulnerabilidades de sua rede juntamente com o tradicional relatório em HTML.
Atualizando os plugins
O nessus possui um script para atualizar os plugins. Primeiramente esteja conectado na internet, assim bastando executar o seguinte comando:
[root@pikachu /]# nessus-update-plugins -v
Com a opção -v serão exibidos os plugins que estão sendo baixados. Este script não possui nehuma forma para verificar a integridade dos plugins baixados,por isso use-o com cautela.( leia a manpage deste script para maiores detalhes)
Bug Report
Caso algum bug seja encontrado no nessus é importante você mandar um e-mail para deraison@cvs.nessus.org com a descrição do problema juntamente com a saída do comando.
[root@pikachu /]# nessus-config --cflags --libs --version
Assim os desenvolvedores do nessus irão saber exatamente os detalhes de compilação e bibliotecas.
As funcionalidades do nessus não se resumem as citadas apenas neste texto. Ele possui vários outros recursos tais como regras para usuários poderem efetuar nessus scans apenas em certas máquinas por exemplo e outros mais.
Ele é uma das melhores, se não a melhor, opção de system/network scan existentes, estando sob os termos da GPL e contando com uma gama bastante significativa de desenvolvedores e plugins. Apesar de todas as facilidades apresentadas pelo nessus, não se deve acreditar que ele será uma solução definitiva de segurança, afinal a segurança não é um programa ou um produto e sim um processo envolvendo muito mais do que scans de rede e firewalls.
Fonte: LinuxSecurity
Adquirindo e compilando o NESSUS
Você pode conseguir o nessus no formato .rpm, mas recomendo baixar o fontes e compilá-los assim pode-se familiarizar melhor com seus detalhes. Baixe em www.nessus.org ou no mirror ftp://mirror.arc.nasa.gov/pub/tools/nessus os arquivos :
nessus-libraries-1.x.x.tar.gz
nessus-core-1.x.x.tar.gz
libnasl-1.x.x.tar.gz
nessus-plugins-1.x.x.tar.gz
Descompate-os e execute os seguites comandos dentro de cada pasta criada na ordem acima.
[root@pikachu nessus-core]# ./configure
[root@pikachu nessus-core]# make
[root@pikachu nessus-core]# make install
Caso o configure acuse algum erro é porque falta alguma biblioteca ou algo do genero. (veja a documentação do nessus para saber sobre as dependências). É fortemente recomendado que, ao executar o configure do nessus-libraries, você utilize ./configure --enable-cipher para ativar o layer de criptografia.
Configurações iniciais
Depois de instalar tudo, deve-se configurar um usuário e uma senha. Para isso utilize o comando nessus-adduser. O programa irá pedir os dados do novo usuário tais como login,senha,senha em texto plano ou encriptada, sendo que se você escolher usar senha encriptada (recomendado), o programa irá solicitar de onde este usuário poderá fazer scan na máquina.
Com o usuário criado você deve rodar o servidor ( nessusd ). Se você sempre efetuar o scan da mesma máquina eu recomendo você startar o servidor com a opção --listen para que o nessusd aceite apenas conexões de um determinado host(deve-se usar o endereço IP). Por exemplo :
[root@pikachu /]# nessusd --listen=192.162.1.13 # ou . . .
[root@pikachu /]# nessusd -a 192.162.1.13
Nessus modo gráfico
O nessus possui uma GUI muito flexível onde você configura vários detalhes de varredura na sua rede. Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que serão scanneados. Primeiramente rode o nessus cliente, bastando para isso digitar nessus na linha de comando. Ele pedirá, entao, a senha que você configurou inicialmente. Vamos abordar agora quais são as opções de configuração do cliente nessus.
Nessus host -> nesta aba de configuração você deve especificar o endereço ip do daemon nessus e também a porta tcp em que ele está rodando (geralmente 1241). Nesta tela também é possível optar pelo algoritmo de criptografia que será usado. Também é preciso especificar o nome do usuário para logar no daemon.
Plugins -> Aqui reside todo o poder do nessus, nesta aba se encontram as explorações (exploits) das vulnerabilidades conhecidas em forma de plugins. O nessus se vale destes plugins para avaliar as vulnerabilidades do sistema scanneado.
Prefs. -> São especificados valores como usuários e senhas de serviços como ftp, pop, imap e smb. De porte desses dados o nessus pode fazer verificações muito mais eficitentes nos seus hosts, já que alguns exploits pressupõem que o "explorador" possui uma conta válida de algum desses serviços. Também é possível configurar o tipo de scan que será usado pelo nmap ( caso possua ).
Scan Option -> Aqui pode-se especificar as portas que serão scaneadas pelo nessus, use virgula para portas individuais e hifen para intervalos(80,110,443-1024). No caso de utilizar o nessus para scanear servidores web é bastante interessante especificar o path, ou caminho, dos CGI"s no seu servidor. Por exemplo se você especificar o path /cgi-bin/ para o nessus procurará por CGI"s "exploitáveis" em http://host/cgi-bin/.
Target Selection -> Preencha o único campo desta aba para especificar as máquinas que serão scaneadas. Clicando no botão "Read file..." você especifica um arquivo onde estão o endereços IP das máquinas a serem verificadas.
User -> Aqui estão suas informacões pessoais como a chave que deve ser usada e também pode-se trocar a sua senha do nessus.
Nessus em modo texto
Apesar do nessus possuir uma GUI muito interessante e flexível você pode usá-lo também no modo linha de comando. Desta forma você deve passar alguns argumentos para ele veja como :
Servidor Porta Login Alvos Resultados
| | | | |
| | | | +-- Arquivo onde serão armazenados os resultados
| | | +----------- Arquivo contento os IPs ou host das máquinas serem scaneadas
| | +------------------ Usuário para efetuar o login
| +------------------------ Porta onde o nessusd está em listen(default 3001)
+------------------------------- Ip ou host onde está rodando o nessusd
Obs.: No modo linha de comando todos estes campos são obrigatórios inclusive o arquivo de alvos(onde os hosts/IPs devem estar separados por vírgula) e o arquivo onde ficarão os resultados. Caso eu fosse realizar um nessus scan na minha máquina agora realizaria o comando:
[root@pikachu]# nessus 127.0.0.1 3001 root alvos.txt result.txt
Sendo que o arquivo alvos.txt teria apenas o número ip 127.0.0.1 que se refere a máquina que desejo scanear.
O unico inconveniente que se tem ao usar o nessus no modo texto é que você não pode acompanhar a progressão da varreduara nos hosts mesmo assim é uma opção bastante útil em diversas ocasiões.
Iniciando a inspeção na sua rede
Assim que você iniciar o nessus lhe será solicitado a senha. A primera tela que irá surgir é a nessus host nesta tela se encontram, além da opções citadas acima, o botão de login clicando nele você ja poderá configurar os plugins que serão utilizados. Agora na aba Plugins você escolhe quais "ataques" e explorações deverão ser aplicadas aos seus alvos. Como já citei anteriormente este é um dos maiores diferenciais do nessus, os plugins estão separados por categorias e cada um deles possui um texto explicando o que aquele exploit faz e também o grau de risco bem como resolver o problema caso esta vulnerabilidade seja encontrada. Caso alvos sejam máquinas que estão em produção não aconselho usar utilizar o plugins de DoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas. Se os alvos estiverem abertos para internet é importante marcar ao menos as seguintes categorias : Gain Shell Remotely, Gain Root Remotely, Backdoors, Remote File Access. Cabe a você analizar quais plugins deverão ser utilizados na varredura, caso sua rede seja composta apenas por sistemas *NIX não existe a menor necessidade de utilizar os plugins referentes a Wingate, por exemplo.
Após escolher os plugins mais adequandos a sua rede vamos escolher quais hosts serão scaneados. Clique na aba Target Selection e especifique as máquinas que deseja scanear ( todas elas devem estar com o nessusd rodando ). Como mencionado acima você deve colocar os alvos(targets) separados por vírgula ou especificar um arquivo de onde onde o nessus irá ler os alvos.
Com tudo configurado(geralmente não é preciso mudar muita coisa) você pode iniciar a varredura em sua rede para isto clique no botão "Start the scan". Agora o nessus irá varrer sua rede isso pode demorar um pouco conforme a velocidade da rede e quantidade de plugins que você selecionou.
Tela Nessus Report
Feito a varredura podemos verificar a falhas de segurança e as recomendações do nessus para as vulnerabilidades encontradas. Na tela Nessus Report você vê os hosts scaneados a esquerda e as vulnerabilidades encontradas em cada um deles á direita. Clicando no sinal de + sobre as vulnerabilidades tem-se a explicação do problema e também como proceder para corrigi-lo. Para uma futura referência pode-se também exportar o relatório basta escolher o formato e clicar em "Save as..." recomendo escolher a opcão "Save as HTML with pies an graphs" com isso nessus irá salvar os resultados na pasta que você escolher e também gerará gráficos sobre as vulnerabilidades de sua rede juntamente com o tradicional relatório em HTML.
Atualizando os plugins
O nessus possui um script para atualizar os plugins. Primeiramente esteja conectado na internet, assim bastando executar o seguinte comando:
[root@pikachu /]# nessus-update-plugins -v
Com a opção -v serão exibidos os plugins que estão sendo baixados. Este script não possui nehuma forma para verificar a integridade dos plugins baixados,por isso use-o com cautela.( leia a manpage deste script para maiores detalhes)
Bug Report
Caso algum bug seja encontrado no nessus é importante você mandar um e-mail para deraison@cvs.nessus.org com a descrição do problema juntamente com a saída do comando.
[root@pikachu /]# nessus-config --cflags --libs --version
Assim os desenvolvedores do nessus irão saber exatamente os detalhes de compilação e bibliotecas.
As funcionalidades do nessus não se resumem as citadas apenas neste texto. Ele possui vários outros recursos tais como regras para usuários poderem efetuar nessus scans apenas em certas máquinas por exemplo e outros mais.
Ele é uma das melhores, se não a melhor, opção de system/network scan existentes, estando sob os termos da GPL e contando com uma gama bastante significativa de desenvolvedores e plugins. Apesar de todas as facilidades apresentadas pelo nessus, não se deve acreditar que ele será uma solução definitiva de segurança, afinal a segurança não é um programa ou um produto e sim um processo envolvendo muito mais do que scans de rede e firewalls.
Fonte: LinuxSecurity
URL Fonte: https://totalsecurity.com.br/noticia/196/visualizar/
Comentários