TGViewer
Android Guards Android Guards @android_guards_today · 3.86K subscribers
Post #252 4.39K
Ситуация: приложение хранит в keystore ключи, которые использует для шифрования/расшифровки некоторых данных в запросах. Возможности поставить хуки — нет. Нужно извлечь ключи. Сделать это на устройстве не выйдет, там hardware-backed keystore. Поэтому ставим приложение на эмулятор, проходим сценарий во время которого создаются ключи и забираем с эмулятора файл /data/misc/keystore/persistent.sqlite
Далее, делаем к этой базе запрос:
SELECT KE.id, KE.alias, BE.blob
FROM keyentry as KE
JOIN blobentry as BE
ON BE.keyentryid = KE.id
WHERE KE.alias = 'secret'
Должны вернуться две записи. Одна для приватного, вторая для публичного ключа. Выгружаем содержимое поля blob в файлы blob1 и blob2 и натравливаем binwalk чтобы понять где какой ключ. Теперь выполняем команды для извлечения и перекодирования ключей:
$ openssl x509 -in blob1 -pubkey -noout > pub.pem
$ binwalk -D "private key":.der blob2
$ openssl rsa -in extracted.der -text > priv.pem

Все, теперь у нас есть ключи, которые использует приложение 😎
#aht
  • 👍 26
  • 🔥 15
  • 🌭 5
More from @android_guards_today
  1. Aug 25, 2026Сегодня исполнилось 35 лет ядру Linux. Ну "исполнилось и исполнилось, чего бухтеть то?", к…
  2. Jul 29, 2026Написал небольшую заметку про один не слишком очевидный способ выполнения кода до фактичес…
  3. Jun 8, 2026Собрал тут себе игрушку для решения разных интересных задач. Может и вам пригодится 🌚 Дем…
  4. May 30, 2026Идёт шумная деревенская свадьба. Под утро пьяный вдрызг тамада, громко спрашивает: — Кто е…
  5. May 25, 2026В дополнение к предыдущему посту. Если вы получаете инвайт от бота и видите, ошибку, что с…
  6. May 24, 2026Вот и настал момент перевернуть еще одну страницу в жизни этого замечательного сообщества.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →