PentesterLab渗透师养成计划

原文链接

Ps:
PentesterLab推出了一个渗透师的学习课程,看了一下感觉挺有条理,可以顺着这个学习路径巩固知识或者从新学习.
课程地址 ———— http://pentesterlab.com/bootcamp/
课程总共分为15周,这里我也以其为区分,这个学习路径我感觉还是非常不错的.

0×01 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 中挑选一门,学习语法和他的数据类型.这是一个持之以恒的过程.
—————————————————————

0×02 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并访问一个站点,看看发送了神马请求返回了什么数据.
—————————————————————

0×03 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域名拥有者的注册信息.
—————————————————————

0×04 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连接来访问你之前写的脚本.
—————————————————————

0×05 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/

—————————————————————

0×06 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检索数据那部分)
—————————————————————

0×07 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客户端
—————————————————————

0×08 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/

—————————————————————

0×09 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来检查它是否工作
—————————————————————

0×10 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/

—————————————————————

0×11 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/

—————————————————————

0×12 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/)
—————————————————————

0×13 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/

—————————————————————

0×14 Week 14 – Web For Pentester
—————————————————————
参考列表:
阅读 Web For Pentester – https://pentesterlab.com/exercises/web_for_pentester/
实践:
搞定Nebula的levels 10到14,从exploit-exercises
做《Web For Pentester》中的练习
—————————————————————

0×15 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)》

—————————————————————

俺的一点总结:
总结完了整个列表,觉得参考的部分有点乱和零碎,不过依据这个学习路径应该是可以使知识系统起落的,但是渗透的活儿始终是个面儿的问题.所以还需要不断的积累和实践.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容