zoukankan      html  css  js  c++  java
  • 20145217《网络对抗》 逆向及BOF进阶实践学习总结

    20145217《网络对抗》 逆向及BOF进阶实践学习总结

    实践目的

    • 1.注入shellcode
    • 2.实现Return-to-libc攻击

    知识点学习总结

    • Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务器的。 Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起
    • Linux中两种基本构造攻击buf的方法:retaddr+nop+shellcode,nop+shellcode+retaddr,缓冲区小就就把shellcode放后边,不然就放前边。
    • Return-to-libc是缓冲区溢出的变体攻击,这种攻击不需要一个栈可以执行,甚至不需要一个shelcode,取而代之的是我们让漏洞程序调转到现存的代码(比如已经载入内存的lib库中的system()函数等)来实现我们的攻击。

    过程概述

    一、注入shellcode

    1.构造shellcode

    2.设置堆栈可执行,并查询堆栈是否可执行,以便shellcode在堆栈上可以执行;关闭地址随机化,避免每次执行分配的内存地址不同

    3.采取nop+shellcode+retaddr方式构造payload(x4x3x2x1将覆盖到堆栈上的返回地址的位置,需要将它改为shellcode的地址)

    4.调试确定该地址

    5.计算地址为0xffffd10,修改payload,因栈长度不够失败

    6.按照anything+retaddr+nops+shellcode修改input_shellcode,运行成功

    二、Return-to-libc攻击

    1.输入命令安装一些用于编译32位C程序的插件

    2.使用另一个shell程序(zsh)代替/bin/bash,设置zsh程序

    3.编写三个文件,我在其他文件夹已编写好,这里是拷贝过来的。

    4.编译retlib.c,并设置SET-UID。编译一个读取环境变量的程序:getenvaddr.c。

    retlib.c程序有一个缓冲区溢出漏洞,它先从一个叫“badfile”的文件里把 40 字节的数据读取到 12 字节的 buffer,引起溢出。fread()函数不检查边界所以会发生溢出。由于此程序为 SET-ROOT-UID 程序,如果一个普通用户利用了此缓冲区溢出漏洞,他有可能获得 root shell。应该注意到此程序是从一个叫做“badfile”的文件获得输入的,这个文件受用户控制。现在我们的目标是为“badfile”创建内容,这样当这段漏洞程序将此内容复制进它的缓冲区,便产生了一个 root shell。

    5.用刚才的getenvaddr程序获得BIN_SH地址,0xffffde21。

    6.编译exploit.c,用gdb获得system和exit地址。system地址0xf7e2eb30,exit地址0xf7e227e0。

    7.修改exploit.c文件,填上刚才找到的内存地址,删除刚才调试编译的exploit程序和badfile文件,重新编译修改后的exploit.c。先运行攻击程序20145215exploit,再运行漏洞程序20145215retlib,攻击成功,获得了root权限。

  • 相关阅读:
    软件体系架构复习要点
    Operating System on Raspberry Pi 3b
    2019-2020 ICPC North-Western Russia Regional Contest
    2019 ICPC ShenYang Regional Online Contest
    2019 ICPC XuZhou Regional Online Contest
    2019 ICPC NanChang Regional Online Contest
    2019 ICPC NanJing Regional Online Contest
    Codeforces Edu Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div.1+Div.2)
    AtCoder Beginning Contest 139
  • 原文地址:https://www.cnblogs.com/jokebright/p/6538042.html
Copyright © 2011-2022 走看看