项目地址:
https://github.com/LDrakura/Remote_ShellcodeLoader
0x01 声明
本文所采用技术,仅用来实现自定义功能,适用场景仅为授权的测试中进行权限维持或为个人电脑添加定制化功能,如:启动开机时启动计算机器,方便实用~
*本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。
0x02 背景
特征极少,绕过了杀软,hids,nids,后门存活了两个多月。最终在威胁情报上遭遇了滑铁卢。
控制端C2是有几条威胁情报的,结合NIDS的流量,情报介入以后,异常外连直接被发现。于是诞生了这个工具(只要我不连接C2,威胁情报就永远发现不了我)
此处仅提供思路,可和DLL劫持、其他维权手段结合。在红蓝对抗的时候,能多一个选择~
0x03 使用
编译测试环境:WIN10 1909、VS2019
./loader url
当然,你可以下载源码把url硬编码在代码中,这样连命令行特征都没有了。(不要用自己的,小心被溯源)
0x04 功能
远端配置文件:
sleep:10
type:cmd
value:calc
sleep:
休眠时间,下次获取服务端配置间隔(单位:秒)
type:
sleep、cmd、up、exit四种
注:value必填项,还没处理到这块,不需要value的随便填啥都可以
sleep 不执行任何操作。
cmd 执行命令 value 为要执行的命令。
up 执行shellcode上线 value为shellcode bin的16进制
exit 退出进程。
0x05 场景
我需要做隐蔽的权限维持,机器暂时不用,需要的时候上线。或者某些cdn上,比如,能上传txt的地方。。。
可以把配置文件丢github上,设一个4小时的sleep,需要的时候,修改配置文件
执行命令添加用户。
上线CobaltStrike
0x06 问题
已知问题
命令只接受单个命令,不接受空格,和读取方式有关,后面改
加载shellcode后创建线程执行,但是beacon退出后会exit整个进程(cmd方式无此问题),好像和CobaltStrike Beacon退出方式有关
仅支持X64
没有经过严格测试,有bug
0x07 TODO
-
接受带空格的命令
-
线程退出后不影响进程
0x08 参考
https://github.com/curl/curl
文章来源:Hack分享吧
【往期推荐】
【超详细 | Python】CS免杀-Shellcode Loader原理(python)
【超详细 | 钟馗之眼】ZoomEye-python命令行的使用
【超详细 | 附EXP】Weblogic CVE-2021-2394 RCE漏洞复现
【超详细】CVE-2020-14882 | Weblogic未授权命令执行漏洞复现
【超详细 | 附PoC】CVE-2021-2109 | Weblogic Server远程代码执行漏洞复现
【漏洞分析 | 附EXP】CVE-2021-21985 VMware vCenter Server 远程代码执行漏洞
【CNVD-2021-30167 | 附PoC】用友NC BeanShell远程代码执行漏洞复现
【奇淫巧技】如何成为一个合格的“FOFA”工程师
【超详细】Microsoft Exchange 远程代码执行漏洞复现【CVE-2020-17144】
【漏洞速递+检测脚本 | CVE-2021-49104】泛微E-Office任意文件上传漏洞
走过路过的大佬们留个关注再走呗
往期文章有彩蛋哦
一如既往的学习,一如既往的整理,一如即往的分享
“如侵权请私聊公众号删文”
推荐阅读↓↓↓
我知道你在看哟
原文始发于微信公众号(渗透Xiao白帽):分享 | 远程shellcode加载+权限维持+小功能(附下载)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论