DC-01靶场渗透
DC-01靶场渗透
首先,要将靶机和攻击机均设为NAT模式
kali IP 192.168.236.129
开始探寻靶机的ip 192.168.236.130
开启了 22 80 111的端口

开始查询资料???111端口,rpcbind
记住一下
下一步,开始访问靶机ip+端口
80端口

用户名和密码
而且内容还是关于Drupal的
心里就会想关于Drupal的漏洞之类的
111端口

指你访问的 URL 对应的服务器地址 / 端口,被浏览器判定为 “不安全” 或 “不符合网页浏览常规”,因此限制访问。 表明这个端口可能没啥用
CMS
内容管理系统。。能快速搭建和管理网站内容的工具。
“给定某 CMS 版本,挖掘漏洞获取 flag” 的题目
whatweb进行扫描,可以扫出啥是CMS,更具体
whatweb扫描web服务的
- whatweb -v 靶机IP地址
在火狐浏览器里面,扩展工具Wappalyzer可以知道该网站的架构

扫描一下目录
dirsearch -u 192.168.23.130 -e *
(但在本题中没啥用)
漏洞利用
知道CMS的类型和版本 (通过历史遗留漏洞成为突破口)
msfconsole 漏洞的利用脚本

Drupal 是CMS架构!!!
探寻这个

exc excellent 优秀!!!
我们用2018的漏洞

use 利用漏洞
show options 查看我们需要的参数

yes为必填项
rhosts (remote hosts) 远程主机
set rhosts 192.168.236.130 设置目标主机

show options 检查是否设置成功
run运行,连接成功

之后就是渗透了
shell 就是直接登录到目标机器的终端。


配置文件
找一下配置文件的路径
find / -name settings.php
补充知识
绝大多数CMS使用PHP语言开发的
Drupal 的核心配置文件 默认settings.php
find / -name settings.php

数据库的账号密码
登陆一下
shell无法直接交互数据库
需要在shell的情况下获得一个可以交互式的shell,当然需要有python环境的攻击机才行
提升shell交互性来操作数据库
shell 默认是无法直接交互数据库的
用Python生成交互式Bash Shell
shell
python -c 'import pty; pty.spawn("/bin/bash")'
mysql -u用户名 -p密码
成功!!!
开始运用数据库知识来操作



users 用户
seletc * from users \G ;
这样更有条理
加盐哈希后的密码
哈希
单向加密算法
- 不可逆 无法从哈希后的字符串反推出原始明文
- 唯一性 相同的明文会生成相同的哈希 但只要明文有一点变化,哈希就会完全不同
盐
随机生成的字符串
在计算密码哈希时,会把盐和原始密码拼接在一起,在进行哈希运算
彩虹表是预先计算好的”明文—哈希“对照表
加盐哈希是为了对抗彩虹表
$SS$ 哈希算法的标识
密码破不开,那就换个思路,自己建个有权限的账号进去”,这是渗透测试中常见的迂回策略~
法1:添加admin权限用户
因为密码爆破走不通,所以文中提出 “添加 admin 权限用户” 的替代方法 —— 先退出当前的 MySQL 命令行、服务器终端和 Meterpreter(Metasploit 框架的渗透模块),回到 MSF(Metasploit 框架)主界面,后续通过添加高权限用户的方式来实现对目标系统的控制。

查找漏洞
searchsploit drupal
SQL 漏洞

SQL注入
攻击者,可以利用他们执行未授权的SQL操作,添加管理员用户,重置密码,远程执行代码,,从而完全控制目标
认真看一下,提示。
34992.py add admin
searchsploit 34992.py -p
-p 路径



比较老的漏洞利用脚本使用python2语法编写的。
脚本会在目标网站的数据库中 创建一个新的管理员用户。


清除之前的缓存 ctrl shift delete
就是说,创建用户名和密码的时候,尽量不要和重复实验很多次的用户名、密码相同,,
就是说,每次使用不同的漏洞模块msfconsole,都要重新指定一下rhosts。。
法2:修改admin的密码
当无法通过常规爆破获取 admin 密码时,可通过 “生成加密密码并修改数据库记录” 的方式实现密码重置。
/var/www/scripts/password-hash.sh 用于生成密码哈希的脚本文件

python -c ‘import pty ; pty.spawn(“/bin/bash”) ’
php /var/www/scripts/password-hash.sh test123(新设置的密码)


就是将自己设置的密码的哈希值存到一个文件中。

爆破哈希值


记得是进入到靶机中在查看cat /etc/passwd
/etc/shadow 存储着用户的加密密码哈希,只有root用户(特殊权限)才可以读
/etc/passwd 所有用户可读

这里就有2个思路了
1、flag4用户是/bin/bash,登录这个用户
2、提权,查看/etc/shadow
ls -l /etc 就可以查看shadow的详细权限
1、爆破 hydra
hydra对ssh服务进行密码爆破
hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://4192.168.236.130
- -l flag4 指定爆破的用户名
- -P /usr/share/wordlists/rockyou.txt.gz 指定密码字典 rockyou.txt.gz
- ssh://192.168.236.130 指定爆破的目标服务和IP
爆破爆破,就是用kali进行爆破,靶机是个受体


identification 身份标识
清除旧的主机密钥记录

成功!!!

提权
SUID提权 用find命令,查找具有SUID权限的可执行二进制文件
find / -perm -u=s -type f 2>/dev/null
- -perm 按文件权限查找的选项
- -u=s SUID 查找设置了SUID权限的文件,拥有SUID权限的文件在执行时,会以文件所有者的权限来运行,而非执行用户本身权限。
- -type f f 表示只查找普通文件
- 2>/dev/null 错误重定向

/usr/bin/find

index.php 定位网站Web根目录
通过find 执行root权限查找文件,会发现获取了root权限
- -name index.php 查找名称为index.php文件
- -exec “/bin/sh”
- -exec 对找到的文件执行指定的shell命令
- “/bin/sh”
- \ ; 转义

提权成功!!!!

浙公网安备 33010602011771号