logo

K8哥哥

没有绝对安全的系统

持久化后门之微软Visual Studio开发工具DLL劫持

DLL劫持&白加黑

DLL劫持在白加黑里最常见,07、08年开始在国内才开始起步,但主要是写病毒用到的较多,什么LPK.DLL、USP10.DLL都是当时流行的U盘病毒木马最喜欢用的劫持方式,因为它们可以劫持99%的EXE,10年后渗透圈才开始懂利用,常见的只是单纯用于提权而已。很多人在很多方面不懂举一反三,能执行添加用户命令,你就不懂让它执行远控上线了吗?一定要登3389?

目前还不能完全避免此漏洞,特别是应用软件们的,通过DLL劫持来绕过安全软件主动防御的保护被称为“白加黑”,因为加载的主程序是正常的软件,主动防御可能会放过它,允许它启动,而恶意DLL则通过该软件的漏洞或替换正常的同名文件(对应用软件的文件保护似乎并不象对系统文件保护那样严密,而且并不是一直运行状态,被替换还是比较容易的), 甚至有的还会冒用合法软件的数字签字等方式,由正常程序加载,从而躲开安全软件的拦截。

当然可能有些人对白加黑有误解,以为非要劫持系统的才叫白加黑,实际APT里最常用的一些方法是,劫持第3方程序。比如360、讯雷、WinRar、Chrome、Office系列等存在DLL劫持,人家给你发送的马包含被劫持程序和对应DLL,运行正常的程序即可绕过主防上线。如海莲花等APT常用WINWORD.EXE加wwwlib.dll方式上线,因为EXE是WORD里的原版程序,有签名又合法它启动,杀软不拦,由于启动时会加载wwwlib.dll(什么C2或CS啊加密存在DLL里,海莲花常用的是CS),它就上线了,这也是白加黑利用。因为并不是所有人都安装WORD,而且安装的版本不定存在这个劫持,所以它必须捆绑EXE在里面,而这个合法的EXE可以是任何第3方程序。

VS劫持

将K8测试专用DLL劫持工具里的DLL改名成SspiCli.dll后放入VS目录
运行VS即可,劫持对象VS2008-VS2015主程序devenv,VS2019已修复
其它不只主程序,只是时间太久了,我忘了懒得测,大家自行测试

劫持VS2015

image

劫持VS2012

image

劫持VS2010

image

劫持VS2008

image

POC

https://github.com/k8gege/K8tools/raw/master/K8dllhijack.rar

持久化

如CobalStrike生成DLL改名为SspiCli.dll,用户打开VS时即可上线

PS: 2016年在网易有发过,发现网上已搜不到,重新发一下
image
Notepad++ DLL劫持
image

参考

Notepad++ 修复被 CIA 利用的 DLL 劫持
https://www.sohu.com/a/129080133_466846
[提权]Notepad++ DLL劫持漏洞
https://bbs.mayidui.net/t219-e.html

扯个淡

几年前看过我网易博客甚至百度博客的时候会发现,我经过发提权或者DLL劫持的文章,那时候我不需要和别人说持久化人家就懂得如何利用用在哪方面,一张图片就够,而近几年你一定要和人家说一样的名词,不然TMD人家听不懂。不信大家看我19年用博客园时DLL劫持的文章并没多少人看,而以前大家对DLL劫持和提权的关注都是差不多的,这就是最明显的一点。当然也和很多人不会编程或写马有关系,你告诉人家哪个DLL能劫持的,他也没法利用,不关注也很正常。

扫码加入K8小密圈