Friday, April 11, 2014

Anon FTP Scanner

#!/usr/bin/python
# This was written for educational purpose and pentest only. Use it at your own risk.
# Author will be not responsible for any damage!
# !!! Special greetz for my friend sinner_01 !!!
# Toolname        : darkFTPAnon.py
# Coder           : baltazar a.k.a b4ltazar < b4ltazar@gmail.com>
# Version         : 0.1
# greetz for all members of ex darkc0de.com, ljuska.org 
import syssubprocesssocketrandom
from ftplib import FTP

timeout 
0.5
socket
.setdefaulttimeout(timeoutPORT int(21)
def logo():
  print 
"\n|---------------------------------------------------------------|"
  
print "| b4ltazar***91;@***93;gmail***91;dot***93;com                                      |"
  
print "|   12/2012     darkFTPAnon.py    v.0.1                         |"
  
print "|    b4ltazar.us                                                |"
  
print "|                                                               |"
  
print "|---------------------------------------------------------------|\n"
   
if sys.platform == 'linux' or sys.platform == 'linux2':
    
subprocess.call("clear"shell=True)
    
logo()
else:
    
subprocess.call("cls"shell=True)
    
logo()
    
if 
len(sys.argvnot in ***91;3,4***93;:
    print 
"***91;!***93; Usage: python darkFTPAnon.py -random NUM"
    
print "***91;!***93; Example: python darkFTPAnon.py -random 10000"
    
print "***91;!***93; Usage: python darkFTPAnon.py -iprange RANGE"
    
print "***91;!***93; Example: python darkFTPAnon.py -iprange 192.168.1.1-255"
    
print "***91;!***93; Please visit b4ltazar.us"
    
print "***91;!***93; Thx for using this script, now exiting!"
    
sys.exit(1)
     
def randomIP():
    
ran1 random.randrange(255) + 1
    ran2 
random.randrange(255) + 1
    ran3 
random.randrange(255) + 1
    ran4 
random.randrange(255) + 1
    randIP 
"%d.%d.%d.%d" % (ran1ran2ran3ran4)
    return 
randIP

def getrange
(iprange): 
    
lst = ***91;***93; 
    
iplist = ***91;***93; 
    
iprange iprange.rsplit(".",2
    if 
len(iprange***91;1***93;.split("-",1)) ==2
            for 
i in range(int(iprange***91;1***93;.split("-",1)***91;0***93;),int(iprange***91;1***93;.split("-",1)***91;1***93;)+1,1): 
                    
lst.append(iprange***91;0***93;+"."+str(i)+"."
            for 
ip in lst
                    for 
i in range(int(iprange***91;2***93;.split("-",1)***91;0***93;),int(iprange***91;2***93;.split("-",1)***91;1***93;)+1,1): 
                            
iplist.append(ip+str(i)) 
            return 
iplist 
    
if len(iprange***91;1***93;.split("-",1)) ==1
            for 
i in range(int(iprange***91;2***93;.split("-",1)***91;0***93;),int(iprange***91;2***93;.split("-",1)***91;1***93;)+1,1): 
                    
iplist.append(iprange***91;0***93;+"."+str(iprange***91;1***93;.split("-",1)***91;0***93;)+"."+str(i)) 
            return 
iplist
        
def srvscan
(ip):
    try:
        
socket.socket(socket.AF_INETsocket.SOCK_STREAM)
        
s.connect((ipPORT))
        
s.close()
        if 
PORT == 21:
            print 
"\n***91;+***93; FTP open port found"ip
            
print "***91;+***93; Checking for Anonymous!"
            
ftpanon(ip)
    
except(KeyboardInterruptSystemExit):
        
sys.exit(1)
    
    
except:
        
pass
    
def ftpanon
(ip):
    try:
        
ftp FTP(ip)
        
login ftp.login()
        if 
login:
            print 
"***91;!***93; Anonymous login successfuly on %s" ip

    except
(KeyboardInterruptSystemExit):
        
sys.exit(1)
    
except:
        
pass
     
for arg in sys.argv***91;1:***93;:
    if 
arg.lower() == "-iprange":
        
iprange sys.argv***91;int(sys.argv***91;1:***93;.index(arg))+2***93;
    if 
arg.lower() == "-random":
        
number sys.argv***91;int(sys.argv***91;1:***93;.index(arg))+2***93;
        
try:
    if 
iprange:
        
iplist getrange(iprange)
        print 
"***91;!***93; Range Loaded:"iprange
except
(NameError):
    
iprange 0
    pass
except
(IndexError):
    print 
"***91;-***93; Misconfigured IPRANGE"
    
sys.exit(1)
    
try:
    if 
number:
        print 
"***91;!***93; There is %s random IP for scan" number
        number 
int(numberexcept(NameError):
    
number 0
    pass
if __name__ == "__main__":
    print 
"***91;!***93; Port for checking: %s" str(PORT)
    print 
"***91;!***93; Let's start ..."
    
    
if iprange != 0:
        for 
ip in iplist:
            
srvscan(ip)
    if 
random != 0:
        while 
number >= 0:
            
srvscan(randomIP())
            
number -= 1
            
    
print "\n***91;!***93; Scanning finished!"
    
print "***91;!***93; Please visi b4ltazar.us"
    
sys.exit(1)  

0 Comments:

Post a Comment