1.Windows命令行远程payload及执行任意代码的远程源码几种方法
2.MobaXterm-SSH远程连接Ubuntu
3.ssher 轻量开源远程管理工具
4.rpcgenRpc自动生成的文件
5.vscode server源码解析(三) - code server
Windows命令行远程payload及执行任意代码的几种方法
Windows命令行中,除了powershell,服务还有其他方式实现远程payload下载和执行任意代码。器工以下是具源一些满足特定条件的命令行工具和方法:利用内置二进制文件执行:通过滥用Microsoft标准文件,如IE缓存和WebDAV客户端缓存,码远来下载payload。程服linphone qt 界面源码这种方式要求工具支持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监控和安全策略。更多详细内容可通过原文链接获取。MobaXterm-SSH远程连接Ubuntu
大家好,我是 `杰哥编程`
------------------------- 下面是我的gitee仓库,欢迎大家关注↓ [gitee源码仓库链接跳转]( gitee.com/wrj/embe...)
## 使用MobaXterm-SSH远程连接Ubuntu虚拟机的好处:
1. 使用ssh远程终端操作,相比虚拟机图形界面,更加小巧,速度更快。对于初学者来说,可以直接进入虚拟机桌面,安装VIM,使用touch命令创建文件,然后使用vi编辑文件,进入编辑模式编写代码。完成编写后,使用ESC退出,新起点教育源码保存文件,编译运行。对于小项目来说,这种方法没有问题;但对于大项目,VIM对新手不太友好。
2. 解决方法是在Windows电脑上使用sourceInsight或VScode编辑器编辑整个工程项目的代码,然后通过MobaXterm终端远程接入虚拟机,拖拽文件图标将项目源码上传到虚拟机。在终端使用gcc编译指令编译整个工程。后续每次修改,都在Windows电脑上使用代码编辑器修改代码,然后将改动的文件通过MobaXterm拖拽上传到虚拟机,再次编译。
3. 这种方法在工作中也常用,因为工作中会使用公司的服务器(Ubuntu虚拟机)进行交叉编译代码,通常通过SSH远程接入服务器,敲终端命令进行编译,看不到桌面,更不用说使用VIM编写代码了。
## 使用MobaXterm-SSH远程连接Ubuntu虚拟机的方法:
1. 使用VM软件,从Ubuntu官网下载Ubuntu系统的iso镜像文件,使用VM软件读取iso文件创建虚拟机,记得采用桥接网络才能接入互联网;(具体创建虚拟机的详细操作方法见主页文章”如何搭建一台属于自己的Ubuntu虚拟机“)
2. 按住”Ctrl+Alt+t“启动终端,依次在终端输入以下指令安装并启动SSH服务:
2.1 同步刷新软件仓库,运行命令:sudo apt-get -y update
2.2 运行命令安装openssh-server:sudo apt-get install -y openssh-server
2.3 检查 ssh 服务是否启动成功,运行命令,出现以下则为运行成功:sudo ps -e | grep ssh
2.4 如果没有启动,网站软件库源码输入命令启动 ssh 服务:sudo service ssh start
2.5 输入命令允许SSH连接通过防火墙:sudo ufw allow ssh
2.6 输入命令允许SSH服务运行:sudo systemctl enable --now ssh
2.7 输入命令安装ifconfig网络工具:sudo apt-get install net-tools
2.8 输入命令查看虚拟机的IP地址,..1.就是虚拟机的IP地址了:ifconfig
2.9 打开MobaXterm,按照下面的数字顺序提升,点击1、2按钮选择SSH连接,3的位置输入2.8步骤中得到的IP地址,勾选4的位置那里的方框,然后在5的位置那里输入你的Ubuntu名字(不知道Ubuntu名字的话,运行whoami命令就可以得到你的Ubuntu名字);点击6位置的OK就开始连接到我们的Ubuntu了。
2. 连接成功就是下面这样,第一次可能会需要你输入密码,这个密码就是你的开机密码。
## 如何使用MobaXterm上传工程文件到Ubuntu,然后编译工程:
3.1 点击红框位置的Desktop文件夹图标进入Ubuntu的Desktop目录。
3.2 点击选中你需要编译的工程文件夹,拖拽图标到图中所示区域,即可完成工程文件夹的源码上传到Ubuntu。
3.3 执行命令:cd /home/hh/Desktop/upg_svr_public/ 进入/home/hh/Desktop/upg_svr_public/目录下,然后编译你的工程源码
3.4 执行位置1的编译命令编译整个工程源码,然后可以在位置2的地方看见编译成功生成的可执行文件,如果是交叉编译,就可以把可生成的执行文件通过图标拖拽出来,然后把可执行文件拖拽到开发板,就可以运行了。
## 总结:
企业做的嵌入式Linux项目,为了节约硬件成本,采购的十三张扑克源码内存大小一般只能支持内核的运行和公司的应用软件运行以及支持调试工具的运行,一般不会有多余的内存来在开发板本地安装编译工具,这就需要我们在其他地方把源码工程编译好,生成可执行文件下载到开发板运行。我们常常在公司的服务器上面的虚拟机进行交叉编译,所以才需要我们用远程终端工具MobaXterm去接入虚拟机。然后把我们在window用VScode编辑好的代码拖拽上传到服务器,等待服务器编译完把生成的可执行文件从服务器拖拽下来,烧录到板子运行。本章节讲解了如何使用MobaXterm去远程接入虚拟机,并且互相拖拽图标传输文件、编译工程源码的操作,希望帮到你;如果你想得到更多免费的嵌入式学习资料,点击进入主页,按提示操作领取嵌入式学习独家资源。
ssher 轻量开源远程管理工具
今天,我要向大家介绍一款名为poneding/ssher的轻量级开源远程管理工具。这款工具专为SSH Profile管理而设计,能够让你更方便地连接服务器。
poneding/ssher基于Go语言开发,具备跨平台特性,支持Linux、MacOS与Windows等操作系统。
安装poneding/ssher非常简单,如果你已配置Go环境,只需执行go install命令即可。对于MacOS和Linux用户,可参考特定命令进行安装;Windows用户则需下载ssher.exe文件,并将该文件路径加入系统环境变量中。
若网络环境不佳,可直接从GitHub页面下载二进制文件。对于希望深入了解源码的用户,需确保安装了Go环境,并执行相关命令进行编译。
为了快速上手,用户可通过命令行界面进行SSH连接管理,使用上下左右键在交互模式中选择或添加SSH Profile。
在使用过程中,你可对存储服务器信息的Profile文件进行查看与编辑。此外,该工具还提供了版本管理与自动补全功能,以提升使用体验。
如果你对这款开源项目感到满意,欢迎在GitHub上给我一个Star,你的支持是我持续改进的动力。
rpcgenRpc自动生成的文件
本文将详细解释RPCgen自动生成的文件及其作用。这些文件对于构建和使用远程过程调用(RPC)系统至关重要。 在RPC系统中,客户端和服务器通过调用远程函数来进行通信。为了实现这一功能,RPCgen工具生成了一系列用于构建客户端和服务器的文件。 其中,Makefile.file 是一个关键文件,它用于编译所有客户机和服务器代码。通过这一文件,开发人员可以轻松构建和管理整个RPC系统。 接下来是两个主要的客户端文件:File_clnt.c 和 File_server.c。这些文件包含了客户端和服务器的stub(骨架),用于实现远程过程调用。程序员通常不需要修改这些文件,因为它们包含了RPC系统的核心逻辑。若RPCgen生成了File_server.c文件,表示系统包含了一个远程服务的stub。 为了确保客户端和服务器之间能够正确通信,RPCgen还生成了File.h 文件。此文件包含了从说明中产生的所有XDR类型。XDR(External Data Representation)是一种用于描述数据结构的格式,它在RPC系统中至关重要。通过定义和使用XDR类型,RPCgen确保了客户端和服务器之间数据的正确传输。 另外,为了处理RPC通信过程中的XDR过滤需求,RPCgen生成了File_xdr.c 文件。这个文件包含了客户机和服务器stub所需的XDR过滤器,确保了数据在传输过程中的完整性和一致性。 综上所述,RPCgen自动生成的这些文件对于构建和维护RPC系统至关重要。它们不仅简化了开发流程,还确保了客户端与服务器之间通信的高效和可靠。扩展资料
rpcgen可以自动生成RPC服务器程序的大多数代码,它的输入为一个规格说明文件,它的输出为一个C语言的源程序。规格文件(*.x)包含常量、全局数据类型以及远程过程的声明。Rpcgen产生的代码包含了实现客户机和服务器程序所需要的大部分源代码。他包括参数整理、发送RPC报文、参数和结果的外部数据表示以及本地数据表示的转换等。不过在由rpcgen生成的源文件中,没有过程的具体实现,所以程序员必须要手工编辑这些文件,实现这些过程。vscode server源码解析(三) - code server
初次接触code server,可参考介绍文章。整体架构不清晰时,建议阅读架构分析。
在深入分析code server代码之前,先理解code server在远程开发中的作用。code server作为服务器的核心功能,提供远程IDE访问,基于express框架和nodejs平台构建,实现了轻量级服务器的基础。此外,它提供用户登录功能,确保安全访问,并在登录后加载vscode server内核代码。
code server还具备升级、代理和心跳检测等功能,但这些细节在此不作深入探讨。
本文将重点解析code server的启动机制、提供服务的实现方式、中间件和路由设计,以及如何启动vscode内核。
code server的启动通过src/node/entry.ts文件实现,启动命令为`code-server`。实际上,这只是一个shell脚本,通过`node`命令启动程序。在package.json中定义了启动逻辑。
程序启动时,会检查当前进程是否为子进程,进而决定执行的启动方式。父进程负责管理整个软件,启动子进程并控制其生命周期,以及与子进程通信,比如接收日志输出。子进程则作为真正的express框架服务器,加载vscode server内核代码。
运行代码通过`runCodeServer`方法启动,首先通过`createApp`创建服务器,监听指定的主机和端口。`handleUpgrade`方法处理websocket连接,这是vscode server前后端通信的关键。详细说明将单独撰写。
路由和中间件是code server的核心部分。路由定义了服务器提供的接口,如GET和POST,供前端调用。中间件则负责处理请求前后的预处理和后处理工作,如鉴权,注册到express框架中。
code server中的`register`方法处理路由和中间件逻辑,将请求分发到不同的路由,如`/login`和`/health`,每个路由包含各自的中间件处理请求。
关于vscode server内核的启动,主要通过`src/node/routes/vscode.ts`文件实现。在经过鉴权等路由处理后,请求到达特定路由。`ensureCodeServerLoaded`中间件负责加载vscode代码。`loadAMDModule`执行原生vscode启动过程,引入模块。加载完成后,可以获得`createVSServer`方法,用于真正启动vscode内核。
至此,code server的基本功能实现完毕。接下来将深入探讨vscode server内核和websocket协议。