声明:
本文章只是用于网络安全交流与学习,若学者用学到的东西做一些与网络安全不相关的事情,结果均与本人无关!!!
靶场环境:
使用kali作为hacker的攻击机器,来对web pc dc进行攻击。
这里声明一下: 关于靶场统一登录密码:1qaz@WSX
攻击者使用kali的机器这里作为模拟外网的ip地址
DMZ: 对外界服务器: web服务器,使用win2008搭建,搭建有weblogic服务,需要手动开启
办公区:域内成员的一台机器,使用win7模拟 也就是PC
核心区: 域控制器 也就是最内部的机器,使用2012模拟,内网机器 也就是DC
这里简单的介绍一下,因为分开内外网,所以使用2块网卡将网络隔离开来,一个用nat,一个用仅主机,模拟内网和外网,由于系统已经做过防火墙策略,所以存在一个域前防火墙区域,所以对于内网机器来说,只能是使用192的ip可以访问,所以kali网络就是外网,而域内网络就是内网
这里看过系统的配置以后发现配置的是192.168.111.80,所以为了避免出现一些不必要的麻烦,这里将kali的ip地址也配置为192.168.111网段
简单说明:
简单的说明一下kali如何配置静态ip地址,具体的配置方法,各位师傅可以去找找别的文章看!!!
对此文档进行编辑
这里对应的是你的网卡名称,我是en0所以这里使用的是en0,后面使用static表示静态的ip地址使用dhcp是动态的
而由于这里我们不需要去访问互联网,所以这里没有写网关地址,如果有需要可以添加网关地址
- 这里就做了一个简单的配置,可以使kali和web服务器都作为同一个网段,从而达到了模拟外网的效果!
如果这里师傅们看不懂,可以去看我第一个vulnstack的文章,有详细介绍!
到这里我讲本次实验的ip地址进行一下讲解,方便各位师傅来理解这次渗透的整体流程!
kali作为攻击机:
IP:192.168.111.10
web服务器跑服务:
IP
对外:192.168.111.80
对内:10.10.10.80
办公区为一台pc机器:
IP
对外:192.168.111.201
对内:10.10.10.201
域控制器:(最内部机器,完全内网)
IP:10.10.10.10
这里强调一下,由于有防火墙的配置,所以这里不用做ping测试,只需要直接进行主机发现即可!
开始之前需要先去web服务器将weblogic服务打开
1需要进入到C:\Oracle\Middleware\user_projects\domains\base_domain
将startweblogic.bat打开,需要管理员权限运行,这里账号密码为:administrator/1qaz@WSX
这里成功启动!
1、使用arp-scan以及netdiscover进行主机发现,探测存活主机
arp-scan -l
这里很明显就发现了,可以使用nmap进行开放的端口探测了!也可以对201进行探测,不过实验就直接对80进行探测了
这里我们nmap扫描发现开放服务
nmap -Pn -T5 -sV 192.168.111.80 -p0- 因为有防火墙规则,所以这里要使用Pn,不进行icmp协议!
这里很明显
漏洞利用:
利用80 7001和445尝试
http://192.168.111.80
http://192.168.111.80:7001
这里存在weblogic,我们可以直接使用工具去探测weblogic是否存在反序列化漏洞!
这里也可以使用目录探测工具找登录后台或者直接去找weblogic版本
但是这里使用命令执行却不能成功,只好去尝试注入内存马了!
可以看到这里使用内存马是成功的
- 这里命令执行不成功的原因应该是我的工具的问题,各位师傅可以去github找一些更好的工具去尝试!!!
- 这里可以getshell
- 这里就拿下了这台web服务
这里我们看到了10网段,是作为内网的ip地址,所以我们需要进行内网嗅探!
内网嗅探:
这里其实有很多种思路:
- 可以上线cs然后使用cs直接进行内网psexec横向移动
- 可以使用msf,然后使用msf进行内网主机探测,以及漏洞利用
最终的目的都是要拿到dc,其实好的渗透测试,都是各种工具的灵活使用,灵活的使用msf和cs联动,才能有着意想不到的结果!
直接使用cs生成一个exe程序来执行,上线cs:
ip地址加登录的密码,这个密码可以随便写,ip地址就是cs服务端的ip!
这就登陆成功了,这里没什么注意的事项!
cs的使用
生成木马:先建立一个叫监听,监听本地的4444,是木马程序可以反弹到本地的4444,其实和msf的反弹shell原理一样,这里不做过多解释!和mfsvenom一样,不做解释将木马程序生成即可
利用蚁剑将其传入到web服务器的目录中,执行即可
这里的/b是使程序后台运行的意思
成功上线cs,这里我们可以进行提权
在beacon终端中修改睡眠时间
提权操作成功,得到了system权限
这里我们就可以使用cs自带的arp扫描模块进行探测内网主机了!
对10段进行探测
发现会有3台机器!确实是3台,我们内网中存在3台机器!
接着就是一些内网信息收集的事情了,直接给代码了!上一篇也写了,信息收集是渗透测试中最重要的一个环节,这个环节决定着我们的渗透测试能做到什么程度所以我们应该吧大部分的时间做在信息收集上
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 user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net time /domain // 主域服务器会同时作为时间服务器
net group "domain admins" /domain # 查看域管理员的名字
net group "domain computers" /domain # 查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器(可能有多台)
net group "Enterprise Admins" /domain // 查看域管理员组
- 这里要注意一点,如果要是使用cs的话需要在beacon终端中加入shell才能执行shell命令探测以后其实内网的3台机器就出来了,我们只需要将他们上线即可!
- 直接使用cs自带的mimikatz获取到哈希值,然后使用psexec即可!(但是这一切的前提是你已经做了足够多的信息收集!)
- 这里由于是实验环境所以不做那么多的信息收集,直接测试了!
- 巧的一点是这里猕猴桃会吧所有的用户账户密码明文展示出来,而且cs会有一个集成凭据信息的框
- 吧我们收集到的所有的账户密码都整合到一起了!
其实到这一步之后应该去做的事情就是对另外两机器进行收集漏洞利用,由于这里并没有跨网段,而且得到了明文账户密码,所以使用psexec即可!
选用administrator的账户密码,使用cs监听器,使用system这个权限的会话即可!
- 如果有不懂psexec原理的师傅们,可以去找一下psexec的原理这样的话你就会对个操作有着更加深刻的理解跟记忆!
这里上线了201这台机器,可是还有10这个没法上线
就对10这台机器进行端口探测
扫描发现是开放445端口,所以可以利用smb服务来进行上线
同样是使用psexec,只是使用445的smb监听器!这里成功上线!
这里成功的讲3台机器全部上线并且都是system权限!
自我小总结:
这是att ck的第2篇,相比上一篇我感觉少了很多复杂的操作,侧重于去学习psexec怎么使用!当然,学习过程就是一种不断的进步的过程,只有不断的学习才能有更好的能力
结语:
这里我才用的cs实现的测试,其实测试的方式有很多种,可以尝试不同的方式来进行,使用msf很多模块也能将其上线,希望各位师傅可以去尝试,并且写出一些更好的文章供我们学习交流!(文章经我所能,写作过程费时费力,希望对各位师傅有帮助!!!)