专业技能 ======== 原则 ---- * 至少完整看完与练习好一本书 * 至少过一遍官方文档 基础必备 -------- HTTP 抓包与调试 ~~~~~~~~~~~~~~~ Firefox 插件 """""""""""" * Firebug/Firecookie + 抓包与各种调试 * Tamper Data + 拦截修改 * Live HTTP Headers + 重放功能 * HackBar + 编码解码/POST 提交 * Modify Headers * 修改头部 Fiddler """"""" * 浏览器代理神器 * 拦截请求或响应 * 抓包 * 重放 * 模拟请求 * 编码解码 * 第三方扩展 + Watcher - Web 前端安全的自动审计工具 Wireshark """"""""" * 各种强大的过滤器语法 tcpdump """"""" * 命令行的类 Wireshark 抓包神器 Python """""" * urllib2 + 打开请求响应调试 - 编辑 urllib2 的 do_open 里的 h.set_debuglevel - 改为 h.set_debuglevel(1),这时可以清晰看到请求响应数据,包括 HTTPS 什么是跳转 ~~~~~~~~~~ 服务端跳转 """""""""" * 302 + * 301 + * u = urllib2.urlopen(url) 后,u.url 能得到服务端跳转后的地址 + urllib2 自己的特性 + 所谓的会跟进去 客户端跳转 """""""""" * + htmlparse 解析就行了 * location.href = "http:/" + "/evilcos.me"; + 正则解析(弱) + JavaScript 引擎解析(强) Office 能力 ~~~~~~~~~~~ * Word 文档编写,看去要专业,尤其对外的 * Excel 里面大量的统计、图表功能,需要善于使用 * PPT 演讲、培训等必备,如何做好 PPT?百度一下... * 进一步 + yEd + Visio + Freemind - 本技能表就是这个制作 上手 Linux ~~~~~~~~~~ * 《鸟哥的 Linux 私房菜》 熟练 Vim ~~~~~~~~ * 实战至少 3 回合:http://coolshell.cn/articles/5426.html 上手 Python ~~~~~~~~~~~ * https://www.python.org/dev/peps/pep-0008/ * http://learnpythonthehardway.org/book/ 《Python 核心编程 2》 """"""""""""""""""""" * 第 4 章 Python 对象 + 完整熟练 * 6.8 Unicode + 完整熟练 * 8.11 迭代器和 iter() 函数 + 完整熟练 * 第 9 章 文件的输入和输出 + 完整熟练 * 第 10 章 错误和异常 + 完整熟练 * 第 11 章 函数和函数式编程 + 完整熟练 * 第12章 模块 + 完整熟练 * 第14章 执行环境 + 完整熟练 * 第15章 正则表达式 + 完整熟练 * 第18章 多线程编程 + 完整熟练 * 20.2 使用 Python 进行 Web 应用:创建一个简单的 Web 客户端 + 完整熟练 算法 ~~~~ * 快排 * 二分 正则表达式 ~~~~~~~~~~ * 调试工具 + Kodos + RegexBuddy - 支持多种语言 - 支持调试优化 * http://www.regexper.com/ + 正则图解 * 正则表达式30分钟入门教程:http://deerchao.net/tutorials/regex/regex.htm * http://wiki.ubuntu.org.cn/Python正则表达式操作指南 * 《精通正则表达式》 研发能力 ~~~~~~~~ 瀑布模型 """""""" * 需求 -> 需求分析 -> 设计 -> 开发 -> 测试 -> 上线 -> 运维/运营 需求分析能力 """""""""""" * 给你一个需求,如何给出一个优美的执行思路——方法论 * 这个能力非常非常非常的关键 调试能力 """""""" * 只要定位出,就没有解决不了的 Bugs * 肉眼看到的都是假象 + 一定要专业的工具与经验配合 * Bugs 在哪出现,最终就在哪进行真实模拟调试 * 缩小范围 + 构建自己的测试样例 - 排除网络复杂未知情况 + 关联模块一个个排除 + Python 单步调试 - import pdb; pdb.set_trace() - 在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试 + 粗暴调试:print 敏捷思想 """""""" * 快速迭代 * 任务拆细 * v1原则:定义好 v1 的目标,快速完成 v1 为优先 * 习惯 WiKi 记录,利于沉淀与分享 翻墙 ~~~~ * 优雅解决方案 + shadowsocks + 一台海外 VPS + Chrome(SwitchyOmega)/Firefox(AutoProxy) + 详情了解:http://mp.weixin.qq.com/s?__biz=MzA3NTEzMTUwNA==&mid=210457700&idx=1&sn=322d1e4c13d3f33ade848e3889c410bf#rd * SSH 隧道 + http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html + 本地转发 - ssh -L :: + 远程转发 - 反弹 - ssh -R :: + 动态转发 - ssh -D Web 安全 -------- 零基础如何学习 Web 安全 ~~~~~~~~~~~~~~~~~~~~~~~ * http://www.zhihu.com/question/21606800/answer/22268855 Web 服务组件 ~~~~~~~~~~~~ 8+1:一图胜千言哎:) .. image:: /download/web_component.png * 钟馗之眼 + 网络空间搜索引擎 + http://www.zoomeye.org + 大量样例:http://www.zoomeye.org/search/dork * 组件具有影响面,越底层的组件影响面可能越大 安全维度 ~~~~~~~~ * 漏洞 * 风险 * 事件 Web 安全标准 ~~~~~~~~~~~~ * OWASP * WASC 实战环境 ~~~~~~~~ XSS """ * 内部平台:ks-xsslab_open + 可以上手 - XSS - CSRF - ClickJacking * http://xss-quiz.int21h.jp/ + 答案::download:`xss/xss_quiz.txt ` * http://prompt.ml/0 + 答案:https://github.com/cure53/XSSChallengeWiki/wiki/prompt.ml * http://escape.alf.nu/ + 答案:http://blog.nsfocus.net/alert1-to-win-write-up/ SQL """ * https://github.com/Audi-1/sqli-labs + SQLI-LABS is a platform to learn SQLI i春秋 """"" * http://www.ichunqiu.com/ Seebug + ZoomEye """""""""""""""" * http://seebug.net * http://zoomeye.org * 你懂得... 工具 ~~~~ 我的渗透利器 """""""""""" Firefox ''''''' * Firebug + 调试 JavaScript,HTTP 请求响应观察,Cookie,DOM 树观察等 * Tamper Data + 拦截修改 * Live Http Header + 重放功能 * Hackbar + 编码解码/POST 提交 * Modify Headers + 修改头部 * GreaseMonkey + Original Cookie Injector for Greasemonkey * NoScript + 进行一些 JavaScript 的阻断 * AutoProxy + 翻墙必备 Chrome '''''' * F12 + 打开开发者工具,功能 == Firebug + 本地存储观察等 * SwichySharp + 翻墙必备 * CookieHacker + http://evilcos.me/?p=366 Web 2.0 Hacking ''''''''''''''' * XSS'OR + 常用其中加解密与代码生成 + http://evilcos.me/lab/xssor/ + 源码:https://github.com/evilcos/xssor * XSSEE 3.0 Beta + Monyer开发的,加解密最好用神器 + http://evilcos.me/lab/xssee/ * Online JavaScript beautifier + JavaScript美化工具,分析JavaScript常用 + http://jsbeautifier.org/ * BeEF + The Browser Exploitation Framework + http://beefproject.com/ HTTP 代理 ''''''''' * Fiddler + 非常经典好用的 Web 调试代理工具 * Burp Suite + 神器,不仅 HTTP 代理,还有爬虫、漏洞扫描、渗透、爆破等功能 * mitmproxy + Python 写的,基于这个框架写神器实在太方便了 漏洞扫描 '''''''' * AWVS + 不仅漏扫方便,自带的一些小工具也好用 * Nmap + 绝对不仅仅是端口扫描!几百个脚本 * Python 自写脚本/工具 漏洞利用 '''''''' * sqlmap + SQL 注入利用最牛神器,没有之一 * Metasploit + 最经典的渗透框架 * Hydra + 爆破必备 抓包工具 '''''''' * Wireshark + 抓包必备 * tcpdump + Linux 下命令行抓包,结果可以给 Wireshark 分析 Seebug + ZoomEye '''''''''''''''' * 类似这类平台都是我们需要的 * Seebug 类似的 + https://www.exploit-db.com/ * ZoomEye 类似的 + https://www.shodan.io/ Kali Linux """""""""" * 除了上面介绍的一些工具,其他海量各类型黑客工具,自己去摸索 书 ~~ * 《黑客攻防技术宝典(Web 实战篇)》 * 《白帽子讲 Web 安全》 * 《Web 前端黑客技术揭秘》 + 余弦和 xisigr 自己出品 * 《Web之困》 * 《SQL 注入攻击与防御》 Papers ~~~~~~ * http://www.exploit-db.com/papers/ * BlackHat/Defcon/XCon/KCon/国内各安全沙龙等相关 Papers 需要持续跟进 嵌入式安全 ---------- 路由器安全 ~~~~~~~~~~ 基础 """" * 嵌入式 Linux 系统方面知识 * 开发系统互联参考模型——第三层网络层 * MIPS/ARM 汇编知识 * VxWorks 系统方面知识 * JTAG 调试接口规范 * 嵌入式系统交叉环境开发 * 路由器芯片方案提供商 + 博通 + Atheros + TrendChip + ACROSPEED + IC+ + 瑞昱 + ... 站点 """" * https://www.openwrt.org/ + OpenWrt is described as a Linux distribution for embedded devices * http://routerpwn.com + 全球主流路由器相关漏洞大集合 * http://see.sl088.com/wiki/Uboot_%E7%BC%96%E8%AF%91 + Uboot_编译 * http://www.devttys0.com/ + Embedded Device Hacking 工具 """" * Binwalk * IDA Pro * gdb/gdbserver * qemu-system * qemu-user-static * Smiasm * Metasm * JTAG 硬件调试器 书 "" * 《揭秘家用路由器 0day 漏洞挖掘技术》 * 《Hacking the XBOX: An Introduction to Reverse Engineering》 * 《Hacking the Cable Modem: What Cable Companies Don't Want You to Know》 * 《MIPS 体系结构透视 》 * 《计算机组成与设计:硬件、软件接口》 摄像头安全 ~~~~~~~~~~ * http://www.openipcam.com/ * https://media.blackhat.com/us-13/US-13-Heffner-Exploiting-Network-Surveillance-Cameras-Like-A-Hollywood-Hacker-Slides.pdf 工控安全 ~~~~~~~~ 基础 """" * 工业生产环境的基本结构,如:SCADA、PCS * 工业生产环境的信息安全风险点(可参考 DHS 出版物) + Improving Industrial Control Systems Cybersecurity with Defense-In-Depth Strategies * 工控网络组态、逻辑开发、应用组态的基本技术方法 * 抓包、看 RFC 分析几个常规工业以太网协议,如:Profinet、Modbus * 买两款 PLC 玩玩,会真实感受到工业环境的信息安全问题(一定记得买以太网模块,不贵二手几百块) 站点 """" 事件跟踪分析 '''''''''''' * http://plcscan.org/blog/ * http://scadastrangelove.blogspot.kr * http://www.phdays.com/ * http://www.scadasl.org * https://scadahacker.com * Duqu + https://scadahacker.com/resources/duqu.html * Stuxnet + https://scadahacker.com/resources/stuxnet.html * Havex + https://scadahacker.com/resources/havex.html 标准协会/测试工具 ''''''''''''''''' * DHS CET 套件 + http://ics-cert.us-cert.gov/Assessments * NERC ES-ISAC + http://www.esisac.com/SitePages/Home.aspx * ICS-ISAC + http://ics-isac.org * NTSB 美国国家工控测试床 + http://energy.gov/oe/downloads/common-cyber-security-vulnerabilitiesobserved-control-system-assessments-inl-nstb * NIST SP 800-82 + http://csrc.nist.gov/publications/nistpubs/800-82/SP800-82-final.pdf * ISA-99 控制系统安全协会 + http://isa99.isa.org/ISA99%20Wiki/Home.aspx * NERC CIP 标准 + http://www.nerc.com/pa/Stand/Pages/ReliabilityStandards.aspx 工具 """" 仿真类 '''''' * 电力仿真软件 testhaness * Modbus 仿真软件 ModScan * 电力 104 协议仿真软件 PMA 测试类 '''''' * Wurldtech Achilles * Codenomicon Defensics * Spirent * BPS 源代码 '''''' * 发现 + https://code.google.com/p/plcscan/ + https://code.google.com/p/modscan/ + https://github.com/arnaudsoullie/scan7 + https://github.com/atimorin + https://github.com/digitalbond/Redpoint * 操纵 + https://www.scadaforce.com/modbus + https://github.com/bashwork/pymodbus + https://rubygems.org/gems/modbus-cli + http://libnodave.sourceforge.net + https://code.google.com/p/dnp3 * 异常监测 + http://blog.snort.org/2012/01/snort-292-scada-preprocessors.html + http://www.digitalbond.com/tools/quickdraw/ * Fuzz + https://github.com/jseidl/peach-pit/blob/master/modbus/modbus.xml 其它 """" * ZoomEye工控专题: http://ics.zoomeye.org/ * Shodan工控专题:https://www.shodan.io/report/l7VjfVKc * https://github.com/evilcos/papers/blob/master/网络空间工控设备的发现与入侵.ppt zoomeye.org ~~~~~~~~~~~ * 全球可以找到无数真实路由器/摄像头/工控设备等 * 如:http://www.zoomeye.org/search?q=app:%22MikroTik%20RouterOS%22&from=dork 研发清单 -------- 编码环境 ~~~~~~~~ * pip * Vagrant * tmux/screen * Vim * Markdown * zsh + oh-my-zsh * Python2.7 * >Django1.4 + http://djangobook.py3k.cn/2.0/ + http://django-debug-toolbar.readthedocs.org/en/latest/ * 其它框架 + web.py + Flask + Tornado * Node.js * Ubuntu/Gentoo/CentOS * IPython * 版本控制 + 废弃 SVN,全面拥抱 Git + GitLab * Nginx + uWSGI Python ~~~~~~ * 官方手册 + 至少过一遍,这都没过一遍,视野会局限 + 行之说:「我没看过 Python 的书,却熟读官方手册……」 Linux/UNIX ~~~~~~~~~~ * 书 + 《鸟哥的 Linux 私房菜》 + 《Linux Shell 脚本攻略》 + 《UNIX 编程艺术》 + 《Software Design 中文版 01》、《Software Design 中文版 02》、《Software Design 中文版 03》 * 让你的电脑默认操作系统就是Linux... 前端 ~~~~ 书 "" * 《JavaScript DOM 编程艺术》 了解 DOM """""""" * 这同样是搞好前端安全的必要基础 库 "" * jQuery * 优秀的插件应该体验一遍,并做些尝试 * 官方文档得过一遍 * D3.js * ECharts + 来自百度 * Google API * ZoomEye Map 组件 + ZoomEye 团队自己基于开源的打造 * AngularJS + Google 出品的颠覆性前端框架 * Bootstrap + 应该使用一遍 爬虫进阶 ~~~~~~~~ * 代理池 + 爬虫「稳定」需要 * 网络请求 + wget/curl + urllib2/httplib2/requests + Scrapy * 验证码破解 + pytesser 调度 ~~~~ * crontab 是最原生的定时调度 * 基于 Redis 实现的分布式调度 * 基于 RPyC 实现的分布式调度 * Celery/Gearman 等调度框架 并发 ~~~~ * 线程池 + 进程内优美的并发方案 * 协程 + 进程内另一种优美的并发方案 + gevent * 多进程 + os.fork + multiprocessing 数据结构 ~~~~~~~~ * JSON * cPickle * protobuf 数据库 ~~~~~~ * MySQL * MongoDB * Cassandra * Hadoop 体系 * Redis * SQLite * bsddb * ElasticSearch 大数据处理 ~~~~~~~~~~ * Hive * Spark * ELK + ElasticSearch + Logstash + Kibana DevOps ~~~~~~ * SSH 证书 * Fabric * SaltStack * Puppet * pssh/dsh * 运维进阶 + 运维工程师必须掌握的基础技能有哪些? + http://www.zhihu.com/question/23665108/answer/25299881 调试 ~~~~ * pdb * logging * Sentry * strace/ltrace * lsof * 性能 + Python 内 - timeit - cProfile - Python性能分析指南:http://www.oschina.net/translate/python-performance-analysis + Python 外 - top/htop/free/iostat/vmstat/ifconfig/iftop... 算法 ~~~~ * 分词 * 贝叶斯 * 神经元 * 遗传算法 * 聚类/分类 * ... 持续集成 ~~~~~~~~ * 自测试 + nose * Jenkins 安全 ~~~~ * 我的分享 + 程序员与黑客:http://www.infoq.com/cn/presentations/programmers-and-hackers + 程序员与黑客 2:http://www.infoq.com/cn/presentations/programmers-and-hackers-part02 协作 ~~~~ * 类似 Trello 的在线协同平台 * Slack * 微信 * 立会 设计思想 -------- * 人人都是架构师:具备架构思想是一件多酷的事 * 实战出真知 * 如何设计 + :download:`任务架构设计变迁.pptx ` + 松耦合、紧内聚 + 单元与单元属性 + 生产者与消费者 + 结构 - 队列 - LRU + 分布式 - 存储 - 计算 + 资源考虑 - CPU - 内存 - 带宽 + 粗暴美学/暴力美学 - 大数据,先考虑 run it,然后才能知道规律在哪 - “run it 优先”能快速打通整体,洞察问题 - “run it 优先”能摆脱细节(繁枝末节)的束缚 - “run it 优先”能快速迭代出伟大的 v1 + 一个字总结 - 美 牛人 1, 2, 3 ------------ * 1 研究:研究东西,有足够洞察力,研究水准不错 * 2 研发:Hack Idea 自己有魄力实现,不懂研发的黑客如同不会游泳的海盗 * 3 工程:研发出来的需要实战、需要工程化,否则只是玩具,而不能成为真的武器