Рубрики
Uncategorized

AWS: Где я делаю вещи самым сложным способом.

Я использовал AWS для различных проектов, но не получил чрезвычайно глубину. Я недавно взял контракт … Теги с AWS, DEVOPS, AWSCLI.

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

Дайте мне весь внешний интерфейс IPS, чтобы я мог отсканировать их

Итак, мне нужно заблокировать окружающую среду. Мне нужны все IP-адреса. Вероятно, есть тонны способов сделать это, вот как я смеялся.

Опция 1

aws ec2 describe-network-interfaces \
  --query "NetworkInterfaces[].Association.PublicIp" \
  --output yaml | sort -V | awk '{print $2}'

Это перечисляет все сетевые интерфейсы в вашей учетной записи AWS. Это может быть проведено в зависимости от ваших потребностей.

Итак, вы можете перечислить свои интерфейсы и выводить их в JSON , ямл , текст и Таблица . Теперь я бы подумал, что таблица даст мне IP-адрес в строке, это не просто глыба, то все в той же линии, вероятно, с разделителем вкладки или что-то, я был настолько отвратительным с этим выходом, я переключился на YAML , так как это требовала небольшая обработка.

В качестве альтернативы я мог бы использовать JQ обработать вывод JSON по умолчанию. JQ не всегда устанавливается везде, поэтому я выбрал регулярно установленные инструменты. Сортировать -V Правильно сортирует IP-адреса, а awk Удаляет - от вывода YAML.

Пользователи MacOS, рассмотрите возможность использования всех утилит GNU CLI вместо утилитов Apple. awk не другой, но Сортировать является.

❯ sort --version
2.3-Apple (106)
❯ gsort --version
sort (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Я не знаю, что такое сортировка Apple, однако Gsort является соответствительным POSIX, а аргументы, которые вы изучаете, будет переводить на Linux или Windows Cygwin / WSL Отказ

brew install coreutils

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

aws ec2 describe-network-interfaces \
  --query "NetworkInterfaces[].Association.[PublicIp]" \
  --output=text

Вариант 2.

aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].[PublicIpAddress]" \
  --output=text | sort -V

Это будет перечислено только IP-адреса от вашего экземпляры Отказ Это не будет перечислять все публичные IP-адреса из других услуг, которые вы могли бы иметь с AWS.

Как ни странно, вывод бросил меня. Я получил раздражение Нет на выходе. Фу.. Отлично. Я буду Греп -в Нет Это.

aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].[PublicIpAddress]" \
  --output=text | sort -V | grep -v None

но почему?

Оказывается на этом выходе, PoodingiPAddress обрабатывается по-разному в необработанных данных, которые возвращаются от AWS. Специально вызывая это в [PackageipAddress] Создает состояние, где вы хотите выводить нулевые значения. Исправление для этого было удаление []

aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].PublicIpAddress" \
  --output=text | sort -V

Бум. Вывод — 1 Адрес в строке, подходит для текстового файла, который я могу питаться NMAP Отказ

Nmap … или Shodan?!

nmap -p- -sT -T4 -vvvv -Pn --open -iL scanip -oA scanmeip

Итак, .. ты хочешь сканировать диапазон? Начните с NMAP или Zenmap Отказ Если вы не уверены, что все это, Объяснить Может быть в состоянии помочь вам, это отличный сайт, но не остается в курсе всех аргументов.

-П- такой же, как -P 1-65535 Значение сканирование каждого порта возможно.

-СТИЕ Выполните стандартную проверку порта TCP, без каких-либо модных синков, мы просто стремимся выяснить, какие порты открыты.

-T4 Это время , 1 быть почти доброкачественным, и 5 могут на самом деле пропустить открытые порты, потому что он наложит ваше сетевое соединение.

-вввввввввввввввввввввввввввввввввввввввввввввввввввввввввввввший Veeerrrbbbooosssiitttyyyyyyy

-PN Не пинг, предположим, что это жив

--Open Отчет только на открытых портах

-il scanme Получите целевой список из файлового сканирования который я создал из AWS EC2 описывает сетевые интерфейсы сверху.

-АА сканмпеип Созданете 3 файла, стандартный отчет, вывод Greepple и, что самое главное, что файл XML, который вы можете преобразовать в отчет HTML!

Как только вы закончите. Клонировать это репо: https://github.com/honze-net/nmap-bootstrap-xsl . И убедитесь, что у вас установлен процессор XML (MacOS поставляется с рабочим XSLTProc двоичный).

xsltproc -o scanme.html ./nmap-bootstrap-xsl/nmap-bootstrap.xsl scanme.xml

Следующая вещь, которую вы знаете, у вас есть красиво отформатированный отчет, показывающий все видимые отчеты всех ваших внешних видимых IP-адресов!

Тогда вы получите немного по поводу того, сколько работы вы должны обеспечить все, потому что контракт, который вы вошли, — это намного больше, чем вы ожидали, и никто никогда не устанавливает что-либо правильно, и вам интересно, почему порты баз данных подвергаются общественности, и кто-то взял Время установки Fail2ban, но никогда не включает или настроить его, и все слушатели SSH настроены для AWS, но каждый использует Ubuntu авторизоваться И список продолжается и на .. Жизнь Ops Nerds, LOL.

Шодан?

Бонусные баллы для тех, кто использует Shodan.io, чтобы отсканировать внешние IP-адреса с помощью CLI. Если кто-то заинтересован, я опубликую, как я это сделал.

Подожди .. Есть точки?

Оригинал: «https://dev.to/bdmorin/aws-wherein-i-do-things-the-hardest-way-possible-3b71»