漏洞介绍:

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

漏洞实验环境搭建:

1、 以root权限安装4.1版本的bansh。下载地址:
http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz
2、 安装:

tar xf bash-4.1.tar.gz
cd bash-4.1
./configure
Make && make install

3、 链接:

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

4、 检查漏洞是否存在:

Env x=’() { :; };echo vulnerable’ bash -c “echo this is a test”

5、 如果上一步输出vulnerable,那么让/bin/sh指向/bin/bash

Sudo ln -sf /bin/bash /bin/sh

漏洞真身复现:

 Export foo=’() { :; }; echo hello world’

Bash读取了环境变量,在定义foo之后就直接调用了后面的函数,一旦调用bash,自定义语句就直接触发。

  1. 攻击Set-UID程序。
    我们知道system()函数将调用“/bin/sh -c”来运行指定的命令,这也意味着/bin/bash会被调用。你能够利用shellshock漏洞来获取权限吗?首先确保安装了带有漏洞版本的bash版本,并让/bin/sh指向/bin/bash

编辑如下C代码:

并给其赋一个SUID权限。

成功拿到root权限:

重点函数还是C代码中的setuid(geteuid());可以尝试,如果这段代码被删除,那么就无法成功提权。

原理分析:

我们这里使用该语句的原因是希望read uid = effective uid
这就说明如果real uid 和effective uid相同的话,定义在环境变量中的内容 在该程序中任然有效,但是两个uid如果不同,环境变量失效,就无法发动攻击了,这可以从bash的源代码中得到印证。

Linux Shell Shock漏洞利用和实战相关推荐

  1. android4 设置栈大小,【技术分享】Android内核漏洞利用技术实战:环境搭建栈溢出实战...

    [技术分享]Android内核漏洞利用技术实战:环境搭建&栈溢出实战 2017-08-14 16:22:02 阅读:0次 预估稿费:300RMB 投稿方式:发送邮件至linwei#360.cn ...

  2. ctf安全竞赛入门|漏洞利用、实战练习平台、CTF比赛资源库

    一.漏洞利用.实战练习平台 1.WebGoat漏洞练习环境 https://github.com/WebGoat/WebGoat https://github.com/WebGoat/WebGoat- ...

  3. Linux下堆漏洞利用(off-by-one)

    一个字节溢出被称为off-by-one,曾经的一段时间里,off-by-one被认为是不可以利用的,但是后来研究发现在堆上哪怕只有一个字节的溢出也会导致任意代码的执行.同时堆的off-by-one利用 ...

  4. linux shell脚本,入门到实战详解(二)

    三.shell 编程流程控制语句 (点击进入Linux实战课程↑↑) 3.1 if 条件语句介绍 3.1.1 常用的单/双分支 if 条件语句: # If条件判断语句,通常以if开头,fi结尾.也可加 ...

  5. linux获取字符格式化,Linux 格式化字符串漏洞利用

    目的是接觸一些常見的漏洞,增加自己的視野.格式化字符串危害最大的就兩點,一點是leak memory,一點就是可以在內存中寫入數據,簡單來說就是格式化字符串可以進行內存地址的讀寫.下面結合着自己的學習 ...

  6. linux shell ddos木马,利用Shell 脚本解决DDOS攻击问题

    思路:主要利用 awk ,if结构,sort,uniq #!/bin/bash FilePath="access.log" awk '{print $1}' $FilePath | ...

  7. linux php mysqldump,Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

    利用mysqldump命令备份MySQL数据库的脚本(不带注释版,适合生产环境使用) 设计该脚本的一些设计.编写考虑: 利用mysqldump命令备份MySQL数据库的脚本(不带注释版,适合生产环境使 ...

  8. Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)

    设计该脚本的一些设计.编写考虑: 该脚本适用于编译安装mysql和通过yum或apt-get等安装方式 该脚本可以反复执行,不会重复覆盖数据 可增加,删除N天前的备份以节省磁盘空间 充分利用mysql ...

  9. Linux shell 脚本之shift 命令实战

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

最新文章

  1. R语言dplyr包的slice函数提取数据集的数据行实战
  2. 解决在AX 2009中删除公司时提示:未授权用户##删除表“DEL_PBATRANSLATECONSISTOF”中的记录...
  3. 人脸属性迁移学习笔记
  4. 实战SSM_O2O商铺_10【商铺注册】Service层的实现
  5. Spring 工厂的相关的方法
  6. android3D动画,绕y轴旋转
  7. Delphi TreeView失去焦点也选中
  8. ERP管理软件中的“七脉神剑”
  9. 使用PosixFilePermission的Java设置文件权限
  10. 搜索框+ 定时器+Bug解决
  11. 转 Java笔记:Java内存模型
  12. android期末课设选题_Android课程设计报告书.doc
  13. 【15】 数学建模 | 典型相关分析 | 内附具体实现流程(清风课程,有版权问题,私聊删除)
  14. h2ouve工具使用_NF8480M5 – BIOS设置
  15. Mac怎么安装Andriod模拟器
  16. 惠普电脑调节电脑亮度
  17. vue 身份证格式校验
  18. 计科实训 餐馆点菜系统
  19. python统计不同字符的个数
  20. 树莓派4B中中文字体和中文输入法设置不成功问题解决办法

热门文章

  1. 恋爱电视剧cue程序员,网友:不要侮辱这个职业!
  2. DNS解析:腾讯云转战cloudfare解析记录
  3. 现在很多网友崇拜科学家,反对宣扬戏子,这是什么心态?
  4. LaTex制作表格之合并单元格
  5. 高速公路ETC卡签之我见8-OBU发行
  6. 分享实录 | 技术更迭视角下的游戏语音新玩法
  7. mac下的绘图工具(仿visio)OmniGraffle
  8. NovaMind教程笔记总结
  9. 批量处理更香啊,Python 可轻松制作图文并茂的 PDF 报告
  10. 写给初学JAVA的人