Вы когда-нибудь слышали про 3д-печать? Скорее всего да, так как на текущий момент эта тема сильно хайпит. Я вот тоже про неё узнал, углубился, купил 3D-принтер и теперь не могу представить, как без него жили раньше. Далее расскажу свою историю вката в 3д-печать, покажу примеры своих поделок, в том числе, связанные с пентестами.

Не дисклеймер

Данный пост слабо связан с ИБ-тематикой. Его цель - задать энтузиазм и заинтересать в 3д-печати. Однако, я все-таки возьму риск положить его вместе с другими постами, так, как полученные в результате навыки помогли с разработкой устройств для пентестов и редтимов.

Приятного чтения!

Введение

Сначала очень кратко расскажу теорию, буквальное несколько абзацев. Подробные гайды и статьи любой сожности можно найти в интернете.

Есть такая технология - Fused Filament Fabrication (FFF, Изготовление методом наплавления нити) и её подвид - Fused Deposition Modeling (FDM, моделирование методом плавления), основная особенность которых - создание моделей путем послойного нанесения материала в виде тонкой нити. Простейший пример - использование кондитерского мешка. С его помощью глазурь выдавливается тонкой нитью, что даёт нам контроль размещения. В 3д-печати похожий способ, только вместо глазури - пластик, вместо мешка - нагретое металлическое сопло, а вместо торта - подставка и рама с тремя подвижными осями.

Пример работы (Источник):

Пример работы 3D-принтера

При правильной конфигурации самого 3д-принтера и понимания его работы, можно получить качество модели, равное или очень близкое к заводскому. Конечно, тонкостей много, начиная от выбора вида пластика, заканчивая полным контролем настроек печати.

Теперь вернемся к посту. Как же я докатился до приобретения данного агрегата?

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

Немного изучив вопрос, я таки решился на покупку 3D-принтера от производителя Bambu Lab модели A1. Интерес к данной модели на тот момент был вызван сильным пеаром блоггеров в сфере 3д-печати, а также ценников. Покупка была совершена осенью 2025-го года и на тот момент цена составляла от 30к до 45к рублей, в зависимости от магазина и даты поступления моделей, так как их быстро раскупают. Данная цена более чем приемлена для 3д-принтера такого качества, и сейчас, спустя полгода, я уверен в каждой потраченной копейке.

Итак, 3д-принтер и катушки пластика приобретены, теперь дело за печатью корпуса Bad USB. За основу возьмем плату DigiSpark. Да, забыл упомянуть, что 3д-печать получила большую распространенность среди DIY самодельщиков, и как следствие, большое комьюнити со множество бесплатных 3д-моделей, в том числе и кейсы для DigiSpark. Например, такой:

Пример корпуса устройства

Пример корпуса устройства

Выглядит приемлено, НО:

  • Корпус закрывает часть usb-разьема
  • Странное соотношение длины и ширины
  • Видно верхнюю крышку корпуса, чего обычно не наблюдается на обычных флешках
  • Хочется “выгравировать” текст в корпусе

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

Имеющиеся скиллы

Из навыков 3D-моделирования у меня было только создание нескольких моделей в Blender 3D классе в девятом, то-есть почти никаких, но, как и в случие с предыдущим постом, была сильная мотивация. Началось вкуривание мануалов.

Начнем с того, что проетирование точных деталей выполняется не в блендере, а в специализированных CAD (Computer-aided design) программах. Основное отличие CAD от Blender 3D в том, что в CADах построение модели идет путём создания через “Скетчи” - двухмерные контуры с заданием точных размеров, а в блендере - манипулиция напрямую с верширами, ребрами и гранями в 3д-пространве, с применением макросов.

Одной из таких CAD-программ является AutoCAD, однако, я, как сильный фанат опенсурса, буду использовать другую, не менее популярную - FreeCAD. Это бесплатный параметрический 3D-редактор с открытым исходным кодом. Примеры проектов выложены на главной странице их сайта. Наперед скажу, что делать сложные проекты на FreeCAD вполне реально, были бы навыки.

Первые попытки

Таким образом, шаг за шагом осваивая основы CAD-моделирования, спустя две недели, получился вот такой корпус:

FreeCad Bad-USB - Вид сверху

FreeCad Bad-USB - Вид сверху

FreeCad Bad-USB - Вид снизу

FreeCad Bad-USB - Вид снизу

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

Печать

FDM 3D-принтеры используют стандартизированный язык печати моделей - G-code. Это текстовый формат со строками инструкций, дающими 3д-принтеру команды на изменение положения печатающей головки в пространстве, нагревания сопла и регулирования скорость (количества за ед. времени) подачи филамента (пластика). Пример программы:

 1M104 S200        ; Нагрев сопла до 200°C
 2M109 S200        ; Ожидание достижения температуры
 3G28              ; Хоуминг всех осей (найти координату (0,0,0) )
 4G92 E0           ; Сброс счетчика экструдера
 5
 6G1 Z0.2 F3000    ; Поднятие Z на 0.2 мм (высота первого слоя)
 7G1 X10 Y10 F3000 ; Позиционирование в начальную точку
 8G92 E0           ; Еще раз сбросить счетчик экструдера перед подачей
 9
10; Печать линии
11G1 X60 Y10 E5.0 F1200 ; Движение по оси X, выдавливая 5 мм пластика
12
13; Окончание
14G1 Z10 F3000     ; Поднятие сопла
15M104 S0          ; Выключение нагрева
16M84              ; Отключение моторов

Более g-code программы вы скорее всего никогда не будете разбирать покомандно, так как напрямую работать с ними не нужно. Существуют так называемые программы-слайсеры, которые преобразуют наш stl-файл с корпусом в этот g-code автоматически, с радом базовых и продвинутых настроек:

Вид модели в Orca Slicer

Вид модели в Orca Slicer

Напомню, что цель поста - знакомство с 3д-печатью, поэтому не буду подробно останавливатся на настройках слайсера. Про него, как и про 3д-приндеры, сделано огромное количество материала от специалистов в области 3д-печати. Упомяну только настроку высоты слоя. Так как FDM-печать подразумевает печать с послойным нанесением пластика, следовательно, чем меьше высота каждого слоя, тем точнее становится модель, поэтому тут выстfвлена минимальная высота в 0.08 мм. Также эта настройка играет важдую роль в скорости печати. Со стандартной 0.2 мм время печати было бы ~22 минуты, в то время, как 0.08 мм - около 40 минут.

Далее показана модель в разрезе. Зеленое - вспомогательные флатформы, они отламываются после печати. Оранжевое - внешние стены. Красное - внутреннее заполнение. Для экономии пластика и времени печати, внтреннее заполнение неполное (лишь 15%):

Вид модели в Orca Slicer в разрезе

Вид модели в Orca Slicer в разрезе

Печать модели

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

Я для себя зафиксировал две основные ошибки:

  1. Для изделий маленькой формы нужно отдавать внимание заполнению
  2. Если изделие состоит из нескольких частей, нужно делать их по уму (а не как на скриншотах выше), а также добавлять зазоры в несколько несятых миллиметров, так как любая печать не идеальная и крепление просто напросто не поместится в пазы, или просто отломаться…

Что-то полезное…

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

Отмычки

Что может быть лучше создания собственных отмычек? Ну конечно же УК РФ Статья 138.1. Незаконный оборот специальных технических средств, предназначенных для негласного получения информации. (штраф до 200 тысяч рублей, ограничение свободы или лишение свободы на срок до 4 лет со штрафом.). Так, что таким мы не занимаемся, а то, что на картинке - нерабочая пластиковая копия. Хотя рабочий вариант вполне возможно сделать с применением FFF-технологии, никто таким заниматься не будет.

Пластиковые отмычки

Пластиковые отмычки

Корпус для Raspbery Pi

Однажды я искал для физ. пентеста самый неприментый корпус для малинки 3b+. Всё, что я находил на маркетплейсах, могло привлечь посторонние внимание. Конечно, бдительность работяг не стоит недооценивать, но нет, нет, да и… да. Могут появится вопросы типа “Что это за отверстия под usb, jack, hdmi”, а главное - “А давайте ка вытащим sd-карту, она же вот, никак не скрыта”.

Но это полбеды. Главная проблема всех корпусов - отсутвие совместимости с “шапками” - апгрейдом на малинку, которые надеваются на её пины. Одну из таких я использовал в своем импланте - Power Over Ethernet адаптер.

Для создания корпуска я измерил малинку, сверил со значениями в спецификации (почти совпало), оцифровал и синтезировал неотличимую копию:

Пластиковая RPi 3b+

Пластиковая RPi 3b+

Далее сделал тоже самое с PoE-адаптером, и, основываясь на них, разработал кейс:

RPi Кейс открытый

RPi Кейс открытый

RPi Кейс закрытый

RPi Кейс закрытый

Основными фичами являются отсутсвие отверстий для sd-карты и лишних портов (открыты только ethernet и usb, чтобы к ним можно было подключить альфу и адаптер), возможность использования с PoE-адаптером (купил на Aliexpress) и авторская система вентиляции воздуха в виде малинки (сверху и снизу. Есть предположение, что этого недостаточно)

подставка под телефон

Данная подставка вдохновлена одним телеграм-каналом про ИБ и разработана с нуля. Однако, в отличие от остальных 3д-моделей, эта была разработана не в CAD’е, а в в Blender 3D:

Подставка для телефона

Подставка для телефона

(почти) любая деталь

С инженерной точки зрения, на 3д-принтере можно изготавливать как прототипы, так и полностью функциональные детали. К примеру, потерялось у вас крепление для микрофона на кранштейн. Решение - найти идентичное и по его подобию синтезировать такое же:

Креаление для кранштейна

Креаление для кранштейна

Немного искусства

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

Игрок из неофициального состава Standoff

Данная моделька стоковая, можно найти в интернете. Но покраска авторская:

hacktroll

Катана

Катана полноразмерная, складная, стоковая:

Катана сложена

Катана сложена

Катана разложена

Катана разложена

Фиолетовый червячёк

Был создан для проверки возможностей 3D-принтера:

Игрушечный дракон

Игрушечный дракон

Болт

Данный экспонат - полностью авторское творение. Как и подставка для телефона, тоже был создан в Blender 3D

Болт

Болт

Шахматы на троих

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

Шахматная доска в разобраном состоянии

Шахматная доска в разобраном состоянии

Шахматные фигурки

Шахматные фигурки

Шахматная доска собрана

Шахматная доска собрана

Заключение

Как и планировалось, в отличие от других постов, этот - не сильно затрагивает ИБ-тематику. Его цель - показать мощь современной 3д-печати, сопоставить цену/качество и задать энтузиазм тем, кто заинтересовался в этой теме.

Спасибо за внимание!


Автор: 🔗@pyfffe

Наш Telegram канал: 🔗REDTalk