Wireshark 教程:手把手教你解密 HTTPS 流量(新手友好)
#概述本教程面向进行流量分析的安全专业人员。本教程假定你已经熟悉Wireshark的基本使用并使用Wireshark 3.x版。在审查可疑的网络活动时我们经常会遇到加密的流量。因为大多数网站使用安全超文本传输协议HTTPS协议。和网站一样各种类型的恶意软件也使用HTTPS。在检查恶意软件活动中的PCAP时了解感染后流量中包含的内容非常重要。该Wireshark教程讲解如何使用https日志文件从Wireshark中的pcap解密HTTPS流量。该日志包含https加密密钥数据。使用此密钥日志文件我们可以从pcap中解密HTTPS活动并查看其内容。本教程以检查Dridex恶意软件感染的HTTPS活动作为例子。注意该教程已假设你已经会自定义Wireshark显示方式了如果不会可以参考教程https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/本教程使用的pcap和密钥日志文件下载https://github.com/pan-unit42/wireshark-tutorial-decrypting-HTTPS-traffic警告本教程使用的pcap包含基于Windows的恶意软件。如果使用Windows计算机则存在感染的风险。我们建议您尽可能在非Windows环境例如BSDLinux或macOS中查看此pcap。#加密流量背景在1990年代中期至后期网站使用的最常见协议是超文本传输协议HTTP该协议生成未加密的Web流量。但是随着安全性日益受到关注网站开始切换到HTTPS现在我们很少看到来自Web浏览的HTTP流量。HTTPS本质上是一个包含HTTP流量的加密通信隧道。这些隧道首先使用安全套接字层SSL作为加密协议。如今大多数HTTPS流量都使用传输层安全TLS。#HTTPS Web流量HTTPS流量通常会显示一个域名。例如当在Web浏览器中查看https://www.wireshark.org时在自定义的Wireshark列显示中查看时pcap将显示www.wireshark.org作为此流量的服务器名称。不幸的是我们不知道其他详细信息例如实际的URL或从服务器返回的数据。从传输控制协议TCP流看不会显示此流量的内容因为它是经过加密的。#加密密钥日志文件加密密钥日志是一个文本文件。如图所示。这些日志是在最初记录PCAP时使用中间人(MITM)技术创建的。如果在记录pcap时没有创建这样的文件则无法解密该pcap中的HTTPS流量。#具有密钥日志文件的PCAP示例这个Github存储库提供了一个受密码保护的ZIP存档其中包含pcap及其密钥日志文件。转到Github页面单击ZIP存档条目然后下载它如下图所示。值得注意的是此ZIP存档中包含的pcap在使用密钥日志解密时提供了对基于Windows的恶意软件示例的访问。一如既往我们建议您谨慎行事并在非Windows环境中遵循本教程中的步骤。使用infected作为密码从ZIP存档中提取pcap和密钥日志文件。这将提供两个文件如图所示#没有密钥日志文件的HTTPS流量在Wireshark中打开Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap。按照上一教程中关于Wireshark过滤器的说明使用基本的网络过滤。针对Wireshark 3.x的基本过滤是(http.request or tls.handshake.type eq 1) and !(ssdp)此pcap来自Windows 10主机上的Dridex恶意软件感染。所有Web流量(包括感染活动)都是HTTPS。如果没有密钥日志文件我们将无法看到流量的任何详细信息只能看到IP地址、TCP端口和域名如图所示。#加载密钥日志文件在Wireshark中打开Wireshark-tutorial-on-decrypting-HTTPS-SSL-TLS-traffic.pcap。然后使用菜单Edit–Preferences调出Preferences菜单如图所示。在Preferences菜单的左侧单击Protocol如图所示。如果您使用的是Wireshark版本2.x向下滚动直到找到SSL并将其选中。如果您使用的是Wireshark 3.x版请向下滚动至TLS并选择它。选择SSL或TLS后您应该会看到一行(Pre)-Master-Secret log filename。单击“Browse”按钮并选择名为Wireshark-Tutorial-KeysLogFile.txt的密钥日志文件如图所示。#具有密钥日志文件的HTTPS流量单击“OK”之后在使用基本过滤时Wireshark列显示将在每行HTTPS下列出解密的HTTP请求如图所示。在此pcap中我们现在看到对先前隐藏在HTTPS流量中的microsoft.com和sky pe.com域的HTTP请求。我们还发现了由Dridex感染造成的以下流量foodsgoodforliver[.]com - GET /invest_20.dll105711[.]com - POST /docs.php对foodsgood forliver[.]com的GET请求返回了Dridex的DLL文件。对105711[.]COM的POST请求是来自感染Dridex的Windows主机与命令和控制(C2)的通信。我们可以通过跟踪HTTP流来查看流量。右键单击该行以将其选中然后左键单击以调出跟随HTTP流的菜单。下图显示了对foodsgood forliver[.]com的HTTP GET请求的HTTP流。由于我们有此流量的密钥日志文件因此现在可以从pcap中导出此恶意软件。使用菜单path File–Export Objects–HTTP从pcap中导出此文件如图所示。如果您在BSDLinux或macOS环境中请打开一个终端窗口然后使用file命令确认这是一个DLL文件。然后使用shasum -a 256获取文件的SHA256哈希如下图所示。此恶意软件的SHA256哈希为31cf42b2a7c5c558f44cfc67684cc344c17d4946d3a1e0b2cecb8eb58173cb2f如果在线搜索此散列则应至少从两个公开可用的在线沙箱环境中找到结果。最后我们可以查看此Dridex感染的C2流量。使用基本网络过滤然后沿着其中一个POST请求的HTTP流到达105711[.]com。如下图显示了其中一个HTTP流的示例。#结论本教程讲解了如何使用密钥日志文本文件通过Wireshark解密pcap中的HTTPS流量。如果在最初记录pcap时没有创建密钥日志文件将无法在Wireshark中解密来自该pcap的HTTPS流量。有关Wireshark的更多帮助请参阅我们之前的教程Customizing Wireshark – Changing Your Column DisplayUsing Wireshark – Display Filter ExpressionsUsing Wireshark: Identifying Hosts and UsersUsing Wireshark: Exporting Objects from a PcapWireshark Tutorial: Examining Trickbot InfectionsWireshark Tutorial: Examining Ursnif InfectionsWireshark Tutorial: Examining Qakbot Infections网络安全工程师(白帽子)企业级学习路线第一阶段安全基础入门第二阶段Web渗透初级网安工程师第三阶段进阶部分中级网络安全工程师如果你也想学习:黑客网络安全的渗透攻防今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。黑客/网络安全学习路线今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。网络安全学习资源分享:下面给大家分享一份2025最新版的网络安全学习路线资料帮助新人小白更系统、更快速的学习黑客技术一、2025最新网络安全学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。**读者福利 |**【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享**安全链接放心点击**!网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级网工1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗【“脚本小子”成长进阶资源领取】7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级网工这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。感兴趣的童鞋可以研究一下不懂得地方可以【点这里】加我耗油跟我学习交流一下。网络安全工程师企业级学习路线如图片过大被平台压缩导致看不清的话可以【点这里】加我耗油发给你大家也可以一起学习交流一下。一些我自己买的、其他平台白嫖不到的视频教程需要的话可以扫描下方卡片加我耗油发给你都是无偿分享的大家也可以一起学习交流一下。网络安全学习路线学习资源结语网络安全产业就像一个江湖各色人等聚集。相对于欧美国家基础扎实懂加密、会防护、能挖洞、擅工程的众多名门正派我国的人才更多的属于旁门左道很多白帽子可能会不服气因此在未来的人才培养和建设上需要调整结构鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”才能解人才之渴真正的为社会全面互联网化提供安全保障。特别声明此教程为纯技术分享本书的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失