Teste de penetração - Guia rápido

O que é teste de penetração?

O teste de penetração é um tipo de teste de segurança usado para testar a insegurança de um aplicativo. É conduzido para localizar o risco de segurança que pode estar presente no sistema.

Se um sistema não estiver protegido, qualquer invasor pode interromper ou obter acesso autorizado a esse sistema. O risco de segurança é normalmente um erro acidental que ocorre durante o desenvolvimento e implementação do software. Por exemplo, erros de configuração, erros de design e bugs de software, etc.

Por que o teste de penetração é necessário?

O teste de penetração normalmente avalia a capacidade de um sistema de proteger suas redes, aplicativos, terminais e usuários de ameaças externas ou internas. Ele também tenta proteger os controles de segurança e garante apenas o acesso autorizado.

O teste de penetração é essencial porque -

  • Ele identifica um ambiente de simulação, ou seja, como um intruso pode atacar o sistema através de white hat attack.

  • Ajuda a encontrar áreas fracas onde um invasor pode atacar para obter acesso aos recursos e dados do computador.

  • Suporta evitar black hat attack e protege os dados originais.

  • Ele estima a magnitude do ataque a negócios em potencial.

  • Ele fornece evidências para sugerir, por que é importante aumentar os investimentos no aspecto de segurança da tecnologia

Quando realizar o teste de penetração?

O teste de penetração é um recurso essencial que deve ser executado regularmente para garantir o funcionamento de um sistema. Além disso, deve ser realizado sempre que -

  • O sistema de segurança descobre novas ameaças de invasores.
  • Você adiciona uma nova infraestrutura de rede.
  • Você atualiza seu sistema ou instala um novo software.
  • Você realoca seu escritório.
  • Você configura um novo programa / política de usuário final.

Como o teste de penetração é benéfico?

O teste de penetração oferece os seguintes benefícios -

  • Enhancement of the Management System- Fornece informações detalhadas sobre as ameaças à segurança. Além disso, também categoriza o grau de vulnerabilidades e sugere a você, qual é mais vulnerável e qual é menos. Assim, você pode gerenciar seu sistema de segurança com facilidade e precisão, alocando os recursos de segurança de acordo.

  • Avoid Fines- O teste de penetração mantém as principais atividades da sua organização atualizadas e em conformidade com o sistema de auditoria. Portanto, o teste de penetração protege você de aplicar multas.

  • Protection from Financial Damage- Uma simples violação do sistema de segurança pode causar milhões de dólares em danos. O teste de penetração pode proteger sua organização contra tais danos.

  • Customer Protection- A violação dos dados de um único cliente pode causar grandes danos financeiros, bem como danos à reputação. Ele protege as organizações que lidam com os clientes e mantém seus dados intactos.

O teste de penetração é uma combinação de técnicas que considera vários problemas dos sistemas e testa, analisa e fornece soluções. É baseado em um procedimento estruturado que realiza o teste de penetração passo a passo.

Este capítulo descreve várias etapas ou fases do método de teste de penetração.

Etapas do método de teste de penetração

A seguir estão as sete etapas do teste de penetração -

Planejamento e Preparação

O planejamento e a preparação começam com a definição das metas e objetivos do teste de penetração.

O cliente e o testador definem as metas em conjunto para que ambas as partes tenham os mesmos objetivos e entendimento. Os objetivos comuns dos testes de penetração são -

  • Identificar a vulnerabilidade e melhorar a segurança dos sistemas técnicos.
  • Ter a segurança de TI confirmada por um terceiro externo.
  • Aumente a segurança da infraestrutura organizacional / pessoal.

Reconhecimento

O reconhecimento inclui uma análise das informações preliminares. Muitas vezes, um testador não possui muitas informações além das informações preliminares, ou seja, um endereço IP ou bloco de endereço IP. O testador começa analisando as informações disponíveis e, se necessário, solicita do cliente mais informações, como descrições do sistema, planos de rede, etc. Esta etapa é o teste de penetração passiva, uma espécie de. O único objetivo é obter uma informação completa e detalhada dos sistemas.

Descoberta

Nesta etapa, um testador de penetração provavelmente usará as ferramentas automatizadas para varrer ativos de destino para descobrir vulnerabilidades. Essas ferramentas normalmente têm seus próprios bancos de dados, fornecendo os detalhes das vulnerabilidades mais recentes. No entanto, o testador descobre

  • Network Discovery - Como a descoberta de sistemas, servidores e outros dispositivos adicionais.

  • Host Discovery - Determina portas abertas nesses dispositivos.

  • Service Interrogation - Ele interroga as portas para descobrir os serviços reais que estão sendo executados nelas.

Analisando Informações e Riscos

Nesta etapa, o testador analisa e avalia as informações coletadas antes das etapas de teste para penetrar dinamicamente no sistema. Devido ao grande número de sistemas e tamanho da infraestrutura, é extremamente demorado. Durante a análise, o testador considera os seguintes elementos -

  • Os objetivos definidos do teste de penetração.

  • Os riscos potenciais para o sistema.

  • O tempo estimado necessário para avaliar possíveis falhas de segurança para o teste de penetração ativo subsequente.

No entanto, na lista de sistemas identificados, o testador pode escolher testar apenas aqueles que contêm vulnerabilidades potenciais.

Tentativas de intrusão ativas

Esta é a etapa mais importante que deve ser executada com o devido cuidado. Esta etapa envolve até que ponto as vulnerabilidades potenciais que foram identificadas na etapa de descoberta possuem os riscos reais. Esta etapa deve ser executada quando uma verificação de vulnerabilidades potenciais for necessária. Para os sistemas com requisitos de integridade muito altos, a vulnerabilidade e o risco potenciais precisam ser considerados cuidadosamente antes de conduzir procedimentos de limpeza críticos.

Análise Final

Esta etapa considera principalmente todas as etapas realizadas (discutidas acima) até aquele momento e uma avaliação das vulnerabilidades presentes na forma de riscos potenciais. Além disso, o testador recomenda eliminar as vulnerabilidades e riscos. Acima de tudo, o testador deve garantir a transparência dos testes e as vulnerabilidades por ele divulgadas.

Preparação de Relatório

A preparação do relatório deve começar com procedimentos gerais de teste, seguidos por uma análise de vulnerabilidades e riscos. Os riscos elevados e as vulnerabilidades críticas devem ter prioridades e, em seguida, seguidos de ordem inferior.

No entanto, ao documentar o relatório final, os seguintes pontos precisam ser considerados:

  • Resumo geral do teste de penetração.
  • Detalhes de cada etapa e as informações coletadas durante o teste da caneta.
  • Detalhes de todas as vulnerabilidades e riscos descobertos.
  • Detalhes de limpeza e conserto dos sistemas.
  • Sugestões para segurança futura.

Geralmente, esses dois termos, ou seja, teste de penetração e avaliação de vulnerabilidade, são usados ​​indistintamente por muitas pessoas, seja por mal-entendido ou exagero de marketing. Mas, ambos os termos são diferentes um do outro em termos de seus objetivos e outros meios. No entanto, antes de descrever as diferenças, vamos primeiro entender os dois termos um por um.

Teste de Penetração

O teste de penetração replica as ações de um ciberataque externo e / ou interno com o objetivo de quebrar a segurança da informação e hackear dados valiosos ou interromper o funcionamento normal da organização. Então, com a ajuda de ferramentas e técnicas avançadas, um testador de penetração (também conhecido comoethical hacker) faz um esforço para controlar sistemas críticos e adquirir acesso a dados confidenciais.

Avaliação de vulnerabilidade

Por outro lado, uma avaliação de vulnerabilidade é a técnica de identificação (descoberta) e medição de vulnerabilidades de segurança (varredura) em um determinado ambiente. É uma avaliação abrangente da posição de segurança da informação (análise de resultados). Além disso, ele identifica as fraquezas potenciais e fornece as medidas de mitigação adequadas (remediação) para remover essas fraquezas ou reduzir abaixo do nível de risco.

O diagrama a seguir resume a avaliação de vulnerabilidade -

A tabela a seguir ilustra as diferenças fundamentais entre testes de penetração e avaliações de vulnerabilidade -

Teste de Penetração Avaliações de vulnerabilidade
Determina o escopo de um ataque. Faz um diretório de ativos e recursos em um determinado sistema.
Testa a coleta de dados confidenciais. Descobre as ameaças potenciais a cada recurso.
Reúne informações direcionadas e / ou inspeciona o sistema. Aloca valor quantificável e significância para os recursos disponíveis.
Limpa o sistema e dá relatório final. Tentativas de mitigar ou eliminar as vulnerabilidades potenciais de recursos valiosos.
É não intrusivo, documentação e revisão e análise ambiental. Análise abrangente e por meio de revisão do sistema de destino e seu ambiente.
É ideal para ambientes físicos e arquitetura de rede. É ideal para ambientes de laboratório.
Destina-se a sistemas críticos em tempo real. Destina-se a sistemas não críticos.

Qual opção é ideal para praticar?

Ambos os métodos têm funcionalidade e abordagem diferentes, portanto, depende da posição de segurança do respectivo sistema. No entanto, devido à diferença básica entre o teste de penetração e a avaliação da vulnerabilidade, a segunda técnica é mais benéfica que a primeira.

A avaliação de vulnerabilidade identifica os pontos fracos e fornece soluções para corrigi-los. Por outro lado, o teste de penetração responde apenas à pergunta que "alguém pode invadir a segurança do sistema e, se for o caso, que mal pode fazer?"

Além disso, uma avaliação de vulnerabilidade tenta melhorar o sistema de segurança e desenvolve um programa de segurança integrado mais maduro. Por outro lado, um teste de penetração dá apenas uma imagem da eficácia do seu programa de segurança.

Como vimos aqui, a avaliação de vulnerabilidade é mais benéfica e oferece melhores resultados em comparação com o teste de penetração. Mas, os especialistas sugerem que, como parte do sistema de gerenciamento de segurança, ambas as técnicas devem ser executadas rotineiramente para garantir um ambiente seguro perfeito.

O tipo de teste de penetração normalmente depende do escopo e dos desejos e requisitos organizacionais. Este capítulo discute sobre os diferentes tipos de teste de penetração. Também é conhecido comoPen Testing.

Tipos de teste de caneta

A seguir estão os tipos importantes de teste de caneta -

  • Teste de penetração da caixa preta
  • Teste de penetração da caixa branca
  • Teste de penetração da caixa cinza

Para melhor compreensão, vamos discutir cada um deles em detalhes -

Teste de penetração da caixa preta

No teste de penetração da caixa preta, o testador não tem ideia sobre os sistemas que vai testar. Ele está interessado em reunir informações sobre a rede ou sistema de destino. Por exemplo, neste teste, um testador sabe apenas qual deve ser o resultado esperado e não sabe como os resultados chegam. Ele não examina nenhum código de programação.

Vantagens do teste de penetração da caixa preta

Tem as seguintes vantagens -

  • O testador não precisa ser necessariamente um especialista, pois não exige conhecimento específico do idioma

  • O testador verifica as contradições no sistema real e nas especificações

  • O teste é geralmente conduzido com a perspectiva de um usuário, não do designer

Desvantagens do teste de penetração da caixa preta

Suas desvantagens são -

  • Particularmente, esses tipos de casos de teste são difíceis de projetar.

  • Possivelmente, não vale a pena, o designer do caso já realizou um caso de teste.

  • Não conduz tudo.

Teste de penetração da caixa branca

Este é um teste abrangente, pois o testador recebeu toda uma gama de informações sobre os sistemas e / ou rede, como esquema, código-fonte, detalhes do sistema operacional, endereço IP, etc. É normalmente considerado como uma simulação de um ataque por um fonte interna. Também é conhecido como teste estrutural, caixa de vidro, caixa transparente e caixa aberta.

O teste de penetração da caixa branca examina a cobertura do código e faz testes de fluxo de dados, teste de caminho, teste de loop, etc.

Vantagens do teste de penetração da caixa branca

Ele traz as seguintes vantagens -

  • Ele garante que todos os caminhos independentes de um módulo foram exercidos.

  • Ele garante que todas as decisões lógicas foram verificadas junto com seus valores verdadeiro e falso.

  • Ele descobre os erros tipográficos e faz a verificação de sintaxe.

  • Ele encontra os erros de projeto que podem ter ocorrido devido à diferença entre o fluxo lógico do programa e a execução real.

Teste de penetração da caixa cinza

Nesse tipo de teste, um testador geralmente fornece informações parciais ou limitadas sobre os detalhes internos do programa de um sistema. Pode ser considerado um ataque de um hacker externo que obteve acesso ilegítimo aos documentos de infraestrutura de rede de uma organização.

Vantagens do teste de penetração da caixa cinza

Tem as seguintes vantagens -

  • Como o testador não requer acesso ao código-fonte, ele não é intrusivo e imparcial

  • Como há uma diferença clara entre um desenvolvedor e um testador, há menos risco de conflito pessoal

  • Você não precisa fornecer as informações internas sobre as funções do programa e outras operações

Áreas de teste de penetração

O teste de penetração é normalmente feito nas seguintes três áreas -

  • Network Penetration Testing- Neste teste, a estrutura física de um sistema precisa ser testada para identificar a vulnerabilidade e o risco que garante a segurança em uma rede. No ambiente de rede, um testador identifica falhas de segurança no design, implementação ou operação da rede da respectiva empresa / organização. Os dispositivos testados por um testador podem ser computadores, modems ou mesmo dispositivos de acesso remoto, etc.

  • Application Penetration Testing- Neste teste, a estrutura lógica do sistema precisa ser testada. É uma simulação de ataque projetada para expor a eficiência dos controles de segurança de um aplicativo, identificando vulnerabilidade e risco. O firewall e outros sistemas de monitoramento são usados ​​para proteger o sistema de segurança, mas, às vezes, ele precisa de testes específicos, especialmente quando o tráfego pode passar pelo firewall.

  • The response or workflow of the system- Esta é a terceira área que precisa ser testada. A engenharia social reúne informações sobre a interação humana para obter informações sobre uma organização e seus computadores. É benéfico testar a capacidade da respectiva organização de impedir o acesso não autorizado aos seus sistemas de informação. Da mesma forma, este teste é projetado exclusivamente para o fluxo de trabalho da organização / empresa.

Tanto o teste de penetração manual quanto o teste de penetração automatizado são conduzidos com o mesmo propósito. A única diferença entre eles é a maneira como são conduzidos. Como o nome sugere, o teste de penetração manual é feito por seres humanos (especialistas na área) e o teste de penetração automatizado é feito pela própria máquina.

Este capítulo o ajudará a aprender o conceito, as diferenças e a aplicabilidade de ambos os termos.

O que é o teste de penetração manual?

O teste de penetração manual é o teste que é feito por seres humanos. Nesse tipo de teste, a vulnerabilidade e o risco de uma máquina são testados por um engenheiro especialista.

Geralmente, os engenheiros de teste executam os seguintes métodos -

  • Data Collection- A coleta de dados desempenha um papel fundamental para o teste. Pode-se coletar dados manualmente ou usar serviços de ferramenta (como técnica de análise de código-fonte de página da web, etc.) disponíveis gratuitamente online. Essas ferramentas ajudam a coletar informações como nomes de tabelas, versões de banco de dados, banco de dados, software, hardware ou mesmo sobre diferentes plug-ins de terceiros, etc.

  • Vulnerability Assessment - Uma vez que os dados são coletados, isso ajuda os testadores a identificar a falha de segurança e tomar as medidas preventivas necessárias.

  • Actual Exploit - Este é um método típico que um testador especialista usa para lançar um ataque em um sistema alvo e, da mesma forma, reduz o risco de ataque.

  • Report Preparation- Uma vez feita a penetração, o testador prepara um relatório final que descreve tudo sobre o sistema. Finalmente, o relatório é analisado para tomar medidas corretivas para proteger o sistema de destino.

Tipos de teste de penetração manual

O teste de penetração manual é normalmente categorizado de duas maneiras a seguir -

  • Focused Manual Penetration Testing- É um método muito focado que testa vulnerabilidades e riscos específicos. O teste de penetração automatizado não pode realizar este teste; isso é feito apenas por especialistas humanos que examinam vulnerabilidades de aplicativos específicos dentro de determinados domínios.

  • Comprehensive Manual Penetration Testing- É por meio de testes de sistemas inteiros conectados entre si para identificar todos os tipos de risco e vulnerabilidade. No entanto, a função deste teste é mais situacional, como investigar se várias falhas de baixo risco podem trazer um cenário de ataque mais vulnerável, etc.

O que é o teste de penetração automatizado?

O teste de penetração automatizado é muito mais rápido, eficiente, fácil e confiável que testa a vulnerabilidade e o risco de uma máquina automaticamente. Esta tecnologia não requer nenhum engenheiro especialista, mas pode ser operada por qualquer pessoa com menos conhecimento na área.

As ferramentas para testes de penetração automatizados são Nessus, Metasploit, OpenVAs, backtract (série 5), etc. Estas são ferramentas muito eficientes que mudaram a eficiência e o significado dos testes de penetração.

No entanto, a tabela a seguir ilustra a diferença fundamental entre o teste de penetração manual e automatizado -

Teste de penetração manual Teste de Penetração Automatizado
Requer um engenheiro especialista para realizar o teste. É automatizado para que até um aluno possa executar o teste.
Requer ferramentas diferentes para o teste. Possui ferramentas integradas que exigem qualquer coisa de fora.
Nesse tipo de teste, os resultados podem variar de teste para teste. Tem resultado fixo.
Este teste requer lembrar a limpeza da memória pelo testador. Isso não.
É exaustivo e demorado. É mais eficiente e rápido.
Tem vantagens adicionais, ou seja, se um especialista fizer pen test, ele pode analisar melhor, pode pensar o que um hacker pode pensar e onde pode atacar. Portanto, ele pode colocar a segurança de acordo. Não pode analisar a situação.
De acordo com o requisito, um especialista pode executar vários testes. Eu não posso.
Para condições críticas, é mais confiável. Não é.

O teste de penetração normalmente consiste na coleta de informações, análise de vulnerabilidade e risco, exploits de vulnerabilidade e preparação do relatório final.

Também é essencial aprender os recursos de várias ferramentas disponíveis nos testes de penetração. Este capítulo fornece informações e percepções sobre esses recursos.

O que são ferramentas de teste de penetração?

A tabela a seguir coleta algumas das ferramentas de penetração mais significativas e ilustra suas características -

Nome da Ferramenta Objetivo Portabilidade Custo Esperado
Hping

Port Scanning

Impressão digital de OC remoto

Linux, NetBSD,

FreeBSD,

OpenBSD,

Livre
Nmap

Digitalização em rede

Port Scanning

Detecção de SO

Linux, Windows, FreeBSD, OS X, HP-UX, NetBSD, Sun, OpenBSD, Solaris, IRIX, Mac, etc. Livre
SuperScan

Executa consultas, incluindo ping, whois, pesquisas de nome de host, etc.

Detecta portas UDP / TCP abertas e determina quais serviços estão sendo executados nessas portas.

Windows 2000 / XP / Vista / 7 Livre
p0f

As impressões digitais

Detecção de firewall

Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris, Windows e AIX Livre
Xprobe

Impressão digital remota do SO ativo

Port Scanning

Impressão digital TCP

Linux Livre
Httprint

Detecção de SSL de impressão digital de servidor web

Detectar dispositivos habilitados para web (por exemplo, pontos de acesso sem fio, switches, modems, roteadores)

Linux, Mac OS X, FreeBSD, Win32 (linha de comando e GUI Livre
Nessus Detecta vulnerabilidades que permitem que o cracker remoto controle / acesse dados confidenciais Mac OS X, Linux, FreeBSD, Apple, Oracle Solaris, Windows Grátis para edição limitada
GFI LANguard Detectar vulnerabilidades de rede Windows Server 2003/2008, Windows 7 Ultimate / Vista, Windows 2000 Professional, Business / XP, Sever 2000/2003/2008 Apenas a versão de teste grátis
Iss Scanner Detectar vulnerabilidades de rede Windows 2000 Professional com SP4, Windows Server 2003 Standard com SO1, Windows XP Professional com SP1a Apenas a versão de teste grátis
Shadow Security Scanner Detectar vulnerabilidades de rede, auditar servidores proxy e LDAP Windows, mas servidores de varredura construídos em qualquer plataforma Apenas a versão de teste grátis
Framework Metasploit

Desenvolver e executar código de exploração contra um alvo remoto

Teste a vulnerabilidade dos sistemas de computador

Todas as versões do Unix e Windows Livre
Brutus Cracker de senha Telnet, ftp e http Windows 9x / NT / 2000 Livre

Os sistemas de computador e redes associadas normalmente consistem em um grande número de dispositivos e a maioria deles desempenha um papel importante na realização de trabalhos e negócios totais do respectivo sistema. Uma pequena falha em qualquer ponto do tempo e em qualquer parte desses dispositivos pode causar grandes danos ao seu negócio. Portanto, todos eles são vulneráveis ​​a riscos e precisam ser protegidos adequadamente.

O que é teste de penetração de infraestrutura?

O teste de penetração da infraestrutura inclui todos os sistemas internos de computador, dispositivos externos associados, rede de internet, nuvem e testes de virtualização.

Esteja oculto em sua rede corporativa interna ou da exibição pública, sempre há uma possibilidade de que um invasor possa se aproveitar, o que pode prejudicar sua infraestrutura. Portanto, é melhor estar seguro com antecedência do que se arrepender mais tarde.

Tipos de teste de penetração de infraestrutura

A seguir estão os tipos importantes de teste de penetração de infraestrutura -

  • Teste de penetração de infraestrutura externa
  • Teste de penetração de infraestrutura interna
  • Teste de penetração de nuvem e virtualização
  • Teste de penetração de segurança sem fio

Teste de infraestrutura externa

O teste de penetração, visando a infraestrutura externa, descobre o que um hacker pode fazer com suas redes, facilmente acessíveis pela Internet.

In this testing, a tester normally replicates the same kind of attacks that the hackers can use by finding and mapping the security flaws in your external infrastructure.

There are various benefits of leveraging external infrastructure penetration testing, as it −

  • Identifies the flaws within the firewall configuration that could be misused

  • Finds out how information can be leaked out from your system by an attacker

  • Suggests how these issues can be fixed

  • Prepares a comprehensive report highlighting the security risk of the border networks, and suggests solutions

  • Ensures overall efficiency and productivity of your business

Internal Infrastructure Penetration Testing

Due to some minor internal security flaws, hackers are illegally committing frauds in large organizations. So, with internal infrastructure penetration testing, a tester can identify the possibility of a security and from which employee, this problem has occurred.

Internal infrastructure penetration testing benefits as it −

  • Identifies how an internal attacker could take advantage of even a minor security flaw.

  • Identifies the potential business risk and damage that an internal attacker can inflict.

  • Improves the security systems of internal infrastructure.

  • Prepares a comprehensive report giving details of the security exposures of internal networks along with the detailed action plan on how to deal with it.

Cloud and Virtualization Penetration Testing

As you buy a public server or wave space, it significantly increases the risks of data breach. Further, identifying the attacker on cloud environment is difficult. An attacker can also buy hosting a Cloud facility to get access to your new Cloud data.

In fact, most of the Cloud hosting is implemented on virtual infrastructure, causing Virtualization risk that an attacker can easily access.

Cloud and Virtualization penetration testing benefits as it −

  • Discovers the real risks within the virtual environment and suggests the methods and costs to fix the threats and flaws.

  • Provides guidelines and an action plan how to resolve the issue/s.

  • Improves the overall protection system.

  • Prepares a comprehensive security system report of the Cloud computing and Virtualization, outline the security flaw, causes and possible solutions.

Wireless Security Penetration Testing

Wireless technology of your laptop and other devices provides an easy and flexible access to various networks. The easily accessible technology is vulnerable to unique risks; as physical security cannot be used to limit network access. An attacker can hack from the remote location. Hence, wireless security penetration testing is necessary for your company/organization.

The following are the reasons for having wireless technology −

  • To find the potential risk caused by your wireless devices.

  • To provide guidelines and an action plan on how to protect from the external threats.

  • To improve the overall security system.

  • For preparing a comprehensive security system report of the wireless networking, to outline the security flaw, causes, and possible solutions.

There is the issue of protecting the most critical data of the organization; therefore, the role of a penetration tester is much critical, a minor error can put both the parties (tester and his client) on risk.

Therefore, this chapter discusses various aspects of a penetration tester including his qualification, experience, and responsibilities.

Qualification of Penetration Testers

This test can be performed only by a qualified penetration tester; therefore, qualification of a penetration tester is very important.

Either qualified internal expert or a qualified external expert may perform the penetration test until they are organizationally independent. It means that the penetration tester must be organizationally independent from the management of the target systems. For example, if a third-party company is involved in the installation, maintenance, or support of target systems, then that party cannot perform penetration testing.

Here are some guidelines that will help you while calling a penetration tester.

Certification

A certified person can perform penetration testing. Certification held by the tester is the indication of his skill sets and competence of capable penetration tester.

Following are the important examples of penetration testing certification −

  • Certified Ethical Hacker (CEH).

  • Offensive Security Certified Professional (OSCP).

  • CREST Penetration Testing Certifications.

  • Communication Electronic Security Group (CESG) IT Health Check Service certification.

  • Global Information Assurance Certification (GIAC) Certifications for example, GIAC Certified Penetration Tester (GPEN), GIAC Web Application Penetration Tester (GWAPT), Advance Penetration Tester (GXPN), and GIAC Exploit Researcher.

Past Experience

The following questions will help you to hire an effective penetration tester −

  • How many years of experience does the penetration tester has?

  • Is he an independent penetration tester or working for an organization?

  • With how many companies he worked as penetration tester?

  • Has he performed penetration testing for any organization, which has similar size and scope as yours?

  • What type of experience does the penetration tester has? For example, conducting network-layer penetration testing etc

  • You may also ask for the reference from other customers for whom he worked.

When hiring a penetration tester, it is important to evaluate the past year testing experience of the organization for which he (tester) has worked as it is related to the technologies specifically deployed by him within the target environment.

In addition to the above, for complex situations and typical client requirements, it is recommended to evaluate a tester’s capability to handle similar environment in his/her earlier project.

Role of a Penetration Tester

A penetration tester has the following roles −

  • Identify inefficient allocation of tools and technology.

  • Testing across internal security systems.

  • Pinpoint exposures to protect the most critical data.

  • Discover invaluable knowledge of vulnerabilities and risks throughout the infrastructure.

  • Reporting and prioritizing remediation recommendations to ensure that the security team is utilizing their time in the most effective way, while protecting the biggest security gaps.

It is not necessary that an experienced penetration tester can write a good report, as writing report of penetration testing is an art that needs to be learnt separately.

What is Report Writing?

In penetration testing, report writing is a comprehensive task that includes methodology, procedures, proper explanation of report content and design, detailed example of testing report, and tester’s personal experience. Once the report is prepared, it is shared among the senior management staff and technical team of target organizations. If any such kind of need arises in future, this report is used as the reference.

Report Writing Stages

Due to the comprehensive writing work involved, penetration report writing is classified into the following stages −

  • Report Planning
  • Information Collection
  • Writing the First Draft
  • Review and Finalization

Report Planning

Report planning starts with the objectives, which help readers to understand the main points of the penetration testing. This part describes why the testing is conducted, what are the benefits of pen testing, etc. Secondly, report planning also includes the time taken for the testing.

Major elements of report writing are −

  • Objectives − It describes the overall purpose and benefits of pen testing.

  • Time − Inclusion of time is very important, as it gives the accurate status of the system. Suppose, if anything wrong happens later, this report will save the tester, as the report will illustrate the risks and vulnerabilities in the penetration testing scope during the specific period of time.

  • Target Audience − Pen testing report also needs to include target audience, such as information security manager, information technology manager, chief information security officer, and technical team.

  • Report Classification − Since, it is highly confidential which carry server IP addresses, application information, vulnerability, threats, it needs to be classified properly. However, this classification needs to be done on the basis of target organization which has an information classification policy.

  • Report Distribution − Number of copies and report distribution should be mentioned in the scope of work. It also needs to mention that the hardcopies can be controlled by printing a limited number of copies attached with its number and the receiver’s name.

Information Collection

Because of the complicated and lengthy processes, pen tester is required to mention every step to make sure that he collected all the information in all the stages of testing. Along with the methods, he also needs to mention about the systems and tools, scanning results, vulnerability assessments, details of his findings, etc.

Writing the First Draft

Once, the tester is ready with all tools and information, now he needs to start the first draft. Primarily, he needs to write the first draft in the details – mentioning everything i.e. all activities, processes, and experiences.

Review and Finalization

Once the report is drafted, it has to be reviewed first by the drafter himself and then by his seniors or colleagues who may have assisted him. While reviewing, reviewer is expected to check every detail of the report and find any flaw that needs to be corrected.

Content of Penetration Testing Report

Following is the typical content of a penetration testing report −

Executive Summary

  • Scope of work
  • Project objectives
  • Assumption
  • Timeline
  • Summary of findings
  • Summary of recommendation

Methodology

  • Planning
  • Exploitation
  • Reporting

Detail Findings

  • Detailed systems information
  • Windows server information

References

  • Appendix

The fast growth of the internet has changed the way of life for everyone. These days, most of the private and public works are internet dependent. Government’s all secret working plans, and operations are internet based. All these things made the life very simple and easily accessible.

But with the good news, there is also a dark face of this development i.e., the criminal hacker. There is no geopolitical limitation of these criminal hackers, they can hack any system from any part of the world. They can damage confidential data and credit history very badly.

Therefore, to protect from the criminal hackers, the concept of the ethical hacker evolved. This chapter discusses the concept and the role of an ethical hacker.

Who are Ethical Hackers?

Ethical hackers are the computer experts who are legally allowed to hack a computer system with the objective to protect from the criminal hackers. An ethical hacker identifies the vulnerabilities and risks of a system and suggests how to eliminate them.

Who are Criminal Hackers?

Criminal hackers are those computer programming experts who hack others systems with the intention to steal data, steal money, defame others credit, destroy others data, blackmail someone, etc.

What can Criminal Hackers do?

Once a system is hacked, a criminal hacker can do anything with that system. The following two images C.C. Palmer, which is published on pdf.textfiles.com, illustrates a simple example of a hacked page −

Here is a screenshot of a webpage taken before it was hacked −

And, here is the screenshot of the same webpage after it was hacked −

What are the Skill-Sets of Ethical Hackers?

Expert ethical hackers have the following skill-sets to hack the system ethically

  • They must be trustworthy.

  • Whatever the risks and vulnerabilities, they discover while testing the system, they have to keep them confidential.

  • Clients provide confidential information about their system infrastructure such as IP address, password, etc. Ethical hackers need to keep this information confidential.

  • Ethical hackers must have sound knowledge of computer programming, networking and hardware.

  • They should have good analytical skills to analyze the situation and speculate the risk in advance.

  • They should have the management skill along with patience, as pen testing can take one day, one week, or even more.

What do Ethical Hackers do?

Ethical hackers, while performing penetration testing, basically try to find the answers to the following questions −

  • What are the weak points that a criminal hacker can hit?
  • What can a criminal hacker see on the target systems?
  • What can a criminal hacker do with that confidential information?

Moreover, an ethical hacker is required to address adequately the vulnerabilities and risks, which he found to exist in the target system(s). He needs to explain and suggest the avoidance procedures. Finally, prepare a final report of his all ethical activities that he did and observed while performing penetration testing.

Types of Hackers

Hackers are normally divided into three categories.

Black Hat Hackers

A "black hat hacker" is an individual who has an extensive computer software as well as hardware and his purpose is to breach or bypass internet security of someone else. Black hat hackers are also popular as crackers or dark-side hackers.

White Hat Hackers

The term "white hat hacker" refers to an ethical computer hacker who is a computer security expert, specialized in penetration testing and in other associated testing methodologies. His primary role is to ensure the security of an organization's information system.

Grey Hat Hacker

The term "grey hat hacker" refers to a computer hacker who cracks computer security system whose ethical standards fall somewhere between purely ethical and solely malicious.

Penetration testing is very closely related to ethical hacking, so these two terms are often used interchangeably. However there is a thin line of difference between these two terms. This chapter provides insights into some basic concepts and fundamental differences between penetration testing and ethical hacking.

Penetration Testing

Penetration testing is a specific term and focuses only on discovering the vulnerabilities, risks, and target environment with the purpose of securing and taking control of the system. Or in other words, penetration testing targets respective organization’s defence systems consisting of all computer systems and its infrastructure.

Ethical Hacking

On the other hand, ethical hacking is an extensive term that covers all hacking techniques, and other associated computer attack techniques. So, along with discovering the security flaws and vulnerabilities, and ensuring the security of the target system, it is beyond hacking the system but with a permission in order to safeguard the security for future purpose. Hence, we can that, it is an umbrella term and penetration testing is one of the features of ethical hacking.

The following are the major differences between Penetration testing and Ethical hacking which is listed in the following table −

Penetration Testing Ethical Hacking
A narrow term focuses on penetration testing only to secure the security system. A comprehensive term and penetration testing is one of its features.
A tester essentially does need to have a comprehensive knowledge of everything rather required to have the knowledge of only the specific area for which he conducts pen testing. An ethical hacker essentially needs to have a comprehensive knowledge of software programming as well as hardware.
A tester not necessarily required to be a good report writer. An ethical hacker essentially needs to be an expert on report writing.
Any tester with some inputs of penetration testing can perform pen test. It requires to be an expert professional in the subject, who has the obligatory certification of ethical hacking to be effective.
Paper work in less compared to Ethical hacking. A detailed paper works are required, including legal agreement etc.
To perform this type of testing, less time required. Ethical hacking involves lot of time and effort compared to Penetration testing.
Normally, accessibility of whole computer systems and its infrastructure doesn’t require. Accessibility is required only for the part for which the tester performing pen testing. As per the situation, it normally requires a whole range of accessibility all computer systems and its infrastructure.

Since penetration techniques are used to protect from threats, the potential attackers are also swiftly becoming more and more sophisticated and inventing new weak points in the current applications. Hence, a particular sort of single penetration testing is not sufficient to protect your security of the tested systems.

As per the report, in some cases, a new security loophole is discovered and successful attack took place immediately after the penetration testing. However, it does not mean that the penetration testing is useless. It only means that, this is true that with thorough penetration testing, there is no guarantee that a successful attack will not take place, but definitely, the test will substantially reduce the possibility of a successful attack.

Because of the swift pace of developments in the field of information and technology, the success story of penetration testing is comparatively short-lived. As more protection to the systems is required, more often than you need to perform penetration testing in order to diminish the possibility of a successful attack to the level that is appreciated by the company.

Following are the major limitations of Penetration Testing −

  • Limitation of Time − As all of us know, penetration testing is not at all time bound exercise; nevertheless, experts of penetration testing have allotted a fixed amount of time for each test. On the other hand, attackers have no time constrains, they plan it in a week, month, or even years.

  • Limitation of Scope − Many of the organizations do not test everything, because of their own limitations, including resource constraints, security constraints, budget constraints, etc. Likewise, a tester has limited scope and he has to leave many parts of the systems that might be much more vulnerable and can be a perfect niche for the attacker.

  • Limitation on Access − More often testers have restricted access to the target environment. For example, if a company has carried out the penetration test against its DMZ systems from all across its internet networks, but what if the attackers attack through the normal internet gateway.

  • Limitation of Methods − There are chances that the target system can crash during a penetration test, so some of the particular attack methods would likely be turned off the table for a professional penetration tester. For example, producing a denial of service flood to divert a system or network administrator from another attack method, usually an ideal tactic for a really bad guy, but it is likely to fall outside of the rules of engagement for most of the professional penetration testers.

  • Limitation of Skill-sets of a Penetration Tester − Usually, professional penetration testers are limited as they have limited skills irrespective of their expertise and past experience. Most of them are focused on a particular technology and having rare knowledge of other fields.

  • Limitation of Known Exploits − Many of the testers are aware with only those exploits, which are public. In fact, their imaginative power is not as developed as attackers. Attackers normally think much beyond a tester’s thinking and discover the flaw to attack.

  • Limitation to Experiment − Most of the testers are time bound and follow the instructions already given to them by their organization or seniors. They do not try something new. They do not think beyond the given instructions. On the other hand, attackers are free to think, to experiment, and to create some new path to attack.

Além disso, o teste de penetração não pode substituir os testes de segurança de TI de rotina, nem pode substituir uma política de segurança geral, mas em vez disso, o teste de penetração complementa os procedimentos de revisão estabelecidos e descobre novas ameaças.

Os esforços de teste de penetração - por mais completos que sejam - nem sempre podem garantir uma descoberta exaustiva de cada instância em que a eficácia do controle de segurança é insuficiente. Identificar uma vulnerabilidade ou risco de script entre sites em uma área de um aplicativo pode não expor definitivamente todas as instâncias desta vulnerabilidade presentes no aplicativo. Este capítulo ilustra o conceito e a utilidade da remediação.

O que é correção?

A correção é um ato de oferecer uma melhoria para substituir um erro e corrigi-lo. Freqüentemente, a presença de vulnerabilidade em uma área pode indicar fraqueza no processo ou nas práticas de desenvolvimento que poderiam ter replicado ou habilitado vulnerabilidades semelhantes em outros locais. Portanto, durante a correção, é importante que o testador investigue cuidadosamente a entidade ou os aplicativos testados com controles de segurança ineficazes em mente.

Por esses motivos, a respectiva empresa deve tomar medidas para remediar qualquer vulnerabilidade explorável dentro de um período de tempo razoável após o teste de penetração original. Na verdade, tão logo a empresa tenha concluído essas etapas, o pen tester deve realizar um novo teste para validar os controles recém-implementados que são capazes de mitigar o risco original.

Os esforços de correção que se estendem por um período mais longo após o teste inicial da caneta possivelmente requerem a execução de um novo trabalho de teste para garantir resultados precisos do ambiente mais atual. Essa determinação deve ser feita após uma análise de risco de quantas mudanças ocorreram desde que o teste original foi concluído.

Além disso, em condições específicas, o problema de segurança sinalizado pode ilustrar uma falha básica no respectivo ambiente ou aplicativo. Portanto, o escopo de um reteste deve considerar se quaisquer alterações causadas pela correção identificada no teste são classificadas como significativas. Todas as alterações devem ser testadas novamente; entretanto, se um novo teste do sistema inteiro é necessário ou não, será determinado pela avaliação de risco das mudanças.

Antes de permitir que alguém teste dados confidenciais, as empresas normalmente tomam medidas em relação à disponibilidade, confidencialidade e integridade dos dados. Para que este acordo entre em vigor, a conformidade legal é uma atividade necessária para uma organização.

Os regulamentos legais mais importantes que devem ser observados ao estabelecer e manter os sistemas de segurança e autorização são apresentados a seguir no contexto para uso na implementação de testes de penetração.

Quais são os problemas legais?

A seguir estão alguns dos problemas que podem surgir entre um testador e seu cliente -

  • O testador é desconhecido para seu cliente - então, com base em qual fundamento, ele deve ter acesso a dados confidenciais

  • Quem terá a garantia de segurança dos dados perdidos?

  • O cliente pode culpar pela perda de dados ou confidencialidade do testador

O teste de penetração pode afetar o desempenho do sistema e pode levantar questões de confidencialidade e integridade; portanto, isso é muito importante, mesmo em um teste de penetração interno, que é realizado por uma equipe interna para obter permissão por escrito. Deve haver um acordo por escrito entre um testador e a empresa / organização / indivíduo para esclarecer todos os pontos relativos à segurança de dados, divulgação, etc. antes de iniciar o teste.

UMA statement of intentdeve ser redigido e devidamente assinado por ambas as partes antes de qualquer trabalho de teste. Deve ser claramente delineado o escopo do trabalho e o que você pode ou não estar fazendo ao realizar testes de vulnerabilidade.

Para o testador, é importante saber quem é o proprietário do negócio ou dos sistemas que estão sendo solicitados para trabalhar e a infraestrutura entre os sistemas de teste e seus alvos que podem ser potencialmente afetados pelo teste de caneta. A ideia é ter certeza;

  • the tester tem permissão por escrito, com parâmetros claramente definidos.

  • the company tem os detalhes do pen tester e a garantia de que ele não vazará nenhum dado confidencial.

Um acordo legal é benéfico para ambas as partes. Lembre-se de que as regulamentações mudam de país para país, portanto, mantenha-se atualizado com as leis de seu respectivo país. Assine um acordo somente após considerar as respectivas leis.