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

Идея скрипта: Обнаружение необычной сетевой активности
Представим, что нам нужно отслеживать сетевую активность на сервере и выявлять подозрительные соединения. Обычно это делается с помощью системных логов, которые нужно анализировать вручную. Наш скрипт автоматизирует этот процесс, собирая информацию о сетевых соединениях и выявляя аномалии.
Код скрипта на Python
Вот пример скрипта, который использует модуль `psutil` для получения информации о сетевых соединениях и модуль `datetime` для работы со временем:
import psutil
import datetime
def analyze_network_connections():
"""
Анализирует сетевые соединения и выводит информацию о подозрительных активностях.
"""
now = datetime.datetime.now()
suspicious_ips = {}
for connection in psutil.net_connections():
if connection.status == psutil.CONN_ESTABLISHED:
remote_ip = connection.raddr.ip
if remote_ip == "192.168.1.100": # Пример подозрительного IP
if remote_ip not in suspicious_ips:
suspicious_ips[remote_ip] = []
suspicious_ips[remote_ip].append(now.strftime("%Y-%m-%d %H:%M:%S"))
if suspicious_ips:
print("Обнаружена подозрительная активность:")
for ip, timestamps in suspicious_ips.items():
print(f"IP: {ip}, Время соединений: {', '.join(timestamps)}")
else:
print("Подозрительная активность не обнаружена.")
if __name__ == "__main__":
analyze_network_connections()

Разбор кода
-
Импорт модулей:
Мы импортируем `psutil` для получения информации о процессах и сети, а также `datetime` для работы с датой и временем. -
Функция
analyze_network_connections()
:
Эта функция выполняет основной анализ. -
Получение информации о соединениях:
Мы используем
psutil.net_connections()
для получения списка активных сетевых соединений. -
Фильтрация соединений:
Мы фильтруем соединения, оставляя только установленные (
psutil.CONN_ESTABLISHED
). -
Анализ IP-адресов:
Мы проверяем IP-адрес удаленной стороны (
connection.raddr.ip
) и, если он соответствует заранее определенному “подозрительному” IP-адресу (в примере –
"192.168.1.100"
), добавляем время соединения в список. В реальной ситуации этот список должен быть динамическим и основываться на более сложных критериях. -
Вывод результатов:
Мы выводим информацию о подозрительных IP-адресах и времени их соединений.
Как это может удивить системного администратора?
Этот скрипт демонстрирует, что даже простая автоматизация может значительно упростить мониторинг безопасности. Системный администратор, привыкший к ручному анализу логов, может быть удивлен скоростью и точностью скрипта. Более того, скрипт можно легко расширить для анализа других параметров, таких как порты, процессы, связанные с соединениями, и многое другое.
Дальнейшее развитие
Этот пример – лишь отправная точка. Вот несколько идей для дальнейшего развития:
-
Динамический список подозрительных IP-адресов:
Вместо жестко заданного списка используйте базу данных или API для получения информации о вредоносных IP-адресах. -
Анализ портов:
Проверяйте, на каких портах устанавливаются соединения. -
Анализ процессов:
Определяйте, какие процессы устанавливают соединения. -
Создание отчетов:
Генерируйте отчеты о подозрительной активности и отправляйте их администраторам. -
Интеграция с SIEM:
Интегрируйте скрипт с системой управления информацией о безопасности (SIEM) для централизованного мониторинга.

В заключение, Python предоставляет мощные инструменты для автоматизации и анализа в сфере безопасности. Этот простой скрипт демонстрирует потенциал Python для создания инструментов, которые могут значительно повысить эффективность работы системного администратора и специалиста по безопасности.
#Python #Безопасность #Скрипты #Автоматизация #СистемныйАдминистратор #Хакерство #psutil #СетевойМониторинг