Skip to content

Latest commit

 

History

History
45 lines (23 loc) · 3.26 KB

简介.org

File metadata and controls

45 lines (23 loc) · 3.26 KB

Exploit-Exercises简介

Exploit-Exercises项目提供了三种完整的Ubuntu虚拟机镜像,分别被命名为Nebula、Protostar和Fusion,可通过它们学习系统提权、漏洞分析和利用、Exploit开发、逆向分析和缓冲区溢出等安全技术。

本书只讲解Nebula,Nebula为初级平台,共有20个关卡,涉及了基本的源码级漏洞分析、提权、协议分析和简单的逆向工程等。Nebula有很高的学习价值,除了帮助不懂Linux的安全研究人员提高Linux平台上的安全技术,还可以帮助没有安全经验的开发人员提高编码安全的意识。

Exploit-Exercises的官方网站:http://exploit-exercises.com/。

下载和安装

Exploit-Exercises官方提供了格式为ova的虚拟机镜像文件,下载地址http://exploit-exercises.com/nebula

注意:

截至2014-09-21,Exploit-Exercises的域名一直处于到期状态,请到http://pan.baidu.com/s/1hqIdJXa下bula镜像,该镜像正是我写本书时用的环境。

下载完毕后,用VirtualBox虚拟机导入即可:

  • 启动VirtualBox,点击菜单栏上的“管理”->“虚拟电脑”,在弹出的对话框中点击“选择”,找到 中“exploit-exercises-nebula-4.ova”
  • 点“下一步”,“复选重新初始化所有网卡的”。
  • 启动虚拟机,这时可能会弹出一个错误提示:“Failed to open/create the internal network ‘HostInterfaceNetworking-eth1’ (VERR_INTNET_FLT_IF_NOT_FOUND).”,若读着看到此错误提示,点“设置”,选择“网络”,再确定即可(VirtualBox这时会自动设置网卡)。

玩法

Nebula有20个关卡,用Level0~Level19作为关卡标识,每个关卡的要求及相关代码在http://exploit-exercises.com/nebula 上对应关卡的页面中获得。

每一Level都对应系统中以level开头的账号,密码与账号名相同(比如Level01,对应的系统帐号是level01),每玩一关,都需要用对应的账号登录系统,然后进入到/home/flag×目录中,与该level相关的代码、数据等都放在于此(相关程序的源码在 http://exploit-exercises.com/nebula`中对应Level页面里获得 )。

系统中有一个getflag命令,用来验证是否提权成功。每个level开头的帐号都对应着一个flag开头的帐号,如果当前以flag开头的帐号运行getflag,将提示“You have successfully executed getflag on a target account”,那么说明你成功提权了;提权失败则提示“getflag is executing on a non-flag account,this doesn’t count”。

举个例子,比如进行第一关(Level00),流程应如下:

  1. 首先用level00登录系统(密码就是level00);
  2. 然后进入/home/flag00目录;
  3. http://exploit-exercises.com/nebula 查看题目要求(或看本书);
  4. 得到权限后执行getflag;

5.如果当前是以flag00的身份运行getflag,提示“You have successfully executed getflag on a target account”则表示提权成功,然后登录下一关的level帐号。

如果需要配置系统,可用nebula账号登录,密码也是nebula,该帐号具有sudo权限。比如需要给镜像配置一个IP地址,然后用ssh登录进去,首先nebula登录系统,接着再执行`sudo dhclient eth1`(或者手动指定静态IP)。