1.Windows命令行远程payload及执行任意代码的远程源码远程源码几种方法
2.SpringCloud远程调用客户端之Feign源码剖析
3.关于一款开源远程控制软件(gh0st)的源码分析(一)
Windows命令行远程payload及执行任意代码的几种方法
Windows命令行中,除了powershell,收款收款还有其他方式实现远程payload下载和执行任意代码。远程源码远程源码以下是收款收款一些满足特定条件的命令行工具和方法:利用内置二进制文件执行:通过滥用Microsoft标准文件,如IE缓存和WebDAV客户端缓存,远程源码远程源码来下载payload。收款收款uniy商业源码这种方式要求工具支持HTTP URL参数传递、远程源码远程源码UNC路径处理,收款收款以及执行下载的远程源码远程源码内联脚本。
Powershell:以powershell.exe执行payload,收款收款它通常不直接写入硬盘,远程源码远程源码但可以使用编码技巧绕过安全检测。收款收款通过WebDAV服务器访问时,远程源码远程源码宝塔面板怎么保存源码payload会保存在WebDAV客户端本地缓存。收款收款
cmd.exe与批处理文件:可以使用批处理文件嵌入payload,远程源码远程源码但同样会写入WebDAV客户端本地缓存。
Cscript/Wscript:通过这两个脚本工具下载payload,写入位置同样是WebDAV客户端本地缓存。
Mshta:支持执行内联脚本,可用mshta.exe接收URL或HTA文件,写入IE本地缓存。
Rundll:可通过UNC路径执行DLL或内联JScript,写入WebDAV客户端本地缓存。
Regasm/Regsvc:利用特定DLL和WebDAV接口,写入WebDAV客户端本地缓存。魏宁海的指标源码
Regsvr:有多种实现方式,写入位置取决于使用方法,可能是IE本地缓存或WebDAV客户端。
Msbuild:通过msbuild.exe间接执行payload,写入WebDAV客户端本地缓存。
组合技巧:可以结合不同工具下载和执行payload,如certutil.exe或InstallUtil.exe。
payload源码示例:使用.sct脚本、.hta文件、MSBuild内联任务或DLL,可以从指定地址获取实例。
值得注意的纽仕兰溯源码是,如bitsadmin工具因不支持代理而未被提及。这些方法在满足条件的同时,也需考虑EDR监控和安全策略。更多详细内容可通过原文链接获取。SpringCloud远程调用客户端之Feign源码剖析
Spring Cloud 的远程调用客户端 Feign 的源码解析
本文深入探讨 Spring Cloud 远程调用客户端 Feign 的源码实现。首先,我们关注 org.springframework.cloud.openfeign.EnableFeignClients 注解,其主要作用在于扫描 Feign 客户端以及配置信息,并引入 org.springframework.cloud.openfeign.FeignClientsRegistrar。这个注解所执行的操作包括两部分:扫描配置类信息和扫描客户端。
在 FeignClientsRegistrar 类中,主要通过解析 EnableFeignClients 注解的穿越火线源码使用属性信息并注册默认配置来完成配置类信息的扫描。随后,它将配置类注入到 Spring 容器中,实现配置信息的注册。接着,Feign 的自动装配过程通过 FeignAutoConfiguration 类中注入的 Feign 上下文来实现,它创建了一个 Feign 实例工厂,并从 Spring 上下文中获取 Feign 实例。
在初始化阶段结束后,我们可以通过 Spring 容器获取 Feign 客户端。具体过程在 FeignClientsRegistrar#registerFeignClients 中实现,传入一个工厂到 BeanDefinition 的封装中。接着,通过工厂获取目标对象,主要过程涉及获取 Feign 上下文、利用上下文获取构造器以及调用 FeignClientFactoryBean#loadBalance 方法。
在 FeignClientFactoryBean#loadBalance 中,主要任务是使用 Feign 上下文获取客户端并设置构造器,最后获取目标并调用其 target 方法。这一过程最终指向 Feign 的核心实现,生成了一个 Feign 代理对象。
获取 Feign 代理对象后,我们可以通过调用代理对象的 invoke 方法进行远程调用。这一过程通过 feign.InvocationHandlerFactory 中的实现来完成,最终调用 Feign 实现的 executeAndDecode 方法执行实际的远程调用。整个调用过程涉及获取客户端基本信息、执行调用以及通过动态代理返回结果。
最后,Feign 调用最终通过 HTTP 协议进行远程请求的发送。整个解析过程展示了 Feign 如何通过 Spring Cloud 的集成,提供了一种优雅、灵活的远程调用方式,同时利用了 Feign 的动态代理和上下文管理,使得远程调用的实现变得更加简单、高效。
关于一款开源远程控制软件(gh0st)的源码分析(一)
gh0st软件专为远程控制设计,支持远程文件传输、视频连接等功能,类似QQ远程桌面。软件由gh0st_Client与gh0st_Server两部分组成。
启动gh0st_server,VS调试,程序运行后,中断所有调试,打开Threads窗口和CallStack窗口。gh0st_server作为服务端,启动时创建个线程,主线程负责资源初始化,创建监听线程ListenThreadProc以监听客户端连接。
主线程完成初始化后,ListenThreadProc进入循环,等待连接请求,通过m_hkillEvent事件与主线程同步。当主线程发出关闭命令,m_hkillEvent设置为可信任状态,工作线程退出循环,进行资源回收,增强程序稳定性。
gh0st_server的核心在于IOCPServer类,它负责网络事件检测、IO请求与数据收发。当有网络事件发生时,关键业务逻辑将处理数据接收与解包等操作,详情将在后续章节介绍。