Olá!
Bem-vindo a postagem que ensino como montar um servidor web destinado a exercitar invasões, com um servidor vulnerável de propósito. A experiência de você fazer um ataque esclarece bastante coisa, principalmente se pretende compreender melhor o uso de ferramentas para pentesting. Vou procurar ser bem prático, devido a quantidade de passos que deverá seguir, para a postagem não ficar muito extensa.
Antes de tudo, NUNCA você deve experimentar atacar aplicações web de terceiros. Hoje em dia existem sistemas de proteção tipo IPS (Intrusion Prevention System) / IDS (Intrusion Detection System), que são recursos que tem por finalidade detecção e prevenção de acessos não autorizados por meio de exame de tráfego de redes. Dependendo do sistema, isso pode gerar processos penais.
Com um laboratório de testes montado na sua máquina, com certeza ampliará seus conhecimentos, sem encontrar problemas. Para isso, faremos uso da aplicação web DVWA ( Damn Vulnerable Web App, ou traduzindo, Maldita Aplicação Web Vulnerável) , que segundo seu desenvolvedor, “é um aplicativo da web PHP/MySQL que é extremamente vulnerável. Seus principais objetivos são ajudar os profissionais de segurança a testar suas habilidades e ferramentas em um ambiente legal, ajudar os desenvolvedores da web a entender melhor os processos de proteção de aplicativos da web e auxiliar professores/alunos a ensinar/aprender a segurança de aplicativos da web em um ambiente de sala de aula”.
Montaremos essa aplicação em uma máquina virtual de forma que você possa utilizar e desligar quando precisar. Utilizaremos o sistema operacional Linux Ubuntu, e o virtualizador (hypervisor) que preferir.
Sugiro, mediante as imagens que estão postadas, que use o VirtualBox. Mas, se preferir, pode utilizar outro como VMWare.
Como prometido, serei bem prático nas falas daqui para frente. Mas colocarei detalhes, dentro do que for necessário.
Vamos lá?
PASSO-A-PASSO
1º Passo – Entre no link https://releases.ubuntu.com/16.04.7/?_ga=2.188049448.1204853147.1608554536-927305850.1608554536 , escolha a versão 64-bit do Ubuntu Server 16.04.7 LTS (Xenial Xerus) para fazer o download.

IMAGEM: Do Autor
2º Passo – Acessar o link https://www.oracle.com/br/virtualization/technologies/vm/downloads/virtualbox-downloads.html?source=:ow:o:p:nav:mmddyyVirtualBoxHero_br&intcmp=:ow:o:p:nav:mmddyyVirtualBoxHero_br e baixar o VirtualBox para Windows. Quando terminar o download seguir fazendo a instalação como é de costume instalações de softwares para Windows. Praticamente seguir clicando e Next >.

IMAGEM: Do Autor
3º Passo – Reinicie o Windows (mesmo que não solicite reinicialização padrão). Quando terminar a reinicialização e o Windows voltar, abra o VirtualBox e clique em Novo.

IMAGEM: Do Autor
4º Passo – Forneça o nome DVWA (ou um nome de sua escolha), escolha a Pasta da Máquina caso queira alterar, em Tipo: selecione o sistema operacional Linux, e em Versão: Ubuntu (64-bit). Clique em Criar.

IMAGEM: Do Autor
5º Passo – Na próxima caixa de diálogo, mantenha o padrão. Apenas clique em Criar.

IMAGEM: Do Autor
6º Passo – Com a máquina criada, clique com o botão direito em cima dela e selecione Configurações.

IMAGEM: Do Autor
7º Passo – Selecione Armazenamento. Em sequência clique no botão Acrescenta Disco Óptico.

IMAGEM: Do Autor
8º Passo – Clique no botão Acrescentar Imagem de Disco, e selecione no diretório a imagem do Ubuntu Server que foi baixada.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
9º Passo – Selecione Rede e altere Conectado a: para Placa em modo Bridge. Em seguida clique em OK para sair das configurações.

IMAGEM: Do Autor
10º Passo – Inicie a máquina virtual dando dois cliques em cima dela, ou pelo botão Iniciar na parte de cima.

IMAGEM: Do Autor
11º Passo – Selecione a linguagem e pressione a tecla Enter. Costumo trabalhar com o inglês mesmo. A tradução para o português não é completa.

IMAGEM: Do Autor
12º Passo – Na próxima tela, selecione a opção Install Ubuntu Server, e depois escolher novamente o inglês.

IMAGEM: Do Autor

IMAGEM: Do Autor
13º Passo – Selecione a localização, primeiramente escolhendo other depois South America e Brazil. E a configuração do locales, escolha United States.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
14º Passo – Configure o teclado. Primeiramente selecione <No> depois Portuguese (Brazil).
Dentro das variedades de loyout de teclado, se tiver dúvidas retorne até a caixa de diálogo que foi selecionado <No>, troque por <Yes>, e siga respondendo às perguntas para que o Ubuntu Server descubra qual loyout corresponde ao seu teclado. No meu caso, o teclado Portuguese (Brazil) se encaixou. Não precisei das perguntas do sistema operacional.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
15º Passo – Na próxima tela pede para escolha o hostname. Digite dvwa e avance para as duas próximas telas, que solicitarão que crie o nome do usuário. Escolha. Se não costuma trabalhar com nicknames, chegou a hora! Mas trabalhe apenas com letras em caixa baixa.
Em seguida, digite duas vezes uma senha que ache conveniente.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
16º Passo – Na próxima tela o sistema oferece encriptação para o diretório /home. Como a ideia não é trabalhar com forte segurança, selecione <No>.

IMAGEM: Do Autor
17º Passo – Na próxima tela pede para configurar o timezone. Selecione Yes e siga avante para a tela de escolha de partições. Nela selecione a opção do topo, pressione Enter, depois na próxima tela Enter novamente. Por fim, Yes para avançar na próxima.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
18º Passo – Na tela Configure the package manager se você trabalha em uma rede que utilize servidor Proxy, nesse passo é preciso informar os dados correspondentes. Se não faz uso na sua rede, deixe em branco e siga em frente.

IMAGEM: Do Autor
19º Passo – Na próxima caixa de diálogo, selecione No automatic updates. Para o que propõe o sistema, não interessa forte segurança.

IMAGEM: Do Autor
20º Passo – Na próxima tela, selecione apenas as opções standard system utilities, OpenSSH server, e LAMP server. Depois siga em frente com a instalação.
No meio da instalação será solicitado uma senha para o super-usuário (root) do MySQL, seguida de confirmação. Sugiro uma senha fraca: dvwa. Ou root.

IMAGEM: Do Autor

IMAGEM: Do Autor
21º Passo – Quando chegar no final da instalação, você tem a opção de instalar o GRUB boot loader. Aceite para prosseguir escolhendo Yes, depois Continue para a máquina reiniciar.

IMAGEM: Do Autor

IMAGEM: Do Autor
22º Passo – Na inicializaçãodigite o login e na sequência o password escolhido na instalação.

IMAGEM: Do Autor
23º Passo – Agora vamos criar a senha de super-usuário (root) para conseguirmos escalar privilégios de administrador. Digite o comando sudo passwd root . Primeiro o sistema vai pedir o password que escolheu na instalação para o usuário padrão. Depois você deve digitar um password de sua escolha. Repita para confirmação.

IMAGEM: Do Autor
24º Passo – Para utilizarmos o sistema como super-usuário, deve-se digitar o comando su –. O sistema pedirá o password criado por último.

IMAGEM: Do Autor
25º Passo – Digite o comando hostname –I para verificarmos o endereço IP da máquina.

IMAGEM: Do Autor
26º Passo – No Windows que você está utilizando (máquina principal), abra o navegador web e digite o endereço_IP_do_Ubuntu_Server, por exemplo, 192.168.0.111 . Se funcionou a instalação, veremos uma página com várias informações sobre o Apache2.

IMAGEM: Do Autor
27º Passo – No Ubuntu Server, digitar o comando apt-get purge `dpkg -l | grep php| awk ‘{print $2}’ |tr “\n” ” “` e pressionar a tecla Enter.

IMAGEM: Do Autor
28º Passo – Na sequência, digite o comando add-apt-repository ppa:ondrej/php e pressione a tecla Enter. Pressione outra vez a tecla Enter quando solicitar.
29º Passo – Na sequência, digite o comando apt-get update && apt-get –y install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml php5.6-gd e pressione a tecla Enter.
30º Passo – Na sequência, digite o comando service apache2 start e pressione Enter para ativar novamente o apache.
31º Passo – Na sequência, digite o comando a2enmod php5.6 e pressione Enter. Vai aparecer mensagens acusando conflito. Ignore-as.
32º Passo – Na sequência, digite o comando cd /var/www e pressione Enter.
33º Passo – Na sequência, digite o comando wget https://github.com/ethicalhack3r/DVWA/archive/v1.9.zip e pressione Enter.

IMAGEM: Do Autor
34º Passo – Na sequência, digite o comando apt-get -y install unzip e pressione Enter.
35º Passo – Na sequência, digite o comando unzip v1.9.zip -d html/ e pressione Enter.
36º Passo – Na sequência, digite o comando cd html e pressione Enter.
37º Passo – Na sequência, digite o comando mv DVWA-1.9 dvwa e pressione Enter.
38º Passo – Na sequência, digite o comando service apache2 restart e pressione Enter.
39º Passo – Na sequência, digite o comando cd /etc/php/5.6/apache2 e pressione Enter.
40º Passo – Na sequência, digite o comando nano php.ini e pressione Enter. Quando executar o editor de texto, pressione as teclas ctrl + w, escreva no campo de pesquisa allow_url_include e pressione Enter. Altere onde está escrito Off para On.
Para sair do editor, pressione as teclas crtl + x , depois pressione a tecla Y e por último depois pressione a tecla Enter.

IMAGEM: Do Autor
41º Passo – Reinicie o apache digitando o comando service apache2 restart e pressione Enter.
42º Passo – Digite o comando cd /var/www/html/dvwa/config e pressione Enter.
43º Passo – Na sequência, digite nano config.inc.php e pressione Enter. Faça essas alterações:
- Buscando com as teclas ctrl + w o texto ‘p@ssw0rd’ , ao encontrar, altere para‘ ‘que simboliza senha vazia. Se o MySQL na instalação na sua máquina pediu para que fosse criado senha, você deve digitar a senha dentro das aspas simples.

IMAGEM: Do Autor
- Buscando com as teclas ctrl + w o texto impossible três vezes repetidamente, altere para ‘low’ senão, em tese, não conseguimos fazer ataque nenhum a máquina DVWA.

IMAGEM: Do Autor
Feita essas alterações, pressione ctrl + x seguido de Y e Enter.
44º Passo – Digite o comando chgrp www-data /var/www/html/dvwa/hackable/uploads e pressione Enter.
45º Passo – Digite o comando chmod g+w /var/www/html/dvwa/hackable/uploads e pressione Enter.
46º Passo – Digite o comando chgrp www-data /var/www/html/dvwa/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt e pressione Enter.
47º Passo – Digite o comando chmod g+w /var/www/html/dvwa/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt e pressione Enter.
48º Passo – No Windows, novamente no navegador web digite o IP da máquina Ubuntu acrescentando a URL /dvwa.

IMAGEM: Do Autor
Se todos os comandos até aqui foram digitados corretamente, a lista de checagem acusará em vermelho apenas o reCAPTCHA, que nessa postagem fico devendo. Se houver mais algum ponto em vermelho, deve voltar e analisar se não pulou passo algum.
49º Passo – Clique em Create / Reset Database para que o banco de dados seja criado. Logo após a criação, você será levado para a tela de login. Nela, para acessar a aplicação, você deve utilizar os seguintes dados:
- Username – admin
- Password – password
50º Passo – Efetuado o login, aproveite para estudar! No lado esquerdo você encontra um menu com as 10 maiores vulnerabilidades classificadas no OWASP Top 10 – 2017. Em cada menu você consegue links para páginas que falam mais detalhadamente cada tipo de vulnerabilidade, Basta um pouco de tempo e perseverança.

IMAGEM: Do Autor

IMAGEM: Do Autor

IMAGEM: Do Autor
Espero que tenha gostado! Se divirta!
Caso qualquer dúvida, se não consegui ilustrar o bastante, deixe seu recado! E um like pra fortalecer!
Até breve!
Um comentário em “COMO MONTAR UM SERVIDOR WEB PARA TREINAR INVASÃO – PENTESTING”