渗透基础 · 常用工具

搜索工具

  • google
  • bing
  • 微信搜索(相当好用)

VM

在大多数虚拟机软件中(比如 VMware、VirtualBox),网络通常有 三种基本模式


🌐 1. 桥接模式(Bridged)

就像虚拟机是一台真正连接到你局域网的独立电脑

  • 📡 网络结构:虚拟机直接桥接到宿主机的网卡上,跟宿主机在同一个网段
  • 🧩 IP获取:虚拟机通过 DHCP 或手动配置,获取和宿主机一样网段的 IP。
  • 🌍 外网访问:能访问外网,也能被局域网内的其他设备访问
  • ✅ 适用场景:搭建服务器(web、ftp等),需要被其他设备访问时

例如:你本地是 192.168.1.100,虚拟机会分到 192.168.1.101,路由器可识别它。


🔄 2. NAT 模式(Network Address Translation)

虚拟机相当于在宿主机后面的小局域网

  • 📡 网络结构:虚拟机通过 NAT 使用宿主机的 IP 上网。
  • 🧩 IP获取:虚拟机是内部网络(比如 10.0.2.x)的一员,和宿主机不在同一个网段。
  • 🌍 外网访问:可以访问外网,但默认不能被外部访问
  • ✅ 适用场景:虚拟机需要上网但不需要提供服务,安全性较高

就像家里的路由器让你所有设备上网一样,虚拟机借宿主机的网络上网。


🕸️ 3. 仅主机模式(Host-Only)

虚拟机只和宿主机通信,完全隔离外网

  • 📡 网络结构:虚拟机和宿主机通过虚拟网卡连接,构成私有局域网。
  • 🧩 IP获取:虚拟机被分配一个 host-only 虚拟网段的 IP(如 192.168.56.x)。
  • 🌍 外网访问:不能上网,也不能被局域网设备访问,只能与宿主机通信。
  • ✅ 适用场景:测试内部通信、安全实验、做靶场。

💡 总结表格

模式 是否能上网 是否能被外部访问 是否与主机互通 安全性
桥接 Bridged 较低
NAT ❌(默认) 中等
Host-Only


Nmap

全名是 Network Mapper,一款开源的网络扫描工具,用来发现网络中的主机服务,还能探测操作系统开放端口运行服务潜在漏洞
比如有http服务,那可能有个网站。

nmap 10.10.10.10.10

参数

  • -Pn 跳过主机发现阶段,直接扫描端口;
  • -sV 识别服务版本
  • -sS 半开放扫描(SYN 扫描),发 SYN 包,不建立完整连接,既快又隐蔽
  • -sC 使用默认脚本扫描(default scripts)
  • -A 启用高级侦查,包括:
    ① 操作系统识别
    ② 服务版本检测
    ③ 脚本扫描(如漏洞探测)
    ④ 路由跟踪
  • -p- 扫描所有端口
  • -p0-65535 扫描指定端口0到65535
  • -T4 加快扫描速度(T0-T5 越高越快,默认T3)

Netcat

  • nc -nlvp 4444 监听4444端口

参数

参数 含义 作用场景
-n 禁止 DNS 查询 加快扫描或连接速度,防止域名泄露
-l 监听模式(Listen) 本机作为服务端监听连接(接反弹 shell 必备)
-v 详细模式(Verbose) 输出详细过程,让你看清一切连接细节
-p 指定端口(Port) 设置监听的端口号
-z 扫描模式(Zero I/O) 用于快速扫描端口,不进行实际连接
-u UDP 模式 切换为 UDP 协议,默认是 TCP

gobuster

  • dir | 模式是目录/文件扫描(还可用 dns、vhost 等)
  • -u http://10.10.245.74/ | 指定目标网址(这里是一个靶场内网 IP)
  • -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt | 使用的字典文件(中等大小,暴力枚举目录名)
  • -t 100 | 使用 100个线程 进行扫描,速度快,但对服务器压力大
  • -x php | 加后缀 .php 文件(比如:login.php、admin.php 等)

Hydry(九头蛇)

💥 命令总览

hydra -L /usr/share/wordlists/seclists/Usernames/Names/names.txt \
      -p "" \
      lookup.thm http-post-form \
      "/login.php:username=^USER^&password=^PASS^:F=Wrong username or password. Please try again." \
      -t 64
🧠 参数解析

参数	说明
-L	使用用户名列表(多用户) 小写是单个用户
-p ""	尝试空密码(测试用户名是否存在) 大写是密码表
lookup.thm	目标主机名
http-post-form	POST 表单攻击模式
-t 64	并发线程数:64(很快,但容易被拦)


Metasploit Framework

召唤命令:msfconsole


dirsearch

好的,简单点说,dirsearch 就是用来扫描网站隐藏目录和文件的工具,通常用于渗透测试。

常用命令:

  1. 扫描目标网站

    python3 dirsearch.py -u http://example.com
    
  2. 指定文件扩展名(比如 .php.html):

    python3 dirsearch.py -u http://example.com -e php,html
    
  3. 指定字典文件

    python3 dirsearch.py -u http://example.com -w /path/to/wordlist.txt
    
  4. 设置线程数(默认是 10,增加线程数会加速扫描):

    python3 dirsearch.py -u http://example.com -t 20
    
  5. 排除某些响应码(例如排除 404):

    python3 dirsearch.py -u http://example.com -x 404
    
  6. 保存结果到文件

    python3 dirsearch.py -u http://example.com -o results.txt
    
  7. 使用代理(例如通过 127.0.0.1:8080 代理):

    python3 dirsearch.py -u http://example.com -p http://127.0.0.1:8080
    

简单总结:

  • -u:目标 URL
  • -e:扩展名
  • -w:字典文件
  • -t:线程数
  • -x:排除响应码
  • -o:输出文件
  • -p:代理

就这些基本命令!

rlwrap 是什么?
rlwrap 全称是 ReadLine Wrapper,是一个命令行工具,用于给那些不支持命令历史记录、行编辑功能的程序添加这些功能。

使用 Python 创建伪终端(pseudo-terminal),从而提供一个更稳定的交互式 shell:
meterpreter > shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
stty raw -echo # 按 Enter (即使命令被重复显示)

posted @ 2025-04-07 14:32  Xia0_0  阅读(31)  评论(0)    收藏  举报