内网渗透记录1
这篇文章准备系统性的记录一下,从内网代理,隧道通信等原理,到靶机搭建,内网环境构筑,来实际感受下内网渗透
理论知识
代理
代理的核心,是为了解决不出网问题,比如,A主机在外网,b主机在内网,这个时候,就是把A主机当成跳板去访问B主机
隧道
隧道的核心,是为了解决协议问题,比如禁用了http,或者tcp协议,这个时候,就要去考虑使用更低级的协议,比如icmp等等
而连接通信的基本方式分为两种
正向🐎 bind
hacker直接去连接靶机
反向🐎 reverse_tcp
靶机反向来连接hacker
cs&msf_socks代理使用
在CS中,是可以很方便的使用socks代理,这里因为版本是4.3,所以只有socks4a,在后续版本可以选择socks5等来通信
接着会开放一个端口,我这里使用的是Proxifier来挂起代理
而使用msf可能会相对麻烦一点,毕竟CS是内网神器
1 |
|
环境准备
kali linux (网卡为桥接)
windows server2012 R2(外网机器,两张网卡,一个是桥接,一个是vm2)
windows 7 x 64 (两张网卡,一个是vm2,一个是vm4[这个vm4是网段是10.10.10.0
255.255.255.255])
windows Server 2008 R2 x64(sql服务器 网卡为vm4)
windows Server 2008 R2 x64(DC 域控+owa 网卡为vm4)
这里放一张图,就能很好的理解整个内网框架了
渗透
渗透的本质是信息收集,所以我们先开始第一步,在kali的同网段下开始扫描存活主机
攻陷WEB服务器
可以看到,我们这里扫到了一个weblogic的主机
我们也肯容易知道,weblogic是在7001端口下的,那我们试着访问一下
发现成功访问了,说明这台主机是正常开启了weblogic服务的
weblogic的历史反序列化漏洞太多了,我们可以直接先用自动化工具测试一下,看看是否存在已有的漏洞,可以直接利用
可以看到,我们经过每个漏洞的测试,可以判断其存在CVE-2017-10271 Weblogic12 XMLDecoder反序列化漏洞
然后尝试执行命令
也可以正常回显,那我们接着就上传文件
这里我使用的是哥斯拉,因为它文件上传是jsp文件,第一时间就想到哥斯拉了
设置好哥斯拉的码
然后把哥斯拉的码内容替换,传上去
得到上传的路径,接着访问一下,顺利连上哥斯拉
这样我们就拿到这台WEB服务器的shell了,但为了我们后续的内网渗透,横向移动,我们把他连到CS上面来
用CS生成个码,使用哥斯拉把他传上去,执行
然后CS成功上线
利用WEB服务器变成跳板
首先我们看一下这台WEB服务器的网络信息,接入了哪些局域网
很明显,这个10.10.20.12
就是这个WEB服务器所连接的内网了
我们先利用这台WEB服务器,对10.10.20.0/24
所在网络进行扫描存活主机
可以看到,我们该网段下,发现了另一台存活主机10.10.20.7
,那么这台肯定就是内网的主机了
同时在target里面,也会记录下我们所扫描的同网段下的存活主机
现在我们需要做的就是,如何利用这台WEB服务器当作跳板进行通信,来将这台内网主机的权限拿到手
在这里推荐一个工具,fscan32
,它的体积小,专门适用于传上跳板机,扫描内网
我们使用fscan32,直接对10.10.20.7该主机进行扫描
可以看到结果,很明显,其存在ms17_010可以直接利用,那我们就得上msf了
首先,得先把我们上线cs的这台WEB服务器,传给msf
设置好cs中的host与port,spawn msf
(这里msf是cs中Listeners的名字)来传递给msf
同样,在msf中设置好对应的端口
随着msf与cs的通信成功,这样cs已经上线的WEB服务器,成功的交给了msf去进一步使用了
利用前面的,msf的socks使用,我们先建立路由
建立好之后,接着就是用永恒之蓝ms17_010直接打
成功拿下
接着我们需要再把这台主机,从msf上线到cs上
这里我选择的是正向连接,反向连接也是一样
使用msf把cs生成的码传上去
传上去之后运行,并同时在cs中进行connect
成功拿下其内网的第一台主机
深入域中
同理,我们拿到这台内网主机之后,先查看一下它的网络情况
可以看到,10.10.20.7
是与WEB服务器相连的,而10.10.10.7
肯定就是其域内的网段了
我们可以先用cs非常方便的建立一个socks4a的通道
接着对10.10.10.0/24
对存活主机进行扫描
由扫描结果可以知道,在该域内,除了本主机,还存在另外两台存活主机
我们分别仔细地扫描一下看看结果
先看10.10.10.8
这台主机
有扫描出来的信息可以看到,这台带概率就是域控了
但是域控没有扫描出什么结果,反而是另外一条sql的服务器直接爆出了用户名和口令
可以看到,其用户名与口令分别是sa
、sa
这里推荐一个工具MDUT
,可以直接连接各种数据库,一键执行
成功连上之后,测试一下,可以正常执行命令
那我们接着就上传文件,还是跟之前一样,用cs生成个码传上去就好了
拿下域控
我们现在拿下了域内的一台个人主机,一台sql服务器,接下来就是最后一台域控了
现在的拿下的主机,有一台颜色不太统一,我们先给他提个权
好了,舒服了,现在全力拿下域控
但这里提到一个知识点
#委派攻击分类:(委派继承,转递)域委派是指将域内用户的权限委派给服务账户
1、非约束性委派 (没有限制性的)
2、约束性委派(有限制性的)
3、基于资源的约束性委派(单方面,资源上面的约束)
这个需要查看是在那个机器上面设置了这个
约束性委派
user访问service1,向DC发起kerberos认证,域控返回user的TGT和ST1票据,user使用ST1票据对service1进行访问;如果配置了service1到service2的约束委派,则service1能使用S4U2Proxy协议将用户发给自己的可转发的ST1票据以用户的身份发给DC;DC返回service1一个用来访问service2的ST2票据,这样service1就能以用户的身份对service2发起访问。
1、机器设置仅信任此计算机指定服务-cifs
2、用户设置仅信任此计算机指定服务-cifs
这里我们先用AdFind
来查找存在的机器
1 |
|
接着去请求获取票据
1 |
|
接着就是使用票据
1 |
|
然后还是一样,用cs生成的码,通过sql服务器,copy到域控上
但这里最开始一直传不上去,原因是票据是一直更新的,会过期
所以重新导入一个票据之后,再进行copy
成功传上去了
接着就是给域控设置一个任务,使码到时间之后,自动执行
同样,这里也会有票据过期的问题,再重新加载一个就好了
最后,拿下域控
整个域控,sql服务器,内网个人主机,WEB服务器全部拿下!