Black Hat Go:面向黑客与渗透测试者的Go编程
Black Hat Go:面向黑客与渗透测试者的Go编程
简介:
引言
《Black Hat Go:面向黑客与渗透测试者的Go编程》(英文原名:Black Hat Go: Go Programming for Hackers and Pentesters)是一本由三位信息安全领域专家——Tom Steele、Chris Patten和Dan Kottmann——撰写的实用指南。该书于2020年由No Starch Press出版,迅速在网络安全专业人士和希望拓展渗透测试工具编写技能的Go开发者中赢得了广泛欢迎。
与那些专注于Web开发或微服务的传统Go书籍不同,《Black Hat Go》从攻击者的视角提供了对该语言的独特见解。作者们展示了如何利用Go的强大特性(编译速度快、内置并发支持、交叉编译)来创建快速、可靠且隐蔽的工具,这些工具既可用于合法的渗透测试,也可用于研究目的。
这本书是关于什么的?
《Black Hat Go》共12章,每章专注于安全工具编写的特定方面。本书从适合已有编程经验的读者的Go基础知识开始,但很快便进入高级主题:
- 第1-2章:Go语法快速概览,包、结构体、接口的使用以及错误处理。
- 第3章:创建TCP和HTTP客户端与服务器,编写简单的端口扫描器和网络爬虫。
- 第4章:DNS操作——编写自定义DNS解析器、伪造DNS请求、利用DNS进行数据外泄。
- 第5章:HTTP攻击——创建密码暴力破解工具、流量嗅探、伪造标头及绕过认证。
- 第6章:漏洞利用——用Go编写Shellcode、与Metasploit配合使用、创建有效载荷(payloads)。
- 第7章:嗅探与欺骗——数据包拦截、ARP欺骗、使用gopacket进行流量分析。
- 第8章:后渗透——编写后门、植入程序、通过WebSocket和TLS实现C2(命令与控制)。
- 第9章:逆向工程——反汇编Go二进制文件、绕过杀毒软件、代码打包与混淆。
- 第10章:密码学——实现加密、哈希、TLS及证书操作。
- 第11章:自动化——编写漏洞扫描器、集成Shodan、Censys、VirusTotal。
- 第12章:真实案例——Go在实际渗透测试中的应用示例,以及编写自定义工具的建议。
这本书适合谁?
本书面向已具备基础编程知识(最好熟悉Go或其他编译型语言)并对网络安全感兴趣的读者。它将有助于:
- 希望自动化任务并编写自定义工具的渗透测试人员。
- 希望转入安全领域或了解自身代码可能如何被攻击的Go开发者。
- 寻找基于现代语言的实践示例的网络安全课程学生。
- 任何希望学习如何为道德黑客创建高效且隐蔽工具的人。
读者将学到什么?
阅读本书后,您将能够:
- 用Go编写快速的端口扫描器和网络爬虫。
- 创建用于侦察和攻击的自定义DNS和HTTP工具。
- 开发难以被检测的有效载荷(payloads)和后门。
- 使用gopacket库拦截和分析网络流量。
- 实现加密及安全的C2通信通道。
- 混淆和打包Go二进制文件以绕过杀毒软件。