Несколько дней назад стало известно, что компания Lenovo с июня 2014 года устанавливает на ноутбуки adware и MiTM-прокси Superfish, который компрометирует SSL-соединения во всех браузерах, кроме Firefox.

Хакер Роберт Грэм (Robert Graham) сумел извлечь CA-сертификат Superfish и его секретный ключ, а также подобрать пароль, с помощью которого сгенерирован сертификат.

Программа Superfish упакована и зашифрована, так что для реверс-инжиниринга можно использовать дебаггер IDApro с записью активности программы в момент, когда она расшифровывает себя. Другой вариант — инфицировать себя и запустить procdump.

procdump -am VisualDiscovery.exe super.dmp

003

Затем Роберт запустил утилиту strings для извлечения читаемых строк.

strings super.dmp > super.txt

Там удалось найти строку "PRIVATE KEY".

004

Секретный ключ оказался защищён паролем, для подбора которого пришлось написать собственный cracker файлов SSL PEM (код программы pemcrack опубликован на Github).

Хотя cracker работает очень медленно, но Роберт Грэм применил хитрый трюк. Он предположил, что пароль есть в дампе памяти, так что использовал в качестве словаря при брутфорсе вышеупомянутый файл super.txt, отфильтровав только слова из строчных букв.

grep "^[a-z]*$" super.txt | sort | uniq > super.dict

Получившийся словарь из 2203 слов программа для брутфорса обработала за 10 секунд и выдала результат. Пароль — “komodia”.

005

Зная пароль, мы можем использовать секретный ключ и сертификат для MiTM-атаки на владельцев ноутбуков Lenovo, у которых установлен фирменный троян Superfish.

006

Подписаться
Уведомить о
5 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии