黑客自学书本:绕过Windows Control Flow Guard思路共享

访客5年前黑客工具1135

  一般,进犯者可以通过运用内存缝隙来截获控制流。但是研究人员也提出了各式各样的防护手法防止发作这样的问题,例如地址空间050100c6 8bcb mov ecx,ebx随机化(ALSR),异或实行(XOR Execute),控制流完整性(CFI)等各式各样的防护办法。CFI通过强制控制流完整性保证程序的实行不会出现问题,现在安置最为广泛的CFI是windows供给的control flow guard(CFG)。CFG现在安置在最新的Windows 8.1,Windows 10上,现已超过了5亿运用量。因此一旦在CFG上出现问题,或许导致十分严峻的结果。

  Windows CFG完结

  Windows的CFI完结称为Control Flow Guard(CFG),因为实践的功能要求,不或许做到十分准确的CFI,因此,实践在windows上安置的CFI是粗粒度的、前向CFI输入完暗码联接成功后,在如下图的输入框中输入如下指令,点击右侧的按钮实行。。首要,粗粒度的CFI是:全部的有用跳转地址为一个大局的调集,即不准确的为每一个直接跳转指定一个有用跳转地址;其次,什么叫做前向CFI:只考略call,jump的直接跳转和直接跳转,没有核算ret的状况。此外,Windows CFG完结还依赖于bitmap表,该表存储的信息是关于方针地址是否有用的一张表。bitmap表中的两位与实践地址的16byte一一对应,因此有四种状况:

  00:该地址规模没有有用的跳转地址

  01:地址规模包含导出抑制表方针

  10:只要16位对其的地址有用(该规模的之一个地址)

  11:地址规模的全部地址均有用

  因此,可以看出一个十分显着的缝隙:

  

  在编码为11的状况在,整个16位地址均为有用跳转地址,此刻,假设存在直接跳转缝隙,例如:jump [eax] (eax = 0×1007),当eax的值可以批改的时分,跳转地址可以跳转到0×1007地址的上面的指令,(add rsp, 0×40)这是Windows CFG的设计缝隙之一。其次,因为Windows CFG是前向的CFI防护,因此不能阻挠重写return address的状况,则运用该特色,假设可以改写ret addr,也可以到达绕过CFG的意图。

  Bypass CFG

  在论文中说到了一种绕过CFG的办法,该办法和以往的绕过相比较:

  需求更少的栈控制,只需求控制栈顶的区域即可

  灵活性更大,在实践进犯场景中可以复现

  所需gadget在Windows系统中广为存在

  文章界说了两种gadget,通过两种gadget的合作可以完结绕过CFG。界说P(p)R(r) gadget:

  该gadget是一个有用的CFG方针

  该gadget是一条 add {e, r}sp, m 指令,可以不存在

  该gadget是n条 pop 指令,可以不存在

  该gadget是一条 ret r 指令,r可认为0

  p = m + wn(w是一个字的长度,32-bit是4,64-bit是8)

  这样一系列界说其实描述了程序函数调用完毕的操作。例如上图中有用代码段

  add rsp, 0x40

  pop rdi

  pop rbx

  ret

 

  依据界说,该gadget可以界说为P(80)R(0),p = 64 + 8 * 2, r = 0。该gadget链首要意图是更改栈帧的方位,以便批改ret addr。在32位系统中,参数传递是通过栈来传递,通过改动参数即可以影响栈中的内容,通过这种办法可以到达批改ret addr的意图。但是,在64位系统中参数传递是通1.RFID编造过寄存器完结的,因此,栈中的内容一般不会被影响,所以从头界说了 S gadget 以便可以批改栈中内容。一般一个尾调用优化或许发生S gadget。

  界说S gadget:

  该gadget是一个有用的CFG方针

  该gadget溢出n个寄存器到寄存器参数区域(RPA)

  该gadget以一个受控制的直接跳转完毕

  S(2) gadget DEMO

  mov [rsp + 0x8], rcx

  mov [rsp + 0x10], rdx

  sub rsp, 0x40

  ...

  mov rax, [rcx]

  mov rax, [rax + 0x20]

  add rsp, 0x40

  jmp [dispatch_fptr]

 

  rcx, rdx一般在Windows 64-bit函数调用中是作为之一个参数和第二个参数,假定参数可以被进犯者控制,则在这段gadget中,一个被进犯者控制的参数被传入栈中,即有时机批改ret addr。

  下图展现了一个PR-P链的联接进程:

  

  Attack

  怎样运用PR,P gadget进行进犯,论文中以Edge作为进犯方针,施行远程进犯。首要需求知道object在内存中的地址,因此需求有地址泄露的进程,其次,我们需求假造一些数据,要有必定的写内存操作。在进犯的Demo中,运用CVE-2016-7200和CVE-2016-7201两个Edge缝隙,到达地址泄露和恣意内存读写的权限。

  

  S(2) gadget

  1 ; @ chakra+0x31f0000

  2 chakra!ScriptEngine::EnumHeap:

  3 mov r11,侵略者还运用出名的frp署理东西将内网端口显露到外网,用来进入更深的内网。其间,frp署理Server端均为国外服务器。 rsp

  4 ; Spill arguments to RPA

  5 mov [r11+0x10], rdx

  6 mov [r11+0x8], rcx

  7 ; Allocate stack frame

  8 sub rsp, 0x28

  9 ; Prepare call to rcx->__vfptr[10]

  10 mov rax, [rcx]

  11 mov r8, rdx

  12 xor edx, edx

  13 mov rax, [rax+0x50]

  14 ; Deallocate stack frame

  15 add rsp, 0x28

  16 ; Perform indirect call via CFG

  17 jmp cs:__guard_dispatch_icall_fptr

 

  P(16)R(0) gadget

  pop rdi

  pop rsi

  ret

 

  方针函数是JavascriptFunction::HasInstance虚函数,首要定位JavascroptFunction object在内存中的方位,通过批改VTable pointer指向一个假造的VTable,其间instanceof函数在VTable中的方位为0×200,将该函数批改为S(2) gadget 地址。当instanceof函数调用时即实行S(2) gadget。

  S gadget 得到一个指向JavascroptFunction object的指针作为之一个参数,指向Var的指针做为第二个参数,S gadget 在第5行和第6即将参数放入栈中。第13即将JavascroptFunction偏移0×50的放入rax中,之后jmp rax实行P(16)R(0) gadget。

  我们只需求设置一个自己结构的Var指针,即可截获控制流。

  截获控制流之后,便可以通过传统的ROP进行进犯。

  总结

  论文中提出了一种新的绕过Windows CFG的办法,具有必定的灵活性,而且文章中说到在Windows系统中存在较多的可用gadget,因此,假设进行系统性的扫描Windows全部常用动态库,可以在许多场景下进行运用。

  *本文作者:jaguoooooo

黑客自学书本:绕过Windows Control Flow Guard思路共享

全盘加密程序与文件加密程序不同的是,后者只针对某个特定的文件进行加密,而全盘加密将会对系统内的全部数据都进行保护,包含操作系统。但全盘加密程序只会在设备关闭时打开保护功用。; Password protected x64 TCP Reverse Shell绕过Windows Control Flow Guard思路分享

黑客自学书籍注:Cleartext(明文)并不意味着暗码就是按原样存储。它们一般会运用RC4加密办法存储。而用于加密和解密的密钥是SYSKEY,它被存储在注册表中,可以由域管理员提取。这意味着哈希值可逆为明文,因此我们称它为“可逆加密”。· CreateTime(Created)刘同学向总部央求帮助的时分,标明自己“现已瞎了”!

平日PE文件中都含有一个名为IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT的数据目次,您可以或许运用dumpbin/imports或windbg间断检查,其布局描绘详见delayhlp.cpp中,读者可以或许在WinSDK中找到它: 缝隙-信息安全界最常见的词汇,在百度百科是这样描述的。该木马运用Linux系统的shell脚本编写Downloader,运用curl与wget指令主张 *** 央求下载木马的其他组件,虽然代码可被简单分析,但是编写本钱和门槛下降,这也是其时恶意代码运用脚本语言编写的一个趋势。黑客自学书籍

}假设发现 pam_unix 认证失利,仍能登录成功,则有必要警惕 pam_deny.so 是否现已被调包0010: A8 49 AE 64 .I.d

通过CVE的统计数据,我们拾掇出了自1999年至2016年以来,各品牌打印机存在的各类型宣布缝隙,如下所示:<VirtualHost www.test.com:443> 绕过Windows Control Flow Guard思路分享

黑客自学书籍[*] Retrieving MAPI infoLinux的库房结构如下图所示:C:WindowsPantherUnattendUnattended.xmlelif [[ $version == $cs7* ]]; then

Android系统的运用可以恳求读取短信、发送短信、接收短信、拨打 *** 、读取通讯录、批改通讯录等重要权限,无需Root即可替换短信、通讯录、相机、输入法等系统运用功用,可以更活络的去开发第三方运用,但是也给了病毒和恶意软件待机而动,易构成隐私泄露、短信被阻挠(可导致账号被盗、 *** 支付安全问题)、被恶意扣费、自动给通讯录其他人发送病毒链接等问题。

IAM也就是身份访问办理了。IDaaS运用率的进步,必定程度是因为内部安置IAM设备的难度和本钱都比较大。用老外的话来说,各种something-as-a-service办法正在快速成长,所以许多企业用户也会选择IDaaS。Perkins也说,越来越多Web和移动运用的出现,也是从IAM转往IDaaS的重要机会。黑客自学书籍

Man-in-the-middle(中间人,简称为 MITM),可以与 *** 通讯两端分别创建联接,沟通其收到的数据,使得通讯两端都认为自己直接与对方对话,事实上整个会话都被中间人所控制。简而言之,在实在的服务端看来,中间人是客户端;而实在的客户端会认为中间人是服务端。

1.原因:本来在家正常休憩了,我们放在上海保管机房的线上服务器遽然蹦了远程不了,服务发起不了,然后让上海机房重启了一次,仍是直接挂了,一贯到我远程上才行。绕过Windows Control Flow Guard思路分享

二、shellcode怎样应用到缝隙运用

net view: 获取联接域的资源列表

简略的ECHO脚本到PowerShell的标准输入。这种技术不会导致配备的更改或要求写入磁盘。为了便当研讨,我进行了简略分类。Tinder应用程序的数据可以从/mobile/Applications/com.cardify.tinder这儿找到。最为有用的文件如下所示:
本文标题:黑客自学书本:绕过Windows Control Flow Guard思路共享

相关文章

最好的训狗方法是什么(如何训练狗狗效率高)

最好的训狗方法是什么(如何训练狗狗效率高)

很多家长经常向我抱怨自家狗狗不听话,或是狗狗进入家门后就带来了一些坏习惯,虽然狗狗的一些行为习惯确实与遗传因素有关,但主人后天的影响也会给狗狗带来改变,因此,当出现狗狗行为习惯差的问题时,家长在第一时...

继续教育总结(2020年春学期继续教育工作总结)

继续教育总结(2020年春学期继续教育工作总结) 本学期,我校本着加强师资队伍建设,做好校本培训工作,以教育教研活动为重点,以新课程改革和青年教师培训为核心,全面实施素质教育,取得了一定的成绩,但也...

疫情期间快递送不到农村怎么办 疫情期间农村快递怎么取

近期由于交通管制通告快递行业收到了危害,可是如今除开湖北省以外许多地区都能够接到快递公司了。可是大部分快递公司是不上乡村的。对必须网络购物的人而言有点儿难。肺炎疫情期内快递公司送不上乡村该怎么办 肺炎...

爱奇艺,免费领5元左右现金红包!

爱奇艺正在举行“520现金天天赚,配对大作战”流动,进入后做下简朴的义务,升到一定品级后,即可免费领取一个现金红包,最高5米,亲测领到4.8米,24小时内到账,可直接提现到银行卡! 流动时间:2...

黑客模拟主题软件(黑客主题软件下载)

黑客模拟主题软件(黑客主题软件下载)

本文导读目录: 1、黑客军团 kali linux 桌面主题 2、我的瑞星软件可以升级,可以杀毒,但是监控中心却怎样也打不开,右下放的绿色小伞也没有了,怎样解决? 3、求《黑客帝国》的wind...

清穿小说排行?十大经典清穿小说

清穿小说排行?十大经典清穿小说

  1、大清隐龙 《大清隐龙 》是作者心净连载于17k小说网的一本历史穿越小说。西历1864年,清同治三年,肖乐天来了,带着改变中华国运的理想来到了这个沉重的时代。 遥远的美利坚合众国,刚刚打...