Linux/Cap

Enumeration

nmap

第一次扫描发现系统对外开放了21,22,80端口,端口详细信息如下

除了22的ssh服务,80的http服务,还开了21端口,运行着ftp服务,从nmap给出的结果可以看到并没有启用匿名登录设置,还是从http开始枚举

HTTP

http服务是一个安全仪表盘,统计了登录失败,端口扫描频率等

页面右上角可以发现系统已经使用Nathan信息登录,点击下拉菜单中的链接不起作用

在页面点击network status,会发起一个get请求,提交/netstat,服务器则会执行netstat操作的内容

同理在页面点击ip config链接,发起get请求,发送ip,响应的好像是ifconfig的内容

不安全的直接对象引用 (IDOR)

页面还有一个Security Snapshot链接,后面括号描述会抓包分析,点击该链接进入下面的页面

最下方有一个下载按钮,并且页面显示其中的数据有内容,点击下载按钮会下载一个pcap包,就是刚才执行的查看ip的操作,而地址栏中可以看到url有/data/2,如果在执行一次Security Snapshot会显示url为/data/3

可以看出每次id执行操作时id都会递增,猜测在我执行前也有其他人执行过该操作,那么也会捕获到数据包,查看/data/1发现数据都是空的,再试试/data/0,发现了大量的数据

下载数据包,打开后通过ip可以知道是别人进行的操作然后捕获的数据包,发现其中有ftp的包,追踪ftp的数据流,发现了ftp的登录凭证nathan:Buck3tH4TF0RM3!

注意到用户名nathan也是web中登录用户的用户名,考虑密码复用,尝试使用ssh服务连接系统,成功

┌──(kali㉿kali)-[~/vegetable/HTB/Cap]
└─$ ssh nathan@10.10.10.245
nathan@10.10.10.245's password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-80-generic x86_64)

<--snip-->

Last login: Thu May 27 11:21:27 2021 from 10.10.14.7
nathan@cap:~$ 

Privilege Escalation

首先输入了sudo -l,却被提示不能执行该命令,尝试用linpeas来枚举系统弱点

利用python的http服务将脚本下载至目标主机

为脚本添加执行权限,然后运行它

发现了一个具备功能的文件条目,给/usr/bin/python3.8设置了cap_setuid和cap_bind_service+eip

根据gtfobins的介绍,二进制文件拥有cap_setuid功能,可以利用修改uid来提权

因为系统只安装了python3,执行以下指令,即可得到root权限

python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-16 02:22:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-16 02:22:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-16 02:22:02       82 阅读
  4. Python语言-面向对象

    2024-03-16 02:22:02       91 阅读

热门阅读

  1. 机器学习和强化学习算法比较

    2024-03-16 02:22:02       50 阅读
  2. 系统设计学习(四)海量数据

    2024-03-16 02:22:02       44 阅读
  3. 从零开始学HCIA之SDN03

    2024-03-16 02:22:02       43 阅读
  4. TCP包头

    TCP包头

    2024-03-16 02:22:02      42 阅读
  5. 【English Learning】Day13

    2024-03-16 02:22:02       46 阅读
  6. 中国人民银行修订发布《征信投诉办理规程》

    2024-03-16 02:22:02       43 阅读