Pull to refresh
41
0
Сергей (k1k) Голованов @k1k

Эксперт

Send message

Как настроить двухфакторную аутентификацию для логина и sudo

Reading time4 min
Views51K


Безопасность в моде, как это и должно быть. Мы живем в мире, где данные — невероятно ценная валюта, которую вы всегда рискуете потерять. Поэтому вы должны сделать все, чтобы убедиться, что то, что вы держите на серверах и десктопах — в безопасности. Для этого администраторы и пользователи создают невероятно сложные пароли, используют менеджеры паролей и т.д. Но что, если я вам скажу, что вы можете логиниться на ваши серверы и десктопы Linux за два шага, вместо одного? Вы можете это делать благодаря Google Authenticator. Более того, это невероятно легко настроить.

Я собираюсь провести вас через процесс настройки двухфакторной аутентификации для использования ее на логине и sudo. Я продемонстрирую это на десктопной Ubuntu 16.04, но процесс также работает и для сервера. Чтобы справиться с двухфакторной стороной вещей, я буду использовать Google Authenticator.
Читать дальше →
Total votes 69: ↑53 and ↓16+37
Comments86

Как «купить 3d принтер» в Москве. Экспресс исследование рынка

Reading time3 min
Views124K
Уже несколько месяцев интерес к теме 3d принтеров растет.
(Это и напечатанные пушки-ракеты-печень-молекулы-протезы и шоу с Ургантом (25-я минута), и пр. и пр.)

Пока мир сходит с ума печатая пистолеты-«освободители», 11 летний пацан использует 3d принтер для саморазвития и изобретательства


Так как же перейти из роли пассивного наблюдателя за прогрессом — к роли активного экспериментатора?

Мне захотелось провести исследование:
Дано:
я живу в Москве,
я только что узнал про 3d принтеры,
у меня есть свободные 200.000 рублей (эх, если бы было так на самом деле)
я хочу купить себе 3d принтер.
Читать дальше →
Total votes 56: ↑49 and ↓7+42
Comments61

Интервью Уильяма Гибсона журналу Wired. Часть 1

Reading time7 min
Views67K


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

«Мы почти всегда ошибаемся» — сказал он в телефонном интервью Wired. Гибсон — человек, который в 1982 году, в рассказе «Сожжение Хром», придумал само слово «киберпространство», а через два года, в дебютном романе «Нейромант», расширил и углубил это понятие.

В книге, которая быстро стала классикой и источником вдохновения для фантастов следующих десятилетий, Гибсон предсказал, что «консенсуальная галлюцинация» киберпространства будет «повседневной реальностью для миллиардов пользователей во всех старнах мира», объединённых в глобальную сеть «немыслимой сложности».

С тех пор Гибсон написал множество столь же успешных и положительно воспринятых критикой романов, среди которых «Граф Ноль» (1986), «Мона Лиза овердрайв» (1988), «Разностная машина» (в соавторстве с Брюсом Стерлингом, 1990), «Распознавание образов» (2003), «Zero History» (2010). И всё же Гибсон говорит, что ему просто повезло создать пророческое описание цифрового мира. «То, что в „Нейроманте“ описано, как сеть будущего, как интернет, на самом деле совершенно не похоже на настоящий интернет» — сказал он в интервью.

Последняя книга Гибсона — сборник нефантастических рассказов «Distrust That Particular Flavor» — вышла в этом году; сейчас он пишет новый роман под рабочим названием «The Peripheral».

В интервью, которое будет опубликовано в трёх частях, Гибсон затрагивает головокружительный диапазон тем — от старинных часов до комиксов, от панк-рока до провидцев, от мемов интернета до планов экранизации «Нейроманта».
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments25

Чтобы скрыть беременность от маркетинговых компаний, женщина использовала Tor

Reading time3 min
Views118K
Два года назад многих удивила новость о том, что американская торговая сеть Target узнала о беременности девушки раньше, чем её отец. «Она ещё в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы?», — кричал тогда рассерженный отец. Ничего удивительного: простой дата-майнинг истории покупок с привязкой к дисконтной или банковской карте.

Оказывается, многие маркетинговые компании сейчас активно пытаются найти именно беременных женщин, потому что те находятся в преддверии большого количества предсказуемых покупок. Поэтому ритейлеры и производители детских товаров много платят за такую информацию. В эпоху таргетированной рекламы один только факт беременности примерно в 200 раз повышает стоимость профиля потребителя.
Читать дальше →
Total votes 178: ↑149 and ↓29+120
Comments200

Интересные приемы программирования на Bash

Reading time6 min
Views130K
Эти приемы были описаны во внутреннем проекте компании Google «Testing on the Toilet» (Тестируем в туалете — распространение листовок в туалетах, что бы напоминать разработчикам о тестах).
В данной статье они были пересмотрены и дополнены.
Читать дальше →
Total votes 181: ↑175 and ↓6+169
Comments67

Radare2 собирает денежные средства на проведение своего Summer of Code

Reading time2 min
Views14K


Свободный фреймворк для дизассемблирования и реверс-инжиниринга radare2 запустил краудфандинговую
кампанию
с целью собрать 12000 EUR на проведение собственного Summer of Code.

В этом году radare2 не прошел отбор в Google Summer of Code, что не остановило нас, и мы решили всё равно выполнить задуманное (web интерфейс, бинарные шаблоны, миграция на sdb, ROP-компилятор, ESIL — Evaluable Strings Intermediate Language, парсер PDB и протокола Windbg, сигнатурный анализ, bokken — графический интерфейс на PyGtk, поддержка новых архитектур).
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments29

Анализ приложения защищенного виртуальной машиной

Reading time52 min
Views44K
В данной статье будет рассмотрено построение защиты приложения с использованием различных программных «трюков» таких как: сброс точки входа в ноль, шифрование тела файла и декриптор накрытый мусорным полиморфом, сокрытие логики исполнения алгоритма приложения в теле виртуальной машины.

К сожалению, статья будет достаточно тяжелая для обычного прикладного программиста, не интересующегося тематикой защиты ПО, но тут уж ничего не поделать.

Для более или менее адекватного восприятия статьи потребуется минимальные знания ассемблера (его будет много) а так-же навыков работы с отладчиком.

Но и тем, кто надеется что здесь будут даны какие-то простые шаги по реализации такого типа защиты, придется разочароваться. В статье будет рассмотрен уже реализованный функционал, но… с точки зрения его взлома и полного реверса алгоритма.

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

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

Вот первоначальная ссылка, где он появился: http://exelab.ru/f/index.php?action=vthread&forum=1&topic=4732
А потом он попал вот сюда: http://www.crackmes.de/users/ms_rem/keygenme_by_ms_rem/
Где данному keygenme был выставлена сложность 8 из 10 (*VERY VERY* hard).
Хотя, если честно, это слегка завышенная оценка — я бы поставил в районе 5-6 баллов.

Пожалуй, начнем.
Читать дальше →
Total votes 154: ↑151 and ↓3+148
Comments75

Взламываем беспроводное управление светом nooLite

Reading time17 min
Views42K
image

Привет!

В нашей предыдущей статье мы показывали, как наш контроллер для домашней автоматизации работает с устройствами системы NooLite без использования родных USB-донглов для передачи и приёма сигнала. Чтобы это стало возможно, мы провели реверс-инжиниринг протокола NooLite.

Собственно эта статья содержит описание протокола и рассказывает, как именно мы его разбирали.

Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments15

Продвинутые методы неявного вызова php кода, использующиеся во вредоносных скриптах

Reading time4 min
Views22K
Логичным продолжением заметки про неявные вызовы php кода во вредоносных скриптах будет ее вторая часть, в которой я рассмотрю более сложные и менее очевидные варианты использования различных обработчиков и загрузчиков php, а в конце статьи приведу несколько примеров, как еще хакеры неявно вызывают вредоносный код и php скрипты на сайте.

В качестве примера вредоносного кода снова будем использовать вызов

echo 'Test'


Поскольку цель статьи показать различные подходы и механизмы скрытого выполнения кода, то для простоты функция, которая выполняет наш «вредоносный код» будет объявлена рядом с вызываемым ее неявно кодом. В реальной жизни вредоносный код и его вызов находятся далеко друг от друга, как минимум в разных php скриптах, но чаще код подгружается из базы данных, мета-данных изображений, с другого сервера, после чего выполняется функцией eval, assert, preg_replace и им подобными.

Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments11

Strace

Reading time7 min
Views124K
В течение минуты думал над заголовком, так ничего и не придумал…
Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments33

Простая прокси-DLL своими руками

Reading time8 min
Views16K
Понадобилось мне перехватывать вызовы GDS32.DLL. Решил написать прокси-dll.

Пишем исследовательский стенд


Первое, что нам нужно — это получить список всех экспортируемых функций из настоящей dll.
Сделаем это следующим кодом:

1.	program GetFuncsDll;
2.	  {$APPTYPE CONSOLE}
3.	  uses   Windows;
4.	  var
5.	    ImageBase: DWORD;                  //адрес образа dll
6.	    pNtHeaders: PImageNtHeaders;       // PE заголовок dll
7.	    IED: PImageExportDirectory;        // адрес таблицы экспорта
8.	    ExportAddr: TImageDataDirectory;   // таблица экспорта
9.	    I: DWORD;                          // переменная для цикла
10.	    NamesCursor: PDWORD;               // указатель на адрес имени функции
11.	    OrdinalCursor: PWORD;              // указатель на адрес номера функции
12.	    LIB_NAME:AnsiString;               // имя dll
13.	BEGIN
14.	  LIB_NAME:='MiniLib.dll';
15.	  loadlibraryA(PAnsiChar(LIB_NAME));
16.	  ImageBase := GetModuleHandleA(PAnsiChar(LIB_NAME));
17.	  pNtHeaders := Pointer(ImageBase + DWORD(PImageDosHeader(ImageBase)^._lfanew));
18.	  ExportAddr := pNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT];
19.	  IED := PImageExportDirectory(ImageBase+ExportAddr.VirtualAddress);
20.	  NamesCursor := Pointer(ImageBase + DWORD(IED^.AddressOfNames));
21.	  OrdinalCursor := Pointer(ImageBase + DWORD(IED^.AddressOfNameOrdinals));
22.	  For I:=0 to Integer(IED^.NumberOfNames-1) do begin
23.	    WriteLn(output,PAnsiChar(ImageBase + PDWORD(NamesCursor)^),'=',OrdinalCursor^ + IED^.Base);
24.	    Inc(NamesCursor);
25.	    Inc(OrdinalCursor);
26.	  end;
27.	Readln;
28.	end.
Листинг 1


Здесь трудностей вроде нет. Добираемся последовательно до таблицы экспорта (строка 19) указателей на массив имен(NamesCursor) и массива номеров(OrdinalCursor) и читаем функцию за функцией, имена и номера. Количество функций находится в поле NumberOfNames. Этот код был добыт на просторах интернета, потом доработан и упрощён.
Читать дальше →
Total votes 40: ↑27 and ↓13+14
Comments18

Новая жизнь старого синтезатора. Часть 1

Reading time6 min
Views83K
Внешний вид синтезатора
Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это из-за того, что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.
Перейти ко вскрытию пациента
Total votes 109: ↑105 and ↓4+101
Comments57

В США очередная крупная утечка данных кредитных карт

Reading time2 min
Views23K
На этой неделе мы писали про нашумевшую историю, связанную с компрометацией крупной американской ритейлерной сети Target. Данные кредитных карт более 50 млн. покупателей и клиентов Target оказались скомпрометированы. Злоумышленники использовали хорошо подготовленную атаку на один из серверов компании и смогли получить доступ во внутреннюю сеть для централизованной установки вредоносного кода на компьютеры, которые обслуживают POS-терминалы. Вредоносный код, который известен как Trojan.POSRAM (iSight) или новая модификация BlackPOS использовался атакующими для получения доступа к данным кредитных карт в момент проведения платежной операции. В СМИ этот вредоносный код упоминался как KAPTOXA, название взято из отчета iSight и информации IntelCrawler. Последняя указала на одного из наших соотечественников как на автора вредоносного ПО.



После появления информации о компрометации Target, другая ритейлерная сеть Neiman Marcus также заявила о хищениях данных кредитных карт в середине декабря прошлого года, причем речь идет об оплате именно с использованием POS терминалов, так как клиентов онлайн-магазина это не коснулось. Сегодня же появилась информация, что еще одна крупная сеть магазинов Michaels занимается расследованием инцидента кражи данных карт. Службы безопасности банковских учреждений уже зафиксировали сотни случаев мошеннического доступа к данным кредитных карт, украденных через Michaels.

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments40

0day Wednesday – исследование новейшего вредоноса

Reading time6 min
Views69K
Кто-то может назвать это безумие. Для меня это просто среда.

Она досталась мне вчера, и я разобрался с ней сегодня. Она пришла в нагрузку к java эксплойту от старого 2012 CVE (SecurityManager, я полагаю). Я называю её 0day[1], потому что её нету в базах VirusTotal / Malwr ни в каком виде — ни запакованном, ни распакованном.

Попытка анализа в IDA[2] завершается ошибкой:
image

Похоже, что тот засранец, который это делал, скорее всего знал, что некто вроде меня попытается провести анализ.
Читать дальше →
Total votes 149: ↑135 and ↓14+121
Comments31

Уникальное исследование базы паролей университета Карнеги-Меллон

Reading time3 min
Views37K


Опубликованное недавно исследование базы паролей университета Карнеги-Меллон выявило несколько интересных корреляций между демографическими характеристиками и качеством паролей, которые используют люди. Уникальность этого исследования состоит в том, что все акккаунты, пароли к которым исследовались, принадлежат сотрудникам и студентам университета Карнеги-Меллон. Эти пароли использовались для доступа к весьма важным данным и функциям на университетском сайте, ограничения на длину и сложность пароля при регистрации были довольно строгими. В базе университета хранились подробные персональные данные всех пользователей, а в логах сервера аутентификации — информация о скорости ввода паролей, удачных и неудачных попытках входа. Всего было исследовано около 40 000 паролей от действующих и отключенных аккаунтов

Обычные базы паролей, доступные после утечек со взломанных сайтов, содержат много мусора в виде одноразовых аккаунтов случайных посетителей с паролями вроде «12345» или «password» и наоборот, мало информации о пользователях — обычно только логин или адрес электронной почты.

Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments83

Сноуден пролил свет на ситуацию со взломом криптографии. Все плохо

Reading time3 min
Views187K
Свежая порция секретных документов от Эдварда Сноудена дает понять, каким образом Агентству Национальной Безопасности США удается обходить криптозащиту Интернет-коммуникаций.

Сразу в трех изданиях (The Guardian, The New York Times и ProPublica) были выложены выдержки из секретного бюджета АНБ, согласно которым с 2000 года, когда стали массово внедрятся средства шифрования, спецслужбы США потратили миллиарды долларов на взлом криптографии в рамках секретной программы Bullrun (названа в честь первого крупного сражения Американской Гражданской войны, произошедшего 21 июля 1861 года возле Манассаса, штат Виргиния).

Деятельность Агентства не ограничивалась научными исследованиями алгоритмов и строительством дата-центров для взлома коммуникаций методом перебора ключей. Выяснилось, что Агентство давно и успешно работает с IT-компаниями по вопросу встраивания в их продукты закладок для спецслужб США, а также ведет работу по обнаружению уязвимостей в механизмах шифрования и целенаправленному ослаблению международных алгоритмов защиты данных (сообщается о неназванном международном стандарте шифрования, принятом Международной организацией по стандартизации в 2006 году). На одно только встраивание бэкдоров в популярные коммерческие продукты, в рамках программы SIGINT, ежегодно тратится 250 млн. долларов.

Согласно документам, наибольшие усилия предпринимаются для взлома протокола SSL, обеспечивающего безопасность большинства коммуникаций в современном Интернете. VPN и технологии защиты 4G также являются одними из приоритетных направлений. АНБ поддерживает внутреннюю базу данных ключей шифрования, позволяющую мгновенно расшифровывать соединения. Если же необходимых ключей не оказывается, то запрос переходит к специальной «Службе восстановления», которая пытается получить его различными способами.
Читать дальше →
Total votes 212: ↑204 and ↓8+196
Comments284

Есть ли жизнь после блокировки Роскомнадзором? Есть

Reading time6 min
Views73K
image

И вновь приветствуем уважаемых Хабра-людей!

В предыдущем топике мы объяснили свою позицию по отношению к статье 187-ФЗ, описали как можно подробнее наши взаимоотношения с правообладателями и Роскомнадзором. Думается нам, что прошло достаточно времени и, как мы полагаем, многим было бы интересно узнать о дальнейших событиях, чтобы дополнить общую картину происходящего.
Читать дальше →
Total votes 124: ↑118 and ↓6+112
Comments76

Безопасность банковских пластиковых карт — миф или реальность?

Reading time6 min
Views155K
Все больше людей пользуются пластиковыми банковскими картами. Лишь немногие знают, чем одна карта отличается от другой. (Visa от MasterCard, карта с чипом от обычной карты с магнитной полосой). Многие хранят деньги на пластиковой карте, так как считают, что там они более защищены от воровства. Так до недавнего времени было и со мной. Простой поход по магазинам обошелся в 0 р. на счету и при этом карта ни разу не была использована. Разве такое возможно? Оказывается вполне даже. Этот пост скорее для тех людей, которые еще верят в защищенность кусочка пластика с магнитной полосой и доверяют ему все свои сбережения.

Читать дальше →
Total votes 97: ↑68 and ↓29+39
Comments173

Создаем личное облако на 3 Тб

Reading time12 min
Views202K
Я бы хотел поделиться одним способом создания личного облака на базе трехтеррабайтного WD MyBook Live. Нет, я не буду даже упоминать про wd2go и их «полуоблака», которые по сути являются только доступами к самому NAS через сервисы WD при помощи довольно корявых Java-апплетов. В этой статье речь пойдет о «честном» облаке, работающем на MBL при помощи ownCloud.
Это решение подойдет тем, кто мечтает о личном аналоге Dropbox, файлы в котором хранятся не «где-то там», а на конкретном физическом носителе, и ограничены только его объемом, без необходимости платить ежемесячно за этот объем (пренебрегая абонентской платой за интернет и стоимостью электроэнергии).
Большинство решений подобной задачи требуют достаточно много покопаться в интернете и опираются на хорошее знание Linux-систем. В данном посте я попытаюсь дать наиболее полный и адекватный HOW-TO на русском, чего сам в интернете не нашел. Так что многое пришлось делать методом проб и ошибок на свой страх и риск. Реализация данного решения не требует каких-либо фундаментальных знаний Linux, и я постараюсь расписать все наиболее доступно, по шагам.

Если интересно что из этого вышло — добро пожаловать под кат.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments68

Создание LXC-контейнеров с общей файловой базой

Reading time7 min
Views28K
Применение легковесных контейнеров LXC в настоящий момент довольно ограничено главным образом по причине их «сырости». Применять их в production – удел настоящих джедаев. Под production в данном случае подразумевается непосредственное предоставление услуг клиентам.

Однако для простого разделения сервисов и контроля ресурсов такие контейнеры вполне подходят с некоторыми допущениями. Например, мы полагаем, что root в контейнере равен root в целевой системе.

В статье будет показано, как можно быстро создавать легковестные контейнеры на локальном диске с общими файлами без использования LVM-снапшотов.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments16
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Reverse Engineer, Security Engineer
Lead
Linux
Python
Bash
C
Assembler
Reverse development
X86 asm
PHP