2020-2021-1 20209320 《Linux内核原理与分析》第十二周作业
这个作业属于哪个课程 | <2020-2021-1Linux内核原理与分析)> |
---|---|
这个作业要求在哪里 | <[2020-2021-1Linux内核原理与分析第十二周作业](https://edu.cnblogs.com/campus/besti/2020-2021-1LKPA/homework/11270 |
这个作业的目标 | 重现 ShellShock 攻击并理解该漏洞的产生原因 |
作业正文 | https://www.cnblogs.com/dyyblog/p/14183072.html |
1. 环境搭建
1.1 下载
$ sudo su
$ wget http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz
1.2安装
$ tar xf bash-4.1.tar.gz
$ cd bash-4.1
$ ./configure #这一步过程比较长,请等待一会
$ make && make install
1.3链接
$ rm /bin/bash
$ ln -s /usr/local/bin/bash /bin/bash
1.4检测漏洞
2. 攻击Set-UID程序
$ sudo ln -sf /bin/bash /bin/sh
$ vi shock.c
#include <stdio.h>
void main()
{
setuid(geteuid()); // make real uid = effective uid.
system("/bin/ls -l");
}
$ sudo su
$ gcc -o shock shock.c
$ chmod u+s shock
hack过程
去掉setuid(geteuid())
$ sudo su
$ gcc -o sh0ck shock.c
$ chmod u+s sh0ck
$ ls -il sh0ck
$ exit
$ ./sh0ck