网络攻防网站

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:周知日
链接:http://www.zhihu.com/question/24740239/answer/28872069
来源:知乎

DVWA: Damn Vulerable Web Application

DVWA - Damn Vulnerable Web Application

基于 php 和 mysql 的虚拟 Web 应用,“内置”常见的 Web 漏洞,如 SQL 注入、xss 之类,可以搭建在自己的电脑上,随便黑不犯法。搭建环境也很简单,下一个 XAMPP 包装上就差不多能用了。

另外可以翻乌云(WooYun.org | 自由平等开放的漏洞报告平台)和 sebug(http://sebug)上关于开源 Web 应用的历史公开漏洞,找一下对应的版本(一般不难找,历史太久远的可能就麻烦点),在自己机器上搭建环境,尝试去重现。

其实你会发现搭建“靶场”这个工作相对拿现有的漏洞去复现要麻烦上许多,甚至有时候要安装对应的软件甚至操作系统(在虚拟机里)。但搭建本身也是学习 Web 应用知识和网站加固的一个非常好的途径。

DVWA-WooYun(乌云靶场)

乌云上刚发布的测试版,第一时间搬运过来。

免安装在线使用:
DVWA Wooyun edition

原帖地址(需乌云账号):
DVWA-WooYun(乌云靶场)开源漏洞模拟项目 测试版公布!

DVWA-WooYun是一个基于DVWA的PHP+Mysql漏洞模拟练习环境,通过将乌云主站上的有趣漏洞报告建模,以插件形式复现给使用该软件的帽子们,可以让乌云帽子们获得读报告体验不到的真实感,在实践的过程中可以无缝隙地深入理解漏洞的原理及利用方式

中英双字,如果您语文学的不好不必担心了,界面提示英文的(DVWA原厂),内容提示中英双字(后来觉得比较眼花,所以去掉了部分英文)

开放源文件(遵守GPL),有源码有真相:

DVWA-WooYun-edition

百度云 请输入提取密码 xtr8

作者 lxj616

Metasploitable

著名的渗透框架 Metasploit 出品方 rapid7 还提供了配置好的环境 Metasploitable,是一个打包好的操作系统虚拟机镜像,使用 VMWare 的格式。可以使用 VMWare Workstation(也可以用免费精简版的 VMWare Player )“开机”运行。

下载请戳: Download Metasploitable

如果你不喜欢填个人信息,或者这还有个下载地址?
downloads.metasploit.com

这是基于 Ubuntu 系统修改定制的虚拟机镜像,内置了许多可攻击(metasploitable!)的应用程序,比如在 Web 应用方面预装了如下平台:

  • mutillidae (NOWASP Mutillidae 2.1.19)
  • dvwa (Damn Vulnerable Web Application)
  • phpMyAdmin
  • tikiwiki (TWiki)
  • tikiwiki-old
  • dav (WebDav)

系统软件的漏洞(二进制漏洞)也是存在的,可以完成从 Web 到提权的一整套练习。而且已经内置了常见的 Web 环境如 php + mysql,其他的网站应用同样可以尝试在上面自行搭建。

Metasploitable 的官方英文手册:
Metasploitable 2 Exploitability Guide

也可以参考这篇译文:
Metasploitable 2 漏洞演练系统使用指南(上)_91Ri.org
Metasploitable 2 漏洞演练系统使用指南(下)_91Ri.org


OWASP Broken Web Applications Project
code.google.com/p/owasp

跟 Metasploitable 类似,这也是打包好的虚拟机镜像,预装了许多带有漏洞的 Web 应用,有真实世界里的流行网站应用如 Joomla, WordPress 等的历史版本(带公开漏洞),也有 WebGoat, DVWA 等专门用于漏洞测试的模拟环境。

官方的使用说明:
code.google.com/p/owasp
演示视频(需梯):
OWASP Broken Web Applications VM

XCTF_OJ 练习平台


oj.xctf.org.cn/


XCTF-OJ (X Capture The Flag Online Judge)是由 XCTF 组委会组织开发并面向 XCTF 联赛参赛者提供的网络安全技术对抗赛练习平台。


XCTF-OJ 平台将汇集国内外 CTF 网络安全竞赛的真题题库,并支持对部分可获取在线题目交互环境的重现恢复,XCTF 联赛后续赛事在赛后也会把赛题离线文件和在线交互环境汇总至 XCTF-OJ 平台,形成目前全球 CTF 社区唯一一个提供赛题重现复盘练习环境的站点资源。


网络信息安全攻防学习平台

hackinglab.cn/main.php

提供基础知识考查、漏洞实战演练、教程等资料。实战演练以 Web 题为主,包含基础关、脚本关、注入关、上传关、解密关、综合关等。

PentesterLab 练习环境

[PentesterLab] Our exercises

这里面列出的全都是可以直接用虚拟机软件打开的,配置完整的靶场环境。应该是出于版权考虑没有 Windows 的系统镜像,不过覆盖的漏洞也不少,如:

Shellshock [PentesterLab] CVE-2014-6271/Shellshock
XML 实体注入 [PentesterLab] Play XML Entities
会话注入 [PentesterLab] Play Session Injection
从 SQL 注入到 shell [PentesterLab] From SQL Injection to Shell
PHP 文件包含和高级利用 [PentesterLab] PHP Include And Post Exploitation

安装方法是,本地配置一个虚拟机,内存参数可以配的很低,就算有特别说明(注意下载页面)也是要求到 512M。为这个虚拟机添加虚拟光驱作为引导设备,光盘镜像的路径就设置成你下载的靶机 ISO 文件。启动之后点 LIVE CD 直接用,或者安装到虚拟机硬盘里都可以。

PWNABLE.KR

以上都是网页服务器安全相关的靶场,再推荐一个练习二进制 pwn 的网站:Pwnable.kr

pwnable 这类题目在国外 CTF 较为多见,通常会搭建一个有漏洞(如缓冲区溢出等)的 telnet 服务,给出这个服务后端的二进制可执行文件让答题者逆向,简单一点的会直接给源代码,找出漏洞并编写利用程序后直接攻下目标服务获得答案。

这个网站里由简到难列出了许多关卡,现在就上手试试吧。

自行搭建虚拟机

自行搭建 Windows 环境也并不是太麻烦,因为安装程序都是图形化界面,而且这些老系统上的软件通常都比较可靠。你所需要的就是不停点下一步和看进度条的耐心……

在这个网站你可以找到微软系的几乎所有操作系统、服务器工具(如 SQLServer)的原汁原味版安装镜像:MSDN, 我告诉你

系统方面不用说自然推荐Windows XP 和 2003,他们目前的使用率还是相当可观的,既容易上手也具备实战价值,不乏 MS08-067 之类的教科书级漏洞。

软件方面推荐一些较为容易攻击和提权环境:

  • IIS 6:Windows 2003 默认启用,XP 下需要在“添加和删除 Windows 组件”里安装。它有经典的分号文件名解析漏洞,配合许多网页程序编辑模板、生成静态 HTML、上传文件等的漏洞,拿 shell 比较方便。更高版本的 IIS 也有解析漏洞,不过没有这一版这么爽。
  • XAMPP(XAMPP Installers and Downloads for Apache Friends):安装时将 Apache 设置为系统服务,这样将以 SYSTEM 权限运行,你在 getshell 之后可以一步到位拿到管理员权限。
  • SQL Server < 2005:之所以要低于 2005 是因为在这个版本中默认禁用了大伙喜闻乐见的 xp_cmdshell。
  • 一些低版本的第三方 FTP 服务器,如 Serv-U,然后点开右边:Serv-U_漏洞
  • MySQL:各个版本有自己的特点,如 INFORMATION_SCHEMA 在 5.x 才引入,对脱库非常有用,省去跑表名的精力;而像 load_file、UDF 提权之类的利用也因版本而异,展开说篇幅就长了,请参考网上相关教程。
  • CCProxy:可以在内网搞一些初级的端口转发(真实渗透呢,一般是不会用动静这么大的软件的……),这个软件本身低版本也存在远程代码执行漏洞。

我相信会花时间看我这个答案的都是初学者,所以记得安装之后不要给系统打补丁,也不要动辄尝试 Windows 2008 之类比较新的系统,否则可能会一无所得。

一些细节

直接安装上面的虚拟机之后,你就拥有了一个虚拟的服务器,可以对它任意地糟蹋、练习攻防技术而不必有法律上的顾虑。万一不小心搞坏了环境,还可以使用虚拟机自带的快照功能瞬间恢复原状。

但是安装了虚拟机镜像之后仅仅是获得了一个服务器环境,可以用作对应平台脚本或者二进制漏洞的研究。对于需要玩真格的练习,比如要达到夺旗赛的效果,还得设计网络拓扑。你想上面的环境都可以直连 mysql 等数据库,可能一个弱密码就进去了,多没意思。一个完整的渗透过程不仅牵涉到漏洞的利用,还会有进入内网的要求。这时候就需要一些代理或者端口转发工具来实现从“外网”到“核心目标”的访问。

真实世界里的网络一般会有 DMZ 等区域的划分,还会具有网关、路由等。这些环境可以使用多个虚拟机同时运行进行模拟,同时利用 VMWare 等虚拟机软件自带的网络编辑器功能进行配置。对于一般的笔记本,同时带上两个虚拟机真的是很吃力的。所以要玩真格的话,还得多配置几台物理上的真机,或者用成本相对低廉的嵌入式机器如树莓派,甚至是刷了 OpenWRT 的路由器。
posted @ 2015-11-09 18:17  StevenLuke  阅读(1393)  评论(0编辑  收藏  举报