Pull to refresh
54
0
Владислав Фролов @frol

Пользователь

Добываем Wi-Fi соседа стандартными средствами MacOS

Reading time 5 min
Views 357K
Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.

И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…
Читать дальше →
Total votes 163: ↑151 and ↓12 +139
Comments 249

3D без очков

Reading time 1 min
Views 4.8K


Новая технология, разработанная Джонатаном Постом, позволяет воспроизводить трехмерное изображение без использования специальных очков. Данная система работает для мониторов с частотой развертки 120 Гц. Она симулирует работу технологии очков затворного разделения (3D Active Shutter Glasses), которая применяется, например, в NVIDIA GeForce 3D Vision и других high-end технологиях для формирования 3D-изображения.
Читать дальше →
Total votes 148: ↑110 and ↓38 +72
Comments 141

35 логотипов со скрытым смыслом

Reading time 4 min
Views 274K


Дизайн простого логотипа иногда бывает серым и скучным, если разрабатывается без доли воображения. Многие популярные бренды имеют простые, но в то же время эффективные логотипы. Вспомните дизайн логотипа знаменитого FedEx. Он выглядит элементарным и безыскусным, но на самом деле это отличная идея со скрытым смыслом, который заключается в стрелочке между буквами «E» и «x». Эта стрелка символизирует развитие и успех компании.

Это одна из самых больших проблем дизайнеров. Создание абстрактных логотипов с действенными «скрытыми посланиями» намного важнее, чем свистелки и перделки модный дизайн.
Это потому, что если логотип не передает всю «суть» компании, то и бренд продать не получится. Одним из самых популярных приемов в разработке логотипов является negative space (негативное пространство).
Прошу под кат.
Total votes 256: ↑181 and ↓75 +106
Comments 206

Что молодёжь должна знать о прошлом веке

Reading time 4 min
Views 6.9K
За два дня до наступления второго десятилетия 21 века возрастные пользователи Reddit составили список воспоминаний, которыми хотят поделиться с младшим поколением. Хотя молодёжь вряд ли поверит, что их отцы могли жить в подобных условиях, когда не было интернета.

• Я написал письмо на физическом листе бумаги и отправил его в Microsoft с вопросом, как вводить математические формулы в Word (на моём компьютере Macintosh II в конце 80-х). Получил ответ, также бумажной почтой, от настоящего программиста Microsoft, который очень подробно ответил на мой вопрос.

• Пультов от телевизора не было. Нужно было оторвать спину от дивана, встать и подойти к телевизору, чтобы нажать кнопку.
Читать дальше →
Total votes 217: ↑199 and ↓18 +181
Comments 486

Новый тип памяти удивляет даже его изобретателей

Reading time 2 min
Views 2.7K
image

Обычно фундаментальные открытия в физике опережают их практическое применение. В наше время, когда серьёзная наука в упадке, зачастую дело обстоит совсем наоборот. Вот и инженеры IBM, создав два с половиной года назад рабочий, по их словам, прототип нового типа энергонезависимой памяти Racetrack memory столкнулись в итоге с удивительными физическими явлениями. Как оказалось на практике, процесс воздействия на магнитные спины электронов в носителе информации имеет «массу» и, следовательно, инерционен.

Носитель памяти Racetrack memory — это тончайшая нанопроволочка из пермаллоя — материала, весьма чувствительного к магнитному полю. Подавая на проволочку серию импульсов, разработчики научились передвигать по ней магнитные домены. Последние формировались в момент воздействия магнитным полем записывающей головки на магнитные спины электронов в проволоке. Изменение направления магнитного поля в головке меняло ориентацию спинов на противоположную. Как результат, на границе доменов образовывались так называемые доменные стены — участки с изменяемой или неизменной полярностью, уже представляющие собой основу для считывания «нуля» или «единицы», как это происходит в тех же жёстких дисках или на магнитной ленте. Только память Racetrack memory свободна от механики. В ней нет физически движущихся частей. Домены перемещаются мимо участков считывания и записи в оба направления с помощью импульсов поляризации — верх износостойкости.

Сюрприз оказался в том, что «движение» доменов не начиналось сразу после подачи импульса и также не прекращалось после снятия управляющего напряжения.
Читать дальше →
Total votes 112: ↑102 and ↓10 +92
Comments 117

Японцы создали робота для выполнения тяжелых работ

Reading time 2 min
Views 1.6K
image

И снова Япония отличилась. Понятно, что не в выращивании картошки или там сборе урожая пшеницы с 1 га. Нет, японцы, как водится, снова создали робота — но на этот раз это еще более необычный робот, чем мы слышали до сих пор. На Хабре множество новостей о роботах-космонавтах, роботах-посудомойках и роботах, которые приносят пиво из холодильника. А что вы скажете о роботе, который способен выполнять тяжелые физические работы, заменяя человека? Этого робота разработала совместная группа ученых из Kawada Industries и Национальный институт промышленных наук и разработок. Знаете, зачем? Оказывается, в Японии просто катастрофически не хватает рабочих, способных, например, днями таскать ящики туда-сюда. В итоге пришлось найти замену людям-чернорабочим, создав робота-разнорабочего.

Читать дальше →
Total votes 50: ↑43 and ↓7 +36
Comments 79

10 способов стать хорошим программистом

Reading time 5 min
Views 100K
Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением.
Даг Линдер

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

Я не собираюсь писать мантры, следуя которым, вы станете хорошим специалистом. Моя цель — перечислить те вещи, которые помогли мне добиться успехов в этой профессии. Не существует четкого определения, кто такой хороший программист. Под таковым я подразумеваю человека, который разрабатывает отличные IT-решения и вносит вклад в развитие индустрии.

Читать дальше →
Total votes 200: ↑184 and ↓16 +168
Comments 93

HINT.css — всплывающие подсказки средствами CSS

Reading time 1 min
Views 32K

Что


Hint.css — библиотека, реализующая всплывающие подсказки, средствами CSS3 без применения JavaScript.

Библиотека использует атрибут data-*, псевдоэлементы, свойство content и CSS3 transitions для вывода всплывающих подсказок.
Читать дальше →
Total votes 41: ↑36 and ↓5 +31
Comments 32

Gray Hat Python — DLL и Code Injection

Reading time 19 min
Views 30K

Intro


Порой, когда вы реверсите или атакуете программу, полезно иметь возможность загрузить и выполнить свой код в контексте исследуемого процесса. Крадете ли вы хэши паролей или получаете доступ к удаленному рабочему столу целевой системы, методы внедрения кода и dll-библиотек предоставляют мощные возможности. Мы создадим несколько простых утилит на Питоне, которые позволят вам использовать оба метода. Эти методы должны входить в арсенал каждого разработчика программ, эксплойтов, шелл-кодов и пентестеров. Мы будем использовать внедрение DLL (DLL injection) для запуска всплывающего окна внутри другого процесса. Так же мы будем использовать внедрение кода (code injection), чтобы протестировать шелл-код, разработанный для уничтожения какого-либо процесса основываясь на его PID. Под конец главы мы создадим и скомпилируем Trojan’a (с функционалом backdoor’a) полностью написанного на Python. В большей степени он будет опираться на внедрении кода и использовании некоторых других скрытых тактик, которые должен использовать каждый хороший бэкдор. Давайте начнем с рассмотрения темы создания удаленных потоков, которые являются основой для обоих методов внедрения.
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 13

Войны в песочнице – Часть 3. ARP-Spoofing, бесполезность фильтрации по MAC-адресу и опасность установки неподписанного ПО

Reading time 9 min
Views 44K


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

В этот раз физического доступа к сетевой инфраструктуре нет. Есть лишь ноутбук с доступом в интернет по Wi-Fi. Жертва – сосед по общежитию — подключена к другой точке доступа (DIR-320) по Ethernet, но пароль для подключения к точке известен почти всем, т.к. её хозяин предпочитает использовать в качестве средства разграничения доступа фильтрацию по MAC-адресам, добавляя и удаляя адреса из базы по мере необходимости. Моего MAC-адреса в списке разрешенных нет.

Ок, подключаемся, делаем несколько тестов, и видим, что фильтрация MAC-адресов происходит только на сетевом уровне, то есть точка доступа не отказывается:
  • пересылать мои фреймы в Ethernet сегмент, и доставлять ответы
  • отвечать на ARP-запросы и принимать ARP-ответы


Единственное что точка доступа отказывается делать, так это взаимодействовать с чужаком на сетевом уровне, то есть IP-адрес она мне через DHCP не выдаёт, пропинговать её нельзя и в интернет через неё тоже не выйти.

Читать дальше
Total votes 85: ↑85 and ↓0 +85
Comments 61

Войны в песочнице — Часть 2. Обход HTTPS

Reading time 10 min
Views 47K
Ранее была получена возможность перехватывать весь трафик исследуемого субъекта. Однако банальный анализ логов tcpdump не даёт значимого результата, так как большинство сервисов использует шифрование с помощью SSL для передачи важных данных, в том числе паролей.
Как обойти шифрование SSL
Total votes 94: ↑92 and ↓2 +90
Comments 56

Перехват сессий в беспроводных сетях

Reading time 1 min
Views 61K
На хабре уже была статья о Перехвате аккаунтов пользователей в Wi-Fi-сетях с Android используя утилитку DroidSheep (небольшой русский howto для ленивых).

Используя эту программу, я столкнулся с вопросом: как бы мне сохранить перехваченные сессии? DroidSheep позволяет отправлять на почту перехваченные сессии. Но это очень неудобно для меня. Я бы хотел сохранять сессии в привычном для меня pcap формате для дальнейшего анализа на стационарном компьютере через WireShark (или через его аналог на андроиде SharkReader ).

Фактически, задачу можно переформулировать: нам нужен arp-spoofing с возможностью логирования всех перехваченных пакетов в формат pcap. Предлагаемый вариант не претендует на оптимизированный в каком-либо виде. Но вполне работоспособен.

Мой вариант под катом
Total votes 51: ↑34 and ↓17 +17
Comments 10

Я не знаю Си

Reading time 4 min
Views 50K
Цель этой статьи — заставить всех, особенно программистов на Си, сказать «я не знаю Си».
Хочется показать, что тёмные углы в Си значительно ближе, чем кажется и даже тривиальные строки кода несут в себе undefined behavior.
Читать дальше →
Total votes 285: ↑268 and ↓17 +251
Comments 309

Уязвимости серверов к медленному чтению

Reading time 2 min
Views 28K
Приветствую.
Хочу рассказать, чем я баловался в свободное от работы в Qualys время. Так как в англоязычном интернете на удивление много шума про Slow Read DoS attack, и уверен что получу здесь много полезной критики и дельных предложений.

В августе 2011 года написал програмку slowhttptest, которая тестирует веб-серверы на наличие уязвимостей, связанных с обработкой медленных HTTP запросов, таких как slowloris и slow HTTP Post. Цель — создать конфигурируемый инструмент, облегчающий работу разработчиков и позволить им концентрироваться на создании эффективных защит, а не ковырянии в питоне, на котором написаны большинство proof-of-concept эксплоитов.

А потом решил попробовать, как реагируют серверы на медленное чтение клиентами HTTP респонсов. На удивление плохо реагируют. Дефолтные apache, nginx, lightpd, IIS отказывают в обслуживании на ура.

А суть такова:
Читать дальше →
Total votes 119: ↑113 and ↓6 +107
Comments 74

Cкоростная синхронизация миллиарда файлов

Reading time 7 min
Views 95K
Есть несколько идентичных серверов (4 ноды) на Amazon EC2 с Ubuntu. Каждый генерирует и хранит у себя на диске кэш, который хотелось бы синхронизировать. Но простой rsync тут не подойдет — файлов несколько миллиардов, nfs — слишком медлителен, и т. д. Полный список рассмотренных вариантов с пояснениями ниже.

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

После теста нескольких кластерных технологий и файловых систем, по совету старшего товарища, решили использовать тот же rsync, но в связке с inotify. Немного поискав в интернете готовое такое решение, дабы не изобретать велосипед, наткнулся на csyncd, inosync и lsyncd. На хабре уже была статья о csyncd, но он тут не подходит, т.к. хранит список файлов в базе SQLite, которая вряд-ли сможет сносно работать даже с миллионом записей. Да и лишнее звено при таких объемах ни к чему. А вот lsyncd оказался именно тем, что нам и было нужно.

UPD: Как показала практика, необходимо ощутимое измение и дополние в тексте. Я решил внести лишь незначительные правки в основную часть, а новыми выводами поделиться в конце статьи.
Читать дальше →
Total votes 55: ↑55 and ↓0 +55
Comments 29

Cacheops

Reading time 3 min
Views 7.9K
Некоторое время назад я писал о системе кеширования. Помнится, я обещал продолжение, но сейчас решил, что строка кода лучше сотни комментариев, теорию оставим на потом. Поэтому сегодня у нас своего рода анонс с парой советов по использованию в одном флаконе. Встречайте, cacheops — система кеширования и автоматической инвалидации кеша для Django ORM.
Читать дальше →
Total votes 47: ↑47 and ↓0 +47
Comments 32

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity