BashMaster
8.23K subscribers
680 photos
14 videos
1 file
703 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
Это на 100% практический курс по пентесту, где вы попробуете изученные техники взлома. Курс содержит 65 рабочих и 16 экзаменационных тасков в лаборатории

Запись до 12 декабря! 🎄

Получите практические навыки как в рабочих задачах, так и в Bug Bounty. Промодоступ 7 дней бесплатно!

Программа курса:
- эксплуатация всех актуальных типов уязвимостей, активный / пассивный фаззинг
- SQL Injection и CMD Injection, Cross Site Scripting, PHP injection, Server Side Template injection
- техники повышения привилегий, Client-side атаки (XSS, CSRF)

@Codeby_Academy
Узнать подробнее о курсе 
⚙️ Скрипт для общего мониторинга производительности Linux-системы

#!/bin/bash
# Colors for readability
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${GREEN}===== System Monitoring Script =====${NC}"
# 1. CPU Usage
echo -e "${YELLOW}\n>> CPU Usage: ${NC}"
mpstat | awk '/all/ {print "CPU Load: " $3 "% idle"}'
# 2. Memory Usage
echo -e "${YELLOW}\n>> Memory Usage: ${NC}"
free -h | awk '/Mem/ {print "Total Memory: " $2 "\nUsed: " $3 "\nFree: " $4}'
echo -e "Swap:\n"$(free -h | awk '/Swap/ {print "Total: " $2 ", Used: " $3 ", Free: " $4}')
# 3. Disk Usage
echo -e "${YELLOW}\n>> Disk Usage: ${NC}"
df -h | grep '^/dev' | awk '{print $1 ": " $5 " used, " $4 " available"}'
# 4. Network Traffic
echo -e "${YELLOW}\n>> Network Traffic: ${NC}"
ifstat -i eth0 1 1 | awk 'NR==3 {print "RX: " $1 " KB/s, TX: " $2 " KB/s"}'
# 5. Top 5 Memory Consuming Processes
echo -e "${YELLOW}\n>> Top 5 Memory Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -n 6
# 6. Top 5 CPU Consuming Processes
echo -e "${YELLOW}\n>> Top 5 CPU Consuming Processes: ${NC}"
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6
# 7. System Logs Monitoring
echo -e "${YELLOW}\n>> Recent Errors in System Logs: ${NC}"
journalctl -p 3 -xb | tail -n 10
echo -e "${GREEN}===== Monitoring Completed =====${NC}"


🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Вебинар
Стекирование коммутаторов Eltex 24хх/34хх серии

🗓 19.12.2024
🕒 14:00 по МСК

План вебинара:
- Особенности реализации стекирования
- Какие имеются ограничения
- Демонстрация работы

👉Регистрация 

👤 Ведущий вебинара:Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель Академии Eltex.

#eltex #eltexcm #webinar #вебинар #mes

@eltexcm

Реклама. ООО "ЭЛТЕКС КОММУНИКАЦИИ". ИНН 7714966730.
⚙️ Kernel Hardening Checker — инструмент для проверки параметров усиления безопасности ядра Linux

✔️Инструмент для проверки конфигурации ядра Linux на предмет включения параметров, повышающих его защищенность. Утилита анализирует такие аспекты, как параметры конфигурации Kconfig, строки командной строки ядра и значения Sysctl. Она помогает выявить, какие функции, обеспечивающие безопасность, включены или отключены в текущей конфигурации ядра. Это полезно для оценки уровня защиты от атак и применения лучших практик в области безопасности ядра Linux.

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

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Bash скрипты: автоматизация рутины с готовыми примерами кода

✔️Bash-скрипты представляют собой мощный инструмент для автоматизации задач, особенно в Unix-подобных операционных системах, таких как Linux и macOS. Они помогают автоматизировать рутинные задачи, обеспечивая более быструю и эффективную работу.

➡️ Содержание статьи:
▶️Основы Bash скриптов
▶️Создание и запуск скрипта
▶️Примеры скриптов для автоматизации
▶️Советы по оптимизации Bash скриптов
▶️Удобная организация скриптов
▶️GUI программы для bash скриптов

🖼️ Прочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
✅️ GitHub теперь в Telegram!

Подписывайтесь: @GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Light Articles Technical Library — библиотека статей и заметок для разработчиков

✔️LATL — это сайт, на котором можно найти информацию о программировании на Bash, в том числе примеры программ на этом языке.

➡️ Содержание:
▶️Массивы в bash
▶️Циклы в bash практические примеры
▶️Операции сравнения в Bash
▶️BASH преобразование даты
▶️Условный оператор If/Then в Bash
▶️Удаленное выполнение команд и скриптов
▶️Сборник примеров программ на bash
▶️Некоторые приемы защиты программ на bash
▶️Селектор функций и проверка входных параметров (шаблон)
▶️Маленькие хитрости BASH
▶️Переменные в интерпретаторе bash
▶️BASH: перебор файлов в каталоге
▶️Until в bash
▶️declare и typeset: объявление переменных

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Как копировать файлы и папки с исключениями: продвинутые трюки с cp

Иногда нужно скопировать содержимое папки, но исключить определённые файлы или папки. Классический cp это напрямую не поддерживает, но есть несколько хитростей, которые помогут справиться.

#### Пример 1: Копирование всего кроме определённых файлов
Если нужно скопировать всё, кроме файлов с расширением .log, воспользуйся этой командой:

find source_dir -type f ! -name '*.log' -exec cp --parents {} destination_dir/ \;


- find source_dir – ищет файлы в указанной папке.
- **! -name '*.log'** – исключает файлы с расширением .log.
- --parents – сохраняет оригинальную структуру папок.

#### Пример 2: Исключение целой папки
Чтобы пропустить определённую папку, например exclude_dir, используй:

find source_dir -path 'source_dir/exclude_dir' -prune -o -type f -exec cp --parents {} destination_dir/ \;


#### Пример 3: Использование простого скрипта
Вот пример простого скрипта, который копирует файлы и исключает определённые по шаблону:

#!/bin/bash
for file in $(find /путь/к/источнику -type f); do
if [[ "$file" != *исключение* ]]; then
cp --parents "$file" /путь/к/назначению
fi
done


- Заменяешь /путь/к/источнику на папку, откуда копируешь.
- Вместо *исключение* указываешь шаблон для исключения.
- Указываешь /путь/к/назначению, куда копировать.

Запусти этот скрипт, и он разберётся со всеми исключениями.


#### Пример 4: Копирование файлов больше определённого размера
Чтобы выбрать только файлы больше 100 МБ:

find source_dir -type f -size +100M -exec cp --parents {} destination_dir/ \;


На завтра у меня для тебя кое-что интересное: будем разбираться, как настроить KVM и QEMU для виртуализации. Но пока расскажи, что бы ты хотел автоматизировать или оптимизировать в своей работе? Может, я смогу помочь тебе с советом.
____________________

Дополнительный материал:
🧠 - Не трать время на логи! Вот как найти все медленные запросы за 1 минуту
🧠 - Как ускорить MySQL? Простые советы, чтобы твой сервер летал, как на стероидах
🧠 - Поднимем отказоустойчивое хранилище в Proxmox VE с Ceph

#Linux_Commands @LinuxSkill
До сих пор не знаешь как управлять командной строкой?

📱 BashTex - обучающий канал по Linux и Bash с использованием самых лучших и эффективных практик. В канале ты найдешь множество полезной информации:

Быстрое создание пакетов файлов для тестирования
Настройка безопасного SSH-соединения
LDAP: зачем нужен и чем помогает
Мониторинг перебора паролей и блокировка учетных записей
Неочевидно полезные опции команды ls
Углубленное использование find

BashTex поможет прокачать твои скиллы!

Подписывайся - @bashtex
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Сканер tcp-портов на bash

✔️Когда вы работаете с серверами, периодически возникает необходимость посмотреть, какие порты открыты. Одно из лучших средств для этого — nmap, но он не всегда есть под рукой. Зато обычно под рукой есть командная оболочка bash. И ей как раз можно воспользоваться, чтобы написать собственный сканер портов. Не такой быстрый, конечно, но вполне пригодный для использования.

▶️В основе этого скрипта возможность bash отправлять на указанный хост и порт данные. Собственно, сам скрипт portscan.sh:
#!/bin/bash

if [ "$1" == "" ]
then
echo
echo This script scans TCP opened ports on IP or hostname
echo Usage : portscan.sh \ \[start-port\] \[end-port\]
echo start-port equals to 1 by default
echo end-port equals 1024 by default
echo
exit
fi

START_PORT=$2;[ -z "$START_PORT" ] && START_PORT=1
END_PORT=$3;[ -z "$END_PORT" ] && END_PORT=1024
echo Scanning $1 \(ports $START_PORT to $END_PORT\)

PORT_PROTOCOL="tcp"

scan_port(){
PORT_NUMBER=$1
PORT_SCAN_RESULT=`2>&1 echo "" > /dev/$PORT_PROTOCOL/$TARGET_NAME_OR_IP/$PORT_NUMBER | grep connect`
[ "$PORT_SCAN_RESULT" == "" ] && echo $PORT_NUMBER\/$PORT_PROTOCOL' 'open' '`grep $PORT_NUMBER/$PROTOCOL /etc/services | head -n1 | awk '{print $1}'`
}

TARGET_NAME_OR_IP=$1
echo 'PORT STATE SERVICE'

for PORT_NUMBER in `seq $START_PORT $END_PORT`
do
scan_port $PORT_NUMBER
done


▶️В качестве параметров скрипт может принимать от одного до трех параметров. Первый — имя или IP-адрес хоста, второй — начальный порт интервала сканирования, третий — конечный порт интервала сканирования. Если начальный и/или конечный порты не указаны, то выбираются 1 и 1024.

➡️ И результат работы скрипта:
$ ./portscan.sh 192.168.0.9
Scanning 192.168.0.9 (ports 1 to 1024)
PORT STATE SERVICE
21/tcp open ftp
25/tcp open smtp
53/tcp open domain
80/tcp open http
22/tcp open ssh
110/tcp open pop3
111/tcp open sunrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds


🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Приглашаем на бесплатный урок "Повторители, мосты, хабы, медиаконвертеры и коммутаторы. Кто из них выжил и почему? И принципы их работы" 18 декабря в 20:00 (мск). https://otus.pw/wBud/

📌 Этот вебинар — часть курса "Специализация Network Engineer". Хотим предоставить вам возможность разобрать важные аспекты работы с сетями от эксперта ТАС вендора!

🤔 Что вас ждет:

- Разбор принципов работы таких устройств: повторители, мосты, хабы, медиаконвертеры и коммутаторы.
- Как эти устройства использовались в прошлом и какие из них актуальны для современных сетей.
- Сравнение разных типов устройств и их применения в реальных сетевых проектах.

👨‍🏫 Урок проведет Николай Колесов, сертифицированный CISCO специалист с богатым опытом работы (>18 лет) с сетевыми решениями. Работает с ведущими проектами и компаниями и обучает специалистов в области сетевых технологий.

Регистрация ограничена! https://otus.pw/wBud/?erid=LjN8K91RF

#реклама
О рекламодателе
⚙️ Bash: сочетания клавиш для повышения производительности

✔️Работа в среде командной строки, например, в сеансе Bash, может быть гораздо более продуктивной, чем использование графического пользовательского интерфейса. Вот набор сочетаний клавиш.

➡️ Содержание:
▶️Перемещение по командной строке
▶️Использование истории командной строки
▶️Использование аргументов из истории командной строки
▶️Управление историей командной строки
▶️Навигация по каталогам

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ NetAlertX

✔️Инструмент для мониторинга сетевой активности и обнаружения изменений в подключенных устройствах.

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

➡️ Утилита может быть полезной для повышения безопасности сети и оптимизации управления подключениями.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
SSH/SFTP/RDP/VNC-клиент МС22 — решение для удалённого управления и конфигурирования сетевого оборудования, сделанное с заботой об админах.
Отечественная замена популярных зарубежных программ (PuTTY, Xshell, KiTTY, SecureCRT, SmarTTY, MobaXterm и др.) и встроенных терминалов ОС.
Есть возможность работы в нескольких вкладках, подсветка синтаксиса, быстрые клавиши и готовые шаблоны, различные инструменты автоматизации и приятные мелочи (типа соблюдение стандарта FHS установочным пакетом).

Посмотреть и бесплатно потестировать можно тут - https://МС22.рф
В процессе обеспечим оперативную поддержку и гарантированно прислушаемся к обратной связи!

#реклама
О рекламодателе
⚙️ Бот для Telegram, предупреждающий о входе по SSH на сервер

✔️Когда парк серверов разрастается, а команда администраторов насчитывает больше одного человека, появляется необходимость отслеживать успешные попытки входа на сервер по протоколу SSH. Оповещение в Telegram, пожалуй, будет лучшим способом сообщить об удачной попытке входа на сервер. Напишем простой скрипт для bash, который будет отсылать сообщения в Телеграм.

➡️ Предварительные замечания
▶️Будем считать, что новый бот в Telegram уже создан, а его токен нам известен
▶️Считаем, что уже есть группа с оригинальным названием, в которую добавлен новый бот
Данная методика проверена на операционных системах Debian 11, Ubuntu 22.04. Также работает на Rocky 8.7 (а значит, и на AlmaLinux и RHEL).

➡️ Установка
▶️В случае, если установлена утилита git, установка проходит в одну команду
cd /opt/ && git clone https://github.com/MyTheValentinus/ssh-login-alert-telegram

▶️Если же у нас нет git, и его нельзя установить (да, бывает и такое), самостоятельно создаём три файла.
cd /opt

mkdir ssh-login-alert-telegram && cd ssh-login-alert-telegram/

touch alert.sh credentials.config deploy.sh

▶️Вставляем в alert.sh:

#!/usr/bin/env bash

. /opt/ssh-login-alert-telegram/credentials.config
for i in "${USERID[@]}"
do
URL="https://api.telegram.org/bot${KEY}/sendMessage"
DATE="$(date "+%d %b %Y %H:%M")"

if [ -n "$SSH_CLIENT" ]; then
CLIENT_IP=$(echo $SSH_CLIENT | awk '{print $1}')

SRV_HOSTNAME=$(hostname -f)
SRV_IP=$(hostname -I | awk '{print $1}')

IPINFO="https://ipinfo.io/${CLIENT_IP}"

TEXT="Connection from *${CLIENT_IP}* as ${USER} on *${SRV_HOSTNAME}* (*${SRV_IP}*)
Date: ${DATE}
More informations: [${IPINFO}](${IPINFO})"

curl -s -d "chat_id=$i&text=${TEXT}&disable_web_page_preview=true&parse_mode=markdown" $URL > /dev/null
fi
done


▶️Вставляем в deploy.sh:
#!/usr/bin/env bash

add_profiled(){
cat <<EOF > /etc/profile.d/telegram-alert.sh

bash $ALERTSCRIPT_PATH
EOF
}

add_zsh () {
cat <<EOF >> /etc/zsh/zshrc

bash $ALERTSCRIPT_PATH
EOF
}

ALERTSCRIPT_PATH="/opt/ssh-login-alert-telegram/alert.sh"

echo "Deploying alerts..."
add_profiled

echo "Check if ZSH is installed.."

HAS_ZSH=$(grep -o -m 1 "zsh" /etc/shells)
if [ ! -z $HAS_ZSH ]; then
echo "ZSH is installed, deploy alerts to zshrc"
add_zsh
else
echo "No zsh detected"
fi

echo "Success!"

▶️Вставляем в credentials.config:
USERID=(-97160441299)
KEY="573414141899:AAFxoC51krUaLEInlPGJwEEQICUp8QvVs99"

▶️Здесь USERID - это ID пользователя в Телеграм или ID канала; KEY - это токен нашего нового бота.

➡️ Внедрение
▶️Делаем файлы скриптов выполнимыми:
chmod 700 deploy.sh && chmod 700 alert.sh

▶️Одной командой единовременно проводим внедрение
bash deploy.sh

➡️ Использование
▶️Для проверки попробуем вручную запустить скрипт: ./alert.sh
В Telegram должно появиться сообщение о входе.
Выходит, всё сделано правильно, теперь мы будем всегда предупреждены, если кто-то зашёл на сервер.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Тестирование канала с помощью Iperf

✔️Iperf - это инструмент для измерения и настройки производительности сети. Это кроссплатформенный инструмент, который может производить стандартизированные измерения производительности для любой сети. Iperf обладает клиентскими и серверными функциями и может создавать потоки данных для измерения пропускной способности между двумя концами в одном или обоих направлениях. Он был разработан командой поддержки распределенных приложений (DAST) Национальной лаборатории прикладных сетевых исследований (NLANR). Актуальная версия на сегодня - третья.

➡️ Описание Iperf
▶️Iperf мультиплатформенная программа, работающая в режиме клиент-сервер. Вы можете запустить сервер на Linux, а тестировать скорость, подключаясь к нему с Windows или Android. И наоборот. Достаточно при запуске выбрать режим, в котором он будет работать: сервер или клиент.

▶️Iperf - это программное обеспечение с открытым исходным кодом, написанное на C, и оно работает на различных платформах, включая Linux, Unix, Windows (либо изначально, либо внутри Cygwin), OpenBSD, NetBSD, Android, Solaris и другие дистрибутивы Linux.
Доступность исходного кода позволяет пользователю тщательно изучить методологию измерения.

▶️Iperf3 - это написанная с нуля программа, целью которой является создание меньшей и более простой базы кода и библиотечной версии функциональности, которую можно использовать в других программах. Он также включает в себя ряд функций, найденных в других инструментах, таких как nuttcp и netperf, но отсутствовавших в исходном iperf. К ним относятся, например, режим нулевого копирования и необязательный вывод в формате JSON. Обратите внимание, что iperf3 не имеет обратной совместимости с оригинальным iperf.
▶️Iperf - это широко используемый инструмент тестирования сети, который может создавать потоки данных TCP и UDP и измерять пропускную способность сети, доступной между клиентом и сервером. Он поддерживает настройку различных параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). Для каждого теста он сообщает о пропускной способности, потерях и других параметрах.

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Устали от ограничений и долгой настройки серверов? HSVDS поможет в работе!

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

А чтобы вы могли начать максимально быстро, мы подготовили предустановленный образ GitLab:

 Управление репозиториями кода для Git
 Система отслеживания задач
 Удобная Wiki для документации
 Мощный CI/CD пайплайн
 И многое другое для продуктивной работы всей команды!

HSVDS — это стабильность, готовые решения и свобода для ваших идей 💻