美文网首页网络安全实验室
PentesterLab渗透师养成计划

PentesterLab渗透师养成计划

作者: 许安念安 | 来源:发表于2014-08-07 15:10 被阅读4974次

    原文链接

    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)》

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

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

    相关文章

      网友评论

        本文标题:PentesterLab渗透师养成计划

        本文链接:https://www.haomeiwen.com/subject/kpletttx.html