МЕНЮ

Как писать BASH скрипты? Закладывание основ или начало с нуляZip File, мамкины хацкеры. Задумывались ли вы когда-нибудь над тем, почему второй основополагающий админский лозунг «автоматизируй – отдыхай» стал столь популярен в среде бородатых сетевиков? Дело в том, что когда эникейщик с успехом проходит жизненный этап под девизом «работает – не трогай», наступает момент, когда поневоле задумываешься, а что же, собственно, дальше?

Как организовать свой рабочий процесс таким образом, чтобы основная часть задач выполнялась без нашего ведома? Что надо сделать для чила на лаврах большую часть рабочего дня в ожидании логов? Ответ, разумеется, прост. Автоматизировать всё что можно. Для каждой задачи, требующей больше одного действия, можно написать скрипт. Любо используя знания серьёзных языков программирования, таких как Python, C# или Java.

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

Шаг 1. Все действия я буду естественно выполнять из-под нашей любимой операционной системы Kali Linux. Интерпретатор BASH’ки в ней само собой встроен по умолчанию, поэтому никаких проблем с написанием скриптов не возникнет. Создаём новый текстовый документ.

kak pisat bash scripty 1

Шаг 2. Прописываем шебанг перед указанием пути к интерпретатору. Так система поймёт к чему вообще будет относиться дальнейший бред, прописанный в документе.

kak pisat bash scripty 2

Шаг 3. Со следующей строчки можно уже писать код. В качестве примера, я решил выбрать небольшой скрипт, предназначенный для автоматизации поиска ваших любимых открытых портов на включённых хостах подсети посредством популярной утилиты nmap. Пишем эхо и в кавычках указываем вопрос диалога, который всплывёт в консоли на первом шаге. Например, введите подсеть. Ниже прописываем переменную, в которую временно запишутся введённые нами данные. Пускай тоже будет subnet.

kak pisat bash scripty 3

Шаг 4. Окей. Аналогичным образом вводим код запрашивающий на втором шаге номер порта и добавляем введённые данные в переменную port. Основа готова.

kak pisat bash scripty 4

Шаг 5. Теперь переходим к самому сложному. Синтаксису сканировалки Nmap. Я не буду вдаваться в подробности каждого ключа. Данную информацию легко можно прочитать на офф. сайте данной программы или вызвав помощник help. Отмечу лишь базовые параметры. -pотвечает за скан портов, доллар сообщает значение переменной, которая, собственно, и идёт после данного символа. sTсообщает о том, что сканировать нужно исключительно порты типа TCP, а ключ oGотносящийся к утилите grep, которую мы рассмотрим чуть ниже, отвечает за создание отдельного файла с именем resсодержащим полный список получившихся результатов.

kak pisat bash scripty 5

Шаг 6. Осмыслили? Идём дальше. Следующим действием было бы неплохо отфильтровать результат и оставить в конечно файле только инфу об открытых портах. Пишем банальное catresдля открытия файла с полной инфой, затем даём наставление grepу отфильтровать результаты с параметром openи поместить их в отдельный файлик result.

kak pisat bash scripty 6

Шаг 7. В принципе всё. Давайте засейвимся и попробуем открыть получившуюся хурму.

kak pisat bash scripty 7

Шаг 8. Открываем окно терминала. Заходим на рабочий стол. Чмодим файлик.

kak pisat bash scripty 8

Шаг 9. Запускаем башку и в строке диалога задаём параметры сети, узлы которой будем сканировать и не забываем про префикс. Указываем номер интересующего порта. Жмём Enterи ждём, когда завершится процесс.

kak pisat bash scripty 9

Шаг 10. По итогу, на рабочем столе появится несколько файлов. Откроем Result. Всё гуд. Скрипт отработал и сохранил результат со списком узлов, на которых открыт 22 порт в указанной сетке.

kak pisat bash scripty 10

Шаг 11. Отлично. А теперь давайте немного усложним написанный скрипт добавив в него несколько операторов позволяющих выбрать сканирование не только узлов подсети, но и отдельного ip адреса. Выведем предварительно новый запрос посредством параметра эхо. Запишем всё это дело в рид под именем use.

kak pisat bash scripty 11

Шаг 12. Самое время добавить условный оператор. Пишем команду if с оператором сравнение в виде =, говорящий, что если пользователь указал в переменной useпараметр subnet, то следуют выполнить код, указанный далее после then.

kak pisat bash scripty 12

Шаг 13. По варианту с подсетью на этом всё. Теперь давайте разберёмся с ситуацией, когда пользователь выбрал IP. Введём новый оператор else. Запоминайте. Говоря нормальным человеческим языком, команда If– это у нас если, then – то, а else– иначе. Этих знаний более чем достаточно, чтоб новоиспечённый мамкин программер смог взломать пентагон. Но, к сожалению, не достаточно, чтоб написать детский скрипт посредством суровой башки. Ладненько, тут из нюансов, не описанных ранее только Nmap’овские параметры для IPшника. Ключ PEозначает банальный пинг, а oNсохраняет результаты в файл resultip, после чего вся эта история выводится на экране через cat. Осталось зафиналить наш скрипт строкой fi, сообщающей системе, что больше никаких условных операторов в сценарии не предвидится и можно сохранять файл.

kak pisat bash scripty 13

Шаг 14. Запускаем итоговый вариант из консоли. По маске подсеть мы уже сканировали. Давайте попробуем чекнуть ип. Пишем цифры без префикса. Жмём Enter.

kak pisat bash scripty 14

Шаг 15. Вуаля. Все открытые порты по данном адресу вывелись в терминале и параллельно записались в нутрях файла resultip.

kak pisat bash scripty 15

Фуф. Я аж вспотел всё печатать. Зато результат, конечно, не может не радовать. Данный скрипт значительно упростит жизнь товарищам занимающимся топорным аудитом сетей в конторах на предмет ярко-выраженных уязвимостей. Так что забирайте. Дарю. Ссылочку на башку найдёте в телеге. Исходный кодик само-собой прикреплю в описании. Ну а для тех из вас, кто желает также бодро научиться шпилить на баше, у меня нынче отличные новости.

Университет SkillBox продолжает набор по обучению на востребованных cпециалистов в сфере информационной безопасности. В рамках освоения данной программы, авторы, в числе которых преподаватели, трудоустроенные в таких крупных международных компаниях, как Alibaba Cloud, Инфосистемс Джет и других не менее популярных конгламератах, научат вас искать популярные уязвимости, предотвращать актуальные на сегодняшний день угрозы и обеспечивать комплексную безопасность IT-систем. При этом, практический опыт написания прог на начальном этапе вообще не является обязательным. У меня как вы знаете, этого опыта, до прохождения данного курса практически не было. Только админский бэкграунд, но это не в счёт.

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

В общем, если хотите присоединиться к этой движухе и реально повысить свою профессиональную квалификацию переняв опыт у именитых международных экспертов - welcome. Ссылка на курс по кибербезопасности от SkillBox будет в описании. Первые 3 месяца бесплатно. А если ещё и заюзаете мой промокод, получите 50% скидку. Так что, не протупите.

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

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

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

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

делитесь с друзьями

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

telegram chanel

Хочешь больше контента? Подписывайся на YouTube-канал!

Курс «Диплом за неделю»

Пособие «Библия вардрайвинга»

Курс Cisco «CCNA: Introduction to Networks»

© 2024. IT-спец. Денис Курец.