Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸ”’ Автоматизация кибСрбСзопасности: 5 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… скриптов Π½Π° Bash

πŸ”’ Автоматизация кибСрбСзопасности: 5 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… скриптов Π½Π° Bash ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΊΠΈΠ±Π΅Ρ€-ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ! πŸ–₯️ БСгодня я расскаТу Ρ‚Π΅Π±Π΅ ΠΎ пяти скриптах Π½Π° Bash, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² кибСрбСзопасности. Π­Ρ‚ΠΈ инструмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π²ΠΎΠΈΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π² Π·Π°Ρ‰ΠΈΡ‚Π΅ систСм. Π”Π°Π²Π°ΠΉ посмотрим, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚! 1. Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² с использованиСм nmap: #!/bin/bash # Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ хоста echo "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ адрСс хоста для сканирования:" read host echo "Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² для хоста $host..." nmap $host - Π­Ρ‚ΠΎΡ‚ скрипт позволяСт быстро ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ хоста. 2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса Π²Π΅Π±-сСрвСра: #!/bin/bash # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса Π²Π΅Π±-сСрвСра ΠΏΠΎ HTTP статус-ΠΊΠΎΠ΄Ρƒ url="http://example.com" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ example.com Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ URL status_code=$(curl -o /dev/null -s -w "%{http_code}\n" $url) if [ $status_code -eq 200 ]; then echo "Π’Π΅Π±-сСрвСр $url Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ (HTTP статус 200)" else echo "Π’Π΅Π±-сСрвСр $url ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (HTTP статус $status_code)" fi - ΠŸΡ€

πŸ”’ Автоматизация кибСрбСзопасности: 5 ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… скриптов Π½Π° Bash

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΊΠΈΠ±Π΅Ρ€-ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ! πŸ–₯️ БСгодня я расскаТу Ρ‚Π΅Π±Π΅ ΠΎ пяти скриптах Π½Π° Bash, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² кибСрбСзопасности. Π­Ρ‚ΠΈ инструмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π²ΠΎΠΈΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠ°ΠΌΠΈ Π² Π·Π°Ρ‰ΠΈΡ‚Π΅ систСм. Π”Π°Π²Π°ΠΉ посмотрим, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚!

1. Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² с использованиСм nmap:

#!/bin/bash

# Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ хоста

echo "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ адрСс хоста для сканирования:"

read host

echo "Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² для хоста $host..."

nmap $host

- Π­Ρ‚ΠΎΡ‚ скрипт позволяСт быстро ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ хоста.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса Π²Π΅Π±-сСрвСра:

#!/bin/bash

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса Π²Π΅Π±-сСрвСра ΠΏΠΎ HTTP статус-ΠΊΠΎΠ΄Ρƒ

url="http://example.com" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ example.com Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ URL

status_code=$(curl -o /dev/null -s -w "%{http_code}\n" $url)

if [ $status_code -eq 200 ]; then

echo "Π’Π΅Π±-сСрвСр $url Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ (HTTP статус 200)"

else

echo "Π’Π΅Π±-сСрвСр $url ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (HTTP статус $status_code)"

fi

- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Π±-сСрвСра ΠΏΠΎ HTTP статус-ΠΊΠΎΠ΄Ρƒ.

3. Поиск ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»Π°Ρ… (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚):

#!/bin/bash

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ‚Π΅Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

directory="/var/www/html" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ

hash_file="hashes.txt"

# Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ Ρ…ΡΡˆΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ сохраняСм ΠΈΡ… для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сравнСния

find $directory -type f -exec sha256sum "{}" + > $hash_file

# Ѐункция, которая провСряСт Ρ…ΡΡˆΠΈ

check_hashes() {

sha256sum -c $hash_file

}

# Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

check_hashes

- Π‘Π»Π΅Π΄ΠΈΡ‚ Π·Π° измСнСниями Π² Ρ„Π°ΠΉΠ»Π°Ρ…, провСряя ΠΈΡ… Ρ…ΡΡˆΠΈ.

4. АвтоматичСскоС созданиС бэкапов Π»ΠΎΠ³ΠΎΠ²:

#!/bin/bash

# АвтоматичСскоС созданиС бэкапов Π»ΠΎΠ³ΠΎΠ²

log_path="/var/log/apache2" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ вашСй ΠΏΠ°ΠΏΠΊΠ΅ с Π»ΠΎΠ³Π°ΠΌΠΈ

backup_path="/backup/apache2"

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для бэкапа, Ссли ΠΎΠ½ Π½Π΅ сущСствуСт

mkdir -p $backup_path

# АрхивируСм ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π»ΠΎΠ³ΠΈ

tar -czvf $backup_path/log-$(date +%F).tar.gz $log_path

- АвтоматичСски создаСт Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Π»ΠΎΠ³ΠΎΠ².

5. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± активности Π² Π»ΠΎΠ³Π°Ρ…:

#!/bin/bash

# ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ активности Π² Π»ΠΎΠ³Π°Ρ…

log_file="/var/log/auth.log" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρƒ

pattern="Failed password" # Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ

# Π§Ρ‚Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… строк ΠΈΠ· Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π°

tail -fn0 $log_file | \

while read line ; do

echo "$line" | grep "$pattern" > /dev/null

if [ $? = 0 ]; then

# ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅

echo "ΠŸΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: $line"

# Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ увСдомлСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· mailx

fi

done

- Π‘Π»Π΅Π΄ΠΈΡ‚ Π·Π° Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ ΠΎ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ активности.

Π­Ρ‚ΠΈ скрипты β€” лишь Π½Π°Ρ‡Π°Π»ΠΎ. Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариях Ρ‚Π΅Π±Π΅ понадобятся Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. ВсСгда тСстируй скрипты Π² бСзопасной срСдС ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅. πŸ›‘οΈ

Бсылка Π½Π° источник https://timcore.ru/2024/03/07/pjat-skriptov-na-bash-kotorye-mogut-ispolzovatsja-dlja-avtomatizacii-rutinnyh-zadach-v-kiberbezopasnosti/

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Вопрос β„–10 ΠΈΠ· тСста Linux Essentials Certification

Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!

____________________

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»:

🧠 - Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠšΠΎΠΌΠ°Π½Π΄Ρƒ Head

🧠 - Навигация ΠΏΠΎ Π‘Π΅Ρ‚Π΅Π²Ρ‹ΠΌ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ°ΠΌ с Ifconfig

🧠 - ΠœΠ°ΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ Блияния Π€Π°ΠΉΠ»ΠΎΠ² с Join

#Linux_Mastery @LinuxSkill