Русский
Русский
English
Статистика
Реклама

Nmap

Перевод Собираешься работать в кибербезопасности? Прочитай это

28.07.2020 12:21:05 | Автор: admin
Автор статьи Брайан Кребс, известный журналист в сфере информационной безопасности.

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



Практически каждую неделю мне приходит минимум одно письмо от читателя, который просит совета, как начать карьеру в сфере ИБ. В большинстве случаев соискатели спрашивают, какие сертификаты им следует получить или у какой специализации самое светлое будущее.

Редко спрашивают, какие практические навыки нужно освоить, чтобы стать более привлекательным кандидатом. Я всегда предупреждаю, что у меня самого нет никаких сертификатов и дипломов, но я регулярно разговариваю с руководителями отделов ИБ и рекрутерами и часто спрашиваю о впечатлениях о современных кандидатах.

Типичный ответ что очень многим кандидатам просто не хватает опыта работы с практическими задачами.

Конечно, большинству выпускников не хватает практического опыта. Но, к счастью, уникальный аспект ИБ заключается в том, что опыт и фундаментальные знания можно получить старым добрым методом проб и ошибок.

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

Пожалуйста, не верьте мне на слово. Исследовательский институт SANS недавно провёл опрос более 500 практиков кибербезопасности в 284 различных компаниях в попытке выяснить, какие навыки они находят наиболее полезными для кандидатов на работу, а какие чаще всего отсутствуют.

В ходе опроса респондентам предлагалось ранжировать различные навыки от критических до необязательных. Целых 85% назвали знание сети критическим или очень важным навыком, за которым следует владение операционной системой Linux (77%), Windows (73%), распространённые методы применения эксплоитов (73%), компьютерная архитектура и виртуализация (67%), обработка данных и криптография (58%). Довольно удивительно, что только 39% назвали программирование критическим или очень важным навыком (к этому вернёмся через минуту).

Как специалисты по кибербезопасности оценивали потенциальных кандидатов на работу по этим критическим и очень важным навыкам? Результаты кажутся ошеломляющими:

Навыки Сколько кандидатов не смогли решить даже базовые задачи Сколько кандидатов продемонстрировали мастерство
Общие техники взлома 66% 4,5%
Компьютерные архитектуры 47% 12,5%
Сеть 46% 4%
Linux 40% 14%
Программирование 32% 11,5%
Данные и криптография 30% 2%

Работодатели сообщают, что подготовка студентов по кибербезопасности в значительной степени неадекватна, и они разочарованы, что приходится тратить месяцы на поиски, прежде чем они найдут квалифицированных сотрудников начального уровня, если таковые вообще могут быть найдены, говорит Алан Паллер, директор по исследованиям Института SANS. Мы предположили, что для начала решения этих проблем и устранения разрыва следует сформулировать навыки, которые работодатели ожидают, но не находят у выпускников.

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

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

Я не отговариваю читателей от получения высшего образования или сертификации в данной области (что может быть основным требованием во многих корпорациях), а просто чтобы они не рассматривали это как гарантию стабильной и высокооплачиваемой работы.

Без овладения одним или несколькими из перечисленных навыков вас просто не будут считать очень привлекательным или выдающимся кандидатом.

Но как?


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

Я не говорю о взломе чьей-то сети или какого-то плохого сайта. Пожалуйста, не делайте этого без разрешения. Если ломать сторонние сервисы и сайты, то выбирайте те, которые предлагают вознаграждение через программы bug bounty, а затем убедитесь, что соблюдаете правила этих программ.

Но почти всё можно воспроизвести локально. Хотите овладеть общими методами взлома и эксплуатации уязвимостей? Существует бесчисленное множество доступных бесплатных ресурсов; специально разработанные инструменты, такие как Metasploit и WebGoat, и дистрибутивы Linux, такие как Kali Linux, с большим количеством учебников и онлайновых туториалов. Кроме того, есть ряд бесплатных инструментов для пентестинга и обнаружения уязвимостей, такие как Nmap, Nessus, OpenVAS и Nikto. Это далеко не полный список.

Организуйте собственную хакерскую лабораторию. Можете сделать это на запасном компьютере или сервере или на старом ПК, которых в изобилии по дешёвке продаются на eBay или Craigslist. Бесплатные инструменты виртуализации, такие как VirtualBox, упрощают работу с различными операционными системами без необходимости установки дополнительного оборудования.

Или подумайте о том, чтобы заплатить кому-то за установку виртуального сервера, на котором можете ставить опыты. Amazon EC2 хороший недорогой вариант. Если хотите тестировать веб-приложения, можно установить на компьютеры в собственной локальной сети любое количество веб-сервисов, таких как старые версии WordPress, Joomla или движки интернет-магазинов, такие как Magento.

Хотите изучить сети? Начните с приличной книги по TCP/IP, хорошенько изучите сетевой стек и то, как все слои взаимодействуют друг с другом.

Пока усваиваете эту информацию, научитесь использовать некоторые инструменты, которые помогут применить знания на практике. Например, познакомьтесь с Wireshark и Tcpdump, удобными инструментами, используемыми сетевыми администраторами для устранения неполадок сети и безопасности, а также для понимания того, как работают (или не работают) сетевые приложения. Начните с проверки собственного сетевого трафика, просмотра веб-страниц и повседневного использования компьютера. Попытайтесь понять, что делают приложения на вашем компьютере, глядя на то, какие данные они отправляют и получают, как и где.

О программировании


Работодатели могут требовать или не требовать навыки программирования на таких языках, как Go, Java, Perl, Python, C или Ruby. Независимо от этого, знание одного или нескольких языков не только сделает вас более привлекательным кандидатом, но и облегчит дальнейшее обучение и переход на более высокие уровни мастерства.

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

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

Получите помощь


Не заблуждайтесь: подобно изучению музыкального инструмента или нового языка, приобретение навыков кибербезопасности отнимает много времени и сил. Но не впадайте в уныние, если вас перегружает и подавляет весь объём информации. Просто не торопитесь и продолжайте идти.

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

Многие из этих мероприятий бесплатны, в том числе встречи BSides, группы DEFCON и собрания OWASP. И поскольку в технологической индустрии по-прежнему преимущественно представлены мужчины, существует ряд встреч по кибербезопасности и групп, ориентированных на женщин, таких как Женское общество Cyberjutsu и другие, перечисленные здесь.

Если вы не живёте в глуши, скорее всего, в вашем районе есть несколько конференций и встреч по ИБ. Но даже если вы в глуши, многие из этих встреч сейчас проводятся виртуально из-за пандемии COVID-19.

Короче говоря, не рассчитывайте, что диплом или сертификат дадут вам навыки, которые работодатели по понятным причинам ожидают от вас. Это может быть несправедливо или нет, но вам придётся развивать и совершенствовать навыки, которые послужат будущему работодателю(-ям) и возможности трудоустройства в этой области.

Уверен, у читателей есть собственные идеи, на чём лучше всего сосредоточить свои усилия новичкам и студентам. Пожалуйста, не стесняйтесь высказываться в комментариях.
Подробнее..

Удобный вид для проверки результатов сканирования Nmap

02.03.2021 20:22:33 | Автор: admin

Введение





Всем привет!

Я работаю в сфере информационной безопасности и занимаюсь анализом защищенности веб приложений. В свободное время я стараюсь повысить свои технические скилы и поэтому практикую bughanting на платформе hackerone или решаю лабы на hackthebox.

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

Nmap это консольное приложение (да конечно есть различные форки, например Zenmap и.т.д), и вывод его по умолчанию тоже отображается в консоли. Конечно, он также поддерживает сохранение в файл, в разных форматах, я не буду останавливаться на этом подробно, кому интересно можно посмотреть полный список ключей. (Список опций для Nmap)

Все хорошо, когда ты сканируешь N хостов, и это N не превышает 10 или 20 штук. Но что делать если хостов становится сильно больше? А теперь представим, что часть из этих хостов например dev.example.com или test123.example.com, разработчики просто забыли вывести из эксплуатации и они не входят в область анализа? Каждый раз писать отчет и тратить на это существенную часть времени? Я вообще не фанат писанины отчетов, особенно на таком простом этапе. Поэтому я стал искать простые способы решения этой задачи.

Как говорили классики все гениальное просто.

nmap-bootstrap-xsl



Ссылка на github разработчика
Дает на выходе симпатичную html страницу, где все удобно разбито и представлено.





Как пользоваться?



1. Скачиваем сам файл стилей ссылка

2. Добавляем nmap-bootstrap.xsl в качестве таблицы стилей к вашему сканированию Nmap с аргументом --stylesheet:

 nmap -sS -A -p0-65535 -oA drive2 --stylesheet /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl -iL /home/kali/Documents/Habr/drive2_domain.txt 


drive2- название xml файла который создаться после работы nmap

3. Используем xsltproc для конвертации файла в html.

 xsltproc -o drive2.html /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl drive2.xml


drive2.html название html страницы которая получится
drive2.xml название xml файла который создался после работы nmap


Демонстрация работы



Для демонстрации работы возьмем какую-нибудь открытую программу по баг баунти, например DRIVE.NET, Inc.





Найдем все под домены домена *.drive2.ru и просканируем их nmap сразу с применением nmap-bootstrap-xsl стиля.

1. Ищем под домены домена *.drive2.ru с помощью sublister (ссылка на github)





2. Запускаем сканирование nmap



3. Полученные файлы после сканирования.



4. Используем xsltproc для конвертации файла в html.

 xsltproc -o drive2.html /home/kali/OSINT/nmap-bootstrap-xsl/nmap-bootstrap.xsl drive2.xml


5. Смотрим результат



Пример итоговой html страницы добавил на Яндекс диск. (ссылка на яндекс диск)

Вывод



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

Надеюсь, представленная информация поможет вам в экономии времени на задачи с которыми я столкнулся и описал в статье.

Так же было бы интересно узнать, кто что использует для подобных задач. Будет круто если поделитесь чем-то интересным в комментариях. Всем бобра :)
Подробнее..

Recovery mode Отсканируем всю сеть..., или как я искал старые операционные системы в сети организации

13.05.2021 02:13:40 | Автор: admin

При проведении теста на проникновение внутренней сети предприятия, одним из первых рассматриваемых векторов атак на сети Windows является поиск и компрометация неподдерживаемых операционных систем с известными и публичными эксплойтами. Чаще других при этом эксплуатируется служба SMB. Другой проблемой системных администраторов является отсутствие документации сети. Пентестер и/или аналитик информационной безопасности сети может столкнуться с разведкой сети по принципу черного ящика в ситуации большой загруженности или при откровенной халатности сотрудников, ответственных за эксплуатацию. В частности, администраторов (тезис подтверждается исследованием коллег из Positive Technologies).


Сформулируем и немного расширим кейс
Необходимо в адекватное время найти все неподдерживаемые операционные системы семейства Windows в локальной сети предприятия с числом хостов более 10 тыс., предположительно имеющих публичные эксплойты SMB.
Ограничением метода может стать сегментация сети, когда некоторые подсети закрыты от хоста исследователя.
Кому интересно, добро пожаловать под кат...


ВНИМАНИЕ! Используемое в данной статье приложение masscan может положить всю сеть, это очень сильный инструмент. Предварительно протестируйте вашу сеть на различных rate параметрах.


  1. Перечень всех возможных частных IP адресов можно записать тремя масками 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

Заносим их в файл.


root@debSec:~/search_old_os# vim subnet.lst


Для быстрого определения всех используемых подсетей используем masscan в режиме ping сканирования.


root@debSec:~/search_old_os# masscan --ping --rate 10000 -iL subnet.lst -oX fast_ping_scan.xml

В тестируемой сети организации подобное сканирование выполняется примерно за 30 минут. Это зависит от пропускной способности сети.



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


root@debSec:~/search_old_os# masscan --ping --rate 1000 -iL subnet.lst -oX fast_ping_scan.xml

Перечень всех обнаруженых хостов можно увидеть так.


root@debSec:~/search_old_os# cat fast_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'


Хотелось бы отметить, что masscan с интенсивностью rate 10000 может пропустить ответ некоторых хостов. Я бы уточнил результат с меньшим rate по уже выявленным сетям, для этого получим все подсети по маске 24.


root@debSec:~/search_old_os# cat fast_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}'|sort|uniq|sed -e 's/$/0\/24/'>target_subnet.lst

У меня получилось 499 подсети.



Повторим masscan c более низким rate, например, 1000 по найденным подсетям.


root@debSec:~/search_old_os# masscan --ping --rate 1000 -iL target_subnet.lst -oX target_ping_scan.xml

у меня это заняло 2 минуты, я получил на 28 хостов больше. Если есть время, можно снизить rate до 100. В моем случае это заняло около 20 минут.


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



В моем случае, как я позже узнал, я получил 99.91% всех хостов. Это зависит от многих показателей, в том числе от характеристик пропускной способности сети.


Получим список всех хостов сети.


root@debSec:~/search_old_os# cat target_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >target_ping_scan.lst

Имея перечень хостов, в принципе, можно начинать поиск любимых уязвимых приложений по номеру соответствующего порта.


В нашем случае мы ищем уязвимые SMB. Следовательно, следующими нашими действием должно быть сужение скоупа хостов по принципу открытых портов 139,445.


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


root@debSec:~/search_old_os# masscan --port 139,445 --rate 100 -iL target_ping_scan.lst -oX ip_smb.xml 

Из найденых хостов с открытым SMB, аналогично методу выше, получим список IP.


root@debSec:~/search_old_os# cat ip_smb.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >ip_smb.lst

Что дальше?


Тут может быть много вариантов. Можно: сразу искать уязвимые хосты для этого есть nse скрипты в nmap.


root@debSec:~/search_old_os# nmap -Pn --script smb-vuln* -p139,445 -iL ip_smb.lst -oA nmap_smb_vuln

После получаса работы nmap я получил 71 уязвимую службу в ~10 тысячах хостах.



тут присутствуют разные уязвимости





После проверки исключил 11 ложных срабатываний.


Можно использовать другой скрипт nmap, который определит версию OS по SMB.


root@debSec:~/search_old_os# nmap --script smb-os-discovery.nse -p 445,139 -iL total_smb.lst -oA all_os

(скрипт работал довольно долго, думаю, можно покрутить настройки nmap и оптимизировать его работу)


Можно провести данное сканирование по всем найденным адресам и понять, какие вообще операционные системы присутствуют в нашей сети.


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


Далее грепнем интересующие нас OS. Например, так:


root@debSec:~/search_old_os# cat all_os.nmap |grep -B 10 -E 'Windows v1|Windows Server v2|Windows v3|Windows v4|Windows v5|Windows v6' >FINAL_TOTAL_OLD_WINDOWS_FULL.lst

Грепнем по IP.


root@debSec:~/search_old_os# cat FINAL_TOTAL_OLD_WINDOWS_FULL.lst|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >FINAL_TOTAL_OLD_WINDOWS_FULL.lst

Мы нашли 65 не поддерживаемых производителем операционных систем.


Далее мы можем использовать metasploit и скомпрометировать уязвимые системы в случае пентеста. Можем составить бумагу в адрес ИТ с требованием исправить ситуацию. В других случаях готовим аудиторский отчет.


В обсуждении данного метода поиска уязвимых хостов с друзьями и коллегами по цеху я услышал некоторые негативные комментарии, относящиеся к данному методу разведки сети.
Коллеги обратили мое внимание на следующие риски:


  1. Не обнаружение некоторых хостов из за долгого ответа хоста или сегментации сети.
  2. Риск падения сети из-за высокой нагрузки.
  3. Данный метод очень "шумный", не подходит для RedTeam.
  4. Существуют другие более точные способы определения используемых подсетей (не всегда есть способ их использовать).

К плюсам метода могу отнести следующее характеристики:


  1. Относительно быстрый метод разведки практически всей сетевой инфраструктуры. В некоторых ситуациях единственный метод оперативного получения информации например, когда службы ИТ могут просто скрыть сети от аудитора или когда они не владеют актуальной информацией.
  2. Легко автоматизируемый алгоритм поиска векторов компрометации сети для дальнейшего горизонтального движения в сторону ActiveDirectory.
  3. Аналогичным способом после обнаружения хостов можно искать другие уязвимости. Например, в своей работе я использую данный алгоритм для проведения сканирований всей сети, обнаруживая подсети для дальнейшего анализа хостов сканером Nessus. Это существенно сокращает время сканирования, потому что мы не теряем его на запросы в службу ИТ (у нас можно ждать ответ месяц или два).

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

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru