CK: 03靶场渗透
CK: 03
来自 <https://www.vulnhub.com/entry/ck-03,464/>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.128,靶场IP192.168.23.150
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.150
4,第一步,尝试匿名登录上ftp服务器
ftp 192.168.23.150
服务器存在着一些文件
主要是一些日志文件
5,针对开放的445端口枚举了一下靶机上共享的东西,
enum4linux 192.168.23.150
发现两个共享的文件,以及两个系统用户名
smbdata成功登陆SMB服务,无密码
查看一下当前目录有什么
得到一个私钥文件和提示文本
查看一下提示
为安全起见,我移除了 find 命令,但不想删除 “getcap”。
我认为没什么人知道 “getcap” 和 “capsh” 这两个工具。
这个提示可能会影响到后面的suid提权?
6,使用私钥文件需要密码,那么就可用通过其hash值破解出对应所需密码,先输出id_rsa的哈希到文件中
ssh2john id_rsa >hash
john hash --wordlist=/usr/share/wordlists/rockyou.txt
成功得到使用密码为password
7,给id_rsa一个600权限然后登录到smbuser用户
chmod 600 id_rsa
ssh smbuser@192.168.23.150 -i id_rsa
登录成功,开始信息收集
任何就发现/etc/shadow文件是可读的,这样就可以破解root和bla用户的密码
john hash --wordlist=/usr/share/wordlists/rockyou.txt
成功切换到root用户,提权成功
一、SMB 协议简介
SMB(Server Message Block) 协议是一种 网络文件共享协议,最早由 IBM 在 1980 年代开发,后来被微软广泛使用并扩展。它主要用于:
发展历程:
二、SMB 协议端口
SMB 常见端口主要有两个:
三、为什么 SMB 同时出现在 139 和 445 端口?
这个现象和 SMB 的历史演变 与 兼容性需求 有关:
四、总结
- 139 端口:SMB 依赖 NetBIOS over TCP/IP 的旧模式。
- 445 端口:SMB 直接运行在 TCP/IP 上的新模式(Windows 2000 及之后)。
- 同时存在的原因:微软为了兼容旧系统,保留了两种通信方式,所以现代系统通常同时监听这两个端口。
- 历史原因(兼容旧系统)
- 在 Windows NT、Windows 95/98 时代,SMB 必须依赖 NetBIOS 协议栈,所以走 139 端口。
- 微软后来为了让 Windows 2000 及之后版本可以和旧系统通信,同时保留了对 139 端口的支持。
- 协议改进(直接走 TCP/IP)
- 为了提高性能和简化依赖,微软让 SMB 可以直接在 TCP 层上传输(即 445 端口)。
- 这样 SMB 不再依赖 NetBIOS 名称解析(NBTNS),而是直接使用 DNS 和 TCP/IP 协议栈。
- 系统兼容性机制
- 新版本 Windows 会同时监听 139 和 445,根据对端系统的能力来决定:
- 如果对方只支持 NetBIOS,会用 139。
- 如果对方支持 Direct Hosting,会优先使用 445。
- 新版本 Windows 会同时监听 139 和 445,根据对端系统的能力来决定:
- 现实情况
- 在现代 Windows(XP 以后),SMB 默认使用 445 端口。
- 但是 Windows 仍然保留 139 端口监听,确保和旧系统互通。
- 一些防火墙规则、入侵检测系统也会特地关注 139/445 作为 SMB 攻击面(比如著名的 永恒之蓝漏洞 MS17-010 就是通过 445 端口传播的)。
- TCP 139 端口(NetBIOS Session Service)
- 这是 SMB 早期版本常用的端口。
- SMB 当时是运行在 NetBIOS over TCP/IP(NBT)上的,NetBIOS 负责名称解析、会话建立,然后 SMB 协议通过 NetBIOS Session Service(端口 139)来进行文件共享。
- TCP 445 端口(Direct over TCP/IP)
- 从 Windows 2000 开始,微软引入了 “Direct Hosting of SMB over TCP/IP”。
- SMB 协议可以直接运行在 TCP/IP 上,而 不再依赖 NetBIOS 层。
- 所以 SMB 流量可以直接走 445 端口。
- SMB 1.0(CIFS):早期版本,依赖 NetBIOS,通信效率低。
- SMB 2.0(Windows Vista/Server 2008 引入):简化了指令集,减少开销。
- SMB 3.x(Windows 8/Server 2012+):引入加密、压缩、多通道等增强特性。
- 文件共享:用户可以通过 SMB 访问远程服务器上的文件(读、写、删除等)。
- 打印服务:支持远程打印机共享。
- 进程间通信(IPC):允许应用程序之间在网络上进行通信。
- 认证与会话管理:结合 Windows 域认证,支持基于 NTLM、Kerberos 的安全机制。
- 21/tcp:运行vsftpd 3.0.2,允许匿名 FTP 登录,且pub目录权限为drwxrwxrwx(所有人可读写),存在文件篡改、恶意文件上传风险。
- 22/tcp:运行OpenSSH 7.4,用于安全远程登录,但需防范暴力破解等攻击。
- 80/tcp:运行Apache httpd 2.4.6 (CentOS),存在TRACE等潜在风险方法,可能被用于漏洞利用。
- 111/tcp:运行rpcbind 2 - 4,作为 RPC 服务的绑定端口,涉及 NFS 等服务,若配置不当易受攻击。
- 139/tcp、445/tcp:运行 Samba 服务,版本分别为Samba smbd 3.X - 4.X和Samba smbd 4.9.1,存在消息签名未强制启用等安全隐患,可能被利用进行攻击。
- 1337/tcp:服务识别不明,返回 “Why are you here?!”,需进一步确认服务类型及安全性。
- 2049/tcp:运行nfs_acl 3,与 NFS 访问控制相关,若 NFS 配置不当,可能导致未授权访问。
- 2121/tcp:运行ProFTPD 1.3.5,允许匿名 FTP 登录,pub目录权限drwxrwxrwx,同样存在文件安全风险。
- 20048/tcp:运行mountd 1 - 3,与 NFS 挂载相关,存在潜在风险。
- 46043/tcp:运行status 1,属于 RPC 服务状态相关,需关注其安全性。
- 54111/tcp:运行nlockmgr 1 - 4,与 NFS 锁管理相关,若被滥用可能影响 NFS 服务正常运行。