dc1

dc1靶场(难度简单)

IP地址发现

我们可以使用二层发现的IP地址来找到ip,命令如下

sudo arp-scan -l

从而发现靶机IP地址10.0.2.11

端口扫描

下面我们用nmap扫描端口

nmap -A 10.0.2.11 

发现开通了22,80,111端口我们查看端口上都是开通了什么服务

在22端口上开通了ssh服务

80端口上开通了http服务

111端口上开通了rpcbind服务

rpcbind服务介绍

RPCBind(也称Portmapper、portmap或RPCPortmapper) 是一种通用的RPC端口映射功能,默认绑定在端口111上,可以将RPC服务号映射到网络端口号。

说明对我们没啥用

我们开始访问http服务

我们使用了许多弱口令都是不可以我们然后知道了admin用户是存在的

这个时候我们扫描一下看是否用隐藏的登录

dirsearch -u http://10.0.2.11

扫描后没有什么可以用,我们看是否能知道他的管理系统啥的

我们可以在火狐浏览器上安装扩展wappalyzer

wappalyzer的作用:Wappalyzer 是一种流行的 Web 应用程序分析工具,它可以识别网站使用的技术栈和第三方库。它可以帮助用户了解一个网站的技术构成,比如网站使用的 CMS、Web 服务器、JavaScript 库、广告网络等等。Wappalyzer 可以作为浏览器扩展程序安装到 Chrome、Firefox、Edge 等浏览器中,并可以通过一些 API 和命令行工具进行调用。它被广泛应用于 Web 应用程序开发、安全测试和竞品分析等领域。

我们发现了用的系统为drupal我们可以查找一下这个drupal的漏洞

漏洞发现

我们用漏洞库msfconsole来查找

msfconsole的介绍

msfconsole 主要是用于执行渗透测试任务,帮助安全测试人员评估网络的安全性。具体来说,msfconsole 可以用于以下几个方面:

识别漏洞和弱点:使用 msfconsole,用户可以扫描目标网络或主机,识别系统中存在的漏洞和弱点。

开发和测试漏洞利用:msfconsole 提供了多种漏洞利用技术和攻击载荷生成器,可以用于测试漏洞利用的效果,并开发新的漏洞利用脚本。

实施渗透测试:msfconsole 可以实施各种渗透测试,包括密码破解、远程访问、网络协议攻击等。

收集信息:使用 msfconsole,用户可以收集有关目标系统的各种信息,例如主机名、IP 地址、操作系统、开放端口等。

总之,msfconsole 是一个功能强大的工具,可以帮助安全测试人员快速、准确地评估目标网络的安全性,并提供各种有用的信息和工具来测试和攻击目标系统。

msfconsole的用法:

  1. use 命令:用于选择 Metasploit 框架中的模块,例如攻击载荷、漏洞利用、扫描器等。
  2. set 命令:用于设置模块中的参数,例如目标 IP、端口、漏洞名称等。
  3. show 命令:用于显示当前选中模块的信息,例如漏洞描述、漏洞利用状态、参数设置等。
  4. exploit 命令:用于执行当前选中模块的攻击载荷或漏洞利用,尝试获取对目标系统的访问权限。
  5. search 命令:用于搜索 Metasploit 框架中的模块和漏洞利用脚本,可以按关键词、漏洞名称、作者等进行搜索。
  6. db_* 命令:用于与 Metasploit 框架中的数据库进行交互,例如添加、删除、修改目标、服务、漏洞等信息。
  7. sessions 命令:用于管理当前与目标系统建立的会话,例如查看会话列表、切换会话、关闭会话等。

搜所drupal的命令

search drupal

结果如下

我们查看到了许多漏洞我们来看最近的漏洞

然后我们选择漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

我们来显示选中模块的信息

show options

我们发现他的rhosts可以设置参数

我们给他设置IP地址和端口

set RHOSTS 10.0.2.8
set RPORT 4444

连接成功

Getshell

获取普通shell

跟据flag1.txt的提示可以知道

每一个好的cms都需要一个配置文件

我们查看配置文件,在查看配置文件前先在看看有没有别的flag,经过查看没有flag

我们开始访问配置文件在看配置文件前我们可以使用交互shell因为这样看不好看

交互shell

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

我们不知道配置文件名字是啥,我们可以搜所一下drupal的配置文件

叫做Settings.php

得到flag2根据flag2的提示

得到了数据库的名字和密码。

数据库渗透

登录数据库

!

我们得到了用户名和密码

我们看是否可以更改就ok了

我们在/var/www/scripts/password-hash.sh找到了加密文件

我们通过php运行得到加密文件

得到加密后的密码, 接着我们登入mysql修改一下admin的密码

我们登录进去得到flag3

我们通过flag3提示得到

我们通过flag3的提示访问 /etc/passwd

爆破

一个是爆破,另一个就是提权打开shadow文件查看密码

利用工具Hydra爆破flag4的密码

hydra的使用

爆破得到密码orange

用ssh连接得到

linux提权

找到含有SUID权限的二进制文件

find / -user root -perm -4000 -print 2>/dev/null
```![](https://img2023.cnblogs.com/blog/2860184/202304/2860184-20230413201406404-1514760317.png)`


可以得到find有root权限

我们可以使用命令

find / -name 1 -exec "/bin/sh" \


从而提取到root权限得到thefinalflag.txt

![](https://img2023.cnblogs.com/blog/2860184/202304/2860184-20230413201434145-579375707.png)


## 小结:

这个dc1靶场相对来说比较简单我们根据msfconsole来搜索出这个漏洞的框架从而来进行利用我们shell得到了数据库账号密码我们然后可以通过对数据库的密码进行更改得到flag3,然后通过爆破得到flag4的密码然后用我们那个ssh服务进行连接,后面我们用suid进行提权得到root权限

我这个靶场知道了msfconsole和hydra工具

msfconsole是搜所漏洞的

hydra则是用来进行爆破密码地
posted @ 2023-04-13 19:53  newom  阅读(79)  评论(0编辑  收藏  举报