美文网首页Metasploit魔鬼训练营
2018-06-16-第五章节-网络服务渗透攻击

2018-06-16-第五章节-网络服务渗透攻击

作者: 最初的美好_kai | 来源:发表于2018-06-18 20:36 被阅读40次

1.内存攻击

内存攻击的根本原因是图灵计算机没能严格区分内存中的数据和指令而导致的。

A:缓冲区溢出漏洞是因为程序缺乏对缓冲区的边界进行条件检查而引起的一种异常行为。

缓冲区溢出又分为栈溢出与堆溢出两种类型。


栈溢出

栈溢出的基本原理在于程序使用栈这种数据结构来控制程序运行流程,程序先将函数返回地址压入栈中,然后执行结束以后再从栈中取回函数返回地址,继续执行指令。问题是出现在当我们向栈中的地址写入数据时,当写入的数据长度超过栈分配的缓冲区地址空间时,就会造成栈溢出。

栈溢出一般有三种利用方式:

A1.覆盖缓冲区附近的程序变量

主要是改变程序的执行流程和结果,从而达到攻击者的目的。

A2.覆盖栈中保存的函数返回地址

这种是最常用的,程序执行完以后直接执行恶意攻击者的代码去了

A3.覆盖某个程序指针或程序异常处理结构

只要溢出以后异常处理结构被执行,同样可以让程序流转到任意地址。这种处理方式可以绕过操作系统的栈保护机制,而且异常处理结构更接近栈底,所以从缓冲区头部到异常处理结构的内存空间更大,处理起来可能更加方便。


这里顺路科普一下那个现代操作系统的缓冲区溢出的安全保护机制,称为ASLR(Address space layout random),通过对堆(heap),栈(stack)等共享地址空间的布局随机化,从而增加攻击者预测地址空间的难度,防止攻击者直接定位攻击代码地址。


堆溢出

堆溢出的概念

图一

堆溢出的原理

图二

缓冲区溢出利用的思路:

主要有三步,第一步是考虑缓冲区溢出的缓冲区空间大小,第二步是通过逆向分析或者源码分析来理解程序逻辑,最后是考虑坏字符,空字符,可能需要考虑编码的情况等来构造shellcode。


这里科普一些端口知识:

Netbios(Network basic input output system)运行在137,138,139端口上

图三

SMB(Server Message Block)运行在445端口上,也可通过139端口来接收数据

MSRPC(Microsoft remote procedure call)主要是135端口。

图四

2.MS08-067内存攻击实战技术

A漏洞原理:攻击者通过msrpc over smb通道来调用server服务程序中的Netpathcanonicalize函数,该函数在远程访问其他主机时候,会调用Netpwcanonicalize函数,该函数会对远程访问主机的路径进行规范化,而该函数存在缓冲区溢出漏洞,从而导致远程代码执行。

B漏洞利用:

图五 图六 图七

就这样日进去了。。。。

C:漏洞源码分析

图八

查看metasploit下面的ruby文件,可以一步步查看漏洞利用源码。

例如描述这一部分,主要介绍了该漏洞出现在NetAPI32.dll中的canonicalization路径处理函数中,该模块主要能够绕过一些NX(No execute,win下面是DEP技术)机制,然后2003的系统有大概率会崩溃或者挂起。

图九

默认设置这个是规定了会话退出采用了退出线程的方式。

图十

payload这里主要是规定了可用空间大小,坏字符,自定义选项等。

图十一

下面规定了可针对的target,包括一些各种平台,一些初始化可能不一样。

D:08-067漏洞原理机制分析

首先用ollydbg打开了所谓的netapi32.dll,然后我们寻找netpwpathcanonicalize函数,如下:

图十二

然后,就是留个坑。。。二进制安全的知识好多看不懂,汇编也看不懂,以后渗透学深了以后再来补补。。。。

相关文章

  • 2018-06-16-第五章节-网络服务渗透攻击

    1.内存攻击 内存攻击的根本原因是图灵计算机没能严格区分内存中的数据和指令而导致的。 A:缓冲区溢出漏洞是因为程序...

  • msf实验Windows漏洞😴

    ?网络服务器攻击渗透(MS08-067) 首先search ms08-067漏洞然后info查看 浏览器攻击渗透(...

  • 渗透攻击之旅

    渗透攻击是许多安全专家职业生涯中都曾攀登过的“山峰”,获取目标主机完全控制权的感觉就像你登临险峰之上,会有一种极佳...

  • MSF学习整理_1

    一、专业术语 渗透攻击——exploit。 攻击载荷——payload 溢出代码——shellcode 模块——m...

  • 渗透测试

    关于企业的渗透测试流程 针对企业的网络服务 前期交互Pre-Engagement Interaction 这个阶段...

  • 内网渗透-横向攻击

    什么是内网横向攻击 当通过外部打点进入到目标内网时,需要利用现有的资源尝试获取更多的凭证与权限,进而达到控制整个内...

  • 渗透测试分类及流程

    1、渗透测试 渗透测试就是模拟恶意攻击者的技术和方法对目标系统发起攻击,挫败目标系统的安全体系,获得控制权,并发现...

  • Padding Oracle

    在整理 Web 程序的渗透方式时,碰到了一种叫做 Padding Oracle 攻击的攻击方式,这种攻击利用了服务...

  • ARP攻击

    一、ARP攻击概述 ARP攻击原理是什么?通过ARP攻击可以做什么,账号是否可以被窃取?有哪些常见的ARP渗透(攻...

  • 域渗透之中继攻击

    (一)NTLM hash NTLMhash通常是指Windows系统下SecurityAccount Manage...

网友评论

    本文标题:2018-06-16-第五章节-网络服务渗透攻击

    本文链接:https://www.haomeiwen.com/subject/zppbeftx.html