Correia-jpv/fucking-the-book-of-secret-knowledge

GitHub: Correia-jpv/fucking-the-book-of-secret-knowledge

Stars: 274 | Forks: 29

Master

"知识就是力量,请小心使用!"

精选的灵感列表、手册、速查表、博客、技巧、单行命令、CLI/Web 工具等合集。


Pull Requests MIT License


## :notebook_with_decorative_cover:  这是什么? 这个仓库是我日常工作中使用的各种材料和工具的集合。它包含了大量汇集在一起的实用信息。对我来说,这是一个宝贵的知识来源,我经常回顾查阅。 ## :restroom:  面向谁? 真的,是面向所有人的。在这里,每个人都能找到自己喜欢的内容。但老实说,它主要面向系统管理员、网络管理员、DevOps、渗透测试人员和安全研究人员。 ## :newspaper:  RSS Feed 与更新 GitHub 公开了提交的 [RSS/Atom](https://github.com/correia-jpv/fucking-the-book-of-secret-knowledge/commits.atom) feed,如果你想了解所有变更,这也可能很有用。 ## :ballot_box_with_check:  待办事项 - [ ] 添加新内容... - [ ] 添加有用的 Shell 函数 - [ ] 为收集工具(如 CLI 工具)添加单行命令 - [ ] 列表排序 也会定期添加新项目。 ## :anger:  目录 仅主要章节: - **[CLI 工具](#cli-tools-toc)** - **[GUI 工具](#gui-tools-toc)** - **[Web 工具](#web-tools-toc)** - **[系统/服务](#systemsservices-toc)** - **[网络](#networks-toc)** - **[容器/编排](#containersorchestration-toc)** - **[手册/指南/教程](#manualshowtostutorials-toc)** - **[灵感列表](#inspiring-lists-toc)** - **[博客/播客/视频](#blogspodcastsvideos-toc)** - **[黑客/渗透测试](#hackingpenetration-testing-toc)** - **[你的日常知识和新闻](#your-daily-knowledge-and-news-toc)** - **[其他速查表](#other-cheat-sheets-toc)** - **[Shell 单行命令](#shell-one-liners-toc)** - **[Shell 技巧](#shell-tricks-toc)** - **[Shell 函数](#shell-functions-toc)** ## :trident:  秘密知识之书(章节) #### CLI 工具  [[目录]](#anger-table-of-contents) ##### ▪ Shells

   🌎 GNU Bash - 是一个 sh 兼容的 Shell,融合了 Korn Shell 和 C Shell 的实用功能。
   🌎 Zsh - 是一个为交互式使用而设计的 Shell,尽管它也是一种强大的脚本语言。
   🌎 tclsh - 是一个非常强大的跨平台 Shell,适用于广泛的用途。
    14970⭐   2316🍴 bash-it - 是一个用于使用、开发和维护 Shell 脚本及自定义命令的框架。
   🌎 Oh My ZSH! - 是管理 Zsh 配置的最佳框架。
    11196⭐    805🍴 Oh My Fish - Fishshell 框架。
    54478⭐   2395🍴 Starship - 用 Rust 编写的跨 Shell 提示符。
    53160⭐   2394🍴 powerlevel10k - 是 Powerlevel9k ZSH 主题的快速重实现版。

##### :black_small_square: Shell 插件

    16938⭐   1182🍴 z - 追踪你最常使用的文件夹,允许你直接跳转,无需输入完整路径。
    78252⭐   2700🍴 fzf - 是一个通用的命令行模糊查找器。
    34927⭐   1924🍴 zsh-autosuggestions - Zsh 的 Fish 式自动建议。
    22309⭐   1366🍴 zsh-syntax-highlighting - Zsh 的 Fish Shell 式语法高亮。
    17458⭐    592🍴 Awesome ZSH Plugins - ZSH 框架、插件、主题和教程列表。

##### :black_small_square: 管理器

   🌎 Midnight Commander - 是一个可视化的文件管理器,基于 GNU 通用公共许可证授权。
    16961⭐    929🍴 ranger - 是一个受 VIM 启发的控制台文件管理器。
    21344⭐    796🍴 nnn - 是一个极小、闪电般快、功能丰富的文件管理器。
   🌎 screen - 是一个全屏窗口管理器,可复用一个物理终端。
        ?⭐      ?🍴 tmux - 是一个终端复用器,让你在一个终端中轻松切换多个程序。
      267⭐     44🍴 tmux-cssh - 是一个用于设置舒适且易用的 tmux-sessions 功能的工具。

##### :black_small_square: 文本编辑器

   vi - 是 Unix 上最常见的文本编辑器之一。
   🌎 vim - 是一个高度可配置的文本编辑器。
   🌎 emacs - 是一个可扩展、可定制、自由/免费的文本编辑器,甚至更多。
    28078⭐   1289🍴 micro - 是一个现代且直观的基于终端的文本编辑器。
   🌎 neovim - 是一个免费开源、强大、可扩展且易用的代码编辑器。
   🌎 spacemacs - 一个社区驱动的 Emacs 发行版。
   🌎 spacevim - 一个社区驱动的 vim 发行版。

##### :black_small_square: 文件和目录

    41869⭐    985🍴 fd - 是 find 的一个简单、快速且用户友好的替代品。
   🌎 ncdu - 是一个易于使用、快速的磁盘使用分析器。

##### :black_small_square: 网络

   🌎 PuTTY - 是一个 SSH 和 telnet 客户端,最初由 Simon Tatham 开发。
   🌎 Mosh - 是一个 SSH 包装器,旨在通过不稳定的连接保持 SSH 会话存活。
   🌎 Eternal Terminal - 在 SSH 会话内启用鼠标滚动和 tmux 命令。
   🌎 nmap - 是一个免费开源(许可)的网络发现和安全审计工具。
     6119⭐    962🍴 zmap - 是一个快速的单包网络扫描器,专为互联网范围的网络调查而设计。
    19342⭐   1287🍴 Rust Scan - 比 Nmap 更快地发现所有开放端口。
    25380⭐   3193🍴 masscan - 是最快的互联网端口扫描器,异步发送 SYN 包。
      167⭐     37🍴 pbscan - 是一个更快、更高效的无状态 SYN 扫描器和 Banner 抓取器。
   hping - 是一个面向命令行的 TCP/IP 数据包组装/分析器。
     3146⭐b>   363🍴 mtr - 是一个将 'traceroute' 和 'ping' 程序的功能结合在一个工具中的工具。
     2715⭐    236🍴 mylg - 将不同网络探测的功能结合在一个诊断工具中的实用程序。
   netcat - 使用 TCP/IP 协议跨网络连接读写数据的实用程序。
   socat - 在两个对象之间传输数据的实用程序。
   🌎 tcpdump - 是一个强大的命令行数据包分析器。
   🌎 tshark - 是一个允许我们转储和分析网络流量的工具(wireshark cli)。
   🌎 Termshark - 是一个简单的 tshark 终端用户界面。
      998⭐    106🍴 ngrep - 就像应用于网络层的 GNU grep。
   netsniff-ng - 如果你愿意的话,它是你日常 Linux 网络管道的瑞士军刀。
      423⭐     55🍴 sockdump - 转储 Unix 域 Socket 流量。
     1801⭐    233🍴 stenographer - 是一个旨在快速将所有数据包转储到磁盘的数据包捕获解决方案。
      485⭐     26🍴 tcpterm - 在 TUI 中可视化数据包。
     1350⭐    108🍴 bmon - 是一个监控和调试工具,用于捕获网络相关统计数据并进行可视化展示。
   iptraf-ng - 是一个基于控制台的 Linux 网络监控程序,显示 IP 流量信息。
     1676⭐    134🍴 vnstat - 是一个用于 Linux 和 BSD 的网络流量监控器。
   🌎 iPerf3 - 是一个用于主动测量 IP 网络上最大可实现带宽的工具。
     5850⭐    408🍴 ethr - 是一个用于 TCP、UDP 和 HTTP 的网络性能测量工具。
      185⭐     20🍴 Etherate - 是一个基于 Linux CLI 的以太网和 MPLS 流量测试工具。
     4261⭐    553🍴 echoip - 是一个 IP 地址查询服务。
      521⭐     75🍴 Nemesis - 数据包操作 CLI 工具;构造和注入多种协议的数据包。
      393⭐     87🍴 packetfu - 一个 Ruby 的中级数据包操作库。
   🌎 Scapy - 数据包操作库;伪造、发送、解码、捕获广泛协议的数据包。
    15512⭐   3875🍴 impacket - 是一个用于处理网络协议的 Python 类集合。
     2989⭐    266🍴 ssh-audit - 是一个用于 SSH 服务器审计的工具。
   🌎 aria2 - 是一个轻量级的多协议和多源命令行下载实用程序。
      286⭐     30🍴 iptables-tracer - 观察数据包通过 iptables 链的路径。
      381⭐     67🍴 inception - 一个高度可配置的工具,用于针对任意数量的主机检查你喜欢的任何内容。
   🌎 mRemoteNG - mRemote 的一个分支,多标签页的增强版 PuTTY!

##### :black_small_square: 网络 (DNS)

     1034⭐    109🍴 dnsdiag - 是 DNS 诊断和性能测量工具。
     1765⭐    214🍴 fierce - 是一个用于定位非连续 IP 空间的 DNS 侦察工具。
    13169⭐   1512🍴 subfinder - 是一个子域名发现工具,用于发现网站的有效子域名。
    10842⭐   2206🍴 sublist3r - 是一个快速的子域名枚举工具,适用于渗透测试人员。
    14204⭐   2088🍴 amass - 是一个通过抓取数据源、爬取 Web 存档等方式获取子域名的工具。
      923⭐    156🍴 namebench - 根据你的浏览历史提供个性化的 DNS 服务器推荐。
     3543⭐    499🍴 massdns - 是一个用于批量查询和侦察的高性能 DNS stub 解析器。
     4140⭐    884🍴 knock - 是一个通过字典枚举目标域名字域名的工具。
      477⭐     73🍴 dnsperf - DNS 性能测试工具。
    13078⭐   1100🍴 dnscrypt-proxy 2 - 一个灵活的 DNS 代理,支持加密 DNS 协议。
      105⭐     24🍴 dnsdbq - 提供对被动 DNS 数据库系统访问的 API 客户端。
     1422⭐    107🍴 grimd - 快速 DNS 代理,旨在将互联网广告和恶意软件服务器引入黑洞。
     5608⭐    843🍴 dnstwist - 检测域名抢注、网络钓鱼攻击、欺诈和品牌冒充。

##### :black_small_square 网络 (HTTP)

   🌎 curl - 是一个使用 URL 传输数据的命令行工具和库。
   🌎 kurly - 是广泛流行的 curl 程序的替代品,用 Golang 编写。
    37628⭐   3820🍴 HTTPie - 是一个用户友好的 HTTP 客户端。
    10715⭐    411🍴 wuzz - 是一个用于 HTTP 检查的交互式 CLI 工具。
      719⭐     80🍴 h2spec - 是一个用于 HTTP/2 实现的一致性测试工具。
      410⭐     36🍴 h2t - 是一个简单的工具,帮助系统管理员加固他们的网站。
     3850⭐    243🍴 htrace.sh - 是一个用于 http/https 故障排除和分析的简单瑞士军刀。
     6256⭐    387🍴 httpstat - 是一个以美观清晰的方式可视化 curl 统计信息的工具。
     4203⭐    124🍴 httplab - 是一个交互式 Web 服务器。
   🌎 Lynx - 是一个用于万维网的文本浏览器。
        ?⭐      ?🍴 Browsh - 是一个完全交互、实时且现代的基于文本的浏览器。
     6509⭐    444🍴 HeadlessBrowsers - 现有(几乎)所有无头 Web 浏览器的列表。
   🌎 ab - 是一个单线程命令行工具,用于测量 HTTP Web 服务器的性能。
   🌎 siege - 是一个 HTTP 负载测试和基准测试实用程序。
    40104⭐   3032🍴 wrk - 是一个现代 HTTP 基准测试工具,能够产生显著的负载。
     4553⭐    419🍴 wrk2 - 是 wrk 的恒定吞吐量、正确延迟记录变体。
    24935⭐   1414🍴 vegeta - 是 wrk 的恒定吞吐量、正确延迟记录变体。
     6743⭐    334🍴 bombardier - 是一个用 Go 编写的快速跨平台 HTTP 基准测试工具。
      444⭐     96🍴 gobench - http/https 负载测试和基准测试工具。
    19799⭐   1286🍴 hey - HTTP 负载生成器,ApacheBench (ab) 的替代品,前身为 rakyll/boom。
     1212⭐    101🍴 boom - 是一个脚本,可用于快速对你的 Web 应用部署进行冒烟测试。
     1627⭐    308🍴 SlowHTTPTest - 是一个通过延长 HTTP 来模拟某些应用层拒绝服务攻击的工具。
    13475⭐   1559🍴 gobuster - 是一个免费开源的目录/文件和 DNS 爆破工具,用 Go 编写。
     1750⭐    249🍴 ssllabs-scan - SSL Labs API 的命令行参考实现客户端。
     1855⭐    166🍴 http-observatory - Mozilla HTTP Observatory CLI 版本。
   🌎 Hurl - 是一个使用纯文本运行和测试 HTTP 请求的命令行工具。

##### ▪ SSL

   🌎 openssl - 是一个用于 TLS 和 SSL 协议的健壮、商业级且功能齐全的工具包。
   🌎 gnutls-cli - 用于与其他计算机建立 TLS 连接的客户端程序。
   sslyze - 快速且强大的 SSL/TLS 服务器扫描库。
     2582⭐    413🍴 sslscan - 测试启用 SSL/TLS 的服务以发现支持的密码套件。
     8924⭐   1115🍴 testssl.sh - 在任何端口上测试 TLS/SSL 加密。
     1991⭐    264🍴 cipherscan - 一种非常简单的方法来找出目标支持哪些 SSL 密码套件。
   spiped - 是一个用于在 Socket 地址之间创建对称加密和认证管道的实用程序。
    32877⭐   3490🍴 Certbot - 是 EFF 的工具,用于从 Let's Encrypt 获取证书,并(可选)在你的服务器上自动启用 HTTPS。
    58208⭐   3043🍴 mkcert - 简单的零配置工具,用于制作具有你喜欢的任何名称的本地信任开发证书。
     2438⭐    212🍴 certstrap - 用于引导 CA、证书请求和签名证书的工具。
     1027⭐    168🍴 Sublert - 是一个安全和侦察工具,用于自动监控新子域名。
      377⭐     52🍴 mkchain - 帮助你构建有效 SSL 证书链的开源工具。
      780⭐    292🍴 ssl-cert-check - SSL 证书过期检查器。

##### :black_small_square: 安全

   🌎 - 提供了一个内置于 Linux 内核的灵活强制访问控制 (MAC) 系统。
   🌎 AppArmor - 主动保护操作系统和应用程序免受外部或内部威胁。
     1045⭐     91🍴 grapheneX - 自动化系统加固框架。
   DevSec Hardening Framework - 安全 + DevOps:自动服务器加固。

##### :black_small_square: 审计工具

   🌎 ossec - 通过文件完整性监控主动监控系统活动的各个方面。
   🌎 auditd - 提供一种跟踪系统上安全相关信息的方法。
   🌎 Tiger - 是一个既可用作安全审计又可用作入侵检测系统的安全工具。
   🌎 Lynis - 经过实战检验的安全工具,适用于运行 Linux、macOS 或基于 Unix 的操作系统的系统。
     7847⭐   2028🍴 LinEnum - 脚本化的本地 Linux 枚举和权限提升检查。
      154⭐     34🍴 Rkhunter - Linux 系统的扫描工具,用于扫描系统上的后门、Rootkit 和本地漏洞利用。
     3562⭐    469🍴 PE-sieve - 是一个轻量级工具,帮助检测系统上运行的恶意软件。
    19398⭐   3355🍴 PEASS - 用于 Windows 和 Linux/Unix 及 MacOS 的权限提升工具。

##### :black_small_square: 系统诊断/调试器

     2577⭐    470🍴 strace - Linux 的诊断、调试和指导性用户空间实用程序。
   DTrace - 是一个性能分析和故障排除工具。
   🌎 ltrace - 是一个库调用跟踪器,用于跟踪程序对库函数的调用。
      135⭐      7🍴 ptrace-burrito - 是 ptrace 的友好封装。
    10384⭐   1672🍴 perf-tools - 基于 Linux perf_events(又名 perf)和 ftrace 的性能分析工具。
     9976⭐   1440🍴 bpftrace - Linux eBPF 的高级跟踪语言。
     8208⭐    752🍴 sysdig - 系统探索和故障排除工具,提供对容器的一流支持。
   Valgrind - 是一个用于构建动态分析工具的插桩框架。
     8934⭐   1544🍴 gperftools - 高性能多线程 malloc() 实现,以及一些性能分析工具。
   🌎 glances - 用 Python 编写的跨平台系统监控工具。
     5975⭐    577🍴 htop - Unix 系统的交互式文本模式进程查看器。旨在成为更好的 'top'。
    11100⭐    551🍴 bashtop - 用纯 Bash 编写的 Linux 资源监视器。
   nmon - 一个用于性能监控和数据分析的单可执行文件。
   🌎 atop - ASCII 性能监视器。包括 CPU、内存、磁盘、交换、网络和进程的统计数据。
   🌎 lsof - 在其输出中显示有关进程打开的文件的信息。
   FlameGraph - 堆栈跟踪可视化工具。
     1028⭐     33🍴 lsofgraph - 将 Unix lsof 输出转换为显示 FIFO 和 UNIX 进程间通信的图表。
    10401⭐    650🍴 rr - 是一个轻量级工具,用于记录、重放和调试应用程序的执行。
   🌎 Performance Co-Pilot - 系统性能分析工具包。
     9984⭐    258🍴 hexyl - 一个命令行十六进制查看器。
     2169⭐     65🍴 Austin - CPython 的 Python 帧堆栈采样器。

##### :black_small_square: 日志分析器

     3717⭐     75🍴 angle-grinder - 在命令行上切片和切块日志文件。
   🌎 lnav - 具有搜索和自动刷新功能的日志文件导航器。
   🌎 GoAccess - 在终端中运行的实时 Web 日志分析器和交互式查看器。
     6522⭐    473🍴 ngxtop - nginx 服务器的实时指标。

##### :black_small_square: 数据库

     9841⭐    384🍴 usql - SQL 数据库的通用命令行界面。
    13049⭐    583🍴 pgcli - 带有自动补全和语法高亮的 Postgres CLI。
    11880⭐    683🍴 mycli - 带有自动补全和语法高亮的 MySQL 终端客户端。
     3202⭐     91🍴 litecli - 带有自动补全和语法高亮的 SQLite CLI。
     1408⭐    193🍴 mssql-cli - 带有自动补全和语法高亮的 SQL Server CLI。
    23147⭐   2554🍴 OSQuery - 是一个 SQL 驱动的操作系统检测、监控和分析框架。
     3431⭐    215🍴 pgsync - 将数据从一个 Postgres 数据库同步到另一个。
 &;   2727⭐    114🍴 iredis - 带有自动补全和语法高亮的 Redis 终端客户端。
   🌎 SchemaCrawler - 生成数据库的 E-R 图。

##### ▪ TOR

     2290⭐    332🍴 Nipe - 使 Tor 网络成为你的默认网关的脚本。
     1143⭐    184🍴 multitor - 一个允许你通过负载均衡创建多个 TOR 实例的工具。

##### :black_small_square: 即时通讯/IRC 客户端

   🌎 Irssi - 是一个免费开源的基于终端的 IRC 客户端。
   🌎 WeeChat - 是一个极其可扩展且轻量级的 IRC 客户端。

##### :black_small_square: 生产力

   🌎 taskwarrior - 任务管理系统,待办事项列表

##### :black_small_square: 其他

      995⭐    114🍴 sysadmin-util - Linux/Unix 系统管理员工具。
   incron - 是一种基于 inode 的文件系统通知技术。
     6011⭐    474🍴 lsyncd - 将本地目录与远程目标同步(实时同步守护程序)。
     4091⭐     98🍴 GRV - 是一个用于查看 Git 仓库的基于终端的界面。
   🌎 Tig - Git 的文本模式界面。
    61521⭐   5100🍴 tldr - 简化且社区驱动的 man pages。
     4444⭐    400🍴 archiver - 轻松创建和解压 .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, 和 .rar。
    27971⭐   1742🍴 commander.js - JavaScript 编写的极简 CLI 创建器。
    14391⭐    327🍴 gron - 让 JSON 可被 grep!
     1344⭐     51🍴 bed - 用 Go 编写的二进制编辑器。

#### GUI 工具  [[目录]](#anger-table-of-contents) ##### :black_small_square: 终端模拟器

     4620⭐    587🍴 Guake - 是为 GNOME 桌面环境制造的下拉式终端。
   🌎 Terminator - 基于 GNOME Terminal,为系统管理员和其他用户提供实用功能。
   🌎 Kitty - 是一个基于 GPU 的终端模拟器,支持平滑滚动和图像显示。
    62756⭐   3319🍴 Alacritty - 是一个快速、跨平台、使用 OpenGL 的终端模拟器。

##### :black_small_square: 网络

   🌎 Wireshark - 是世界上首屈一指且广泛使用的网络协议分析器。
   🌎 Ettercap - 是一个全面的网络监控工具。
   🌎 EtherApe - 是一个图形化的网络监控解决方案。
   🌎 Packet Sender - 是一个用于数据包生成的网络实用程序,内置 UDP/TCP/SSL 客户端和服务器。
   🌎 Ostinato - 是一个数据包制作器和流量生成器。
   🌎 JMeter™ - 用于负载测试功能行为并测量性能的开源软件。
    27559⭐   3181🍴 locust - 用 Python 编写的可扩展用户负载测试工具。

##### :black_small_square: 浏览器

   🌎 TOR Browser - 保护你的隐私,抵御网络监控和流量分析。

##### :black_small_square: 密码管理器

   🌎 KeePassXC - 安全地存储你的密码,并将其自动输入到你日常使用的网站和应用程序中。
   🌎 Bitwarden - 内置同步功能的开源密码管理器。
        ?⭐      ?🍴 Vaultwarden - 用 Rust 编写的非官方 Bitwarden 兼容服务器。

##### :black_small_square: 即时通讯/IRC 客户端

   🌎 HexChat - 是一个基于 XChat 的 IRC 客户端。
   🌎 Pidgin - 是一个易于使用且免费的聊天客户端,被数百万人使用。

##### :black_small_square: 即时通讯(端到端加密)

   🌎 Signal - 是一个加密通讯应用程序。
   🌎 Wire - 安全的消息传递、文件共享、语音通话和视频会议。
      988⭐    278🍴 TorChat - 基于 Tor Hidden Services 的去中心化匿名即时通讯工具。
   🌎 Matrix - 一个用于安全、去中心化、实时通信的开放网络。

##### :black_small_square: 文本编辑器

   🌎 Sublime Text - 是一个轻量级、跨平台的代码编辑器,以其速度和易用性著称。
   🌎 Visual Studio Code - Microsoft 开发的开源且免费的源代码编辑器。
   🌎 Atom - 一个面向 21 世纪的可黑客文本编辑器。

#### Web 工具  [[目录]](#anger-table-of-contents) ##### :black_small_square: 浏览器

   🌎 SSL/TLS Capabilities of Your Browser - 测试你浏览器的 SSL 实现。
   🌎 Can I use - 提供最新的前端 Web 技术浏览器支持表。
   🌎 Panopticlick 3.0 - 你的浏览器对跟踪安全吗?
   🌎 Privacy Analyzer - 查看浏览器暴露了哪些数据。
   🌎 Web Browser Security - 一切都是关于 Web 浏览器指纹识别。
   🌎 How's My SSL? - 帮助 Web 服务器开发人员了解现实世界中的 TLS 客户端的能力。
   🌎 sslClientInfo - 客户端测试(包括 TLSv1.3 信息)。

##### :black_small_square: SSL/安全

   🌎 SSLLabs Server Test - 对任何 SSL 服务器的配置进行深度分析。
   🌎 SSLLabs Server Test (DEV) - 对任何 SSL Web 服务器的配置进行深度分析。
   🌎 ImmuniWeb® SSLScan - 测试 SSL/TLS (PCI DSS, HIPAA 和 NIST)。
   🌎 SSL Check - 扫描你网站的非安全内容。
   SSL Scanner - 分析网站安全性。
   🌎 CryptCheck - 测试你的 TLS 服务器配置(如密码)。
   🌎 urlscan.io - 扫描和分析网站的服务。
   🌎 Report URI - 监控安全策略如 CSP 和 HPKP。
   🌎 CSP Evaluator - 允许开发人员和安全专家检查内容安全策略 (CSP)。
   🌎 Useless CSP - 关于一些大玩家的 CSP 公共列表(可能会让他们更在意一点)。
   🌎 Why No HTTPS? - Alexa 排名前 100 的网站中未自动重定向不安全请求的列表。
   🌎 TLS Cipher Suite Search- 密码套件搜索引擎。
      311⭐    126🍴 cipherli.st - 适用于 Apache、Nginx、Lighttpd 等的强密码。*
   🌎 dhtool - 公共 Diffie-Hellman 参数服务/工具。
   🌎 badssl.com - 令人难忘的站点,用于针对不良 SSL 配置测试客户端。
   🌎 tlsfun.de - 注册用于各种关于 TLS/SSL 协议的测试。
   🌎 CAA Record Helper - 生成 CAA 策略。
   🌎 Common CA Database - 关于 CA 及其根证书和中间证书的信息库。
   🌎 CERTSTREAM - 实时证书透明度日志更新流。
   🌎 crt.sh - 通过持续监控所有公开已知的 CT 来发现证书。
   🌎 Hardenize - 部署安全标准。
   🌎 Cipher suite compatibility - 测试 TLS 密码套件兼容性。
   🌎 urlvoid - 此服务帮助你检测潜在的恶意网站。
   🌎 security.txt - 一个提议的标准(生成器),允许网站定义安全策略。
      432⭐     69🍴 🌎 InQuest Labs - InQuest Labs 是一个面向安全研究人员的开放、交互式且 API 驱动的数据门户。

##### :black_small_square: 生成器

   🌎 thispersondoesnotexist - 一键生成假脸 - 无限可能。
   🌎 AI Generated Photos - 100,000 张 AI 生成的面孔。
   🌎 fakenamegenerator - 你随机生成的身份。
   🌎 Intigriti Redirector - 开放重定向/SSRF payload 生成器。

##### :black_small_square: 密码

   🌎 have i been pwned? - 检查你的账户是否在数据泄露中遭到泄露。
   🌎 dehashed - 是一个被黑数据库搜索引擎。
   🌎 Leaked Source - 是以查询形式整理的在线数据合集。

##### :black_small_square: CVE/漏洞利用数据库

   🌎 CVE Mitre - 公开已知的网络安全漏洞列表。
   🌎 CVE Details - CVE 安全漏洞高级数据库。
   🌎 Exploit DB - 符合 CVE 标准的公开漏洞及相应易受攻击软件的存档。
   🌎 0day.today - 漏洞利用市场,为你提供买卖零日漏洞利用的可能性。
   🌎 sploitus - 漏洞利用和工具数据库。
   🌎 cxsecurity - 免费的漏洞数据库。
   🌎 Vulncode-DB - 是一个漏洞及其对应源代码(如果有)的数据库。
   🌎 cveapi - 免费的 CVE 数据 API。

##### :black_small_square: 移动应用扫描器

   🌎 ImmuniWeb® Mobile App Scanner - 测试移动应用(iOS 和 Android)的安全性和隐私。
   🌎 Quixxi - 针对 Android 和 iOS 的免费移动应用漏洞扫描器。
   🌎 Ostorlab - 分析移动应用程序以识别漏洞和潜在弱点。

##### :black_small_square: 私密搜索引擎

   🌎 Startpage - 世界上最私密的搜索引擎。
   🌎 searX - 尊重隐私、可黑客化的元搜索引擎。
   🌎 darksearch - 第一个真正的暗网搜索引擎。
   🌎 Qwant - 尊重你隐私的搜索引擎。
   🌎 DuckDuckGo - 不跟踪你的搜索引擎。
   🌎 Swisscows - 隐私安全的网页搜索
   🌎 Disconnect - 匿名化你搜索的搜索引擎。
   🌎 MetaGer - 使用匿名代理和隐藏 Tor 分支的搜索引擎。

##### :black_small_square: 安全邮件提供商

   🌎 CounterMail - 在线电子邮件服务,旨在提供最高的安全性和隐私。
   Mail2Tor - 是一个 Tor 隐藏服务,允许任何人匿名发送和接收电子邮件。
   🌎 Tutanota - 是世界上最安全的电子邮件服务,且非常易于使用。
   🌎 Protonmail - 是世界上最大的安全电子邮件服务,由 CERN 和 MIT 科学家开发。
   🌎 Startmail - 简单易用的私密加密邮件。

##### :black_small_square: 加密

   🌎 Keybase - 它是开源的,并由公钥加密技术驱动。

##### :black_small_square: PGP 密钥服务器

   🌎 SKS OpenPGP Key server - OpenPGP 使用的 SKS 密钥服务器服务。

#### 系统/服务  [[TOC]](#anger-table-of-contents) ##### :black_small_square: 操作系统

   Slackware - 最“类 Unix”的 Linux 发行版。
   🌎 OpenBSD - 多平台基于 4.4BSD 的类 Unix 操作系统。
   🌎 HardenedBSD - HardenedBSD 旨在实现创新的漏洞利用缓解和安全解决方案。
   🌎 Kali Linux - 用于渗透测试、道德黑客和网络安全性评估的 Linux 发行版。
   🌎 Parrot Security OS - 网络安全 GNU/Linux 环境。
   🌎 Backbox Linux - 面向渗透测试和安全评估的基于 Ubuntu 的 Linux 发行版。
   🌎 BlackArch - 是一个基于 Arch Linux 的渗透测试发行版,供渗透测试人员使用。
   🌎 Pentoo - 是一个基于 Gentoo 的专注于安全的 livecd。
   🌎 Security Onion - 用于入侵检测、企业安全监控和日志管理的 Linux 发行版。
   🌎 Tails - 是一个旨在保护你隐私和匿名性的 live 系统。
      298⭐     34🍴 vedetta - OpenBSD 路由器样板。
   🌎 Qubes OS - 是一个面向安全的操作系统,使用基于 Xen 的虚拟化技术。

##### :black_small_square: HTTP(s) 服务

   🌎 Varnish Cache - 专为内容密集型动态网站设计的 HTTP 加速器。
   🌎 Nginx - 开源 Web 和反向代理服务器,类似于 Apache,但非常轻量级。
   🌎 OpenResty - 是一个基于 NGINX 和 LuaJIT 的动态 Web 平台。
    13209⭐   2515🍴 Tengine - 一个具有一些高级功能的 Nginx 发行版。
   🌎 Caddy Server - 是一个开源的、启用 HTTP/2 且默认支持 HTTPS 的 Web 服务器。
   🌎 HAProxy - 可靠、高性能的 TCP/HTTP 负载均衡器。

##### :black_small_square: DNS 服务

   🌎 Unbound - 验证、递归和缓存 DNS 解析器(支持 TLS)。
   🌎 Knot Resolver - 缓存完整解析器实现,包括解析器库和守护进程。
   🌎 PowerDNS - 是一个开源的权威 DNS 服务器,用 C++ 编写,并在 GPL 下授权。

##### :black_small_square: 其他服务

     4949⭐    886🍴 3proxy - 小巧的免费代理服务器。

##### :black_small_square: 安全/加固

   🌎 Emerald Onion - 是一个 501(c)(3) 非营利组织和传输互联网服务提供商 (ISP)。
    55960⭐   2992🍴 pi-hole - Pi-hole® 是一个 DNS 漏洞,保护你的设备免受不需要的内容侵扰。
     8261⭐   1246🍴 maltrail - 恶意流量检测系统。
     4372⭐    784🍴 security_monkey - 监控 AWS、GCP、OpenStack 和 GitHub 组织的资产随时间的变化。
    32784⭐   2269🍴 firecracker - 用于无服务器计算的安全快速 microVM。
    23687⭐   1975🍴 streisand - 设置一个运行你选择的 WireGuard、OpenSSH、OpenVPN 等的新服务器。

#### 网络  [[TOC]](#anger-table-of-contents) ##### :black_small_square: 工具

   🌎 CapAnalysis - 用于分析大量捕获网络流量的 Web 可视化工具(PCAP 分析器)。
    19923⭐   2953🍴 netbox - IP 地址管理 (IPAM) 和数据中心基础设施管理 (DCIM) 工具。

##### :black_small_square: 实验室

   🌎 NRE Labs - 通过动手实践学习自动化。就在此时此地,在你的浏览器中。

##### :black_small_square: 其他

   🌎 LBNL's Network Research Group - 网络研究组 (NRG) 的主页。

#### 容器/编排  [[TOC]](#anger-table-of-contents) ##### :black_small_square: 命令行工具

    17823⭐   1522🍴 gvisor - 容器运行时沙箱。
    17637⭐    586🍴 ctop - 类似 top 的容器指标界面。

##### :black_small_square: Web 工具

    71469⭐  18915🍴 Moby - 一个容器生态系统的协作项目,用于组装基于容器的系统。
   🌎 Traefik - 开源反向代理/负载均衡器,提供与 Docker 和 Let's encrypt 的轻松集成。
    42868⭐   5088🍴 kong - 云原生 API 网关。
    25393⭐   3172🍴 rancher - 完整的容器管理平台。
    36742⭐   2782🍴 portainer - 让 Docker 管理变得简单。
    19777⭐   3067🍴 nginx-proxy - 使用 docker-gen 为 Docker 容器提供自动化 nginx 代理。
    10090⭐    567🍴 bunkerized-nginx - “默认安全”的 nginx docker 镜像。

##### :black_small_square: 安全

     9597⭐   1037🍴 docker-bench-security - 检查部署 Docker 的数十项常见最佳实践。
      625⭐     44🍴 trivy - 适用于容器的漏洞扫描器,适合 CI 使用。
   🌎 Harbor - 云原生注册表项目,用于存储、签名和扫描内容。
   🌎 Houdini - 数百个用于网络入侵的攻击性和实用 docker 镜像。

##### :black_small_square: 手册/教程/最佳实践

    22498⭐   4647🍴 docker-cheat-sheet - Docker 的快速参考备忘单。
    35573⭐   3253🍴 awesome-docker - 精选的 Docker 资源和项目列表。
    25855⭐   5782🍴 docker_practice - 通过真正的 DevOps 实践学习和理解 Docker 技术!
   labs - 是学习如何将 Docker 与各种工具结合使用的教程集合。
    13954⭐   2529🍴 dockerfiles - 我在桌面和服务器上使用的各种 Dockerfiles。
    47631⭐  15539🍴 kubernetes-the-hard-way - 在 Google Cloud Platform 上以困难的方式引导 Kubernetes。无脚本。
      138⭐     15🍴 kubernetes-the-easy-way - 在 Google Cloud Platform 上以简单的方式引导 Kubernetes。无脚本。
     2122⭐    997🍴 cheatsheet-kubernetes-A4 - A4 版 Kubernetes 备忘单。
      727⭐     76🍴 k8s-security - kubernetes 安全笔记和最佳实践。
   🌎 kubernetes-production-best-practices - 面向生产就绪 Kubernetes 的最佳实践清单。
     2715⭐    250🍴 kubernetes-production-best-practices - kubernetes 安全 - 最佳实践指南。
     6215⭐    310🍴 kubernetes-failure-stories - 是与 Kubernetes 相关的公开故障/恐怖故事的汇编。

#### 手册/指南/教程  [[TOC]](#anger-table-of-contents) ##### :black_small_square: Shell/命令行

    41395⭐   3635🍴 pure-bash-bible - 是纯 bash 替代外部进程的集合。
     7633⭐    365🍴 pure-sh-bible - 是纯 POSIX sh 替代外部进程的集合。
    12239⭐   1047🍴 bash-guide - 是学习 bash 的指南。
     6099⭐    759🍴 bash-handbook - 为那些想学习 Bash 的人准备。
   🌎 The Bash Hackers Wiki - 包含关于 GNU Bash 的任何类型的文档。
   Shell & Utilities - 描述了 POSIX 兼容系统向应用程序提供的命令。
   159988⭐  14761🍴 the-art-of-command-line - 在一页中掌握命令行。
   🌎 Shell Style Guide - 针对 Google 发起的开源项目的 shell 风格指南。

##### :black_small_square: 文本编辑器

   🌎 - 很棒的多语言 vim 指南。

##### ▪ Python

   🌎 Awesome Python - 精选的精彩 Python 框架、库、软件和资源列表。
    38265⭐   6734🍴 python-cheatsheet - 全面的 Python 备忘单。
   🌎 pythoncheatsheet.org - 适合初学者和高级开发者的基础参考。

##### :black_small_square: Sed & Awk & 其他

   🌎 F’Awk Yeah! - 高级 sed 和 awk 用法(渗透测试者解析篇 3)。

##### :black_small_square: *nix 与网络

   🌎 nixCraft - 面向新老系统管理员的 Linux 和 Unix 教程。
   🌎 TecMint - 系统管理员和极客的理想 Linux 博客。
   Omnisecu - 免费的计算机网络、系统管理和安全教程。
      896⭐    152🍴 linux-cheat - Linux 教程和备忘单。最小示例。主要是用户态 CLI 实用程序。
     3412⭐    582🍴 linuxupskillchallenge - 学习系统管理员所需的技能。
   Unix Toolbox - 对 IT 工作或高级用户有用的 Unix/Linux/BSD 命令和任务。
   🌎 Linux Kernel Teaching - 是 Linux 内核主题的讲座和实验集合。
   🌎 htop explained - 解释你在 Linux 上的 htop/top 中看到的所有内容。
   🌎 Linux Guide and Hints - Fedora 和 CentOS 系统管理教程。
      264⭐     18🍴 strace-little-book - 一本介绍 strace 的小书。
     1322⭐    298🍴 linux-tracing-workshop - Linux 跟踪工具研讨会的示例和动手实验。
     2319⭐    277🍴 http2-explained - 解释和记录 HTTP/2 的详细文档。
     2221⭐    198🍴 http3-explained - 描述 HTTP/3 和 QUIC 协议的文档。
   🌎 HTTP/2 in Action - 新 HTTP/2 标准的绝佳介绍。
   🌎 Let's code a TCP/IP stack - 在更深层次上学习网络和系统编程的好东西。
    14137⭐   1123🍴 Nginx Admin's Handbook - 如何提高 NGINX 性能、安全性以及其他重要事项。
    28347⭐   2072🍴 nginxconfig.io - 强化版 NGINX 配置生成器。
   🌎 openssh guideline - 旨在帮助运维团队配置 OpenSSH 服务器和客户端。
   🌎 SSH Handshake Explained - 是对 SSH 握手的相对简短的描述。
   🌎 ISC's Knowledgebase - 你会找到一些关于 BIND 9、ISC DHCP 和 Kea DHCP 的一般信息。
   🌎 PacketLife.net - 一个记录 Cisco CCNP 认证学习笔记的地方。

##### ▪ Microsoft

     4797⭐   1092🍴 AD-Attack-Defense - 利用现代后渗透活动攻击和防御活动目录。

##### :black_small_square: 大规模系统

   337210⭐  54664🍴 The System Design Primer - 学习如何设计大规模系统。
    68936⭐   6847🍴 Awesome Scalability - 构建高扩展性、高可用性、高稳定性的最佳实践等。
   🌎 Web Architecture 101 - 基本架构概念。

##### :black_small_square: 系统加固

   🌎 CIS Benchmarks - 超过 100 种技术的安全配置设置,以免费 PDF 形式提供。
   🌎 Security Harden CentOS 7 - 本指南将引导你完成安全加固 CentOS 的步骤。
   🌎 CentOS 7 Server Hardening Guide - 很棒的 CentOS 加固指南;熟悉 OpenSCAP。
     6199⭐    632🍴 awesome-security-hardening - 是安全加固指南、工具和其他资源的集合。
    10481⭐    661🍴 The Practical Linux Hardening Guide - 提供了加固 GNU/Linux 系统的高级概述。
   🌎 Linux Hardening Guide - 如何尽可能多地加固 Linux 以确保安全和隐私。

##### :black_small_square: 安全与隐私

   🌎 Hacking Articles - LRaj Chandel 的安全与黑客博客。
     9409⭐   1583🍴 AWS security tools - 让你的 AWS 云环境更安全。
   🌎 Rawsec's CyberSecurity Inventory - 关于网络安全 (CyberSecurity) 的工具和资源清单。
   🌎 The Illustrated TLS Connection - 解释并重现 TLS 连接的每一个字节。
        ?⭐      ?🍴 SSL Research - SSL Labs 的 SSL 和 TLS 部署最佳实践。
   SELinux Game - 通过实践学习 SELinux。解决谜题,展示技能。
   🌎 Certificates and PKI - 关于证书和 PKI 你应该知道的一切(即使你不敢问)。
   🌎 The Art of Subdomain Enumeration - 子域名枚举技术参考。
   🌎 Quitting Google - 退出 Google 的综合指南。

##### :black_small_square: Web 应用程序

   🌎 OWASP - 全球性非营利慈善组织,专注于提高软件的安全性。
   OWASP ASVS 3.0.1 Web App - 帮助开发者理解 ASVS 要求的简单 Web 应用程序。
     3354⭐    799🍴 OWASP ASVS 4.0 - 是应用程序安全要求或测试的列表。
   🌎 OWASP Testing Guide v4 - 包含一个“最佳实践”渗透测试框架。
     2143⭐    403🍴 OWASP Dev Guide - 这是 OWASP 开发者指南的开发版本。
     8895⭐   1561🍴 OWASP WSTG - 是一个全面的测试 Web 应用程序安全性的开源指南。
   🌎 OWASP API Security Project - 专门关注 API 安全中的十大漏洞。
   🌎 Mozilla Web Security - 帮助运维团队创建安全的 Web 应用程序。
      744⭐    113🍴 security-bulletins - 与 Netflix 开源相关的安全公告。
    23186⭐   2668🍴 API-Security-Checklist - 设计、测试和发布 API 时的安全对策。
   🌎 Enable CORS - 启用跨域资源共享。
   🌎 Application Security Wiki - 旨在在一个地方提供所有应用程序安全相关资源的倡议。
        ?⭐      ?🍴 Weird Proxies - 反向代理相关攻击;这是对各种代理进行分析的结果。
   🌎 Webshells - 关于恶意 payload 的精彩系列。
   🌎 Practical Web Cache Poisoning - 向你展示如何利用深奥的 Web 功能入侵网站。
      207⭐     48🍴 Hidden directories and files - 作为有关 Web 应用程序的敏感信息来源。
   🌎 Explosive blog - 关于网络安全和渗透测试的精彩博客。
   🌎 Security Cookies - 本文将仔细研究 cookie 安全。
     1968⭐     94🍴 APISecurityBestPractices - 帮助你将机密(API 密钥、数据库凭据、证书)排除在源代码之外。

##### :black_small_square: 多合一

   🌎 LZone Cheat Sheets - 所有备忘单。
    14384⭐   3620🍴 Dan’s Cheat Sheets’s - 大规模备忘单文档。
   🌎 Rico's cheatsheets - 这是一个适度的备忘单集合。
   🌎 DevDocs API - 在快速、有组织且可搜索的界面中结合了多个 API 文档。
   🌎 cheat.sh - 你唯一需要的备忘单。
   🌎 gnulinux.guru - 关于 bash、vim 和网络的备忘单集合。
   🌎 Web Skills - 作为 Web 开发人员学习的有用技能的视觉概览。

##### :black_small_square: 电子书

   383545⭐  66012🍴 free-programming-books - 多种语言的免费学习资源列表。

##### :black_small_square: 其他

   🌎 CTF Series : Vulnerable Machines - 可以遵循以下步骤来查找漏洞和利用程序。
      601⭐     63🍴 50M_CTF_Writeup - Hackerone 的 5000 万美元 CTF - 题解。
      653⭐     65🍴 ctf-tasks - 多年来开发的低级 CTF 挑战存档。
   🌎 How to start RE/malware analysis? - 为初学者收集的一些提示和有用链接。
   The C10K problem - Web 服务器是时候同时处理一万个客户端了,不是吗?
   🌎 How 1500 bytes became the MTU of the internet - 关于最大传输单元 (MTU) 的精彩故事。
   poor man's profiler - 就像 dtrace 并没有真正提供方法来查看程序在阻塞什么。
   🌎 HTTPS on Stack Overflow - 这是一个关于 SSL 实现的漫长旅程的故事。
   🌎 Julia's Drawings - 一些关于编程和 Unix 世界的绘画,关于系统和调试工具的小册子。
     3341⭐    209🍴 Hash collisions - 这个很棒的仓库专注于哈希冲突利用。
     3387⭐    169🍴 sha256-animation - 在终端中演示 SHA-256 哈希函数的动画。
   🌎 sha256algorithm - 在线逐步可视化解释 SHA-256 算法。
   🌎 BGP Meets Cat - 经过 3072 小时的 BGP 操作,Job Snijders 成功画出了一只 Nyancat。
      437⭐     17🍴 bgp-battleships - 通过 BGP 玩战舰游戏。
    42764⭐   5721🍴 What happens when... - 当你在浏览器中输入 google.com 并按回车时会发生什么?
    16702⭐   1750🍴 how-web-works - 基于“当……时会发生什么”仓库。
   🌎 HTTPS in the real world - 解释 HTTPS 在现实世界中如何工作的精彩教程。
   🌎 Gitlab and NFS bug - 我们是如何花两周时间在 Linux 内核中寻找 NFS 错误的。
   🌎 Gitlab melts down - 关于 2017 年 1 月 31 日数据库中断的事后分析以及我们吸取的教训。
   How To Become A Hacker - 如果你想成为一名黑客,请继续阅读。
   Operation Costs in CPU - 应有助于估算某些操作在 CPU 时钟周期中的成本。
   🌎 Let's Build a Simple Database - 用 C 语言从头开始编写一个 sqlite 克隆。
   🌎 simple-computer - 了解计算机底层如何工作的绝佳资源。
   🌎 The story of "Have I been pwned?" - 在 Azure 表存储上处理 1.54 亿条记录。
   🌎 TOP500 Supercomputers - 展示 500 个最强大的商用计算机系统。
   🌎 How to build a 8 GPU password cracker - 像桌面组件那样数小时的挫折感。
   🌎 CERN Data Centre - CERN 计算环境的 3D 可视化(以及更多)。
   How fucked is my database - 使用这个方便的网站评估你的数据库有多糟糕。
   🌎 Linux Troubleshooting 101 , 2016 Edition - 一切都是 DNS 问题...
   🌎 Five Whys - 你知道问题是什么,但无法解决?
   🌎 Maersk, me & notPetya - 勒索软件是如何成功劫持数百个域控制器的?
   🌎 howhttps.works - HTTPS 如何工作……以漫画形式!
   🌎 howdns.works - 对 DNS 如何工作的有趣且丰富多彩的解释。
   🌎 POSTGRESQLCO.NF - 你的 postgresql.conf 文档和建议。

#### 鼓舞人心的列表  [[TOC]](#anger-table-of-contents) ##### :black_small_square: 系统运维/开发运维

    24247⭐   2885🍴 Awesome Sysadmin - 令人惊叹的开源系统管理员资源。
    36573⭐   2473🍴 Awesome Shell - 精彩的命令行框架、工具包、指南和小玩意。
    10184⭐    704🍴 Command-line-text-processing - 从查找文本到搜索和替换,从排序到美化等等。
     3360⭐    476🍴 Awesome Pcaptools - 其他研究人员开发的用于处理网络跟踪数据的工具集合。
     4948⭐    409🍴 awesome-ebpf - 精选的与 eBPF 相关的精彩项目列表。
     5781⭐    534🍴 Linux Network Performance - 一些网络 sysctl 变量在 Linux/内核网络流程中的位置。
    11732⭐    933🍴 Awesome Postgres - 精彩的 PostgreSQL 软件、库、工具和资源列表。
     5299⭐    775🍴 quick-SQL-cheatsheet - 所有 SQL 查询及其使用示例的快速提醒。
   276389⭐  12583🍴 Awesome-Selfhosted - 可以在本地托管的免费软件网络服务和 Web 应用程序列表。
   🌎 List of applications - 按类别排序的大量应用程序列表,供那些寻找包的人参考。
    18300⭐   2545🍴 CS-Interview-Knowledge-Map - 构建最好的面试知识图谱。
     9144⭐   2045🍴 DevOps-Guide - 从基础到高级的 DevOps 指南,包含面试问题和笔记。
   🌎 FreeBSD Journal - 这是一个关于 FreeBSD 和其他重要事物的期刊杂志列表。
    81376⭐  18796🍴 devops-interview-questions - 包含有关各种 DevOps 和 SRE 相关主题的面试问题。

##### :black_small_square: 开发者

   350099⭐  43734🍴 Web Developer Roadmap - 路线图、文章和资源,帮助你选择路径、学习和提高。
    72305⭐   6623🍴 Front-End-Checklist - 面向现代网站和细致开发者的完美前端清单。
    17224⭐   1251🍴 Front-End-Performance-Checklist - 运行速度比其他更快的性能清单。
   🌎 Python's Magic Methods - 什么是魔术方法?它们是面向对象 Python 中的一切。
    36911⭐   2667🍴 wtfpython - 令人惊讶的 Python 片段和鲜为人知的功能的集合。
     3983⭐    262🍴 js-dev-reads - 供有眼光的 Web 开发者阅读的书籍和文章列表。
     6770⭐    344🍴 Commit messages guide - 理解提交信息重要性的指南。

##### :black_small_square: 安全/渗透测试

    13126⭐   1759🍴 Awesome Web Security - 精选的 Web 安全材料和资源列表。
     4239⭐    505🍴 awesome-cyber-skills - 精选的黑客环境列表,你可以在其中训练你的网络技能。
     5336⭐   1146🍴 awesome-devsecops - 权威的精彩 devsecops 工具列表。
    25060⭐   3432🍴 awesome-osint - 是精选的精彩 OSINT 列表。
     1980⭐    329🍴 HolyTips - 关于 Bug Bounty 搜寻和 Web 应用安全的提示和教程。
     9858⭐  nbsp;1695🍴 awesome-threat-intelligence - 精选的精彩威胁情报资源列表。
    10158⭐   2341🍴 Red-Teaming-Toolkit - 辅助红队行动的开源和商业工具集合。
     3372⭐    639🍴 awesome-burp-extensions - 精选的精彩 Burp 扩展列表。
     4797⭐   1082🍴 Free Security eBooks - 免费安全和黑客电子书列表。
     6271⭐   1216🍴 Hacking-Security-Ebooks - 前 100 名黑客与安全电子书。
     2032⭐     97🍴 privacy-respecting - 精选的尊重隐私的服务和软件列表。
     9965⭐   1151🍴 reverse-engineering - 精彩的逆向工程资源列表。
     2075⭐    367🍴 linux-re-101 - Linux 逆向工程资源集合。
     2648⭐    343🍴 reverseengineering-reading-list - 逆向工程文章、书籍和论文列表。
     7376⭐   1164🍴 Awesome-WAF - 精选的精彩 Web 应用防火墙 (WAF) 资源。
     7247⭐   1002🍴 awesome-shodan-queries - 有趣、好笑且令人沮丧的搜索查询,可插入 shodan.io。
     1486⭐    304🍴 RobotsDisallowed - 最常见和最有趣的 robots.txt 禁止目录的精选列表。
     2626⭐    302🍴 HackingNeuralNetworks - 是关于利用和防御神经网络的小课程。
   🌎 @alisaesage - 独立黑客和研究员。
   🌎 @SwiftOnSecurity - 系统安全、工业安全、系统管理员,decentsecurity.com 的作者。
   🌎 @dakami - 是仅有七位有权恢复 DNS 根密钥的人之一。
   🌎 @samykamkar - 著名的“灰帽”黑客、安全研究员,MySpace "Samy" 蠕虫的创造者。
   🌎 @securityweekly - Security Weekly 播客网络的创始人兼 CTO。
   🌎 @jack_daniel - @SecurityBSides 联合创始人。
   🌎 @thegrugq - 安全研究员。
   🌎 @matthew_d_green - 约翰霍普金斯大学的密码学家和教授。

##### :black_small_square: 最佳商业 Twitter 账号

   🌎 @haveibeenpwned - 检查你的账号是否在数据泄露中被攻破。
   🌎 @bugcrowd - 比 其他任何众包安全平台更受财富 500 强企业的信任。
   🌎 @Malwarebytes - 最值得信赖的安全公司。无与伦比的威胁可见性。
   🌎 @sansforensics - 全球领先的数字取证和事件响应提供商。
   🌎 @attcyber - AT&T Cybersecurity 的端到端技术提供威胁情报等。
   🌎 @TheManyHatsClub - 一个专注于信息安全的播客和来自各行各业的群体。
   🌎 @hedgehogsec - Hedgehog Cyber。直布罗陀和曼彻斯特顶级的精品信息安全公司。
   🌎 @NCSC - 国家网络安全中心。帮助使英国成为生活和工作在线上最安全的地方。
   🌎 @Synacktiv - IT 安全专家。

##### :black_small_square: 历史的一角

   How to Do Things at ARL - 如何配置调制解调器、扫描图像、录制 CD-ROM 等。*

##### :black_small_square: 其他

   🌎 Diffie-Hellman Key Exchange (short version) - Diffie-Hellman 密钥交换是如何工作的。

#### 黑客/渗透测试  [[TOC]](#anger-table-of-contents) ##### :black_small_square: 渗透测试者工具库

   Sandcat Browser - 面向渗透测试的浏览器,内置大量高级功能。
   🌎 Metasploit - 用于渗透测试系统、Web 等的工具和框架。
   🌎 Burp Suite - 用于测试 Web 应用程序安全的工具,拦截代理用于重放、注入、扫描和模糊测试。
   🌎 OWASP Zed Attack Proxy - 用于重放、注入、扫描和模糊测试 HTTP 请求的拦截代理。
   w3af - 是一个 Web 应用程序攻击和审计框架。
   🌎 mitmproxy - 一个面向渗透测试人员的交互式支持 TLS 的拦截 HTTP 代理。
   🌎 Nikto2 - Web 服务器扫描程序,对 Web 服务器执行多项全面测试。
   sqlmap - 自动检测和利用 SQL 注入漏洞的工具。
     5412⭐    843🍴 Recon-ng - 是用 Python 编写的全功能 Web 侦察框架。
     5920⭐    978🍴 AutoRecon - 是一个网络侦察工具,执行服务的自动枚举。
   🌎 Faraday - 一个集成的多用户渗透测试环境。
    12718⭐   1674🍴 Photon - 为 OSINT 设计的极快爬虫。
    14786⭐   2071🍴 XSStrike - 最先进的 XSS 检测套件。
     9432⭐   2022🍴 Sn1per - 面向进攻性安全专家的自动化渗透测试框架。
    12049⭐   1227🍴 vuls - 是适用于 Linux、FreeBSD 等的无代理漏洞扫描程序。
     8550⭐    918🍴 tsunami - 是具有可扩展插件系统的通用网络安全扫描程序。
     5904⭐    910🍴 aquatone - 域名飞跃工具。
        ?⭐      ?🍴 BillCipher - 用于网站或 IP 地址的信息收集工具。
     2872⭐    470🍴 WhatWaf - 检测和绕过 Web 应用程序防火墙及保护系统。
     1505⭐    186🍴 Corsy - CORS 错误配置扫描程序。
     3514⭐    443🍴 Raccoon - 是用于侦察和漏洞扫描的高性能进攻性安全工具。
     1978⭐    271🍴 dirhunt - 无需暴力破解即可查找 Web 目录。
   🌎 John The Ripper - 是一款快速的密码破解程序,目前适用于多种 Unix、Windows 和其他版本。
   🌎 hashcat - 世界上最快的、最先进的密码恢复实用程序。
   p0f - 是识别任何附带 TCP/IP 通信参与者的工具。
      788⭐    103🍴 ssh_scan - 原型 SSH 配置和策略扫描程序。
     1421⭐    320🍴 LeakLooker - 查找开放的数据库 - 由 Binaryedge.io 提供支持
     7845⭐   1879🍴 exploitdb - 来自 Exploit Database 的可搜索存档。
     1813⭐    248🍴 getsploit - 是用于搜索和下载漏洞利用程序的命令行实用程序。
     9311⭐   1920🍴 ctf-tools - 一些安全研究工具的设置脚本。
    13295⭐   1818🍴 pwntools - CTF 框架和漏洞利用开发库。
      912⭐    180🍴 security-tools - 主要用 Python 创建的小型安全工具集合。CTF、渗透测试等。
      629⭐    252🍴 pentestpackage - 是渗透测试脚本的集合包。
     2859⭐    797🍴 python-pentest-tools - 面向渗透测试人员的 Python 工具。
     8833⭐   2123🍴 fuzzdb - 用于黑盒应用程序故障注入的攻击模式和原语字典。
     4067⭐    668🍴 AFL - 是由 Google 维护的自由软件 Fuzzer。
     6338⭐   1264🍴 AFL++ - 是带有社区补丁的 AFL。
     6079⭐   1379🍴 syzkaller - 是一个无监督的、覆盖引导的内核 Fuzzer。
    10155⭐   1191🍴 pwndbg - 让使用 GDB 进行漏洞利用开发和逆向工程变得简单。
     6107⭐    829🍴 GDB PEDA - GDB 的 Python 漏洞利用开发辅助工具。
   🌎 IDA - 多处理器反汇编器和调试器,对恶意软件逆向工程很有用。
    23192⭐   3170🍴 radare2 - 用于逆向工程和分析二进制文件的框架。
    13010⭐   2387🍴 routersploit - 针对嵌入式设备的漏洞利用框架。
    65303⭐   7203🍴 Ghidra - 是一个软件逆向工程 (SRE) 框架。
   🌎 Cutter - 是一个集成了 Ghidra 反编译器的 SRE 平台。
      599⭐    149🍴 Vulnreport - Salesforce 产品安全部门提供的开源渗透测试管理和自动化平台。
     1961⭐    255🍴 Mentalist - 是用于自定义字典生成的图形化工具。
     2441⭐    526🍴 archerysec - 漏洞评估和管理,帮助执行扫描和管理漏洞。
     6117⭐    965🍴 Osmedeus - 用于侦察和漏洞扫描的全自动进攻性安全工具。
    10751⭐   2342🍴 beef - 浏览器漏洞利用框架项目。
     5215⭐   1188🍴 AutoSploit - 自动化批量漏洞利用工具。
     2446⭐    265🍴 SUDO_KILLER - 是用于识别和利用 sudo 规则错误配置和漏洞的工具。
     9455⭐   1554🍴 yara - 模式匹配的瑞士军刀。
    21307⭐   4034🍴 mimikatz - 一个玩转 Windows 安全的小工具。
    73343⭐   8696🍴 sherlock - 跨社交网络通过用户名搜寻社交媒体账号。
   🌎 OWASP Threat Dragon - 是用于创建威胁模型图并记录可能威胁的工具。

##### :black_small_square: 渗透测试书签合集

   PTES - 渗透测试执行标准。
   🌎 Pentests MindMap - 包含易受攻击应用程序和系统的精彩思维导图。
   🌎 WebApps Security Tests MindMap - 用于 WebApps 安全测试的不可思议的思维导图。
   🌎 Brute XSS - 掌握跨站脚本攻击的艺术。
   🌎 XSS cheat sheet - 包含许多可以帮助你绕过 WAF 和过滤器的向量。
   🌎 Offensive Security Bookmarks - 安全书签合集,包含作者通过 OSCP 所需的一切。
     4274⭐    788🍴 Awesome Pentest Cheat Sheets - 对渗透测试有用的速查表集合。
   107698⭐  10039🍴 Awesome Hacking by HackWithGithub - 面向黑客、渗透测试人员和安全研究员的精彩列表。
    15801⭐   1673🍴 Awesome Hacking by carpedm20 - 精选的优秀黑客教程、工具和资源列表。
    16824⭐   2203🍴 Awesome Hacking Resources - 让你变得更强的黑客/渗透测试资源集合。
    25459⭐   4750🍴 Awesome Pentest - 精彩的渗透测试资源、工具和其他闪光点的集合。
        ?⭐      ?🍴 Awesome-Hacking-Tools - 是精选的精彩黑客工具列表。
      341⭐     89🍴 Hacking Cheat Sheet - 作者的黑客和渗透测试笔记。
     4233⭐   1177🍴 blackhatarsenal-tools - 官方 Black Hat 军火库安全工具仓库。
   🌎 Penetration Testing and WebApp Cheat Sheets - 信息安全相关速查表的完整列表。
    25355⭐   4847🍴 Cyber Security Resources - 包括数千个与网络安全相关的参考资料和资源。
     1107⭐    354🍴 Pentest Bookmarks - 那里有相当多的渗透测试博客。
     5461⭐   1259🍴 Cheatsheet-God - 渗透测试参考库 - OSCP/PTP & PTX 速查表。
     4490⭐    852🍴 ThreatHunter-Playbook - 辅助开发狩猎活动的技术和假设。
     6207⭐   1690🍴 Beginner-Network-Pentesting - 初学者网络渗透测试课程的笔记。
     2727⭐    760🍴 OSCPRepo - 是作者为准备 OSCP 而收集的资源列表。
    75691⭐  16707🍴 PayloadsAllTheThings - Web 应用程序安全和渗透测试/CTF 的有用载荷和绕过列表。
     3909⭐    986🍴 payloads - git 所有的 Payloads!Web 攻击载荷集合。
        ?⭐      ?🍴 command-injection-payload-list - 命令注入载荷列表。
     7247⭐   1002🍴 Awesome Shodan Search Queries - 用于 Shodan 的绝佳搜索查询。
     5066⭐    777🍴 AwesomeXSS - 是精彩 XSS 资源的集合。
     1934⭐    774🍴 php-webshells - 常见的 PHP Webshells。
   🌎 Pentesting Tools Cheat Sheet - 典型渗透测试的快速参考高级概览。
   🌎 OWASP Cheat Sheet Series - 关于特定应用程序安全主题的高价值信息集合。
   🌎 OWASP dependency-check - 是 OWASP Top 10 2013 条目的开源解决方案。
   🌎 OWASP ProActive Controls - OWASP Top 10 主动控制 2018。
    13709⭐   2461🍴 PENTESTING-BIBLE - 黑客与渗透测试与红队与网络安全资源。
     3719⭐    944🍴 pentest-wiki - 是面向渗透测试人员/研究员的免费在线安全知识库。
   🌎 DEF CON Media Server - 来自 DEFCON 的好东西。
    13487⭐   2662🍴 Awesome Malware Analysis - 精选的精彩恶意软件分析工具和资源列表。
   🌎 SQL Injection Cheat Sheet - 关于 SQL 注入多种变体的详细技术内容。
   Entersoft Knowledge Base - 关于漏洞的出色且详细的参考。
   HTML5 Security Cheatsheet - HTML5 相关 XSS 攻击向量集合。
   XSS String Encoder - 用于生成 XSS 代码以检查针对 XSS 的输入验证过滤器。
   🌎 GTFOBins - 可被攻击者利用以绕过本地安全限制的 Unix 二进制文件列表。
   🌎 Guifre Ruiz Notes - 安全、系统、网络和渗透测试速查表集合。
   SSRF Tips - SSRF 技巧集合。
   shell-storm repo CTF - 很棒的 CTF 存档。
      573⭐     94🍴 ctf - CTF (夺旗赛) 题解、代码片段、笔记、脚本。
     2820⭐    480🍴 My-CTF-Web-Challenges - CTF Web 挑战集合。
    12747⭐   2683🍴 MSTG - 移动安全测试指南 (MSTG) 是移动应用程序安全测试的综合手册。
        ?⭐      ?🍴 Internal-Pentest-Playbook - 关于内部网络渗透测试中最常见事情的笔记。
     6082⭐   1198🍴 KeyHacks - 展示了快速检查漏洞赏金计划泄露的 API 密钥的方法。
      152⭐     28🍴 securitum/research - Securitum 进行的各种安全研究概念验证。
     9387⭐   2135🍴 public-pentesting-reports - 是由多个安全咨询小组发布的公开渗透测试报告列表。
     5476⭐   1027🍴 awesome-bug-bounty - 是现有的漏洞赏金综合精选列表。
     4072⭐   1012🍴 bug-bounty-reference - 是漏洞赏金 write-ups 列表。
     5551⭐   1127🍴 Awesome-Bugbounty-Writeups - 是精选的漏洞赏金 write-ups 列表。
   🌎 Bug bounty writeups - 漏洞赏金 write-ups 列表 (2012-2020)。
   🌎 hackso.me - 一段精彩的安全之旅。

##### :black_small_square:门/漏洞利用

     2257⭐    470🍴 PHP-backdoors - PHP 后门集合。仅供教育或测试目的。

##### :black_small_square: 字典和弱密码

   🌎 Weakpass - 用于任何类型的暴力破解查找字典,或一次性释放它们的所有力量!
   🌎 Hashes.org - 是一个免费在线哈希解析服务,包含许多无与伦比的技术。
    69237⭐  24919🍴 SecLists - 安全评估期间使用的多种类型列表的集合,汇集在一处。
     9221⭐   1619🍴 Probable-Wordlists - 按概率排序,最初是为密码生成和测试创建的。
   🌎 skullsecurity passwords - 密码字典和泄露密码仓库。
   🌎 Polish PREMIUM Dictionary - 由 bezpieka.org 论坛团队创建的官方字典。* 1
     1268⭐    157🍴
statistically-likely-usernames - 用于创建统计上可能的用户名列表的字典。

##### :black_small_square: 赏金平台

   🌎 YesWeHack - 带有信息安全工作的漏洞赏金平台。
   🌎 Openbugbounty - 允许任何安全研究员报告任何网站的漏洞。
   🌎 hackerone - 全球黑客社区,以揭示最相关的安全问题。
   🌎 bugcrowd - 面向企业的众包网络安全。
   🌎 Crowdshield - 众包安全与漏洞赏金管理。
   🌎 Synack - 众包安全与漏洞赏金计划、众包安全情报平台等。
   🌎 Hacktrophy - 漏洞赏金平台。

##### :black_small_square: Web 培训应用程序(本地安装)

   🌎 OWASP-VWAD - 所有已知易受攻击 Web 应用程序的综合且维护良好的注册表。
   DVWA - 非常易受攻击的 PHP/MySQL Web 应用程序。
   🌎 metasploitable2 - 安全研究人员中易受攻击的 Web 应用程序。
     5459⭐   1237🍴 metasploitable3 - 是一个从头开始构建的、包含大量安全漏洞的虚拟机。
      857⭐    363🍴 DSVW - 是一个用不到 100 行代码编写的故意易受攻击的 Web 应用程序。
   🌎 OWASP Mutillidae II - 免费开源、故意易受攻击的 Web 应用程序。
   🌎 OWASP Juice Shop Project - 现存漏洞最多的、最“无 Bug”的应用程序。
   🌎 OWASP Node js Goat Project - 适用于使用 Node.js 开发的 Web 应用程序的 OWASP Top 10 安全风险。
      307⭐    172🍴 juicy-ctf - 使用 OWASP Juice Shop 运行夺旗赛和安全培训。
     1427⭐    495🍴 SecurityShepherd - Web 和移动应用程序安全培训平台。
      231⭐     59🍴 Security Ninjas - 开源应用程序安全培训计划。
     1019⭐    373🍴 hackazon - 一个现代易受攻击的 Web 应用程序。
      764⭐    865🍴 dvna - 非常易受攻击的 NodeJS 应用程序。
     4555⭐   1831🍴 django-DefectDojo - 是一个开源的应用程序漏洞关联和安全编排工具。
   🌎 Google Gruyere - Web 应用程序漏洞利用和防御。
      122⭐     17🍴 Bodhi - 是一个专注于学习客户端 Web 漏洞利用的游乐场。
   🌎 Websploit - 单个虚拟机实验室,旨在将多个易受攻击的应用程序结合在一个环境中。
    20342⭐   4761🍴 vulhub - 基于 docker-compose 的预构建易受攻击环境。
   🌎 CloudGoat 2 - 全新改进的“天生易受攻击” AWS 部署工具。
      970⭐    463🍴 secDevLabs - 是一个以实践方式学习安全 Web 开发的实验室。
      190⭐     44🍴 CORS-vulnerable-Lab - 易受攻击的示例代码及其利用代码。
     1090⭐    336🍴 RootTheBox - 黑客游戏(CTF 记分牌和游戏管理器)。
   🌎 KONTRA - 应用程序安全培训(OWASP Top Web & Api)。

##### :black_small_square: 实验室(道德黑客平台/培训/CTF)

   🌎 Offensive Security - 十多年来真正的基于表现的渗透测试培训。
   🌎 Hack The Box - 允许你测试渗透测试技能的在线平台。
   🌎 Hacking-Lab - 在线道德黑客、计算机网络和安全挑战平台。
   pwnable.kr - 提供各种 pwn 挑战的非商业战争游戏站点。
   🌎 Pwnable.tw - 是一个供黑客测试和扩展其二进制利用技能的战争游戏站点。
   🌎 picoCTF - 是面向初中生的免费计算机安全游戏。
   🌎 CTFlearn - 是一个为帮助道德黑客学习和实践其网络安全知识而建立的在线平台。
   🌎 ctftime - CTF 档案,你可以从中获取其他 CTF 相关信息。
   🌎 Silesia Security Lab - 高质量的安全测试服务。
   🌎 Practical Pentest Labs - 渗透实验室,将你的黑客技能提升到一个新的水平。
   🌎 Root Me - 快速、简单且负担得起的黑客技能培训方式。
   🌎 rozwal.to - 训练渗透测试技能的绝佳平台。
   🌎 TryHackMe - 让学习网络安全变得容易。
   🌎 hackxor - 是一个现实的 Web 应用程序黑客游戏,旨在帮助各种能力的玩家发展他们的技能。
   Hack Yourself First - 这里充满了令人讨厌的应用程序安全漏洞。
   OverTheWire - 可以帮助你以充满乐趣的游戏形式学习和实践安全概念。
   🌎 Wizard Labs - 是一个在线渗透测试实验室。
   🌎 PentesterLab - 提供可用于测试和理解漏洞的易受攻击系统。
   🌎 RingZer0 - 旨在测试和提高你黑客技能的大量挑战。
   try2hack - 供你娱乐的几个面向安全的挑战。
   🌎 Ubeeri - 预配置的实验室环境。
   🌎 Pentestit - 模拟真实公司的 IT 基础设施,用于合法的渗透测试和提高渗透测试技能。
   🌎 Microcorruption - 在 Web 界面中完成的逆向挑战。
   🌎 Crackmes - 下载 crackmes 以帮助提高你的逆向工程技能。
   🌎 DomGoat - DOM XSS 安全学习和练习平台。
   🌎 Stereotyped Challenges - 今天升级你的 Web 黑客技术!
   🌎 Vulnhub - 允许任何人获得数字安全方面的实践“动手”经验。
   🌎 W3Challs - 是一个渗透测试培训平台,提供各种计算机挑战。
   🌎 RingZer0 CTF - 为你提供大量旨在测试和提高黑客技能的挑战。
   🌎 Hack.me - 一个可以构建、托管和共享易受攻击的 Web 应用程序以用于教育目的的平台。
   🌎 HackThis! - 了解黑客攻击、转储和篡改是如何执行的,并保护你的网站。
   🌎 Enigma Group WebApp Training - 这些挑战涵盖了 OWASP Top 10 项目中列出的漏洞利用。
   🌎 Reverse Engineering Challenges - 挑战、练习、问题和任务 - 按级别、类型等分类。
   🌎 0x00sec - 黑客之家 - 恶意软件、逆向工程和计算机科学。
   🌎 We Chall - 存在许多不同类型的挑战。
   🌎 Hacker Gateway - 是想要测试其技能的黑客的首选之地。
   🌎 Hacker101 - 是一个免费的 Web 安全课程。
   🌎 contained.af - 一个用于学习容器、能力 (capabilities) 和系统调用 (syscalls) 的愚蠢游戏。
   flAWS challenge! - 一系列关卡,你将了解使用 AWS 时的常见错误和陷阱。
   🌎 CyberSec WTF - 提供源自漏洞赏金 write-ups 的 Web 黑客挑战。
   🌎 CTF Challenge - CTF Web 应用程序挑战。
   🌎 gCTF - Google CTF 2017 中使用的大部分挑战。
   🌎 Hack This Site - 是一个免费、安全且合法的黑客演练场。
   🌎 Attack & Defense - 是基于浏览器的云实验室。
   🌎 Cryptohack - 学习现代密码学的有趣平台。
   🌎 Cryptopals - cryptopals 密码学挑战。

##### :black_small_square: CTF 平台

     6568⭐   1316🍴 fbctf - 举办夺旗赛的平台。
      173⭐     55🍴 ctfscoreboard - 夺旗赛记分牌。

##### :black_small_square: 其他资源

     2755⭐    569🍴 Bugcrowd University - 面向研究员社区的开源教育内容。
     2727⭐    760🍴 OSCPRepo - 我为准备 OSCP 而收集的资源和脚本列表。
   🌎 OWASP Top 10: Real-World Examples - 使用真实示例测试你的 Web 应用程序(两部分系列)。
   phrack.org - 来自几位受人尊敬的黑客和其他思想家的精彩文章集。
     6018⭐   1472🍴 Practical-Ethical-Hacking-Resources - TCM Udemy 课程的资源汇编。

#### 你的日常知识和新闻  [[TOC]](#anger-table-of-contents) ##### :black_small_square: RSS 阅读器

   🌎 Feedly - 组织、阅读和分享对你重要的事情。
   🌎 Inoreader - 类似于 feedly,支持过滤从 RSS 获取的内容。

##### :black_small_square: IRC 频道

   🌎 #hackerspaces - 黑客空间 IRC 频道。

##### :black_small_square: 安全

   🌎 The Hacker News - 致力于提高安全专家和黑客意识的主要新闻来源。
   🌎 Latest Hacking News - 为道德黑客提供最新的黑客新闻、漏洞利用和漏洞。
   🌎 Security Newsletter - 作为每周摘要的安全新闻(邮件通知)。
   🌎 Google Online Security Blog - 来自 Google 的关于互联网安全和安全的最新新闻和见解。
   🌎 Qualys Blog - 专业的网络安全指导和新闻。
   🌎 DARKReading - 连接信息安全社区。
   🌎 Darknet - 最新黑客工具、黑客新闻、网络安全最佳实践、道德黑客和渗透测试。
   🌎 publiclyDisclosed - 公开披露观察者,让你随时了解最近披露的 Bug。
   🌎 Reddit - Hacking - 致力于黑客和黑客技术的子版块。
   🌎 Packet Storm - 信息服务、新闻、文件、工具、漏洞利用、建议和白皮书。
   🌎 Sekurak - 关于安全、渗透测试、漏洞和许多其他内容(波兰语/英语)。
   🌎 nf.sec - Linux 操作系统安全的基本方面和机制(波兰语)。

##### :black_small_square: 其他/多合一

   🌎 Changelog - 是一个黑客社区;面向开发者和黑客的新闻和播客。

#### 其他速查表  [[TOC]](#anger-table-of-contents) ###### 构建你自己的 DNS 服务器

   🌎 Unbound DNS Tutorial - 一个验证、递归和缓存 DNS 服务器。
   🌎 Knot Resolver on Fedora - 如何在 Fedora 上使用 Knot Resolver 获得更快、更安全的 DNS 解析。
   🌎 DNS-over-HTTPS - 设置你自己的 DNS-over-HTTPS (DoH) 服务器的教程。
   🌎 dns-over-https - 关于 DNS over HTTPS 的漫画介绍。
   🌎 DNS-over-TLS - 继你的 DoH 服务器之后,设置你的 DNS-over-TLS (DoT) 服务器。
   🌎 DNS Servers - 我如何(以及为什么)运行自己的 DNS 服务器。

###### 构建你自己的证书颁发机构

   🌎 OpenSSL Certificate Authority - 使用 OpenSSL 工具构建你自己的证书颁发机构 (CA)。
     8249⭐    532🍴 step-ca Certificate Authority - 使用开源 step-ca 构建你自己的证书颁发机构 (CA)。

###### 构建你自己的系统/虚拟机

    30208⭐   3536🍴 os-tutorial - 如何从头开始创建操作系统。
   🌎 Write your Own Virtual Machine - 如何编写你自己的虚拟机 (VM)。
     5237⭐    417🍴 x86 Bare Metal Examples - 几十个用于学习 x86 系统编程的最小操作系统。
     1965⭐    158🍴 simple-computer - J. Clark Scott 所著的 "But How Do It Know?" 中的 scott CPU。
   🌎 littleosbook - 关于操作系统开发的小书。

###### DNS 服务器列表(隐私) | IP | URL | | :--- | :--- | | **`84.200.69.80`** | 🌎 [dns.watch](dns.watch/) | | **`94.247.43.254`** | 🌎 [opennic.org](www.opennic.org/) | | **`64.6.64.6`** | 🌎 [verisign.com](www.verisign.com/en_US/security-services/public-dns/index.xhtml) | | **`89.233.43.71`** | 🌎 [censurfridns.dk](blog.uncensoreddns.org/) | | **`1.1.1.1`** | 🌎 [cloudflare.com](1.1.1.1/) | | **`94.130.110.185`** | 🌎 [dnsprivacy.at](dnsprivacy.at/) | ###### 最佳浏览器扩展 | 扩展名称 | 描述 | | :--- | :--- | | **`IPvFoo`** | 显示所有页面元素的服务器 IP 地址和 HTTPS 信息。 | | **`FoxyProxy`** | 简化浏览器配置以访问代理服务器。 | ###### 测试与远程主机的连接(使用特定的 ssl cipher) ``` openssl s_client -cipher 'AES128-SHA' -connect google.com:443 ``` ###### 验证 0-RTT ``` _host="example.com" cat > req.in << __EOF__ HEAD / HTTP/1.1 Host: $_host Connection: close __EOF__ openssl s_client -connect ${_host}:443 -tls1_3 -sess_out session.pem -ign_eof < req.in openssl s_client -connect ${_host}:443 -tls1_3 -sess_in session.pem -early_data req.in ``` ###### 生成无私钥密码的私钥 ``` # _len: 2048, 4096 ( _fd="private.key" ; _len="2048" ; \ openssl genrsa -out ${_fd} ${_len} ) ``` ###### 生成带密码的私钥 ``` # _ciph: aes128, aes256 # _len: 2048, 4096 ( _ciph="aes128" ; _fd="private.key" ; _len="2048" ; \ openssl genrsa -${_ciph} -out ${_fd} ${_len} ) ``` ###### 从私钥中移除密码 ``` ( _fd="private.key" ; _fd_unp="private_unp.key" ; \ openssl rsa -in ${_fd} -out ${_fd_unp} ) ``` ###### 使用密码加密现有私钥 ``` # _ciph: aes128, aes256 ( _ciph="aes128" ; _fd="private.key" ; _fd_pass="private_pass.key" ; \ openssl rsa -${_ciph} -in ${_fd} -out ${_fd_pass} ``` ###### 检查私钥 ``` ( _fd="private.key" ; \ openssl rsa -check -in ${_fd} ) ``` ###### 从私钥获取公钥 ``` ( _fd="private.key" ; _fd_pub="public.key" ; \ openssl rsa -pubout -in ${_fd} -out ${_fd_pub} ) ``` ###### 生成私钥和 CSR ``` ( _fd="private.key" ; _fd_csr="request.csr" ; _len="2048" ; \ openssl req -out ${_fd_csr} -new -newkey rsa:${_len} -nodes -keyout ${_fd} ) ``` ###### 生成 CSR ``` ( _fd="private.key" ; _fd_csr="request.csr" ; \ openssl req -out ${_fd_csr} -new -key ${_fd} ) ``` ###### 生成 CSR(元数据来自现有证书) ``` ( _fd="private.key" ; _fd_csr="request.csr" ; _fd_crt="cert.crt" ; \ openssl x509 -x509toreq -in ${_fd_crt} -out ${_fd_csr} -signkey ${_fd} ) ``` ###### 使用 -config 参数生成 CSR ``` ( _fd="private.key" ; _fd_csr="request.csr" ; \ openssl req -new -sha256 -key ${_fd} -out ${_fd_csr} \ -config <( cat << __EOF__ [req] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = dn req_extensions = req_ext [ dn ] C = "" ST = "" L = "" O = "" OU = "
" CN = "" [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = DNS.2 = DNS.3 = __EOF__ )) ``` `[ dn ]` 中的其他值: ``` countryName = "DE" # C= stateOrProvinceName = "Hessen" # ST= localityName = "Keller" # L= postalCode = "424242" # L/postalcode= postalAddress = "Keller" # L/postaladdress= streetAddress = "Crater 1621" # L/street= organizationName = "apfelboymschule" # O= organizationalUnitName = "IT Department" # OU= commonName = "example.com" # CN= emailAddress = "webmaster@example.com" # CN/emailAddress= ``` `oids` 示例(你可能还需要通过在 `[new_oids]` 下添加以下内容,让 OpenSSL 了解 EV 所需的新字段): ``` [req] ... oid_section = new_oids [ new_oids ] postalCode = 2.5.4.17 streetAddress = 2.5.4.9 ``` 完整示例: ``` ( _fd="private.key" ; _fd_csr="request.csr" ; \ openssl req -new -sha256 -key ${_fd} -out ${_fd_csr} \ -config <( cat << __EOF__ [req] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = dn req_extensions = req_ext oid_section = new_oids [ new_oids ] serialNumber = 2.5.4.5 streetAddress = 2.5.4.9 postalCode = 2.5.4.17 businessCategory = 2.5.4.15 [ dn ] serialNumber=00001111 businessCategory=Private Organization jurisdictionC=DE C=DE ST=Hessen L=Keller postalCode=424242 streetAddress=Crater 1621 O=AV Company OU=IT CN=example.com [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = example.com __EOF__ )) ``` 欲了解更多信息,请参阅这些精彩的解释: - 🌎 [RFC 5280](tools.ietf.org/html/rfc5280) - 🌎 [How to create multidomain certificates using config files](apfelboymchen.net/gnu/notes/openssl%20multidomain%20with%20config%20files.html) - 🌎 [Generate a multi domains certificate using config files](gist.github.com/romainnorberg/464758a6620228b977212a3cf20c3e08) - 🌎 [Your OpenSSL CSR command is out of date](expeditedsecurity.com/blog/openssl-csr-command/) - 🌎 [OpenSSL example configuration file](www.tbs-certificats.com/openssl-dem-server-cert.cnf) - 🌎 [Object Identifiers (OIDs)](www.alvestrand.no/objectid/) -  29668⭐  11075🍴 [openssl objects.txt](https://github.com/openssl/openssl/blob/master/crypto/objects/objects.txt)) ###### 列出可用的 EC curves ``` openssl ecparam -list_curves ``` ###### 打印 ECDSA 私钥和公钥 ``` ( _fd="private.key" ; \ openssl ec -in ${_fd} -noout -text ) # 对于 x25519 仅提取公钥 ( _fd="private.key" ; _fd_pub="public.key" ; \ openssl pkey -in ${_fd} -pubout -out ${_fd_pub} ) ``` ###### 生成 ECDSA 私钥 ``` # _curve: prime256v1, secp521r1, secp384r1 ( _fd="private.key" ; _curve="prime256v1" ; \ openssl ecparam -out ${_fd} -name ${_curve} -genkey ) # _curve: X25519 ( _fd="private.key" ; _curve="x25519" ; \ openssl genpkey -algorithm ${_curve} -out ${_fd} ) ``` ###### 生成私钥和 CSR (ECC) ``` # _curve: prime256v1, secp521r1, secp384r1 ( _fd="domain.com.key" ; _fd_csr="domain.com.csr" ; _curve="prime256v1" ; \ openssl ecparam -out ${_fd} -name ${_curve} -genkey ; \ openssl req -new -key ${_fd} -out ${_fd_csr} -sha256 ) ``` ###### 生成自签名证书 ``` # _len: 2048, 4096 ( _fd="domain.key" ; _fd_out="domain.crt" ; _len="2048" ; _days="365" ; \ openssl req -newkey rsa:${_len} -nodes \ -keyout ${_fd} -x509 -days ${_days} -out ${_fd_out} ) ``` ###### 从现有私钥生成自签名证书 ``` # _len: 2048, 4096 ( _fd="domain.key" ; _fd_out="domain.crt" ; _days="365" ; \ openssl req -key ${_fd} -nodes \ -x509 -days ${_days} -out ${_fd_out} ) ``` ###### 从现有私钥和 csr 生成自签名证书 ``` # _len: 2048, 4096 ( _fd="domain.key" ; _fd_csr="domain.csr" ; _fd_out="domain.crt" ; _days="365" ; \ openssl x509 -signkey ${_fd} -nodes \ -in ${_fd_csr} -req -days ${_days} -out ${_fd_out} ) ``` ###### 生成 DH 公共参数 ``` ( _dh_size="2048" ; \ openssl dhparam -out /etc/nginx/ssl/dhparam_${_dh_size}.pem "$_dh_size" ) ``` ###### 显示 DH 公共参数 ``` openssl pkeyparam -in dhparam.pem -text ``` ###### 从 pfx 提取私钥 ``` ( _fd_pfx="cert.pfx" ; _fd_key="key.pem" ; \ openssl pkcs12 -in ${_fd_pfx} -nocerts -nodes -out ${_fd_key} ) ``` ###### 从 pfx 提取私钥和证书 ``` ( _fd_pfx="cert.pfx" ; _fd_pem="key_certs.pem" ; \ openssl pkcs12 -in ${_fd_pfx} -nodes -out ${_fd_pem} ) ``` ###### 从 p7b 提取证书 ``` # PKCS#7 文件不包含私钥。 ( _fd_p7b="cert.p7b" ; _fd_pem="cert.pem" ; \ openssl pkcs7 -inform DER -outform PEM -in ${_fd_p7b} -print_certs > ${_fd_pem}) # 或: openssl pkcs7 -print_certs -in -in ${_fd_p7b} -out ${_fd_pem}) ``` ###### 将 DER 转换为 PEM ``` ( _fd_der="cert.crt" ; _fd_pem="cert.pem" ; \ openssl x509 -in ${_fd_der} -inform der -outform pem -out ${_fd_pem} ) ``` ###### 将 PEM 转换为 DER ``` ( _fd_der="cert.crt" ; _fd_pem="cert.pem" ; \ openssl x509 -in ${_fd_pem} -outform der -out ${_fd_der} ) ``` ###### 验证私钥 ``` ( _fd="private.key" ; \ openssl rsa -noout -text -in ${_fd} ) ``` ###### 验证公钥 ``` # 1) ( _fd="public.key" ; \ openssl pkey -noout -text -pubin -in ${_fd} ) # 2) ( _fd="private.key" ; \ openssl rsa -inform PEM -noout -in ${_fd} &> /dev/null ; \ if [ $? = 0 ] ; then echo -en "OK\n" ; fi ) ``` ###### 验证证书 ``` ( _fd="certificate.crt" ; # format: pem, cer, crt \ openssl x509 -noout -text -in ${_fd} ) ``` ###### 验证 CSR ``` ( _fd_csr="request.csr" ; \ openssl req -text -noout -in ${_fd_csr} ) ``` ###### 检查私钥和证书是否匹配 ``` (openssl rsa -noout -modulus -in private.key | openssl md5 ; \ openssl x509 -noout -modulus -in certificate.crt | openssl md5) | uniq ``` ###### 检查私钥和 CSR 是否匹配 ``` (openssl rsa -noout -modulus -in private.key | openssl md5 ; \ openssl req -noout -modulus -in request.csr | openssl md5) | uniq ``` ##### 工具: 🌎 [secure-delete](wiki.archlinux.org/index.php/Securely_wipe_disk) ###### 使用 shred 进行安全删除 ``` shred -vfuz -n 10 file shred --verbose --random-source=/dev/urandom -n 1 /dev/sda ``` ###### 使用 scrub 进行安全删除 ``` scrub -p dod /dev/sda scrub -p dod -r file ``` ###### 使用 badblocks 进行安全删除 ``` badblocks -s -w -t random -v /dev/sda badblocks -c 10240 -s -w -t random -v /dev/sda ``` ###### 使用 secure-delete 进行安全删除 ``` srm -vz /tmp/file sfill -vz /local sdmem -v swapoff /dev/sda5 && sswap -vz /dev/sda5 ``` ##### 工具: [dd](https://en.wikipedia.org/wiki/Dd_(Unix)) ###### 不时显示 dd 状态 ``` dd status=progress watch --interval 5 killall -USR1 dd ``` ###### 使用 dd 将输出重定向到文件 ``` echo "string" | dd of=filename ``` ##### 工具: 🌎 [gpg](www.gnupg.org/) ###### 导出公钥 ``` gpg --export --armor "" > username.pkey ``` * `--export` - 从所有 keyring 或特定 key 导出所有密钥 * `-a|--armor` - 创建 ASCII armored 输出 ###### 加密文件 ``` gpg -e -r "" dump.sql ``` * `-e|--encrypt` - 加密数据 * `-r|--recipient` - 为特定 加密 ###### 解密文件 ``` gpg -o dump.sql -d dump.sql.gpg ``` * `-o|--output` - 用作输出文件 * `-d|--decrypt` - 解密数据(默认) ###### 搜索接收者 ``` gpg --keyserver hkp://keyserver.ubuntu.com --search-keys "" ``` * `--keyserver` - 设置特定的 key server * `--search-keys` - 在 key server 上搜索密钥 ###### 列出加密文件中的所有数据包 ``` gpg --batch --list-packets archive.gpg gpg2 --batch --list-packets archive.gpg ``` ##### 工具: 208555⭐  12538🍴 [system-other](https://github.com/trimstray/the-book-of-secret-knowledge#tool-system-other)) ###### 从 init 重启系统 ``` exec /sbin/init 6 ``` ###### 从单用户模式初始化系统 ``` exec /sbin/init ``` ###### 显示进程的当前工作目录 ``` readlink -f /proc//cwd ``` ###### 显示已执行命令的实际路径名 ``` readlink -f /proc//exe ``` ##### 工具: 🌎 [curl](curl.haxx.se) ``` curl -Iks https://www.google.com ``` * `-I` - 仅显示响应头 * `-k` - 使用 ssl 时进行不安全的连接 * `-s` - 静默模式(不显示 body) ``` curl -Iks --location -X GET -A "x-agent" https://www.google.com ``` * `--location` - 跟随重定向 * `-X` - 设置方法 * `-A` - 设置 user-agent ``` curl -Iks --location -X GET -A "x-agent" --proxy http://127.0.0.1:16379 https://www.google.com ``` * `--proxy [socks5://|http://]` - 设置代理服务器 ``` curl -o file.pdf -C - https://example.com/Aiju2goo0Ja2.pdf ``` * `-o` - 将输出写入文件 * `-C` - 恢复传输 ###### 查找你的外部 IP 地址(外部服务) ``` curl ipinfo.io curl ipinfo.io/ip curl icanhazip.com curl ifconfig.me/ip ; echo ``` ###### 重复 URL 请求 ``` # 使用伪查询字符串进行 URL 序列替换: curl -ks https://example.com/?[1-20] # 使用 shell 'for' 循环: for i in {1..20} ; do curl -ks https://example.com/ ; done ``` ###### 检查特定域名的 DNS 和 HTTP trace 及 headers ``` ### 设置域名和外部 DNS 服务器。 _domain_list=(google.com) ; _dns_list=("8.8.8.8" "1.1.1.1") for _domain in "${_domain_list[@]}" ; do printf '=%.0s' {1..48} echo printf "[\\e[1;32m+\\e[m] resolve: %s\\n" "$_domain" for _dns in "${_dns_list[@]}" ; do # Resolve domain. host "${_domain}" "${_dns}" echo done for _proto in http https ; do printf "[\\e[1;32m+\\e[m] trace + headers: %s://%s\\n" "$_proto" "$_domain" # Get trace and http headers. curl -Iks -A "x-agent" --location "${_proto}://${_domain}" echo done done unset _domain_list _dns_list ``` ##### 工具: 🌎 [httpie](httpie.org/) ``` http -p Hh https://www.google.com ``` * `-p` - 打印请求和响应头 * `H` - 请求头 * `B` - 请求 body * `h` - 响应头 * `b` - 响应 body ``` http -p Hh https://www.google.com --follow --verify no ``` * `-F, --follow` - 跟随重定向 * `--verify no` - 跳过 SSL 验证 ``` http -p Hh https://www.google.com --follow --verify no \ --proxy http:http://127.0.0.1:16379 ``` * `--proxy [http:]` - 设置代理服务器 ##### 工具: 🌎 [ssh](www.openssh.com/) ###### 转义序列 ``` # 支持的转义序列: ~. - terminate connection (and any multiplexed sessions) ~B - send a BREAK to the remote system ~C - open a command line ~R - Request rekey (SSH protocol 2 only) ~^Z - suspend ssh ~# - list forwarded connections ~& - background ssh (when waiting for connections to terminate) ~? - this message ~~ - send the escape character by typing it twice ``` ###### 比较远程文件与本地文件 ``` ssh user@host cat /path/to/remotefile | diff /path/to/localfile - ``` ###### 通过中间主机的 SSH 连接 ``` ssh -t reachable_host ssh unreachable_host ``` ###### 通过 SSH 在远程主机上运行命令 ``` cat > cmd.txt << __EOF__ cat /etc/hosts __EOF__ ssh host -l user $(&1 | tee -a "${_sesdir}/$(date +%Y%m%d).log" } # 别名: alias ssh='_ssh_sesslog' ``` ###### 使用 Keychain 进行 SSH 登录 ``` ### 删除 ssh-agent 的所有密钥。 function _scl() { /usr/bin/keychain --clear } ### 将密钥添加到 keychain。 function _scg() { /usr/bin/keychain /path/to/private-key source "$HOME/.keychain/$HOSTNAME-sh" } ``` ###### 不处理任何登录脚本的 SSH 登录 ``` ssh -tt user@host bash ``` ###### SSH 本地端口转发 示例 1: ``` # 通过 localhost 将本地 2250 端口转发到 nmap.org:443 host1> ssh -L 2250:nmap.org:443 localhost # 连接到服务: host1> curl -Iks --location -X GET https://localhost:2250 ``` 示例 2: ``` # 通过 localhost 将本地 9051 端口转发到 db.d.x:5432 host1> ssh -nNT -L 9051:db.d.x:5432 node.d.y # 连接到服务: host1> psql -U db_user -d db_dev -p 9051 -h localhost ``` * `-n` - 将 stdin 重定向到 `/dev/null` * `-N` - 不执行远程命令 * `-T` - 禁用伪终端分配 ###### SSH 远程端口转发 ``` # 通过 node.d.y 从 host2 将本地 9051 端口转发到 db.d.x:5432 host1> ssh -nNT -R 9051:db.d.x:5432 node.d.y # 连接到服务: host2> psql -U postgres -d postgres -p 8000 -h localhost ``` ##### 工具: 🌎 [linux-dev](www.tldp.org/LDP/abs/html/devref1.html) ###### 测试到端口的远程连接 ``` timeout 1 bash -c "//" >/dev/null 2>&1 ; echo $? ``` * `` - 设置远程主机 * `` - 设置目标端口 ###### 使用通用 bash 工具读写 TCP 或 UDP socket ``` exec 5<>/dev/tcp//; cat <&5 & cat >&5; exec 5>&- ``` ##### 工具: [tcpdump](http://www.tcpdump.org/) ###### 过滤传入(接口上)流量(特定 ) ``` tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443 ``` * `-n` - 不转换地址(`-nn` 将不解析主机名或端口) * `-e` - 打印链路层头 * `-i [iface|any]` - 设置接口 * `-Q|-D [in|out|inout]` - 选择发送/接收方向(`-D` - 用于旧版 tcpdump) * `host [ip|hostname]` - 设置主机,也可用 `[host not]` * `[and|or]` - 设置逻辑 * `port [1-65535]` - 设置端口号,也可用 `[port not]` ###### 过滤传入(接口上)流量(特定 )并写入文件 ``` tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443 -c 5 -w tcpdump.pcap ``` * `-c [num]` - 仅捕获 num 个数据包 * `-w [filename]` - 将数据包写入文件,`-r [filename]` - 从文件读取 ###### 捕获所有 ICMP 数据包 ``` tcpdump -nei eth0 icmp ``` ###### 检查服务使用的协议(TCP 或 UDP) ``` tcpdump -nei eth0 tcp port 22 -vv -X | egrep "TCP|UDP" ``` ###### 显示 ASCII 文本(用于使用 grep 或其他工具解析输出) ``` tcpdump -i eth0 -A -s0 port 443 ``` ###### 获取两个关键词之间的所有内容 ``` tcpdump -i eth0 port 80 -X | sed -n -e '/username/,/=ldap/ p' ``` ###### 获取所有明文 http 的用户名和密码 ``` tcpdump -i eth0 port http -l -A | egrep -i \ 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' \ --color=auto --line-buffered -B20 ``` ###### 从 HTTP 请求头中提取 HTTP User Agent ``` tcpdump -ei eth0 -nn -A -s1500 -l | grep "User-Agent:" ``` ###### 仅捕获 HTTP GET 和 POST 数据包 ``` tcpdump -ei eth0 -s 0 -A -vv \ 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' or 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' ``` 或简单地: ``` tcpdump -ei eth0 -s 0 -v -n -l | egrep -i "POST /|GET /|Host:" ``` ###### 轮转捕获文件 ``` tcpdump -ei eth0 -w /tmp/capture-%H.pcap -G 3600 -C 200 ``` * `-G ` - 每 `` 秒创建一个 pcap * `-C ` - 如果当前 pcap 大于 ``,则关闭当前 pcap 并打开一个新的 ###### 按数据包数量排名的主机 ``` tcpdump -ei enp0s25 -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20 ``` ###### 排除任何 RFC 1918 私有地址 ``` tcpdump -nei eth0 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' ``` ##### 工具: [tcpick](http://tcpick.sourceforge.net/) ###### 实时分析数据包 ``` while true ; do tcpick -a -C -r dump.pcap ; sleep 2 ; clear ; done ``` ##### 工具: [ngrep](http://ngrep.sourceforge.net/usage.html) ``` ngrep -d eth0 "www.domain.com" port 443 ``` * `-d [iface|any]` - 设置接口 * `[domain]` - 设置主机名 * `port [1-65535]` - 设置端口号 ``` ngrep -d eth0 "www.domain.com" src host 10.240.20.2 and port 443 ``` * `(host [ip|hostname])` - 按 ip 或主机名过滤 * `(port [1-65535])` - 按端口号过滤 ``` ngrep -d eth0 -qt -O ngrep.pcap "www.domain.com" port 443 ``` * `-q` - 安静模式(仅 payload) * `-t` - 添加时间戳 * `-O [filename]` - 将输出保存到文件,`-I [filename]` - 从文件读取 ``` ngrep -d eth0 -qt 'HTTP' 'tcp' ``` * `HTTP` - 显示 http 头 * `tcp|udp` - 设置协议 * `[src|dst] host [ip|hostname]` - 为特定节点设置方向 ``` ngrep -l -q -d eth0 -i "User-Agent: curl*" ``` * `-l` - stdout 行缓冲 * `-i` - 不区分大小写搜索 ##### 工具: [hping3](http://www.hping.org/) ``` hping3 -V -p 80 -s 5050 www.google.com ``` * `-V|--verbose` - 详细模式 * `-p|--destport` - 设置目标端口 * `-s|--baseport` - 设置源端口 * `` - 设置扫描类型 * `-F|--fin` - 设置 FIN 标志,若无回复则端口开放 * `-S|--syn` - 设置 SYN 标志 * `-P|--push` - 设置 PUSH 标志 * `-A|--ack` - 设置 ACK 标志(当 ping 被阻止时使用,若端口开放则返回 RST 响应) * `-U|--urg` - 设置 URG 标志 * `-Y|--ymas` - 设置 Y 未使用标志(0x80 - nullscan),若无回复则端口开放 * `-M 0 -UPF` - 设置 TCP 序列号和扫描类型 (URG+PUSH+FIN),若无回复则端口开放 ``` hping3 -V -c 1 -1 -C 8 www.google.com ``` * `-c [num]` - 数据包计数 * `-1` - 设置 ICMP 模式 * `-C|--icmptype [icmp-num]` - 设置 icmp 类型(默认 icmp-echo = 8) ``` hping3 -V -c 1000000 -d 120 -S -w 64 -p 80 --flood --rand-source ``` * `--flood` - 尽可能快地发送数据包(不显示回复) * `--rand-source` - 随机源地址模式 * `-d --data` - 数据大小 * `-w|--win` - 窗口大小(默认 64) ##### 工具: 🌎 [nmap](nmap.org/) ###### Ping 扫描网络 ``` nmap -sP 192.168.0.0/24 ``` ###### 仅显示开放端口 ``` nmap -F --open 192.168.0.0/24 ``` ###### 使用服务版本检测的完整 TCP 端口扫描 ``` nmap -p 1-65535 -sV -sS -T4 192.168.0.0/24 ``` ###### Nmap 扫描并将输出传递给 Nikto ``` nmap -p80,443 192.168.0.0/24 -oG - | nikto.pl -h - ``` ###### 使用 Nmap NSE 脚本栈侦察特定 ip:service ``` # 设置变量: _hosts="192.168.250.10" _ports="80,443" # 设置 Nmap NSE 脚本栈: _nmap_nse_scripts="+dns-brute,\ +http-auth-finder,\ +http-chrono,\ +http-cookie-flags,\ +http-cors,\ +http-cross-domain-policy,\ +http-csrf,\ +http-dombased-xss,\ +http-enum,\ +http-errors,\ +http-git,\ +http-grep,\ +http-internal-ip-disclosure,\ +http-jsonp-detection,\ +http-malware-host,\ +http-methods,\ +http-passwd,\ +http-phpself-xss,\ +http-php-version,\ +http-robots.txt,\ +http-sitemap-generator,\ +http-shellshock,\ +http-stored-xss,\ +http-title,\ +http-unsafe-output-escaping,\ +http-useragent-tester,\ +http-vhosts,\ +http-waf-detect,\ +http-waf-fingerprint,\ +http-xssed,\ +traceroute-geolocation.nse,\ +ssl-enum-ciphers,\ +whois-domain,\ +whois-ip" # 设置 Nmap NSE 脚本参数: _nmap_nse_scripts_args="dns-brute.domain=${_hosts},http-cross-domain-policy.domain-lookup=true," _nmap_nse_scripts_args+="http-waf-detect.aggro,http-waf-detect.detectBodyChanges," _nmap_nse_scripts_args+="http-waf-fingerprint.intensive=1" # 执行扫描: nmap --script="$_nmap_nse_scripts" --script-args="$_nmap_nse_scripts_args" -p "$_ports" "$_hosts" ``` ##### 工具: [netcat](http://netcat.sourceforge.net/) ``` nc -kl 5000 ``` * `-l` - 监听传入连接 * `-k` - 客户端断开连接后继续监听 * `>filename.out` - 将接收的数据保存到文件(可选) ``` nc 192.168.0.1 5051 < filename.in ``` * `< filename.in` - 发送数据到远程 ``` nc -vz 10.240.30.3 5000 ``` * `-v` - 详细输出 * `-z` - 扫描监听守护进程 ``` nc -vzu 10.240.30.3 1-65535 ``` * `-u` - 仅扫描 udp 端口 ###### 传输数据文件(归档) ``` server> nc -l 5000 | tar xzvfp - client> tar czvfp - /path/to/dir | nc 10.240.30.3 5000 ``` ###### 启动远程 shell ``` # 1) server> nc -l 5000 -e /bin/bash client> nc 10.240.30.3 5000 # 2) server> rm -f /tmp/f; mkfifo /tmp/f server> cat /tmp/f | /bin/bash -i 2>&1 | nc -l 127.0.0.1 5000 > /tmp/f client> nc 10.240.30.3 5000 ``` ###### 简单文件服务器 ``` while true ; do nc -l 5000 | tar -xvf - ; done ``` ###### 简单的最小 HTTP 服务器 ``` while true ; do nc -l -p 1500 -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"' ; done ``` ###### 简单 HTTP 服务器 ``` cat > index.html << __EOF__

Hello! It's a site.

__EOF__ ``` ``` server> while : ; do \ (echo -ne "HTTP/1.1 200 OK\r\nContent-Length: $(wc -c /" <"$_sent" & sed "s/^/<= /" <"$_recv" & nc -l -p "$_listen_port" <"$_back" | \ tee "$_sent" | \ nc "$_bk_host" "$_bk_port" | \ tee "$_recv" >"$_back" ``` ``` server> chmod +x nc-proxy && ./nc-proxy 8080 192.168.252.10:8000 lport: 8080 bk_host: 192.168.252.10 bk_port: 8000 client> http -p h 10.240.30.3:8080 HTTP/1.1 200 OK Accept-Ranges: bytes Cache-Control: max-age=31536000 Content-Length: 2748 Content-Type: text/html; charset=utf-8 Date: Sun, 01 Jul 2018 20:12:08 GMT Last-Modified: Sun, 01 Apr 2018 21:53:37 GMT ``` ###### 创建一次性 TCP 或 UDP 代理 ``` ### TCP -> TCP nc -l -p 2000 -c "nc [ip|hostname] 3000" ### TCP -> UDP nc -l -p 2000 -c "nc -u [ip|hostname] 3000" ### UDP -> UDP nc -l -u -p 2000 -c "nc -u [ip|hostname] 3000" ### UDP -> TCP nc -l -u -p 2000 -c "nc [ip|hostname] 3000" ``` ##### 工具: 🌎 [gnutls-cli](gnutls.org/manual/html_node/gnutls_002dcli-Invocation.html) ###### 测试与远程主机的连接(支持 SNI) ``` gnutls-cli -p 443 google.com ``` ###### 测试与远程主机的连接(不支持 SNI) ``` gnutls-cli --disable-sni -p 443 google.com ``` ##### 工具: [socat](http://www.dest-unreach.org/socat/doc/socat.html) ###### 测试到端口的远程连接 ``` socat - TCP4:10.240.30.3:22 ``` * `-` - 标准输入 (STDIO) * `TCP4:` - 使用特定参数设置 tcp4 连接 * `[hostname|ip]` - 设置主机名/ip * `[1-65535]` - 设置端口号 ###### 在 Linux 下将 TCP 流量重定向到 UNIX domain socket ``` socat TCP-LISTEN:1234,bind=127.0.0.1,reuseaddr,fork,su=nobody,range=127.0.0.0/8 UNIX-CLIENT:/tmp/foo ``` * `TCP-LISTEN:` - 使用特定参数设置 tcp 监听 * `[1-65535]` - 设置端口号 * `bind=[hostname|ip]` - 设置绑定主机名/ip * `reuseaddr` - 允许其他 socket 绑定到地址 * `fork` - 保持父进程尝试建立更多连接 * `su=nobody` - 设置用户 * `range=[ip-range]` - ip 范围 * `UNIX-CLIENT:` - 与指定的对等 socket 通信 * `filename` - 定义 socket ##### 工具: [p0f](http://lcamtuf.coredump.cx/p0f3/) ###### 将 iface 设置为混杂模式并将流量转储到日志文件 ``` p0f -i enp0s25 -p -d -o /dump/enp0s25.log ``` * `-i` - 在指定接口上监听 * `-p` - 将接口设置为混杂模式 * `-d` - 在后台 fork * `-o` - 输出文件 ##### 工具: 🌎 [netstat](en.wikipedia.org/wiki/Netstat) ###### 绘制每个主机的连接数图表 ``` netstat -an | awk '/ESTABLISHED/ { split($5,ip,":"); if (ip[1] !~ /^$/) print ip[1] }' | \ sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }' ``` ###### 监控特定端口的开放连接,包括监听、计数并按 IP 排序 ``` watch "netstat -plan | grep :443 | awk {'print \$5'} | cut -d: -f 1 | sort | uniq -c | sort -nk 1" ``` ###### 从本地 IPv4 监听端口获取 banner ``` netstat -nlt | grep 'tcp ' | grep -Eo "[1-9][0-9]*" | xargs -I {} sh -c "echo "" | nc -v -n -w1 127.0.0.1 {}" ``` ##### 工具: 🌎 [rsync](en.wikipedia.org/wiki/Rsync) ###### 使用 sudo 以 root 身份 rsync 远程数据 ``` rsync --rsync-path 'sudo rsync' username@hostname:/path/to/dir/ /local/ ``` ##### 工具: [host](https://en.wikipedia.org/wiki/Host_(Unix)) ###### 解析域名(使用外部 dns server) ``` host google.com 9.9.9.9 ``` ###### 检查域管理员(SOA 记录) ``` host -t soa google.com 9.9.9.9 ``` ##### 工具: [dig](https://en.wikipedia.org/wiki/Dig_(command)) ###### 解析域名(简短输出) ``` dig google.com +short ``` ###### 查找特定域名的 NS 记录 ``` dig @9.9.9.9 google.com NS ``` ###### 仅查询 answer section ``` dig google.com +nocomments +noquestion +noauthority +noadditional +nostats ``` ###### 查询所有 DNS 记录 ``` dig google.com ANY +noall +answer ``` ###### DNS 反向查找 ``` dig -x 172.217.16.14 +short ``` ##### 工具: 🌎 [certbot](certbot.eff.org/) ###### 生成多域证书 ``` certbot certonly -d example.com -d www.example.com ``` ###### 生成通配符证书 ``` certbot certonly --manual --preferred-challenges=dns -d example.com -d *.example.com ``` ###### 生成带有 4096 位私钥的证书 ``` certbot certonly -d example.com -d www.example.com --rsa-key-size 4096 ``` ##### 工具: 208555⭐  12538🍴 [network-other](https://github.com/trimstray/the-book-of-secret-knowledge#tool-network-other)) ###### 获取特定 AS(自治系统)的所有子网 ``` AS="AS32934" whois -h whois.radb.net -- "-i origin ${AS}" | \ grep "^route:" | \ cut -d ":" -f2 | \ sed -e 's/^[ \t]//' | \ sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 | \ cut -d ":" -f2 | \ sed -e 's/^[ \t]/allow /' | \ sed 's/$/;/' | \ sed 's/allow */subnet -> /g' ``` ###### 使用 curl 和 jq 从 dns.google.com 解析域名 ``` _dname="google.com" ; curl -s "https://dns.google.com/resolve?name=${_dname}&type=A" | jq . ``` ##### 工具: 🌎 [git](git-scm.com/) ###### 用于体面查看 repo 的 log 别名 ``` # 1) git log --oneline --decorate --graph --all # 2) git log --graph \ --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' \ --abbrev-commit ``` ##### 工具: 🌎 [python](www.python.org/) ###### 静态 HTTP web 服务器 ``` # Python 3.x python3 -m http.server 8000 --bind 127.0.0.1 # Python 2.x python -m SimpleHTTPServer 8000 ``` ###### 支持 SSL 的静态 HTTP web 服务器 ``` # Python 3.x from http.server import HTTPServer, BaseHTTPRequestHandler import ssl httpd = HTTPServer(('localhost', 4443), BaseHTTPRequestHandler) httpd.socket = ssl.wrap_socket (httpd.socket, keyfile="path/to/key.pem", certfile='path/to/cert.pem', server_side=True) httpd.serve_forever() # Python 2.x import BaseHTTPServer, SimpleHTTPServer import ssl httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler) httpd.socket = ssl.wrap_socket (httpd.socket, keyfile="path/tp/key.pem", certfile='path/to/cert.pem', server_side=True) httpd.serve_forever() ``` ###### 编码 base64 ``` python -m base64 -e <<< "sample string" ``` ###### 解码 base64 ``` python -m base64 -d <<< "dGhpcyBpcyBlbmNvZGVkCg==" ``` ##### 工具: [awk](http://www.grymoire.com/Unix/Awk.html) ###### 搜索匹配行 ``` # egrep foo awk '/foo/' filename ``` ###### 搜索不匹配的行 ``` # egrep -v foo awk '!/foo/' filename ``` ###### 打印带编号的匹配行 ``` # egrep -n foo awk '/foo/{print FNR,$0}' filename ``` ###### 打印最后一列 ``` awk '{print $NF}' filename ``` ###### 查找所有超过 80 个字符的行 ``` awk 'length($0)>80{print FNR,$0}' filename ``` ###### 仅打印少于 80 个字符的行 ``` awk 'length < 80' filename ``` ###### 打印文件的双换行符 ``` awk '1; { print "" }' filename ``` ###### 打印行号 ``` awk '{ print FNR "\t" $0 }' filename awk '{ printf("%5d : %s\n", NR, $0) }' filename # in a fancy manner ``` ###### 仅打印非空行的行号 ``` awk 'NF { $0=++a " :" $0 }; { print }' filename ``` ###### 打印匹配正则表达式的行及其后两行 (i=5) ``` awk '/foo/{i=5+1;}{if(i){i--; print;}}' filename ``` ###### 打印从匹配 'server {' 的行开始直到匹配 '}' 的行 ``` awk '/server {/,/}/' filename ``` ###### 带分隔符打印多列 ``` awk -F' ' '{print "ip:\t" $2 "\n port:\t" $3' filename ``` ###### 移除空行 ``` awk 'NF > 0' filename # 替代方案: awk NF filename ``` ###### 删除尾部空白(空格、制表符) ``` awk '{sub(/[ \t]*$/, "");print}' filename ``` ###### 删除行首空白 ``` awk '{sub(/^[ \t]+/, ""); print}' filename ``` ###### 移除重复的连续行 ``` # uniq awk 'a !~ $0{print}; {a=$0}' filename ``` ###### 在文件中移除重复条目而不进行排序 ``` awk '!x[$0]++' filename ``` ###### 排除多列 ``` awk '{$1=$3=""}1' filename ``` ###### 在匹配正则表达式的行上将 foo 替换为 bar ``` awk '/regexp/{gsub(/foo/, "bar")};{print}' filename ``` ###### 在匹配行的开头添加一些字符 ``` awk '/regexp/{sub(/^/, "++++"); print;next;}{print}' filename ``` ###### 获取最近一小时的 Apache 日志 ``` awk '/'$(date -d "1 hours ago" "+%d\\/%b\\/%Y:%H:%M")'/,/'$(date "+%d\\/%b\\/%Y:%H:%M")'/ { print $0 }' \ /var/log/httpd/access_log ``` ##### 工具: [sed](http://www.grymoire.com/Unix/Sed.html) ###### 从文件中打印特定行 ``` sed -n 10p /path/to/file ``` ###### 从文件中删除特定行 ``` sed -i 10d /path/to/file # 替代方案 (BSD): sed -i'' 10d /path/to/file ``` ###### 从文件中删除一系列行 ``` sed -i -re ',d' ``` ###### 用空格替换换行符 ``` sed ':a;N;$!ba;s/\n/ /g' /path/to/file # 跨平台兼容语法: sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' /path/to/file ``` - `:a` 创建标签 `a` - `N` 将下一行追加到模式空间 - `$!` 如果不是最后一行,ba 分支(转到)标签 `a` - `s` 替换,`/\n/` 换行符的正则表达式,`/ /` 替换为空格,`/g` 全局匹配(尽可能多次) 替代方案: ``` # perl 版本 (sed 类速度): perl -p -e 's/\n/ /' /path/to/file # bash 版本 (慢): while read line ; do printf "%s" "$line " ; done < file ``` ###### 删除字符串 +N 后续行 ``` sed '/start/,+4d' /path/to/file ``` ##### 工具: [grep](http://www.grymoire.com/Unix/Grep.html) ###### 在当前目录的所有文件中搜索 "pattern" ``` grep -rn "pattern" grep -RnisI "pattern" * fgrep "pattern" * -R ``` ###### 仅显示多个模式 ``` grep 'INFO*'\''WARN' filename grep 'INFO\|WARN' filename grep -e INFO -e WARN filename grep -E '(INFO|WARN)' filename egrep "INFO|WARN" filename ``` ###### 排除多个模式 ``` grep -vE '(error|critical|warning)' filename ``` ###### 显示文件中不带注释的数据 ``` grep -v ^[[:space:]]*# filename ``` ###### 显示文件中不带注释和空行的数据 ``` egrep -v '#|^$' filename ``` ###### 显示带有破折号/连字符的字符串 ``` grep -e -- filename grep -- -- filename grep "\-\-" filename ``` ###### 从文件中删除空行并将输出保存到新文件 ``` grep . filename > newfilename ``` ##### 工具: 🌎 [perl](www.perl.org/) ###### 搜索并替换(原地) ``` perl -i -pe's/SEARCH/REPLACE/' filename ``` ###### 编辑 `*.conf` 文件,将所有 foo 更改为 bar(并备份原始文件) ``` perl -p -i.orig -e 's/\bfoo\b/bar/g' *.conf ``` ###### 打印 `*.conf` 文件的前 20 行 ``` perl -pe 'exit if $. > 20' *.conf ``` ###### 搜索第 10 到 20 行 ``` perl -ne 'print if 10 .. 20' filename ``` ###### 删除前 10 行(并备份原始文件) ``` perl -i.orig -ne 'print unless 1 .. 10' filename ``` ###### 删除除 foo 和 bar 之间的行之外的所有行(并备份原始文件) ``` perl -i.orig -ne 'print unless /^foo$/ .. /^bar$/' filename ``` ###### 将多个空行缩减为单行 ``` perl -p -i -00pe0 filename ``` ###### 将制表符转换为空格 (1t = 2sp) ``` perl -p -i -e 's/\t/ /g' filename ``` ###### 从文件读取输入并报告行数和字符数 ``` perl -lne '$i++; $in += length($_); END { print "$i lines, $in characters"; }' filename ``` #### Shell 技巧  [[TOC]](#anger-table-of-contents) 当你获得一个 shell 时,它通常不太整洁,但按照以下步骤操作后,你将拥有一个相当整洁且舒适的 shell 来工作。 1. `script /dev/null -c bash` 2. Ctrl-Z(将其发送到后台) 3. `stty raw -echo; fg`(将 shell 返回前台) 4. `reset`(重置终端) 5. `xterm`(当被询问终端类型时) 6. `export TERM=xterm; export SHELL=bash` #### Shell 函数  [[TOC]](#anger-table-of-contents) ##### 目录 - [域名解析](#domain-resolve) - [获取 ASN](#get-asn) ###### 域名解析 ``` # 依赖项: # - curl # - jq function DomainResolve() { local _host="$1" local _curl_base="curl --request GET" local _timeout="15" _host_ip=$($_curl_base -ks -m "$_timeout" "https://dns.google.com/resolve?name=${_host}&type=A" | \ jq '.Answer[0].data' | tr -d "\"" 2>/dev/null) if [[ -z "$_host_ip" ]] || [[ "$_host_ip" == "null" ]] ; then echo -en "Unsuccessful domain name resolution.\\n" else echo -en "$_host > $_host_ip\\n" fi } ``` 示例: ``` shell> DomainResolve nmap.org nmap.org > 45.33.49.119 shell> DomainResolve nmap.org Unsuccessful domain name resolution. ``` ###### 获取 ASN ``` # 依赖项: # - curl function GetASN() { local _ip="$1" local _curl_base="curl --request GET" local _timeout="15" _asn=$($_curl_base -ks -m "$_timeout" "http://ip-api.com/line/${_ip}?fields=as") _state=$(echo $?) if [[ -z "$_ip" ]] || [[ "$_ip" == "null" ]] || [[ "$_state" -ne 0 ]]; then echo -en "Unsuccessful ASN gathering.\\n" else echo -en "$_ip > $_asn\\n" fi } ``` 示例: ``` shell> GetASN 1.1.1.1 1.1.1.1 > AS13335 Cloudflare, Inc. shell> GetASN 0.0.0.0 Unsuccessful ASN gathering. ``` ## 来源 208555⭐  12538🍴 [trimstray/the-book-of-secret-knowledge](https://github.com/trimstray/the-book-of-secret-knowledge))
标签:Awesome, Awesome List, CTF 辅助, Cutter, ESC1, Go语言工具, IT 知识库, One-liners, Shell 脚本, Windows内核, 可视化界面, 后渗透, 安全资源大全, 实用工具, 应用安全, 开源合集, 技术博客, 插件系统, 效率提升, 日志审计, 服务器监控, 白帽子, 精选列表, 系统管理, 红队资源, 网络安全, 运维手册, 逆向工具, 速查表, 防御加固, 隐私保护, 黑客秘籍