PentesterLab渗透演练平台
1、 什么是WebApp Pentesting
WebApp Pentesting,由PentesterLab出品。官方给自己的定义是一个简单又十分有效学习渗透测试的演练平台。它提供诸多的漏洞系统以供网络安全发烧友进行测试和让黑阔们更加深刻地且透彻理解“漏洞”。
跟传统的DVWA和WebGoat等Web演练平台不同,WebApp Pentesting提供Web漏洞练习平台的系统封装包,这有点不同于DVWA等需要自己去搭建服务器。你不但可以针对常见Web漏洞,例如SQL注入、XSS、文件包含、文件上传进行练习,而且还可以对系统进行系统渗透提权。这种打包完善的攻防演练系统,在我国优秀的网络安全资讯网站Freebuf一篇文章《十大渗透测试演练系统》中提到过的十个演练系统中,只有exploit-wa才有类似的功能。怎样?面对如此有趣的演练系统,是不是有点跃跃欲试呢?不急不急,就让小编慢慢道来…( ̄▽ ̄)
2、WebApp Pentesting有什么特色。
除了系统漏洞和Web漏洞双结合之外,WebApp Pentesting有两个特别突出的优点。一个是下载之后部署十分简便。只需配置好网络设置和一个service apache2 start命令就成功开启了系统。二是内容新颖,除了上文提到的传统的Web漏洞之外,LDAP attacks、XML attacts都是很新的内容哦。
WebApp Pentesting 的设计人员通过对大量的Web应用的漏洞进行总结,这个演练系统的多数题目,都是基于实战的,在这个演练系统中,设计者更加强调的是对方法思路的思考而不是简单而低效地枚举或者是单纯地用工具去攻击。官方自诩他们的项目至今还没被超越过,当然,是马是驴,还需要要拉出来溜溜…<( ̄ ﹌  ̄)>
3、怎么使用WebApp Pentesting
到WebApp Pentesting项目的网站上下载LiveCD版的iso文件,只需几步简单的安装就可以了,熟悉Linux系统的朋友,配置网络也十分轻松,最后开启apache服务器就能进入演练系统了。
当你看到如下页面时。说明你已经成功配置WebApp Pentesting了 ( ̄ˇ ̄) :
界面十分简单,相信有着一个聪明小脑袋的各位,一看就会知道怎么用的。好了,实例就不讲解了,答案在官方给出的使用手册上有,而且使用手册上还仔细讲解了Web渗透测试的基础知识和总结了一些经常用到的方法,非常不错哟。祝大家使用愉快~~~ <( ̄) ̄)>
WebApp Pentesting项目网址:
https://pentesterlab.com/web_for_pentester.html
WebApp Pentesting使用手册及答案详解:
https://pentesterlab.com/web_for_pentester/web_for_pentester.pdf
PentesterLab的首页以及他们其他的项目:
https://pentesterlab.com/exercises
喜欢这个项目却不知道如何开始入手玩起来的同学,可以参考我们的实战教程:《Web渗透测试攻略 [一]》《Web渗透测试攻略 [二]》
PentesterLab推出了一个渗透师的学习课程,看了一下感觉挺有条理,可以顺着这个学习路径巩固知识或者从新学习.
课程地址 ———— http://pentesterlab.com/bootcamp/
课程总共分为15周,这里我也以其为区分,这个学习路径我感觉还是非常不错的.
0x01 Week 1 – Linux and scripting
—————————————————————
参考列表:
Hypertext Transfer Protocol – http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
Domain Name System – http://en.wikipedia.org/wiki/Domain_Name_System
Whois – http://en.wikipedia.org/wiki/Whois
Network socket – http://en.wikipedia.org/wiki/Network_socket
实践:
安装Linux:挑选一款虚拟机软件(Vbox,VM)并安装Linux,可以使用类似Ubuntu这样的传统发行版.
学习基本的脚本语言: 从Ruby (Try Ruby: http://tryruby.org/)、Python (Online: http://repl.it/languages/Python) 或者 Perl 中挑选一门,学习语法和他的数据类型.这是一个持之以恒的过程.
—————————————————————
0x02 Week 2 – HTTP
—————————————————————
参考列表:
TCP/IP – http://en.wikipedia.org/wiki/Internet_protocol_suite
Secure Sockets Layer – http://en.wikipedia.org/wiki/Secure_Sockets_Layer
实践:
在虚拟机中安装Apache,使用VIM更改主站的首页,并通过浏览器访问这个页面.
更改你的Host文件,使其可以用vulnerable这个名称访问到.
使用HTTP库(比如使用Ruby的net/http)写一个HTTP客户端来接收你当前站点的返回包.
使用Socket写一个HTTP客户端来接收你当前站点的返回包.
下载BurpSuite并访问一个站点,看看发送了神马请求返回了什么数据.
—————————————————————
0x03 Week 3 – PHP and DNS
—————————————————————
参考列表:
Learn about virtual hosting – http://en.wikipedia.org/wiki/Virtual_hosting
and how to setup vhosts with Apache – http://httpd.apache.org/docs/2.2/vhosts/name-based.html
Zone transfer – http://www.digininja.org/projects/zonetransferme.php
实践:
PHP基础:
在你之前装过Apache的虚拟机中安装PHP,写一个脚本响应有参数的URL,比如访问http://vulnerable/hello.php?name=Louis将返回”Hello Louis”.
安装MySQL并写一个能响应SQL查询的脚本,比如article.php?id=1可以返回a book而article.php?id=2可以返回a computer.
写一个页面使用POST方式向其自己传输数据.
DNS and whois:
在虚拟机中安装命令行工具 dig.
找出PentesterLab所属的Name server,Mail server,并且找出www.pentesterlab.com的真实IP地址
使用whois工具找出pentesterlab.com域名拥有者的注册信息.
—————————————————————
0x04 Week 4 – SSL
—————————————————————
参考列表:
SQL injection – http://en.wikipedia.org/wiki/SQL_injection
Remote File Inclusion – http://en.wikipedia.org/wiki/Remote_file_inclusion
实践:
配置SSL – 在你的Webserver使用HTTPS
玩转SSL –
用HTTP库写一个SSL客户端
用Socket写一个SSL客户端
使用socat工具建立 socket<->ssl-socket连接来访问你之前写的脚本.
—————————————————————
0x05 Week 5 – SQL injection & Local File Include
—————————————————————
参考列表:
MIME – http://en.wikipedia.org/wiki/MIME
实践:
跟随《SQL injection to Shell》这篇文章学习
https://pentesterlab.com/exercises/from_sqli_to_shell/
跟随《PHP Include And Post Exploitation》这篇文章学习
https://pentesterlab.com/exercises/php_include_and_post_exploitation/
—————————————————————
0x06 Week 6 – More SQL injection
—————————————————————
参考列表:
Antisec Movement – http://en.wikipedia.org/wiki/Antisec_Movement
DHCP – http://en.wikipedia.org/wiki/DHCP
FTP – http://en.wikipedia.org/wiki/FTP
Request for Comments – http://en.wikipedia.org/wiki/Request_for_Comments
实践:
学习《SQL injection to Shell》编写脚本(使用Burp帮助调试)
https://pentesterlab.com/exercises/from_sqli_to_shell/
实践《SQL injection to shell》在Postgres的数据库环境下,不要对着PDF做
https://pentesterlab.com/exercises/from_sqli_to_shell_pg_edition/
检查你在Week3所写的PHP代码是否有漏洞(SQL检索数据那部分)
—————————————————————
0x07 Week 7 – FTP and traffic analysis
—————————————————————
参考列表:
Phrack – http://en.wikipedia.org/wiki/Phrack
Phrack: Happy Hacking – http://phrack.org/issues.html?issue=68&id=7#article
Phrack profile on FX – http://phrack.org/issues.html?issue=68&id=2#article
实践:
安装和使用WireShark –
检查你写的HTTP客户端的通信(使用”Follow TCP Stream”)和HTTPS客户端的同学(检查SSL握手包)
FTP –
在虚拟机中安装FTP服务
使用Socket写一个FTP客户端
—————————————————————
0x08 Week 8 – Linux review and Code Exec
—————————————————————
参考列表:
Iptables – http://en.wikipedia.org/wiki/Iptables
Internet Control Message Protocol – http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol
Cryptography – http://en.wikipedia.org/wiki/Cryptography
Cryptographic hash function – http://en.wikipedia.org/wiki/Cryptographic_hash_functions
实践:
学习《Introduction to Linux Host Review》
https://pentesterlab.com/exercises/linux_host_review/
学习《CVE-2012-1823: PHP CGI》
https://pentesterlab.com/exercises/cve-2012-1823/
—————————————————————
0x09 Week 9 – Linux review and Code Exec
—————————————————————
参考列表:
C (programming language) – http://en.wikipedia.org/wiki/C_(programming_language)
Nmap – http://en.wikipedia.org/wiki/Nmap
Setuid – http://en.wikipedia.org/wiki/Setuid
实践:
HTTP服务
写一个HTTP服务(使用fork来处理更多的连接)
Connect to your HTTP server with your browser and check the requests done by your browser
Iptables学习
如果Iptable开启了那么在你的虚拟机中关闭它
使用Iptables组织ICMP请求,使用Ping来检查它是否工作
—————————————————————
0x10 Week 10 – Nmap and Crypto Attacks
—————————————————————
参考列表:
Wifi – http://en.wikipedia.org/wiki/Wifi
WEP – http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy
WAP – http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access
实践:
Nmap
使用Nmap扫描你虚拟机打开的端口
使用Nmap扫描你虚拟机打开的端口,但是前提是使用Iptables阻止了ICMP请求的情况下
使用Iptable来关闭一个打开的端口,使用Nmap来检测是否有效
找一个本地的会议(Ruxmon, 2600…)去瞅瞅
学习《CVE-2008-1930: WordPress 2.5 Cookie Integrity Protection Vulnerability》
https://pentesterlab.com/exercises/cve-2008-1930/
—————————————————————
0x11 Week 11 – WIFI
—————————————————————
参考列表:
Environment Variables – https://wiki.archlinux.org/index.php/Environment_Variables
Network Time Protocol – http://en.wikipedia.org/wiki/Network_Time_Protocol
SMB – http://en.wikipedia.org/wiki/Server_Message_Block
实践:
设立一个WEP加密方式的WIFI热点,然后破掉他的Key
学习《Rack Cookies and Commands Injection》
https://pentesterlab.com/exercises/rack_cookies_and_commands_injection/
—————————————————————
0x12 Week 12 – Linux Exploitation
—————————————————————
参考列表:
Memory management – http://en.wikipedia.org/wiki/Memory_management
Stack – http://en.wikipedia.org/wiki/Call_stack
Stack protection – http://en.wikipedia.org/wiki/Stack_protection
实践:
下载并搞定Nebula(http://exploit-exercises.com/nebula)的levels 00到04
从exploit-exercises(http://exploit-exercises.com/)
—————————————————————
0x13 Week 13 – SSL Pinning and Linux Exploitation
—————————————————————
参考列表:
Public key pinning – https://www.imperialviolet.org/2011/05/04/pinning.html
Your app shouldn’t suffer SSL’s problems – http://www.thoughtcrime.org/blog/authenticity-is-broken-in-ssl-but-your-app-ha/
Guardian’s StrongTrustManager Vulnerabilities – http://www.thoughtcrime.org/blog/strongtrustmanager-mitm/
实践:
下载并搞定Nubla的levels 05到09,从exploit-exercises
学习《From SQL injection to SHELL 2》
https://pentesterlab.com/exercises/from_sqli_to_shell_II/
—————————————————————
0x14 Week 14 – Web For Pentester
—————————————————————
参考列表:
阅读 Web For Pentester – https://pentesterlab.com/exercises/web_for_pentester/
实践:
搞定Nebula的levels 10到14,从exploit-exercises
做《Web For Pentester》中的练习
—————————————————————
0x15 Week 15 – Web For Pentester II
—————————————————————
参考列表:
实践:
搞定Nebula的levels 15到19,从exploit-exercises
做《Web For Pentester II》中的练习
https://pentesterlab.com/exercises/web_for_pentester_II/
—————————————————————
作者推荐的一些书籍
—————————————————————
技术书籍:
《The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities》
《The Web Application Hacker’s Handbook: Discovering and Exploiting Security Flaws》
《Hacking: The Art of Exploitation, 2nd Edition》
《The Tangled Web: A Guide to Securing Modern Web Applications》
…
非技术书记:
《Underground》
《Exploding the Phone: The Untold Story of the Teenagers and Outlaws who Hacked Ma Bell》
《The Pleasure of Finding Things Out: The Best Short Works of Richard P. Feynman (Helix Books)》
…
—————————————————————
PentesterLab渗透演练平台的更多相关文章
- kali linux 2.0下搭建DVWA渗透测试演练平台
DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...
- Nexus设备渗透测试平台 – Kali Linux NetHunter
NetHunter是一个基于Kali Linux为Nexus设备构建的Android渗透测试平台,其中包括一些特殊和独特的功能.NetHunter支持无线802.11注入,一键MANA AP搭建,HI ...
- Samuraiwtf-的确是很好的渗透学习平台
有人问我要渗透测试平台学习,我想到了Samurai ,记得里面带有很多的,这里来推广一下. Samurai Web 测试框架很多人说是live CD测试环境,但是现在似乎不是了,至少目前最新版的只有这 ...
- 渗透测试平台Vulnreport介绍与使用
渗透测试平台Vulnreport介绍与使用 在这篇文章中,我们将跟大家讨论一些关于渗透测试方面的内容,并给大家介绍一款名叫Vulnreport的新型开源工具,而这款工具将能够让任何场景下的渗透测试 ...
- web安全后渗透--XSS平台搭建及使用
xss平台搭建 1.申请一个云主机来进行建站:149.28.xx.xx 2.安装lnmp: wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO ln ...
- 渗透测试平台bwapp简单介绍及安装
先来介绍一下bwapp bwapp是一款非常好用的漏洞演示平台,包含有100多个漏洞 SQL, HTML, iFrame, SSI, OS Command, XML, XPath, LDAP, PHP ...
- DVWA漏洞演练平台 - 文件上传
DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助w ...
- DVWA漏洞演练平台 - SQL注入
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,具体来说,它是利用现有应用程序将(恶意的)SQL命令注入到后台数据库引擎执 ...
- 成都大学CTF 网络攻防演练平台 WP
web1 输入框那里鼠标右键,审查元素,删除maxlength web2 http://ctf.cdusec.org:8082/web2/?cdusec=tql web3 同上,用火狐hackbar或 ...
随机推荐
- Python Django 学习 (一) 【Django 框架初探】
1. 简介: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.2008年9月发布第一个版本,目前的Django版本应该是2.1. 2. 本文的环境 OS : W ...
- 洛谷.1486.[NOI2004]郁闷的出纳员(Splay)
题目链接 /* BZOJ1503: 3164kb 792ms/824ms(新建节点) 洛谷 : 3.06mb 320ms/308ms(前一个要慢wtf 其实都差不多,但前者好写) 四种操作: A:所有 ...
- angularJs中的checkboxs
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- java.sql.SQLException: Error setting driver on UnpooledDataSource.Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for IStudentDaoMapper.Mapperdao.selectcou
是因为 Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for ...
- JUnit accuracy/failure/stress test区别
accuracy test(结果准确性测试) 例如,Assert.assertEquals(expected, actual). 如果结果不符合期望则产生failure.说明程序逻辑有问题. fail ...
- R12.1.3 & R12.2.X 注册客户化应用
R12.2 官方出了运行补丁脚本就可以自动创建客户化应用,所以也把此补丁应用在 R12.1.3上验证一下其可行性,做出以下实验. 1.创建客户化应用账号CUX --login user system ...
- 【转】Intellij IDEA调试功能
http://www.cnblogs.com/winner-0715/p/5422952.html 先编译好要调试的程序.1.设置断点
- Chart:Amcharts
ylbtech-Chart:Amcharts Amcharts ,是一个致力于图表组件开发的公司,公司地址在立陶宛首都维尔纽斯,2004年开始推出图表和地图组件. 1. 简介返回顶部 截至目前,amC ...
- 4、搭建Python环境
搭建Python环境 Linux环境 大多Linux发行版均默认安装了Pthon环境.如想下载不同的版本,可到www.python.org下载.软件安装方法参照Linux软件安装. 输入Python可 ...
- redis StackExchange 主备 实现 demo
网上关于redis高可用基本都是用redis-sentinel 哨兵 或者 redis cluster 集群来实现, 但是有没有更简单的方式,比如我现在就只有2个redis实例.我试验的结果是我们可用 ...