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

《metasploit渗透测试魔鬼训练营》学习笔记第六章--客户端渗透

四.客户端攻击

     客户端攻击与服务端攻击有个显著不同的标识,就是攻击者向用户主机发送的恶意数据不会直接导致用户系统中的服务进程溢出,而是需要结合一些社会工程学技巧,诱使客户端用户去访问这些恶意数据,间接发生攻击。

     4.1客户端渗透攻击的安全防护机制

             ①DEP

                DEP(数据执行保护)基本原理是操作系统通过设置内存页的属性,指明数据所在的内存页为不可执行。

             ②ASLR

                ASLR(地址空间布局随机化)是系统在运行程序时,不用固定的基地址加载进程及相关工作库文件。

                包括:堆地址的随机化,栈基址的随机化,PE文件映像基址的随机化,PEB,TEB地址的随机化。

     4.2.针对浏览器的渗透攻击

           4.2.1浏览器渗透

                  针对浏览器本身的渗透攻击和对内嵌的第三方插件的渗透攻击

           4.2.2堆喷射

                  客户端渗透攻击经常用到这一技术。攻击者在溢出漏洞之前,在堆区申请大量充满空指令的内存块,每个内存块都尾随shellcode,然后,在溢出时,修改溢出之后的返回地址到这个空间。在浏览器攻击中,一般都会用javascript脚本进行堆喷射。这里不再详解堆喷射技术。

           4.2.3MSF中的自动化浏览器攻击

                 metasploit框架中包含一些针对浏览器及插件的模块,并且还提供了辅助模块 server/browser——autopwn,它在接到来自浏览器的请求后,会依次做三个操作:提取浏览器指纹,自动化渗透,列出渗透模块,但是他不会列出第三方插件的利用模块,因为它无法提取到插件的指纹。

       4.3针对应用软件的渗透攻击

           对于这类安全漏洞,攻击者一般会恶意构造符合正常文件格式的畸形文件,来进行漏洞利用。

           4.3.1内存攻击技术ROP的实现

                  攻击者在溢出程序后,并不执行栈中的shellcode,而是寻找程序已加载模块中的一些特殊指令块,配合栈上的压栈参数,返回地址等数据,将这些孤立的指令块联系起来,从而实现一定的功能,最终完成远程代码执行的目标。但是在哪些苛刻的坏字符的限制条件下,实现的难度太大,根据这个思想,现在有很多技术绕过DEP

                  1.将包含shellcode的内存页面设置为可执行状态。

                  2.先利用virtualalloc函数开辟一段具有执行权限的内存空间,然后将shellcode复制到这段代码中

                  3.通过一些函数直接关掉DEP机制,常用的有ZwSetInformation函数

http://www.lryc.cn/news/91246.html

相关文章:

  • 华为OD机试真题 Java 实现【Linux 发行版的数量】【2023Q1 100分】
  • VMware ESXi 8.0U1a macOS Unlocker OEM BIOS (标准版和厂商定制版)
  • Effective STL_读书笔记
  • 通过yum:mysql5.6-msyql5.7-mysql8.0升级之路
  • C语言数据存储 — 整型篇
  • 高级Excel功能教程_编程入门自学教程_菜鸟教程-免费教程分享
  • ChatGPT会取代低代码开发平台吗?
  • Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!
  • 【RocketMQ】重试机制及死信消息处理
  • Mysql DDL执行方式-pt-osc介绍 | 京东云技术团队
  • C++ stack容器介绍
  • 在 Git 中撤消更改的 6 种方法!
  • LiveGBS国标GB/T28181国标平台功能-电子地图移动位置订阅mobileposition地图定位GPS轨迹坐标位置获取redis获取位置
  • 编程(38)----------计算机的部分原理
  • 若依框架快速搭建(二)
  • 为建筑物的供暖系统实施MPC控制器的小型项目(Matlab代码实现)
  • 【概率论】中心极限定理(二)
  • Blender UV展开流程
  • Flutter 笔记 | Flutter 核心原理(二)关键类和启动流程
  • Android:主题切换
  • terminalworks ASP.NET Core PDF 浏览器-Crack
  • Rust每日一练(Leetday0020) 最后单词的长度、螺旋矩阵II、排列序列
  • 短视频矩阵源码如何做应用编程?
  • 【运维知识进阶篇】Ansible实现一套完整LNMP架构
  • Spring Boot 自动配置一篇概览
  • 深入理解设计原则之接口隔离原则(ISP)【软件架构设计】
  • IMX6ULL裸机篇之I2C实验主控代码说明二
  • 【计算机组成原理与体系结构】数据的表示与运算
  • 如何入门编程
  • SQL中CONVERT转化日期函数的使用方法