当前位置: 首页 > news >正文

北京网站建设方案系统国内网站建设哪家好

北京网站建设方案系统,国内网站建设哪家好,网站模板广告去除,企业网站建设知名#C2远控-ShellCode-认知&环境 1.创建工程时关闭SDL检查 2.属性->C/C->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD 3.属性->C/C->代码生成->禁用安全检查GS 4.关闭生成清单 属性->链接器->清单文件->生成清单 选择否 #C2远控…

#C2远控-ShellCode-认知&环境

1.创建工程时关闭SDL检查

2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD

3.属性->C/C++->代码生成->禁用安全检查GS

4.关闭生成清单 属性->链接器->清单文件->生成清单 选择否

#C2远控-ShellCode-分析&提取

ShellCode的本质其实就是一段可以自主运行的代码。

它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,

因此需要通过控制程序流程跳转到shellcode地址加载上去执行shellcode。

目的:杀毒和感知平台如何定性

分析:OD&xdb&ida

提取:010Editor

加载:各种Loader方法执行

流程:ShellCode->Loader->EXE

思路:

1、Shellcode自写打乱-杀毒不认识

2、Shellcode加密混淆-杀毒不知道

3、Shellcode分离隐藏-杀毒找不到

4、Shellcode注入回调-杀毒绕圈圈

内存免杀是将shellcode直接加载进内存,由于没有文件落地,因此可以绕过文件扫描策略的查杀。为了使内存免杀的效果更好,在申请内存时一般采用渐进式申请一块可读写内存,在运行时改为可执行,在执行的时候遵循分离免杀的思想。分离免杀包含对特征和行为的分离两个维度,把shellcode从放在程序转移到加载进内存,把整块的ShellCode通过分块传输的方法上传然后再拼接,这些体现了基本的"分离"思想。

补充:

编辑器设置 VS

https://mp.weixin.qq.com/s/UJlVvagNjmy9E-B-XjBHyw

编译器差异 G++ GCC

https://blog.csdn.net/weixin_41012767/article/details/129365597

突破内存扫描

项目参考:https://github.com/wangfly-me/LoaderFly

➢ C2远控-Loader加载器-动态API

->绕过杀毒对导入表的检测定性

例:动态调用VirtualProtect

typedef BOOL(WINAPI* vp)(

LPVOID      Address,

DWORD       size,

DWORD       New,

PDWORD      Old

);

vp vip = (vp)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"VirtualProtect"

);

演示:对回调loader进行某函数动态API加载

typedef LPVOID(WINAPI* VAlloc)(

    LPVOID      lpAddress,

    SIZE_T      dwSize,

    DWORD       flAllocationType,

    DWORD       flProtect

    );

VAlloc VAlloc = (VAlloc)GetProcAddress(

    GetModuleHandleA("Kernel32.dll"),

    "VirtualAlloc"

);

➢ C2远控-Loader加载器-InlineHook

->绕过杀毒对内存扫描检测定性

InlineHook又称为内联Hook,是一种强大而又灵活的Hook技术。

Inline Hook的主要思想就是直接修改目标函数的代码,

通常是在目标函数的开头插入一个跳转指令(jmp)。

这个跳转指令会将程序的执行流跳转到我们自定义的函数中。

实现方式:

X86

// 方式一,使用jmp相对地址跳转

jmp <相对地址>   ; E9 <相对地址>

// 方式二,使用寄存器jmp绝对地址跳转

mov eax, <绝对地址>   ; B8 <绝对地址>

jmp eax             ; FF E0

// 方式三,使用push ret绝对地址跳转

push <绝对地址>   ; 68 <绝对地址>

ret             ; C3

X64

// 方式二,使用寄存器jmp绝对地址跳转

mov r12, <绝对地址>   ; 49 BC <绝对地址>

jmp r12             ; 41 FF E4

// 方式三,使用push ret绝对地址跳转

mov r12, <绝对地址>   ; 49 BC <绝对地址>

push r12             ; 41 54 <绝对地址>

ret                 ; C3

注意事项

1.E9方式替换5个字节,B8方式替换7个字节。

2.原函数的内存保护属性在代码替换后要进行恢复,不然可能导致hook不成功。

3.保证原函数可正常运行,需在hook执行目标函数中执行原函数并返回值进行返回。

4.为了保证下次原函数被调用时继续执行hook,所以在执行完原函数后再次进行替换使得下次原函数被调用时再次进入hook函数。

拓展技术:

API hook大致有以下几种方式:

1、Inline hook,应用层的注入hook,通过在内存中找到想要hook函数地址,并在其之前加入自己构造的跳转指令,当被hook位置执行时,便可以跳转到hook使用者自己编写的执行代码,在其执行完毕后,还原被修改的字节,接着执行正常流程。

2、IAT hook,导入表hook,通过修改导入表中某函数的地址到自己补丁函数来实现。

3、SSDT hook,内核层的hook技术,通过修改系统服务表中某个服务函数的地址到自己的补丁函数来实现。

4、IRP hook,内核层的hook技术,通过修改IRP结构体中某个成员变量指向自己的补丁函数来实现。

例子:

SetHook->MessageBoxA->MyMessageBoxA

➢ C2远控-DF-动态调用&InlineHook&混淆

1动态调用:

typedef BOOL(WINAPI* Write)(

HANDLE      hprocess,

LPVOID      BaseAddr,

LPCVOID     BUffer,

SIZE_T      Size,

SIZE_T* NumberOfBytes

);

Write Writer = (Write)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"WriteProcessMemory"

);

typedef BOOL(WINAPI* vp)(

LPVOID      Address,

DWORD       size,

DWORD       New,

PDWORD      Old

);

vp vip = (vp)GetProcAddress(

GetModuleHandleA("Kernel32.dll"),

"VirtualProtect"

);

2InlineHook

->OpenProcess函数进行InlineHook

//这里是获取我们需要hook的api的地址,我们这里是hook OpenProcess这个api

hookFunc = GetProcAddress(GetModuleHandleA("Kernel32.dll"), "OpenProcess");

//这里构建jmp指令

Newbyte[0] = '\xE9';

//这里加1是为了不把jmp给覆盖,然后把偏移地址赋值到NewByte中

*(DWORD*)(Newbyte + 1) = (DWORD)FuncAddr - (DWORD)hookFunc - 5;

//这里就是把定义好的跳转指令写入到我们需要hook的api的前5个字节中

Writer(GetCurrentProcess(), hookFunc, Newbyte, 5, &d);

//这个api作用是利用第一个参数(回调函数)来执行我们修改了前5个字节的api

EnumSystemLanguageGroupsA((LANGUAGEGROUP_ENUMPROCA)hookFunc, LGRPID_INSTALLED, NULL);

➢ C2远控-卡巴-动态调用&InlineHook&沙箱

一种规避杀软检测的技术就是内存加密技术。由于杀软并不是一直扫描内存,而是间隙性的扫描敏感内存,因此可以在cs的shellcode调用sleep休眠将可执行内存区域加密,在休眠结束时再将内存解密来规避杀软内存扫描达到免杀的目的。基于以上原理,结合想法进行了实现,成功实现动态免杀火绒、360、defender、卡巴等

参考:https://mp.weixin.qq.com/s/nD7RLhPpBC9Gqg_c1glNzQ

http://www.yayakq.cn/news/449549/

相关文章:

  • 杭州最大的网站开发如何登录qq网页版
  • 现在做一个网站多少钱免费申请域名建立网站
  • 桂林网站制作找志合网络公司平台推广方式有哪些
  • thinkphp做的商城网站分销平台网站订单模板
  • 做网站项目收获中国招标与采购网
  • 网上学编程的有哪些比较好的网站网站作品怎么做链接
  • 开淘宝店要自己做网站吗济南网站制作技术交流
  • 男人女人晚上做那事网站建设银行集团网站
  • 中学生制作的网站google play下载官方版
  • 中国观鸟记录的网站架构服务器域名是什么?
  • 长沙的网站建设公司哪家好桂林东西巷介绍
  • 四川省建设厅官网站网站首页优化的目的
  • 网站模版怎么做长春制作网站哪家好
  • 做网站防护的网站网站开发后台前端数据库
  • 设计网站需要考虑哪些销帮帮crm怎么样
  • 北京企业网站备案网站线框图软件
  • 企业网站有什么用网站建设公司的方案模板
  • 做百度手机网站点击软个人网站需要几个备案
  • 网站 设计 案例 简单免费学校网站模板
  • 翡翠网站建设ppt纺织网站建设
  • 网站制作培训费用wordpress如何编辑页面
  • 全球建筑设计网站实施网站推广的最终目的
  • 马化腾做的电商网站做网站的启蒙思想
  • 哪个网站建站好500平台用云空间制作网站
  • 电子商务中的网站开发怎么发布自己的网站
  • 网上帮做一些小事赚零花钱的网站专门找人做软件的网站
  • 重庆旅游网站建设地址刀客源码
  • 中国建设招聘网站甘肃分行做企业网站需要多少钱
  • 郑州网站微信微博维护政务门户网站建设方案
  • 网站分为那几个模块免费个人网站空间