<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 𝔫𝔢𝔱𝔯𝔲𝔫𝔫𝔢𝔯</title>
    <description>The latest articles on DEV Community by 𝔫𝔢𝔱𝔯𝔲𝔫𝔫𝔢𝔯 (@llucasduartee).</description>
    <link>https://dev.to/llucasduartee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2959023%2Ff8c8d893-4949-43f2-9adf-d86563b27790.jpg</url>
      <title>DEV Community: 𝔫𝔢𝔱𝔯𝔲𝔫𝔫𝔢𝔯</title>
      <link>https://dev.to/llucasduartee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/llucasduartee"/>
    <language>en</language>
    <item>
      <title>Montando um laboratório de Pentest com um celular Android e Kali Linux</title>
      <dc:creator>𝔫𝔢𝔱𝔯𝔲𝔫𝔫𝔢𝔯</dc:creator>
      <pubDate>Thu, 20 Mar 2025 23:42:11 +0000</pubDate>
      <link>https://dev.to/llucasduartee/montando-um-laboratorio-de-pentest-com-um-celular-android-e-kali-linux-4imo</link>
      <guid>https://dev.to/llucasduartee/montando-um-laboratorio-de-pentest-com-um-celular-android-e-kali-linux-4imo</guid>
      <description>&lt;p&gt;Olá, mundo – programadores, experimentadores e os curiosos: este artigo foi escrito para vocês. Sem mais delongas, este artigo vai guiá-los passo a passo na construção de um laboratório de pentest para o OWASP Top 10 usando um celular Android e Kali Linux (embora você possa escolher qualquer sistema operacional que desejar; não abordarei as alternativas aqui).&lt;/p&gt;

&lt;p&gt;Mas antes, algumas apresentações. Meu nome é Lucas, sou desenvolvedor de software e entusiasta de segurança cibernética, baseado no Brasil. É basicamente isso. Vamos mergulhar um pouco na teoria e na prática, certo?&lt;/p&gt;

&lt;h5&gt;
  
  
  O que é o OWASP Top 10?
&lt;/h5&gt;

&lt;p&gt;O OWASP Top 10 é uma lista publicada pelo Open Web Application Security Project (OWASP), uma organização sem fins lucrativos focada em melhorar a segurança do software. Ela identifica os dez riscos de segurança mais críticos para aplicações web, com base em dados de vulnerabilidades reais e contribuições de especialistas em segurança. A lista é atualizada periodicamente — normalmente a cada poucos anos — para refletir as ameaças em evolução. A versão oficial mais recente é de 2021, mas uma atualização para 2025 está em andamento e deve ser lançada na primeira metade de 2025, de acordo com o cronograma anunciado pela OWASP. Você pode saber mais acessando o &lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;site da OWASP Foundation&lt;/a&gt;.&lt;/p&gt;

&lt;h5&gt;
  
  
  Por que um celular Android?
&lt;/h5&gt;

&lt;p&gt;Porque podemos. Você pode ter seus próprios motivos para isso, como possuir um PC de baixo custo, querer uma aplicação móvel que caiba no bolso ou até mesmo usar um notebook em uma cafeteria para hackear algo só para dar aquela exibida. No entanto, se você tiver um bom PC, poderia hospedar tanto a máquina atacante quanto a aplicação vítima nele. Mas tudo bem, isso é apenas por diversão.&lt;/p&gt;

&lt;h5&gt;
  
  
  O que vamos utilizar hoje?
&lt;/h5&gt;

&lt;p&gt;Para este tutorial, estarei usando meu PC pessoal, rodando uma instância virtualizada do Kali Linux, e um Samsung Galaxy A23 com Termux instalado para hospedar a aplicação web que atacaremos. O Samsung Galaxy rodará um servidor Apache que servirá o &lt;a href="https://github.com/digininja/DVWA" rel="noopener noreferrer"&gt;DVWA (Damn Vulnerable Web App)&lt;/a&gt;, uma aplicação construída propositalmente com falhas de segurança para que possamos praticar pentesting de maneira realista.&lt;/p&gt;

&lt;h5&gt;
  
  
  Configuração
&lt;/h5&gt;

&lt;p&gt;Agora vem a parte divertida. Primeiro, vamos instalar o Termux (um aplicativo) no celular. O Termux permite virtualizar um subsistema Linux sem necessidade de root (com algumas limitações, é claro). Então, vamos até a Play Store e instalar o Termux. Você pode encontrá-lo &lt;a href="https://play.google.com/store/apps/details?id=com.termux&amp;amp;hl=pt-br" rel="noopener noreferrer"&gt;aqui&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Com o Termux instalado e aberto no seu celular, você verá uma tela como a abaixo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphaxo2qpmqn9yo1z0d01.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphaxo2qpmqn9yo1z0d01.jpg" alt="Termux opened" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora, vamos digitar alguns comandos no Termux para atualizar o sistema e instalar as dependências necessárias para este projeto. Primeiro, execute:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pkg upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Espere a instalação terminar. Se o terminal solicitar, digite &lt;strong&gt;Y&lt;/strong&gt; para permitir que o Termux use o armazenamento do celular para baixar as dependências. (Isso será necessário para qualquer comando que executarmos neste tutorial. Apenas aceite e prossiga.)&lt;/p&gt;

&lt;p&gt;Após isso, vamos instalar MySQL, PHP, Apache2 e VIM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg &lt;span class="nb"&gt;install &lt;/span&gt;apache2 php-apache mariadb wget vim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Aguarde a conclusão da instalação e, em seguida, prossiga para a próxima etapa: configurar o Apache para executar nosso código PHP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim &lt;span class="nv"&gt;$PREFIX&lt;/span&gt;/etc/apache2/httpd.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No VIM, você pode rolar o arquivo usando as setas do teclado do Termux. Role até encontrar várias linhas que começam com &lt;code&gt;LoadModule&lt;/code&gt;. Entre no modo de inserção pressionando &lt;strong&gt;I&lt;/strong&gt; no teclado e adicione a seguinte linha entre os outros diretórios &lt;code&gt;LoadModule&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;LoadModule&lt;/span&gt; php_module /data/data/com.termux/files/usr/libexec/apache2/libphp.so
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Além disso, descomente (ou seja, remova o &lt;code&gt;#&lt;/code&gt; e quaisquer espaços em branco anteriores) a linha que contém:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;LoadModule&lt;/span&gt; mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Por fim, antes das linhas &lt;code&gt;LoadModule&lt;/code&gt;, você deverá ver uma diretiva &lt;code&gt;Listen&lt;/code&gt; seguida de um endereço IP. Altere-a para:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;Listen&lt;/span&gt; 0.0.0.0:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31bxjq9ybeogoz3gaoa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31bxjq9ybeogoz3gaoa.jpg" alt="LoadModule example" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pressione ESC para sair do modo de inserção e, em seguida, navegue até o final do arquivo. Uma vez lá, pressione I novamente para entrar no modo de inserção e adicione as seguintes linhas antes da diretiva &lt;code&gt;Include etc/apache2/conf.d/*.conf&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;FilesMatch&lt;/span&gt; &lt;span class="err"&gt;\.&lt;/span&gt;&lt;span class="na"&gt;php&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    SetHandler application/x-httpd-php
&lt;span class="nt"&gt;&amp;lt;/FilesMatch&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span class="na"&gt;dir_module&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    DirectoryIndex index.php index.html
&lt;span class="nt"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Certifique-se de que não haja espaços em branco à esquerda antes de nenhuma das tags; caso contrário, a configuração falhará. O arquivo deverá ficar parecido com isto:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmx9wy7qfnmiso9k74n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmx9wy7qfnmiso9k74n.jpg" alt="FilesMatch Example" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pressione ESC no Termux e digite &lt;code&gt;:wq&lt;/code&gt; para salvar e sair. Agora você deverá estar de volta ao terminal. Em seguida, vamos testar o servidor Apache executando:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apachectl start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Se você ver um aviso sobre &lt;code&gt;ServerName&lt;/code&gt;, não se preocupe.&lt;/p&gt;

&lt;p&gt;Agora, vamos testar se o PHP está configurado corretamente no Apache executando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;?php echo 'PHP is working'; ?&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$PREFIX&lt;/span&gt;/share/apache2/default-site/htdocs/test.php
curl http://127.0.0.1:8080/test.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Você deverá ver apenas a mensagem &lt;code&gt;PHP is working&lt;/code&gt;. Se o código PHP for exibido, o Apache não está processando o PHP corretamente. Verifique os passos anteriores para garantir que tudo foi configurado corretamente.&lt;/p&gt;

&lt;p&gt;Pare o Apache por enquanto executando:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apachectl stop&lt;/code&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  Baixando e configurando o DVWA
&lt;/h6&gt;

&lt;p&gt;O primeiro passo para configurar o DVWA corretamente é criar um banco de dados no MySQL para que ele funcione como esperado. Vamos executar o MySQL em segundo plano:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mysqld_safe &amp;amp;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O &lt;code&gt;&amp;amp;&lt;/code&gt; no final garante que o processo seja executado em segundo plano.&lt;/p&gt;

&lt;p&gt;Em seguida, vamos baixar o DVWA e colocá-lo no diretório do Apache para que possamos servi-lo pela porta 8080:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd $PREFIX/share/apache2/default-site/htdocs/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;wget https://github.com/digininja/DVWA/archive/master.zip -O dvwa.zip&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;unzip dvwa.zip&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mv DVWA-master dvwa&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Mudamos de diretório para colocar os arquivos do DVWA no diretório do Apache. O segundo comando baixa o arquivo, o terceiro o descompacta e, por fim, renomeamos a pasta para facilitar o acesso à URL (ao invés de acessar &lt;code&gt;localhost:8080/DVWA-master&lt;/code&gt;, você usará &lt;code&gt;localhost:8080/dvwa&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Vamos também renomear o arquivo de configuração do DVWA para que funcione com o Apache:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd dvwa/config/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mv config.inc.php.dist config.inc.php&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Configurar o banco de dados MySQL com valores padrão é o próximo passo. Se desejar alterá-los, utilize o VIM para modificar o arquivo de configuração que você acabou de renomear.&lt;/p&gt;

&lt;p&gt;Execute:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;mysql -u root&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Você entrará no terminal do SQL. A partir daqui, vamos criar um banco de dados, configurar um usuário e senha, e finalmente conceder privilégios ao usuário. Execute:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;DATABASE&lt;/span&gt; &lt;span class="n"&gt;dvwa&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;USER&lt;/span&gt; &lt;span class="s1"&gt;'dvwa'&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;'localhost'&lt;/span&gt; &lt;span class="n"&gt;IDENTIFIED&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="s1"&gt;'p@ssw0rd'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;GRANT&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;dvwa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;TO&lt;/span&gt; &lt;span class="s1"&gt;'dvwa'&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;'localhost'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;FLUSH&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Após executar esses comandos, digite &lt;code&gt;exit&lt;/code&gt; para sair do terminal do SQL. Agora, reinicie o Apache com:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;apachectl stop&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;O DVWA agora deverá estar acessível em sua rede (garanta que as máquinas estejam na mesma rede). No seu celular Android, vá em &lt;strong&gt;Configurações&lt;/strong&gt;, depois &lt;strong&gt;Conexões ou Wi-Fi&lt;/strong&gt;. Clique no ícone de engrenagem próximo à sua conexão Wi-Fi. Role para baixo até encontrar o seu endereço IP. Em seguida, digite &lt;code&gt;&amp;lt;seu_endereço_IP&amp;gt;:8080/dvwa&lt;/code&gt; no navegador. Você deverá ver uma tela parecida com esta:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3hlyjye3nn30zmngv6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3hlyjye3nn30zmngv6b.png" alt="DVWA running" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O DVWA está configurado e rodando no seu celular Android! Para pará-lo, basta executar &lt;code&gt;apachectl stop&lt;/code&gt;; para iniciá-lo novamente, execute &lt;code&gt;apachectl start&lt;/code&gt;.&lt;/p&gt;

&lt;h5&gt;
  
  
  Baixando e configurando o Kali Linux
&lt;/h5&gt;

&lt;p&gt;Para este tutorial, vou virtualizar uma máquina Kali Linux usando o VirtualBox. Existem várias formas de rodar o Kali Linux; se você tiver mais experiência e quiser usar outro método, sinta-se à vontade. Apenas lembre-se de que tanto o Kali quanto o celular Android devem estar na mesma rede. Se você usar um VPS para rodar o Kali, pode instalar o Tailscale tanto no Android quanto no Kali Linux para que fiquem na mesma rede, por exemplo. Dito isso, vamos prosseguir!&lt;/p&gt;

&lt;p&gt;Baixe o &lt;a href="https://www.virtualbox.org/wiki/Downloads" rel="noopener noreferrer"&gt;VirtualBox&lt;/a&gt; e execute o instalador. Além disso, baixe os &lt;a href="https://www.kali.org/get-kali/#kali-platforms" rel="noopener noreferrer"&gt;arquivos de máquina virtual do Kali Linux&lt;/a&gt;. Extraia os arquivos do download do Kali Linux para o local desejado e clique duas vezes na Imagem Virtual do Kali (o primeiro arquivo na captura de tela):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasagw7cziaqxch26pa1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasagw7cziaqxch26pa1f.png" alt="Kali Virtual Image" width="800" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Isso deverá abrir a interface do VirtualBox com a máquina Kali Linux:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn2h36ltnflhgeibcagk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn2h36ltnflhgeibcagk.png" alt="Kali Linux installed" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora, vamos configurar nossa máquina virtual. O Kali requer pelo menos 2GB de RAM para rodar, mas se você tiver mais disponível, pode alocar RAM adicional para uma experiência mais fluida. O mesmo vale para os núcleos de processador (você pode alocar metade dos núcleos disponíveis, se desejar) e a RAM de vídeo.&lt;/p&gt;

&lt;p&gt;Clique com o botão direito na máquina Kali Linux na interface do VirtualBox e selecione &lt;strong&gt;Settings (Configurações)&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lv58maknxg2gq6zmigg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lv58maknxg2gq6zmigg.png" alt="Kali Linux settings" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vá até a seção &lt;strong&gt;Storage (Armazenamento)&lt;/strong&gt; e certifique-se de que o disco virtual incluído na imagem está configurado corretamente:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nscz865nkqdm0jsaf6s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nscz865nkqdm0jsaf6s.png" alt="Virtual Disk" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em seguida, vá para a aba &lt;strong&gt;System (Sistema)&lt;/strong&gt; e aloque mais RAM. Ele já vem com 2GB, mas eu defini para 4GB para uma experiência mais suave:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32hzat0bidwi91ekjpdc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32hzat0bidwi91ekjpdc.png" alt="ram settings" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Depois, vá para a aba &lt;strong&gt;Processor (Processador)&lt;/strong&gt; e ajuste o número de núcleos, se desejar. Por padrão, ele vem com um núcleo, mas eu defini para 4. Certifique-se de que a opção Enable PAE/NX esteja marcada:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetsfhfbuu26tvz5773sh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetsfhfbuu26tvz5773sh.png" alt="processor settings" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em seguida, vá para a aba &lt;strong&gt;Display (Exibição)&lt;/strong&gt; e aloque RAM de vídeo. Eu defini para 128MB para evitar quaisquer problemas visuais:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruc0x2iev9s0elyn70sw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruc0x2iev9s0elyn70sw.png" alt="video ram settings" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por fim, vá para &lt;strong&gt;Network (Rede)&lt;/strong&gt;, selecione o &lt;strong&gt;Adapter 1&lt;/strong&gt; e mude o campo onde está escrito Attached to para Bridged Network. Isso garantirá que o Kali Linux e o celular Android estejam na mesma rede:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzr040dkacirtrvw7eq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzr040dkacirtrvw7eq4.png" alt="network setting" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora você pode salvar as configurações e iniciar a máquina. Aguarde um pouco e a tela de login aparecerá. O usuário é &lt;code&gt;kali&lt;/code&gt; e a senha também é &lt;code&gt;kali&lt;/code&gt;. Faça login e você verá que o Kali está em execução.&lt;/p&gt;

&lt;p&gt;Agora você pode acessar a URL do DVWA (&lt;code&gt;&amp;lt;seu_ip_android&amp;gt;:8080/dvwa/&lt;/code&gt;) a partir do Kali Linux, além de rodar ferramentas como nmap, dirbuster e outros utilitários de pentest contra a interface do Android.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Hacking :)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Setting up a pentest lab with an Android Phone and Kali Linux</title>
      <dc:creator>𝔫𝔢𝔱𝔯𝔲𝔫𝔫𝔢𝔯</dc:creator>
      <pubDate>Thu, 20 Mar 2025 23:07:03 +0000</pubDate>
      <link>https://dev.to/llucasduartee/setting-up-a-pentest-lab-with-an-android-phone-and-kali-linux-1ack</link>
      <guid>https://dev.to/llucasduartee/setting-up-a-pentest-lab-with-an-android-phone-and-kali-linux-1ack</guid>
      <description>&lt;p&gt;Hello, world—coders, tinkerers, and the curious: this article was written for you. Without further ado, this article will guide you step by step in building a pentest lab for the OWASP Top 10 using an Android phone and Kali Linux (although you can choose any OS you want; I won't be covering the alternatives here).&lt;/p&gt;

&lt;p&gt;But first, some introductions. My name is Lucas, I'm a software developer and cybersecurity enthusiast based in Brazil. That's about it. Let's dive into some theory and practice, shall we?&lt;/p&gt;

&lt;h5&gt;
  
  
  What is OWASP Top 10?
&lt;/h5&gt;

&lt;p&gt;The OWASP Top 10 is a list published by the Open Web Application Security Project (OWASP), a nonprofit organization focused on improving software security. It identifies the ten most critical security risks to web applications, based on data from real-world vulnerabilities and input from security experts. The list is updated periodically—typically every few years—to reflect evolving threats. The latest official version is from 2021, but a 2025 update is in progress, expected to be released in the first half of 2025, according to OWASP’s announced timeline. You can learn more by checking the &lt;a href="https://owasp.org/www-project-top-ten/" rel="noopener noreferrer"&gt;OWASP Foundation website&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Why an Android Phone?
&lt;/h5&gt;

&lt;p&gt;Because we can. You might have your reasons for this, such as owning a low-end PC, wanting a mobile application you can carry in your pocket, or even using a notebook in a coffee shop to hack into it just to look cool. However, if you have a good PC, you could host both the attacking machine and the victim application on it. This is just for fun.&lt;/p&gt;

&lt;h5&gt;
  
  
  What we will be using today?
&lt;/h5&gt;

&lt;p&gt;For this tutorial, I'll be using my PC, running a virtualized instance of Kali Linux, and a Samsung Galaxy A23 with Termux installed to host the web application that we will attack. The Samsung Galaxy will run an Apache server that serves &lt;a href="https://github.com/digininja/DVWA" rel="noopener noreferrer"&gt;DVWA (Damn Vulnerable Web App)&lt;/a&gt;, an application intentionally built with security flaws so we can practice pentesting in a realistic setting.&lt;/p&gt;

&lt;h5&gt;
  
  
  Setup
&lt;/h5&gt;

&lt;p&gt;Okay, here comes the fun part. First of all, we will install Termux (an app) on the phone. Termux lets you virtualize a Linux subsystem without root (with some limitations, of course). So, we will go to the Play Store and install Termux. You can get it &lt;a href="https://play.google.com/store/apps/details?id=com.termux&amp;amp;hl=en" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Termux installed and opened on your phone, you should see a screen like the one below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphaxo2qpmqn9yo1z0d01.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphaxo2qpmqn9yo1z0d01.jpg" alt="Termux opened" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we will type some commands in Termux to update the system and install the dependencies we need for this project. First, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; pkg upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wait for the installation to finish. If prompted in your terminal, type &lt;strong&gt;Y&lt;/strong&gt; to allow Termux to use the phone's storage to download the dependencies. (This will be required for any command we run in this tutorial. Just accept and let it proceed.)&lt;/p&gt;

&lt;p&gt;After that, we will install MySQL, PHP, Apache2, and VIM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pkg &lt;span class="nb"&gt;install &lt;/span&gt;apache2 php-apache mariadb wget vim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wait for the installation to complete, and then move on to the next step: configuring Apache to run our PHP code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim &lt;span class="nv"&gt;$PREFIX&lt;/span&gt;/etc/apache2/httpd.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In VIM, you can scroll through the file using the arrow keys on your Termux keyboard. Scroll down until you see several lines that start with &lt;code&gt;LoadModule&lt;/code&gt;. Enter insert mode by pressing &lt;strong&gt;I&lt;/strong&gt; on your keyboard and add the following line among the other &lt;code&gt;LoadModule&lt;/code&gt; directives:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;LoadModule&lt;/span&gt; php_module /data/data/com.termux/files/usr/libexec/apache2/libphp.so
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also, uncomment (i.e., remove the &lt;code&gt;#&lt;/code&gt; and any preceding whitespaces) the line containing&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;LoadModule&lt;/span&gt; mpm_prefork_module libexec/apache2/mod_mpm_prefork.so
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, before the &lt;code&gt;LoadModule&lt;/code&gt; lines, you should see a &lt;code&gt;Listen&lt;/code&gt; directive followed by an IP address. Change it to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apache"&gt;&lt;code&gt;&lt;span class="nc"&gt;Listen&lt;/span&gt; 0.0.0.0:8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31bxjq9ybeogoz3gaoa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh31bxjq9ybeogoz3gaoa.jpg" alt="LoadModule example" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Press ESC to exit insert mode, then navigate to the end of the file. Once there, press I again to enter insert mode and add the following lines above the &lt;code&gt;Include etc/apache2/conf.d/*.conf&lt;/code&gt; directive:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;FilesMatch&lt;/span&gt; &lt;span class="err"&gt;\.&lt;/span&gt;&lt;span class="na"&gt;php&lt;/span&gt;&lt;span class="err"&gt;$&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    SetHandler application/x-httpd-php
&lt;span class="nt"&gt;&amp;lt;/FilesMatch&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span class="na"&gt;dir_module&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    DirectoryIndex index.php index.html
&lt;span class="nt"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure there are no leading whitespaces before any of the tags; otherwise, it will fail. It should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmx9wy7qfnmiso9k74n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fizmx9wy7qfnmiso9k74n.jpg" alt="FilesMatch Example" width="717" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Press ESC in Termux and type &lt;code&gt;:wq&lt;/code&gt; to save and exit. You should now be back in the terminal. Next, let's test the Apache server by running: &lt;code&gt;apachectl start&lt;/code&gt;. Don't worry if you see a warning about &lt;code&gt;ServerName&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now let's test if PHP is correctly configured in Apache by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&amp;lt;?php echo 'PHP is working'; ?&amp;gt;"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nv"&gt;$PREFIX&lt;/span&gt;/share/apache2/default-site/htdocs/test.php
curl http://127.0.0.1:8080/test.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see only PHP is working. If you see the PHP code itself, Apache is not processing PHP correctly. Verify the previous steps to ensure everything is correctly configured.&lt;/p&gt;

&lt;p&gt;Stop Apache for now by running: &lt;code&gt;apachectl stop&lt;/code&gt;.&lt;/p&gt;

&lt;h6&gt;
  
  
  Downloading and configuring DVWA
&lt;/h6&gt;

&lt;p&gt;The first step to set up DVWA correctly is to create a database in MySQL to work as intended. Let's run MySQL in the background:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mysqld_safe &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;&amp;amp;&lt;/code&gt; at the end ensures the process runs in the background.&lt;/p&gt;

&lt;p&gt;Next, let's download DVWA and place it in Apache's directory so that we can serve it over port 8080:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$PREFIX&lt;/span&gt;/share/apache2/default-site/htdocs/

wget https://github.com/digininja/DVWA/archive/master.zip &lt;span class="nt"&gt;-O&lt;/span&gt; dvwa.zip

unzip dvwa.zip

&lt;span class="nb"&gt;mv &lt;/span&gt;DVWA-master dvwa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We changed directories to place the DVWA files in Apache's directory. The second command downloads the file, the third command unzips it, and finally, we rename the folder to make it easier to access the URL (instead of having to access &lt;code&gt;localhost:8080/DVWA-master&lt;/code&gt;, you can use &lt;code&gt;localhost:8080/dvwa&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Let's also rename the DVWA config file so it works with Apache:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;dvwa/config/

&lt;span class="nb"&gt;mv &lt;/span&gt;config.inc.php.dist config.inc.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We will configure the MySQL database with default values. If you want to change them, use VIM to modify the config file you just renamed.&lt;/p&gt;

&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mysql &lt;span class="nt"&gt;-u&lt;/span&gt; root
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should now be in the SQL terminal. From here, we will create a database, set up a user and password, and finally grant privileges to the user. Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;DATABASE&lt;/span&gt; &lt;span class="n"&gt;dvwa&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;USER&lt;/span&gt; &lt;span class="s1"&gt;'dvwa'&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;'localhost'&lt;/span&gt; &lt;span class="n"&gt;IDENTIFIED&lt;/span&gt; &lt;span class="k"&gt;BY&lt;/span&gt; &lt;span class="s1"&gt;'p@ssw0rd'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;GRANT&lt;/span&gt; &lt;span class="k"&gt;ALL&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt; &lt;span class="k"&gt;ON&lt;/span&gt; &lt;span class="n"&gt;dvwa&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="k"&gt;TO&lt;/span&gt; &lt;span class="s1"&gt;'dvwa'&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;'localhost'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="n"&gt;FLUSH&lt;/span&gt; &lt;span class="k"&gt;PRIVILEGES&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After executing these commands, type &lt;code&gt;exit&lt;/code&gt; to leave the SQL terminal. Now, restart Apache with &lt;code&gt;apachectl start&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;DVWA should now be accessible from your network (ensure that the machines are on the same network). On your Android phone, go to &lt;strong&gt;Settings&lt;/strong&gt;, then &lt;strong&gt;Connections or Wi-Fi&lt;/strong&gt;. Click the gear icon next to your Wi-Fi connection. Scroll down until you find your IP address. Then, type &lt;code&gt;&amp;lt;your_IP_address&amp;gt;:8080/dvwa&lt;/code&gt; into your browser. You should see a screen like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3hlyjye3nn30zmngv6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3hlyjye3nn30zmngv6b.png" alt="DVWA running" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DVWA is now configured and running on your Android phone! To stop it, simply run &lt;code&gt;apachectl stop&lt;/code&gt;; to start it again, run &lt;code&gt;apachectl start&lt;/code&gt;.&lt;/p&gt;

&lt;h5&gt;
  
  
  Download and setup Kali Linux
&lt;/h5&gt;

&lt;p&gt;For this tutorial, I will virtualize a Kali Linux machine using VirtualBox. There are several ways to run Kali Linux; if you have more experience and want to use a different method, feel free to do so. Just remember that both Kali and the Android phone should be on the same network. If you use a VPS to run Kali, you could install Tailscale on both Android and Kali Linux so they are on the same network, for example. That being said, let's proceed!&lt;/p&gt;

&lt;p&gt;Download &lt;a href="https://www.virtualbox.org/wiki/Downloads" rel="noopener noreferrer"&gt;VirtualBox&lt;/a&gt; and run the installer. Also, download the &lt;a href="https://www.kali.org/get-kali/#kali-platforms" rel="noopener noreferrer"&gt;virtual machines files from Kali Linux&lt;/a&gt;. Extract the files from the Kali Linux download to your desired location, and double-click the Kali Virtual Image (the first file in the screenshot):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasagw7cziaqxch26pa1f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fasagw7cziaqxch26pa1f.png" alt="Kali Virtual Image" width="800" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should open the VirtualBox interface with the Kali Linux machine:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn2h36ltnflhgeibcagk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnn2h36ltnflhgeibcagk.png" alt="Kali Linux installed" width="800" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we will configure our virtual machine. Kali requires at least 2GB of RAM to run, but if you have more available, you can allocate additional RAM for a smoother experience. The same applies to processor cores (you can allocate half of your available cores if desired) and video RAM.&lt;/p&gt;

&lt;p&gt;Right click in the Kali Linux machine in the VirtualBox interface and select &lt;strong&gt;Settings&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lv58maknxg2gq6zmigg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lv58maknxg2gq6zmigg.png" alt="Kali Linux settings" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to the &lt;strong&gt;Storage&lt;/strong&gt; section and ensure that the virtual disk included with the image is properly configured:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nscz865nkqdm0jsaf6s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0nscz865nkqdm0jsaf6s.png" alt="Virtual Disk" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, go to the **System **tab and allocate more RAM. It already comes with 2GB, but I set it to 4GB for a smoother experience:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32hzat0bidwi91ekjpdc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F32hzat0bidwi91ekjpdc.png" alt="ram settings" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, go to the **Processor **tab and adjust the number of cores if desired. It comes with one core by default, but I assigned 4. Ensure that Enable PAE/NX is checked:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetsfhfbuu26tvz5773sh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fetsfhfbuu26tvz5773sh.png" alt="processor settings" width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, go to the &lt;strong&gt;Display&lt;/strong&gt; tab and allocate video RAM. I set it to 128MB to avoid any visual glitches:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruc0x2iev9s0elyn70sw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fruc0x2iev9s0elyn70sw.png" alt="video ram settings" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly go to &lt;strong&gt;Network&lt;/strong&gt; and select the &lt;strong&gt;Adapter 1&lt;/strong&gt; and change where is written Attached to to Bridged Network. This will ensure Kali Linux and the Android Phone are in the same network:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzr040dkacirtrvw7eq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzr040dkacirtrvw7eq4.png" alt="network setting" width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you can save the settings and run the machine. Wait a while and the login screen will show. The user is kali and the password is also kali. Log in, and you will see that Kali is now running.&lt;/p&gt;

&lt;p&gt;Now you can access the DVWA url (&lt;code&gt;&amp;lt;your_android_ip&amp;gt;:8080/dvwa/&lt;/code&gt;) from your  Kali Linux, as well as running things like nmap on the android ip, dirbuster, and other web pentest tools. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Hacking :)&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>programming</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
