Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.),Mapeamento

Propaganda
Gerenciamento do Escopo do
Projeto (PMBoK 5ª ed.)
De acordo com o PMBok 5ª ed., o escopo é a soma dos produtos,
serviços e resultados a serem fornecidos na forma de projeto.
Sendo ele referindo-se a:
Escopo do projeto – O trabalho que deve ser realizado
para entregar um produto, serviço ou resultado com as
funcionalidades e funções especificadas. As vezes, este
termo é visto como incluindo o escopo do produto; e
Escopo do produto – As características e funções que
caracterizam um produto, serviço ou resultado.
Esta etapa do gerenciamento está relacionada principalmente
com a definição e controle do que está e do que não está
incluso no projeto, pois pretende-se entregar exatamente o que
foi solicitado no projeto.
Existem dois termos que devem ser conhecidos que são práticas
inaceitáveis e que podem levar ao fracasso do projeto:
Scope Creep – É o aumento descontrolado do produto do
projeto sem ajustes de tempo, custos e recursos.
Normalmente ocorre quando uma mudança é feita sem
controle algum, partindo do cliente diretamente para a
equipe do projeto;
Gold Plating – Refere-se dar ao cliente mais do que o
necessário, ou seja, o que foi especificado e aprovado.
Normalmente esse tipo de situação parte do gerente de
projeto ou da equipe.
Devemos lembrar que o escopo é uma das restrições conflitantes
do projeto, assim como, mas não limitando-se à:
Escopo;
Qualidade;
Cronograma;
Orçamento;
Recursos; e
Riscos.
Neste capítulo, temos os seguintes processos:
Processos do Gerenciamento do Escopo do Projeto
Visão geral da área
5.1 Planejar o Gerenciamento do Escopo – O processo de criar
um plano de gerenciamento do escopo do projeto que documenta
como tal escopo será definido, validado e controlado;
5.2 Coletar os Requisitos – O processo de determinar,
documentar e gerenciar as necessidades e requisitos das partes
interessadas a fim de atender aos objetivos do projeto;
5.3 Definir o Escopo – O processo de desenvolvimento de uma
descrição detalhada do projeto e do produto;
5.4 Criar a EAP – O processo de subdivisão das entregas e do
trabalho do projeto em componentes menores e mais facilmente
gerenciáveis;
5.5 Validar o escopo – O processo de formalização da aceitação
das entregas concluídas do projeto;
5.6 Controlar o Escopo – O processo de monitoramento do
andamento do escopo do projeto e do produto e gerenciamento
das mudanças feitas na linha de base do projeto.
Vamos analisar cada um dos processos.
Processos
Processos de gerenciamento
escopo do projeto
do
5.1 Planejar o Gerenciamento do
Escopo
É o processo de criar um plano de gerenciamento do projeto que
documenta como tal escopo será definido, validado e
controlado. Irá fornecer orientações e instruções sobre como o
escopo será gerenciado durante o projeto.
O documento gerado, o plano de gerenciamento do escopo, é um
dos componentes do plano de gerenciamento do projeto ou do
programa, levando-se em consideração como o escopo será
definido, desenvolvido, monitorado, controlado e verificado.
O fluxo inicia-se com as informações contidas no Termo de
Abertura do Projeto, os últimos planos auxiliares aprovados do
plano de gerenciamento do projeto, as informações históricas
contidas nos ativos dos processos organizacionais, e quaisquer
outros fatores ambientais da empresa que sejam relevantes.
Este plano vai auxiliar a diminuir o “scope creep” do projeto,
ou seja, os desvios.
Entradas
1. Plano de Gerenciamento do Projeto
2. Termo de Abertura do Projeto
3. Fatores ambientais da empresa
4. Ativos de processos organizacionais
Ferramentas & Técnicas
1. Opinião especializada
2. Reuniões
Saídas
1. Plano de Gerenciamento do Escopo
2. Plano de Gerenciamento dos Requisitos
5.2 Coletar os requisitos
É o processo de determinar, documentar e gerenciar as
necessidades e requisitos das partes interessadas a fim de
atender aos objetivos do projeto. O principal benefício deste
processo é o fornecimento da base para definição e
gerenciamento do escopo do projeto, incluindo o escopo do
produto.
Este processo é realizado logo no início do projeto,
especificamente após o processo 13.1 Identificar as partes
interessadas.
A coleta dos requisitos nem sempre será possível de ser feita
100% de uma vez, sendo assim, podemos considerar o
planejamento por ondas sucessivas.
O PMI conceitua requisito como uma condição ou capacidade cuja
presença em um produto, serviço ou resultado é exigida para
satisfazer um contrato ou outra especificação formalmente
imposta.
Entradas
1. Plano de Gerenciamento do Escopo
2. Plano de Gerenciamento dos Requisitos
3. Plano de Gerenciamento das Partes Interessadas
4. Termo de Abertura do Projeto
5. Registro das partes interessadas
Ferramentas & Técnicas
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Entrevistas
Dinâmicas de grupo
Oficinas facilitadas (workshops)
Técnicas de tomadas de decisão em grupo
Questionários e pesquisas
Observações
Protótipos
Benchmarking
Diagramas de contexto
Análise de documentos
Saídas
1. Documentação dos requisitos
2. Matriz de rastreabilidade dos requisitos
5.3 Definir o Escopo
Depois que o Plano de Gerenciamento do Escopo define como será
feito o gerenciamento do escopo e os requisitos foram
coletados, inicia-se o processo de definição do escopo.
Definir o escopo é o processo de desenvolvimento de uma
descrição detalhada do projeto e do produto. O principal
benefício deste processo é que ele descreve os limites do
projeto, serviços ou resultados ao definir quais dos
requisitos coletados serão incluídos e quais serão excluídos
do escopo do projeto.
Já que todos os requisitos identificados no processo “Coletar
Requisitos” podem não estar incluídos no projeto, o processo
“Definir o Escopo” seleciona os requisitos finais do projeto a
partir da documentação de requisitos entregue durante o
processo “Coletar Requisitos”. Em seguida
define uma descrição detalhada do projeto e produto, do
serviço ou resultado.
A preparação detalhada da especificação do escopo é crítica
para o sucesso do projeto e baseia-se nas entregas principais,
premissas e restrições que são documentadas durante a
iniciação do projeto. Durante o planejamento do projeto, o
seu escopo é definido e descrito com maior especificidade
conforme as informações a respeito do projeto são conhecidas.
Os riscos
existentes, premissas e restrições são analisados para
verificar sua integridade e acrescentados ou atualizados
conforme necessário. O processo “Definir o Escopo” pode ser
altamente iterativo. Em projetos de ciclo de vida iterativo,
será desenvolvida uma visão de alto nível para o projeto em
geral, mas o escopo detalhado é determinado em uma interação
de cada vez e o planejamento detalhado para a iteração
seguinte é executado à medida que o trabalho no escopo do
projeto e entregas atuais avança.
Entradas
1.
2.
3.
4.
Plano de Gerenciamento do Escopo
Termo de Abertura do Projeto
Documentação dos requisitos
Ativos de processos organizacionais
Ferramentas & Técnicas
1. Opinião especializada
2. Análise de produto
3. Geração de alternativas
4. Oficinas facilitadas
Saídas
1. Especificação do escopo do projeto
2. Atualizações nos documentos do projeto
5.4 Criar a Estrutura Analítica do
Projeto (EAP)
Criar a EAP (ou em inglês, WBS – Work Breakdown Structure) é o
processo de subdivisão das entregas e do trabalho do projeto
em componentes menores e mais facilmente gerenciáveis. O
principal benefício desse processo é o fornecimento de uma
visão estruturada do que deve ser entregue.
Exemplo de WBS – EAP de um
carro.
A EAP é uma decomposição hierárquica do escopo total do
trabalho a ser executado pela equipe do projeto a fim de
alcançar os objetivos do projeto e criar as entregas
requeridas. A EAP organiza e define o escopo total do projeto
e representa o trabalho especificado na atual declaração do
escopo do projeto aprovada.
O trabalho planejado é contido dentro dos componentes de nível
mais baixo da EAP, que são chamados de pacotes de trabalho. Um
pacote de trabalho pode ser usado para agrupar as atividades
onde o trabalho é agendado, tem seu custo estimado, monitorado
e controlado. No contexto da EAP, o trabalho se
refere a
produtos de trabalho ou
entregas que são o resultado da
atividade e não a atividade propriamente dita.
A EAP é utilizada para:
Estimar os recursos para as atividades
Estimar os custos / orçamento
Planejar a qualidade
Identificar os riscos
Planejar as aquisições
Definir as atividades
Entradas
1.
2.
3.
4.
5.
Plano de Gerenciamento do Escopo
Especificação do escopo do projeto
Documentação dos requisitos
Fatores ambientais da empresa
Ativos de processos organizacionais
Ferramentas & Técnicas
1. Decomposição
2. Opinião especializada
Saídas
1. Linha de base do escopo
2. Atualizações nos documentos do projeto
5.5 Validar o Escopo
Validar o Escopo é o processo de formalização da aceitação das
entregas concluídas do projeto. O principal benefício deste
processo é que ele proporciona objetividade ao processo de
aceitação e aumenta a probabilidade da aceitação final do
produto, serviço ou resultado, através da validação de cada
entrega.
As entregas verificadas obtidas pelo processo “Controlar a
Qualidade” são revisadas com o cliente ou patrocinador para
assegurar que foram concluídas satisfatoriamente e receberam a
aceitação formal pelo cliente ou patrocinador. Neste processo,
as saídas obtidas como resultado dos processos do planejamento
na área de conhecimento em gerenciamento de projetos, tais
como a documentação dos requisitos ou da linha de base do
escopo, assim como os dados de desempenho do trabalho obtidos
nos processos de execução de outras áreas de conhecimento são
a base para realizar a validação e para a aceitação final.
O processo “Validar o Escopo” é diferente do processo
“Controlar a Qualidade” pois o primeiro está principalmente
interessado na aceitação das entregas, enquanto que o controle
da qualidade se interessa principalmente com a precisão das
entregas e o cumprimento dos requisitos de qualidade
especificados nas entregas. O controle de qualidade
normalmente é feito antes da validação do escopo, mas os dois
processos podem ser executados paralelamente.
Entradas
1.
2.
3.
4.
5.
Plano de Gerenciamento do Escopo
Documentação dos requisitos
Matriz de Rastreabilidade dos requisitos
Entregas verificadas
Dados de desempenho do trabalho
Ferramentas & Técnicas
1. Inspeção
2. Técnicas de tomada de decisão em grupo
Saídas
1.
2.
3.
4.
Entregas aceitas
Solicitações de mudanças
Informações sobre o desempenho do trabalho
Atualizações nos documentos do projeto
5.6 Controlar o Escopo
Controlar o Escopo é o processo de monitoramento do progresso
do escopo do projeto e do escopo do produto e gerenciamento
das mudanças feitas na linha de base do escopo. O principal
benefício deste processo é permitir que a linha de base do
escopo seja mantida ao longo de todo o projeto.
O controle do escopo do projeto assegura que todas as mudanças
solicitadas e ações corretivas ou preventivas recomendadas
sejam processadas através do processo “Realizar o controle
integrado de mudanças”. O controle do escopo do projeto é
usado também para gerenciar as mudanças reais quando essas
ocorrem e é integrado aos outros processos de controle. O
aumento sem controle do produto ou escopo do projeto sem
ajustes de tempo, custo, e recursos é chamado de scope creep.
A mudança é inevitável; assim sendo, algum tipo de processo de
controle de mudança é obrigatório para todos os projetos.
Entradas
1.
2.
3.
4.
5.
Plano de Gerenciamento do Escopo
Documentação dos requisitos
Matriz de Rastreabilidade dos requisitos
Dados de desempenho do trabalho
Ativos de processos organizacionais
Ferramentas & Técnicas
1. Análise de variação
Saídas
1.
2.
3.
4.
5.
Informações sobre o desempenho do trabalho
Solicitações de mudanças
Atualizações no plano de gerenciamento do projeto
Atualizações nos documentos do projeto
Atualizações nos ativos de processos organizacionais
Mapeamento de Redes com nmap
– ferramenta de código aberto
com diversas funcionalidades
O nmap (reduzido de “Network Mapper”) é uma ferramenta livre,
de código aberto, utilizada para mapeamento de redes e inclui
diversas funcionalidades como: varredura de portas, detecção
de versão de serviços, identificação remota de sistemas
operacionais ( OS fingerprinting), etc. Esta ferramenta foi
criada por Gordon “Fyodor” Lyon, que ainda hoje participa
ativamente do desenvolvimento da mesma. O nmap é uma
ferramenta versátil que é muito utilizada, entre outros, em
auditorias, teste de invasão, teste em firewalls e testes de
conformidade.
O nmap, em geral, opera nas camadas de rede e transporte.
Entretanto, também é capaz de manipular dados da camada de
enlace (endereças MAC e requisições ARP, por exemplo) e de
interpretar dados da camada de aplicação para inferir
informações interessantes a respeito de seu alvo (versões de
serviços e sistemas operacionais, por exemplo).
A versão mais nova do nmap por ser obtida através do site
oficial. Informações adicionais às apresentadas neste artigo
podem ser encontradas na documentação oficial ou no livro de
autoria do próprio Fyodor dedicado à ferramenta (Nmap Network
Scanning, Gordon “Fyodor” Lyon, Insecure.com LCC Publishings.
ISBN: 9780979958717), que inclusive tem uma versão traduzida
em português brasileiro (Exame de Redes com NMAP, Gordon
“Fyodor” Lyon, Editora Ciência Moderna. ISBN: 9788573938654).
Parte deste livro está disponível gratuitamente na Internet
para leitura e consulta.
Nos exemplos de alvo apresentados neste artigo, são utilizados
apenas faixas de endereços IP privados definidos na RFC 1918, a
saber 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, e o endereço
scanme.nmap.org, que é um host preparado pelos próprios
desenvolvedores da ferramenta para receber este tipo de
varredura. Os leitores são encorajados a não executar
varreduras sobre qualquer ativo que não seja de sua
propriedade ou que se tenha autorização formal para isso.
Especificação de alvos
Antes de iniciar uma varredura, seja esta muito simples ou
extremamente complexa, é preciso dizer ao nmap quais são os
alvos desta varredura. O nmap define como alvos válidos
endereços IP , faixas de endereços IP ou nomes de domínio
dispostos em lista e separados por caracteres de espaçamento
(espaço, tab, nova linha, etc). Estes alvos podem ser passados
como parâmetro na linha de comando ou em um arquivo (pela
opção -iL arquivo_alvos.txt).
Assim, quando o alvo é um endereço
IP
único, este deve ser
especificado como quatro números inteiros positivos, entre 0 e
255, separados por pontos. São exemplos de endereços IP únicos:
172.28.1.101 192.168.0.1. Quando o alvo é uma faixa de endereços IP, este deve ser especificado com duas sintaxes distintas.
A primeira delas consiste do par endereço da rede e sua
máscara de subrede. São exemplos de pares endereço da rede e
máscara de subrede: 10.20.0.0/16 172.16.1.32/27. A outra
sintaxe aceita consiste de um endereço IP com listas de números
separados por vírgulas ou intervalos especificados com hífen.
São exemplos de endereço I P com listas de números ou
intervalos: 10.0.0.0-255 172.16.1,3,5,0-127 (equivalente a
172.16.1.0-127 172.16.3.0-127 172.16.5.0-127). Finalmente,
quando o alvo é um nome de domínio, este deve ser especificado
por sequências de caracteres quaisquer separadas por vírgulas.
São exemplos de nomes de domínio: scanme.nmap.org e
www.seginfo.com.br.
“Quickstart”
A forma mais simplista de executar a varredura utilizando o
nmap é executar a ferramenta sem parâmetros sobre o alvo
especificado. Esta varredura consiste de todas as opções
padrão tanto de descoberta quanto de varredura.
nmap scanme.nmap.org
Esta varredura verifica se o alvo está ativos na rede
utilizando o método de descoberta e faz a varredura utilizando
o método de varredura padrão. O resultado esperado de uma
varredura como esta é:
1. Verificação de atividade do alvo na rede; e
2. Listagem de portas abertas, fechadas e filtradas
associadas ao nome do serviço que tradicionalmente
utiliza cada porta, caso o alvo esteja ativo.
Isto quer dizer que se um determinado serviço estiver sendo
provido em uma porta diferente da que tradicionalmente é
utilizada, o nmap fornecerá uma resposta incorreta sobre o
serviço. Isto quer dizer que, por exemplo, se um servidor ssh,
que tradicionalmente utiliza a porta 22, for configurado para
prover o serviço na porta 80, tradicionalmente utilizada por
servidores http, nesta varredura o nmap detectará um servidor
http e não um ssh, como esperado.
Nas próximas seções, “Descoberta de hosts” e “Técnicas de
Varredura de portas” respectivamente, é discutido do que
consistem estes método de descoberta e de varredura padrão.
Descoberta de hosts
Frequentemente, o primeiro passo de uma auditoria de segurança
ou projeto de mapeamento de rede é reduzir uma grande faixa de
endereços IP a uma lista de endereços de interesse. Este
interesse pode variar dependendo do propósito da varredura. Em
uma auditoria teste de invasão caixa preta, o auditor se interessa por qualquer host que esteja ativo na rede, enquanto em
um auditoria em aplicações web, o auditor se interessa somente
nos hosts que provejam serviços web. Assim, para cada
propósito distinto há
descoberta de hosts.
uma
forma
diferente
realizar
a
O nmap fornece diversas opções a fim de perso nalizar a
descoberta de hosts para que esta se adeque aos propósitos da
varredura. Estas opções serão discutidas a seguir.
Primeiramente, pode ser interessante não fazer a descoberta de
hosts. Isto ocorre quando a varredura compreende um único
endereço alvo, ou quando já se sabe que os alvos estão ativos
na rede. Para estes casos, podem ser utilizadas as opções
“List scan” (-sL) ou “No Ping” (-PN) como exemplificadas nos
exemplos abaixo:
nmap -sL 10.0.0.0/24
nmap -PN 10.0.0.0/24
O “List scan” diz ao nmap que a varredura consiste apenas em
listar os alvos passados como parâmetro, embora o nmap ainda
faça uma consulta DNS (reversa, no caso de alvos especificados
como endereços IP) sobre os alvos. Portanto no caso do “List
scan” nenhuma varredura ativa é realizada sobre os alvos
especificados. No caso do “No Ping”, o nmap pula a faze de
descoberta completamente. Versões mais antigas do nmap
apontarão a opção “P0” para o “No Ping”, mas esta opção é
considerada obsoleta, apesar de ainda funcionar nas versões
atuais do nmap, e, a título de curiosidade, esta opção foi
modificada por ser frequentemente confundida com o “IP Protocol
Ping” (-PO). No exemplo dado acima, o nmap ainda faria a
varredura utilizando o método de varredura padrão sobre os
alvos especificados. A única situação em que o nmap não se
comportaria desta forma acontece quando os alvos especificados
estão na mesma rede que o host que faz a varredura. Neste
caso, o nmap faria um “ARP Ping”, ignorando a opção do “No
Ping”.
Uma vez que se queira fazer uma descoberta de hosts, esta deve
ser ativada com a opção “-sP”. Quando esta opção esta ativada,
o nmap não realiza varreduras, mas apenas realiza a descoberta
de hosts, se não houverem outras opções comandando que a
varredura seja feita. Neste caso, o nmap utiliza o método de
descoberta de hosts padrão, que é o “ARP Ping” (-PR) para
alvos localizados na rede interna e o “ICMP Echo Ping” (-PE)
para os demais.
O “ARP Ping” (-PR) é sempre o método de descoberta de hosts
escolhido pelo nmap quando o alvo encontra-se na mesma rede
que o host de onde a ferramenta é executada. Mesmo que outro
método de descoberta de host seja explicitamente especificado
o nmap irá realizar o “ARP Ping” sobre endereços da rede
interna. Para forçar o nmap a utilizar outro método de
descoberta de hosts sobre endereços na rede interna é
necessário utilizar a opção adicional “--send-ip”. Outro
adendo importante é que esta opção não funciona nos sistemas
da família Microsoft Windows, pois os mesmo não oferecem
suporte a sockets brutos (não vinculados a protocolos). Assim,
considerando que a faixa de endereços IP 192.168.1.0/16 seja a
rede interna, os comandos abaixo são equivalentes:
nmap -sP 192.168.1.0/16
nmap -sP -PR 192.168.1.0/16
O “ICMP Echo Ping” (-PE) é o método de descoberta padrão para
endereços que não estão localizados na mesma rede que o host
de onde a ferramenta é executada. Este método faz parte da
família de métodos “ICMP Ping”, que ainda inclui os métodos
“ICMP Timestamp Ping” (-PP) e “ICMP Address Mask Ping” (-PM).
Todos estes métodos funcionam de maneira semelhante, pois
detectam a atividade em um host pelo envio de pacotes ICMP de
diferentes tipos. Assim como os comandos abaixo também são
equivalentes para a rede externa:
nmap -sP scanme.nmap.org
nmap -sP -PE scanme.nmap.org
Outros métodos de descoberta de hosts interessante são o “TCP
SYN Ping” (-PS lista_de_portas) e o “UDP Ping” (-PU
lista_de_portas). Estes métodos são úteis, pois alguns hosts
podem não respondem requisições ICMP, seja por restrições no
firewall ou do próprio sistema operacional. Assim, estes
métodos de descoberta enviam pacotes TCP ou UDP a uma porta
que pode estar aberta ou fechada. Se a porta estiver aberta, o
host certamente irá responder, denunciando a atividade do
host. No entanto, se a porta estiver filtrada, nenhuma
resposta será enviada (bloqueada pelo mesmo firewall que
impediu descoberta via ICMP). Assim, a desvantagem destes
métodos, além de serem mais lentos que o “ARP Ping” e o “ICMP
Ping”, está na escolha das portas utilizadas, pois se todas as
portas escolhidas estiverem filtradas, não será possível
detectá-lo, ainda que o host esteja ativo. São exemplos de
descobertas de host por “TCP SYN Ping” e “UDP Ping”:
nmap -sP -PS22,80,443 scanme.nmap.org
nmap -sP -PU53,631 scanme.nmap.org
Varredura de portas
Esta seção trata da principal funcionalidade do nmap, a
varredura de portas. Mesmo quando estava em suas primeiras
versões, o nmap sempre foi capaz de fazer a varredura de
portas de forma rápida e eficiente. O nmap fornece diversos
métodos para realizar varreduras de portas e a escolha de qual
método utilizar depende do objetivo que se pretende atingir.
Varreduras de portas podem ter por objetivo detectar serviços
providos por um host alvo, verificar se um firewall está
filtrando requisições de forma adequada ou ainda confirmar se
a pilha TCP foi implementada conforme especificado na RFC 793.
É importante frisar que embora hajam diversos métodos de varredura de portas disponíveis, só é possível utilizar um por vez.
Outro adendo importante é que a maioria dos métodos de
varredura de portas exige altos privilégios de usuário. Isto é
necessário, pois algums pacotes são veiculados por sockets
brutos (não vinculados a protocolos) que exigem este tipo de
privilégios.
Outra parte importante na varredura de portas é a listagem de
portas (-p). A listagem de portas a serem consideradas
separadas por vírgulas e, assim como as faixas de endereços IP,
é possível especificar faixas de portas utilizando um hífen.
As podem ser associadas a um protocolo manualmente ou
automaticamente pelo nmap dependendo do contexto da varredura.
Quando os protocolos são especificados manualmente, a listagem
de portas é sempre precedida por uma letra que identifica o
protocolo utilizado (‘T’ para TCP e ‘U’ para UDP) e quando são
especificados automaticamente, basta informar a listagem de
portas. Também é possível se utilizar todas as portas através
da opção “-p” ou limitar por uma determinada quantidade de
porta mais utilizadas através da opção “--top-ports
qtd_portas” e se esta quantidade for 100 é possível utilizar o
“Fast Scan” (-F), que é equivalente a “--top-ports 100”.
Assim, são exemplos de listagem de portas: -p2225,80,443; pT:22,80,U:53,631.
A varredura de portas sempre é feita para cada execução do
nmap, exceto para o caso do “Ping Scan” (-sP), quando é
necessário escolher um método de varredura de portas para que
esta seja executada. Quando nenhum método de varredura de
portas é explicitamente especificado, o nmap executa o “TCP
SYN Scan”, caso tenha sido executado por um usuário com
privilégio de criar sockets brutos (não vinculados a
protocolos), e o “TCP Connect Scan”, caso contrário.
O “TCP SYN Scan” (-sS) é considerado pelos desenvolvedores da
ferramenta como o método de varredura de portas mais popular.
Esta varredura consiste em enviar pacotes TCP com a flag SYN
ativada para as portas alvo. Esta flag é ativada para se
iniciar uma nova conexão TCP entre os hosts, no entanto o nmap
não completa o processo de abertura da conexão (“ThreeWay
Handshake”, explicado na seção 3.4 da RFC 793) e por isto é
considerado um método bem furtivo e difícil de se detectar.
Nesta varredura, uma porta é considerada aberta se a resposta
recebida for um pacote com as flags SYN e ACK ativadas. Se a
resposta for um pacote com a flag RST ativada a porta é
classificada como fechada e se nenhuma resposta for recebida,
a porta é classificada como filtrada. Assim, considerando que
a faixa de endereços IP 192.168.1.0/16 seja a rede interna, os
comandos abaixo são equivalentes (considerando que um usuário
privilegiado esta executando as varreduras):
nmap 192.168.1.0/16
nmap -sP -sS 192.168.1.0/16
nmap -sP -PR -sS 192.168.1.0/16
De forma semelhante, os comandos
equivalentes para a rede externa:
abaixo
também
são
nmap scanme.nmap.org
nmap -sP -sS scanme.nmap.org
nmap -sP -PE -sS scanme.nmap.org
O “TCP Connect Scan” (-sT) funciona de forma muito semelhante
ao “TCP SYN Scan”. Esta varredura consiste em tentar criar
conexões entre os hosts na porta alvo. Isto é feito através da
execução completa do Aperto de Mão em Três Vias (“Three-Way
Handshake”, explicado na seção 3.4 da RFC 793) executado pela
chamada de sistema “connect()”. Este método de varredura de
portas é mais lento e menos furtivo que o “TCP SYN Scan”, pois
a conexão é, de fato, estabelecida, no entanto, por usar a
chamada de sistema, esta varredura pode ser executar por um
usuário sem privilégios. Nesta varredura, uma porta é
considerada aberta se a conexão for estabelecida com sucesso.
Se a conexão for rejeitada a porta é classificada como fechada
e se o tempo limite para estabelecer a conexão expirar, a
porta é classificada como filtrada. Assim, considerando que a
faixa de endereços IP 192.168.1.0/16 seja a rede interna, os
comandos abaixo são equivalentes (considerando que um usuário
sem privilégios esta executando as varreduras):
nmap 192.168.1.0/16
nmap -sP -sT 192.168.1.0/16
nmap -sP -PR -sT 192.168.1.0/16
De forma semelhante, os comandos
equivalentes para a rede externa:
abaixo
também
são
nmap scanme.nmap.org
nmap -sP -sT scanme.nmap.org
nmap -sP -PE -sT scanme.nmap.org
Outros métodos de varredura de portas sobre o protocolo TCP
interessante são o “TCP ACK Scan” (-sA), “TCP NULL Scan” (sN), o “TCP FIN Scan” (-sF) e o “TCP Xmas Scan” (-sX). Estes
métodos são úteis, pois permitem explorar falhas de
configuração de um firewall stateless ou roteador que filtre
pacotes, que estejam dificultando uma varredura direta. Estas
varreduras enviam pacotes TCP com a flag ACK ativada para o
“TCP ACK Scan”, com nenhuma flag ativada para “TCP NULL Scan”,
com a flag FIN ativada para o “TCP FIN Scan” e, finalmente, as
flags FIN, PSH e URG ativadas para o “TCP Xmas Scan”. Estas
varreduras, em geral, são executadas para agregar informação a
outras varreduras já executadas, visto que nem sempre oferecem
resultados confiáveis. Isto acontece, pois nem todos os
sistemas operacionais implementam sua pilha TCP em
conformidade com a RFC 793 e respondem de maneiras inesperadas
a requisições como as utilizadas para este tipo de varredura.
Outro adendo importante é que as soluções mais modernas de
IDS /IPS são capazes de detectar e bloquear este tipo de
varredura, tornando-as ineficazes. São exemplos deste tipo de
varredura:
nmap -PN -sN -p- 172.17.16.1
nmap -sX -p2125,53,80,443 192.168.1.0/24
nmap -sP -PP -sA --top-ports 512 scanme.nmap.org
Existem também métodos de varredura de portas sobre outros
protocolos além do TCP. A varredura sobre o protocolo UDP é
chamada “UDP Scan” (-sU). Esta é a única varredura que pode
ser executada simultaneamente com outras. Diferentemente das
outras varreduras, um pacote UDP vazio é enviado para a porta
alvo. Uma porta é considerada aberta se um pacote UDP de
qualquer espécie for recebido. Se um pacote “ICMP Port
Unreachable” (ICMP tipo 3, código 3) for recebido, se um
pacote “ICMP Destination Unreachable” (ICMP tipo 3, qualquer
código) de qualquer código diferente de 3 for recebido, a
porta é classificada como filtrada e se nenhuma resposta for
recebida, a porta é classificada como aberta ou filtrada.
Maiores informações sobre os protocolos UDP e ICMP e seus
tipos e códigos podem ser encontradas nas RFC 768, 792 e
Registro de Parâmetros do ICMP disponibilizado pela IANA,
respectivamente. São exemplos deste tipo de varredura:
nmap -sP -sU -F scanme.nmap.org
Há também a varredura sobre o protocolo SCTP, chamada “SCTP
INIT Scan” (-sY). O SCTP é um protocolo que combina
características tanto do TCP quanto do UDP e introduz novas
funcionalidades como multihoming e multistreaming. Maiores
informações sobre o SCTP podem ser encontradas nas RFC 3286 e
4960. Quanto a varredura SCTP, ela é muito similar à “TCP SYN
Scan”, pois nunca completa a associação SCTP e é relativamente
furtiva e pouco intrusiva. São exemplos deste tipo de
varredura:
nmap -PN -sY -p- 172.17.16.1
Detecção de serviço,
sistema operacional
versão
e
As vulnerabilidades publicadas em entidades especializadas, em
geral, são eficazes somente sobre determinadas versões de uma
dada aplicação. Assim, é interessante obter uma leitura mais
específica sobre um serviço detectado do que somente a porta
em que este está sendo executado, uma vez que estes serviços
podem ser executados em, virtualmente, qualquer porta. Sendo
assim, o nmap fornece uma opção para aferir o serviço e a
versão do software provendo este serviço através da opção “sV”. Esta opção tenta obter, através do envio de pacotes
construídos com este propósito, descobrir qual serviço está
sendo provido de fato e sua versão aproximada. Vale ressaltar
que se o nmap for compilado com suporte a OpenSSL, a
ferramenta tentará aferir serviço provido e sua versão
aproximada mesmo com a camada extra de criptografia. Maiores
informações sobre a detecção da versão de serviços e
aplicações podem ser encontradas no capítulo 7 do livro do
próprio autor da ferramenta, disponibilizado gratuitamente.
nmap -sP -sS -sV --top-ports 256 scanme.nmap.org
Assim como são publicadas vulnerabilidades para serviços
providos em uma rede, o mesmo é acontece com sistemas
operacionais, portanto também é importante detectar qual
sistema é executado por uma alvo na rede. O nmap também
fornece uma opção para aferir o sistema operacional e sua
versão aproximada através da opção “-O”. Esta operação também
é conhecida como “OS Fingerprinting”. Esta opção tenta obter,
através do envio de pacotes construídos com este propósito,
descobrir qual sistema operacional está sendo executado e sua
versão aproximada. Maiores informações sobre a detecção remota
do sistema operacional podem ser encontradas no capítulo 8 do
livro do próprio
gratuitamente.
autor
da
ferramenta,
disponibilizado
nmap -sP -sS -sV -O -p- scanme.nmap.org
Conclusão
O nmap é uma ferramenta que oferece uma gama de opções úteis e
é de grande valia para obtenção de informação para diversas
atividades, como auditorias de segurança em geral, mapeamento
de redes inteiras, teste em firewalls, etc. Este artigo
discutiu apenas as funcionalidades principais, no entanto
ainda há muitas outras que não foram sequer mencionadas, como:
o Nmap Scripting Engine (NSE), opções de controle de
desempenho, opções de evasão de firewalls/IDS/IPS, opções de
spoofing, e muitas outras. O leitor é encorajado a buscar mais
informações na documentação oficial, no livro oficial e outras
fontes, como o Webinar #4 da Clavis sobre “NMAP – Software
Livre para Exploração de Rede e Auditorias de Segurança”.
Vale mencionar que, apesar de não haver legislação especifica
que tipifique como crime o ato de executar varreduras de
qualquer tipo em redes de qualquer espécie, o objetivo deste
artigo não é incentivar os leitores a fazer varreduras
aleatórias em redes que não são de sua propriedade ou que não
se tenha autorização para fazêlo, mas informar quanto a que
tipo de informação relevante pode ser extraída destas
varreduras e como estas podem ajudar em auditorias teste de
invasão, depuração de firewalls ou administração de
servidores, etc.
Referências
[1] Nmap Free Security Scanner For Network Exploration
& Security Audits: http://nmap.org/
[2]
Nmap
Official
Documentation:
http://nmap.org/docs.html
[3] Nmap Network Scanning, Gordon “Fyodor” Lyon,
Insecure.com LCC Publishings. ISBN: 9780979958717 [4]
Exame de Redes com NMAP, Gordon “Fyodor” Lyon, Editora
Ciência Moderna. ISBN: 9788573938654 [5] Nmap Network
Scanning,
Gordon
“Fyodor”
Lyon,
http://nmap.org/book/toc.html
[6] RFC 1918 Address Allocation for Private Internets:
http://tools.ietf.org/html/rfc1918
[7] RFC 793
Transmission Control Protocol:
http://tools.ietf.org/html/rfc793
[8] Linux Man Pages
Section 2 (System Calls)
connect(): http://linux.die.net/man/2/connect
[9]
RFC
768
User
Datagram
Protocol:
http://tools.ietf.org/html/rfc768
[10] RFC 792
Internet Control Message Protocol:
http://tools.ietf.org/html/rfc792
[11] Internet Control Message Protocol (ICMP) Parameters
Registry:
http://www.iana.org/assignments/icmp
parameters/icmpparameters.xml
[12] RFC 3286 An Introduction to the Stream Control
Transmission
Protocol:
http://tools.ietf.org/html/rfc3286 [13] RFC 4960 Stream
Control
Transmission
Protocol:
http://tools.ietf.org/html/rfc4960
[14] Nmap Network Scanning, Gordon “Fyodor” Lyon,
Chapter 7. Service and Application Version Detection.
http://nmap.org/book/vscan.html
[15] Nmap Network Scanning, Gordon “Fyodor” Lyon,
Chapter
8.
Remote
OS
Detection.
http://nmap.org/book/osdetect.html
[16] Webinar #4 – NMAP – Software Livre para Exploração
de
Rede
e
Auditorias
de
Segurança
http://www.blog.clavis.com.br/webinar4softwarelivreparaexploracaoderedeeauditoriasdeseguranca/
[17] Webinar #14 – “Teste de Invasão com o Nmap
Scripting Engine
http://www.blog.clavis.com.br/webinar-14-teste-de-invasa
o-com-o-nmap-scripting-engine/
Fonte: iMasters
Este artigo foi elaborado em conjunto por Rafael Ferreira,
Bruno Salgado, Henrique Soares e Jarcy Azevedo
Versão 2.5 da ferramenta
Intersect para sistemas Linux
é liberada
O Intersect, ferramenta automatizada de “post-exploitation”
para sistemas Linux escrita em Python, recebeu nesta
semana sua versão 2.5.
O principal objetivo do projeto é dar assistências a
testadores de infiltração na automação de tarefas que
normalmente precisariam ser executadas manualmente.
O Intersect coleta arquivos de senhas, cópia de chaves SSH,
processos para enumerar aplicativos instalados, reúne
informações detalhadas sobre a rede, mapeia a rede (hosts
internos para dinamização), localiza e identifica aplicações
comuns do antivírus e do firewall, entre outras
funcionalidades.
Na nova versão, houve a inclusão de todas as características
da versão anterior, além da implementação de novos módulos
como egress buster, reverse HTTP shells, persistent backdoors
e cracking de senha. O “Egress Buster”, instaurado por Dave
Kennedy (ReL1K), foi adaptado exatamente para a versão 2.5.
Além disso, a Intersect 2.5 apresenta um novo XMLRPC Cracking
Utility, para automatizar a quebra de senhas.
A equipe desenvolvedora da ferramenta espera que aqueles que
experimentarem as suas funcionalidades possam propagá-las, e
tenham interessem em construir seus próprios módulos e
contribuir para o crescimento do projeto Intersect.
O Intersect 2.5 está disponível para download no GitHub.
Com informações de Under-Linux
Download