69 内网安全

编程入门 行业动态 更新时间:2024-10-20 20:43:01

69 <a href=https://www.elefans.com/category/jswz/34/1768788.html style=内网安全"/>

69 内网安全

目录

    • 演示案例:
      • 域横向移动RDP传递-Mimikatz
      • 域横向移动SPN服务-探针,请求,导出,破解,重写
      • 域横向移动测试流程一把梭哈-CobaltStrike初体验
    • 涉及资源


SPN主要是扫描技术,在渗透过程中结合kerberos协议,可以做一些事情

演示案例:

域横向移动RDP传递-Mimikatz

除了上述讲到的IPC,WMI,SMB等协议的链接外,获取到的明文密码或HASH密文也可以通过RDP协议进行链接操作。

RDP远程的连接协议,在linux上面就是ssh,在windows上面就是RDP,就是我们常说的3389,开放3389就可以进行远程连接,连接的东西也是建立在明文密码和hash

得到明文密码就可以直接用rdp协议连接
电脑属性>远程桌面终端

RDP明文密码链接

windows: mstsc
mstsc.exe /console /v:192.168.3.21 /admin
linux: rdesktop 192.168.3.21:3389

RDP密文HASH链接
windows Server需要开启 Restricted Admin mode,在windows 8.1和Windows Server 2012 R2中默认开启,同时如果win 7 和windows Server2008 R2安装了2871997、2973351补丁也支持;开启命令:

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v
DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

hash连接比较鸡肋,不是很常见
开启后运行:

mstsc.exe /restrictedadmin
mimikatz.exe
privilege::debug
sekurlsa::pth /user:administrator /domain:god
/ntlm:ccef208c6485269c20db2cad21734fe7 "/run:mstsc.exe/restrictedadmin"

域横向移动SPN服务-探针,请求,导出,破解,重写

kerberos中的spn详解:.html
黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。这就是Kerberoastinq攻击的关键。
一般我们在进行内网渗透会采取端口扫描,来判定内网其它主机的开放程度和端口的一个情况,但在这里,我们使用端口扫描技术会触发一些防火墙,我们经常使用nmap扫描的知道,在nmap去扫一些带防火墙的服务器的话,有时候扫描不准,或者直接把你拦截了,他会检测到这是外部流量,有扫描的一些攻击,那么就扫描不出一些东西出来,这个是很常见的。SPN扫描就能解决这个问题,SPN扫描是优先于我们常用端口扫描的,不会被防火墙这些东西给触发,而且同样的能探针服务,命令相当简单,非常舒服,非常快
探针就是探针SPN服务,看一下有那些服务,然后在根据不同的服务,选择对应我们要操作的服务,请求完之后,我们就会相当于建立会话的东西,建立连接,然后在用相关工具把连接的数据给导出来,导出来由于他的连接,这个加密形式是可以进行破解的,所以我们可以进行破解来找到连接的东西
探针只需要一个用户就行了,不需要管理员权限,setspn是自带的命令
探针

setspn -q */*
setspn -q */* | findstr "MSSQL"


请求

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "xxxx"
mimikatz.exe "kerberos::ask /target:xxxx"

xxxx替换掉刚刚得到的服务名,也可以用mimikatz进行请求,请求完之后,就会得到凭据
导出

mimikatz.exe "kerberos::list /export"

用mimikatz看能不能把他导出来
破解

python tgsrepcrack.py passwd.txt xxxx.kirbi
python3 .\tgsrepcrack.py .\password.txt .\1-40a00000-jerry@MSSQLSvc~Srv-DB-0day.0day~1433-0DAY.ORG.kirbi

导出来之后,用相关工具和脚本进行破解,这个破解可以利用到前面介绍的hashcat工具,也可以用单独破解的py脚本,一般大部分破解脚本都是借于字典
重写

python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -u 500
python kerberoast.py -p Password123 -r xxxx.kirbi -w PENTESTLAB.kirbi -g 512
mimikatz.exe kerberos::ptt xxxx.kirbi   # 将生成的票据注入内存


这些服务,有些是可以直接攻击的,比如说我知道他上面开有sqlserver,或者其它的exchage,这些也都是被常见攻击的,exchage官方自带的邮件服务器,就好比我们进行端口扫描,进行的判定

首先我们要攻击他的话,我们要把名字给保存一下
我们klist看一下当前的会话

这个时候我们就尝试去请求刚才那个服务

我们在确保一下刚才的会话

现在有两个,我们把他删除掉,其实不删除也可以

我们去请求他

请求之后,我们去看klist,请求了就会产生票据

这个时候,我们用mimikatz把内存导出来,就是把刚才的票据信息导出来

他会导出到mimikatz的运行目录

导出两个

我们只需要用到mssqlsvc,这个就是刚才请求的票据信息

然后大家把这个票据信息拿去破解,这个破解由于用到的是脚本,我们就在本机里面破解

Admin12345是请求数据里面自带的密码,这个密码可以用来我们后期自己连接,这个密码也能做为一个凭据,当作字典后期在加载到其它协议上面的爆破上面去

这个服务在传输过程中,他是会验证的,每个普通用户在请求这个东西的时候,会验证你的密码正不正确

这边域内的一个普通用户,再去请求服务的时候,就会自带密码信息尝试去验证,去请求他,所以密码就包含在这里面了,拿出来破解,就能获取请求过程中的密码
第一个,我们多了一个口令,也知道这个东西对应的密码,第二个,我破解出来之后,我能重写

u指向的是用户名的编号,g就是组,所以他就能够根据kirbi,重新生成会话出来,我们说的PTT数据,然后这个时候再用mimikatz,导入到内存里面去,那我们再次请求的话,相当于进行了一个全新的提升,这是它后续的攻击,但是这个攻击不是说一定能够成功,所以这是后续的一个情况,主要是得到这个密码为后续渗透做准备,第二个还可以进行重写,重新生成票据文件,然后在用mimikatz注入到里面去,其实就是伪造admin用户的票据进行连接
攻击主要在破解这个地方,得到密码可以做为字典也可以做为连接条件去连接,但是一般连接也是普通的服务,也就是只能看一些简单的东西

我们要得到管理员用户才行,但是管理员账户破解不了,因为它在协议里面抓不到
spn只是扫描技术,外加域类的一种服务用户,就是常见服务在流通的时候,你可以请求这个票据,然后把票据导出来,得到里面自带的票据信息,来帮助你后续的一个渗透,算是一个比较鸡肋的东西,大家理解就可以了
主要就是利用到spn建立服务的攻击,利用spn可以探针域内主机常见服务,而这个常见服务可以根据需要进行渗透,比如说像刚才的sqlserver,我得到Admin12345,这里有帮助,有可能没帮助,那除此之外,我知道上面有sqlserver服务了,是不是也可以进行入侵的呀,还可以采取其它手段,spn这个东西的话,探针也好,它的后续利用也好,还可以为后续的渗透思路做准备

域横向移动测试流程一把梭哈-CobaltStrike初体验

把前面我们涉及到的那些常见的攻击总结了,在实战情况下面的一个操作,因为大部分我们在前面讲过,都是把工具上到电脑上面去,然后直接在上面敲,可能在实战情况下面不是这样的,有可能你接触不到它的图形化,全部都是命令终端,或者有些权限不够,会遇到很多样的情况
我在外网建立了一个CobaltStrike弹着服务器的地址,先连接上去


它有一个团队服务器,我们可以通过任意的终端连接到这个服务器上面去,比如这里的阿里服务器,然后它做为这款服务器的根本,你可以连接到这里来,我也可以连接到这里来,通过它再去控制主机,就相当于它中间多了个东西,它去连接受害主机,你我都是客户端,我们连接上去操作受害的东西,它是一个多人运动,可以建立多人攻击,我攻击的主机,你也可以连接上去,一起进行操作

我们在实战情况下碰到真实目标都是这样的,真实目标肯定在内网,然后你攻击它的话,你要用到cs,是要建立一个外网的团队服务器,然后通过控制内网一台主机,向它内网进行渗透

webserver这台服务器上开了一个外网,就是说这个外网是能够连接的,除了它之外,内网的其它主机都是不联网的,也就是说,我们只能够先攻击到这里来,从它在对内网的主机进行通讯,因为只有webserver才能对内网主机进行通讯,同时这里是内网的域环境,入侵到它之后,对下面的主机进行渗透,取得DC的控制权
参考: [腾讯文档] 第五十二天: cobalt strike使用指南

大概流程:
启动-配置-监听-执行-上线-提权-信息收集 (网络,凭证,定位等) -渗透
1.关于启动及配置讲解
2.关于提权及插件加载
3.关于信息收集命令讲解
4.关于视图自动化功能讲解
IP地址是团队服务器,密码是用工具去连接的时候会验证的密码,有这个密码就会连接到工具上去

启动之后需要java环境的支持,如果你上面没有配置java环境,那自己装一下就完事了,启动完之后,打开你本地的客户端

启动完之后,更重要的是它的配置,它如何上线,它是远控工具,然后在远控工具上面,又实现了一些功能在上面,其实就是说我们大部分提权,大部分攻击主机的话,我先要控制它,我在上面做后续操作,所以这个工具有这么个操作,先控制电脑、控制服务器,然后再在这上面去操作,下一步就是让对方上线,由于它是团队服务器,假如我和你是个团队,你搞的主机和我搞得主机,如何区分开来,它可以多个人一起攻击,我们可以通过配置监听器来实现,我自己配个监听器,从你这个监听器过来的就是你攻击的,它的监听器过来的,就是它的,监听器就是配置木马的传输管道
监听器有多个协议,就是说木马或者控制电脑、服务端、服务器,它是通过怎么回连到你的地方来,就得有这些协议选择,我们选择建立在网站HTTP协议上的连接

这个后门要绑定监听器,我才知道这是你这个人控制的主机,这样子就可以通过监听器区分,这个后门就绑定监听器,这个后门的触发就是通过监听器走的,生成的后门要做免杀

这个就相当于我前期拿到了webshell,我们把后门给上传上去,执行它

就会看到有一台终端上线,用户是webadmin,现在我们需要对它进行提权操作

进入命令终端,输入命令对它进行操作

导出所有hash

黄金票据

这个就是提权用的,它自带的提权方式只有两个,所以我们这里要加载插件

脚本管理器,上传插件

这个插件帮我搞了4个提权的exp

我们执行完提权的工具后,那就会建立payload
过慢的话,我们选择把sleep设置为1

突然一下子,出现了system,就是提权已经成功了


由于我这里提权了,所以我肯定是用system来执行命令

我们既然已经得到了主机的系统权限了,我们是不是就要对它进行内网渗透,来判断它当前的网络环境
我们收集信息主要是看一下网络环境,第二步看一下我们能不能渗透到其它东西
net view //自动探针当前的网络架构

cs查询结果会有类似缓存的东西
我们查询的东西不可能每个都收集一下,有时候执行执行就搞忘记了

你所有探针的信息都在这里展示

3.32没有探针到,网络问题
我们要判断是域环境还是工作组环境
net computers //查看当前所有的计算机

net dclist //获取域控列表

net user //获取本地用户权限

shell net user /domain
官方没有的命令,就要调用shell去执行,就相当于在windows上执行的一样

得到域内所有用户的名字,就是跟我前期的信息收集是差不多的
信息收集还有收集口令凭证,使用mimikatz
使用web权限,执行mimikatz

这就是权限不够,这就是我们为什么要提权的原因,使用system权限

这就是这台主机获取的密码

比如说,我们要攻击3.32


再把sqlserver上的口令进行再收集

那样我相关的字典就会越来越多

我们就能用这些密码对域控进行攻击


得到域控之后,后期就可以在域控上面做一些东西了,基本上渗透到这里就可以了
有两个问题没有讲,代理问题,自主工具该怎么操作
我们这个时候可以利用常规的渗透工具,对它进行操作
我们用受控的个人主机进行操作

把ladon上传上去

shell c:\ladon.exe
第三方工具是说我们自主开发的工具,因为cs工具有时候需要我们手点,只能选择两种,没有办法一直操作,所以还是会上传一些第三方的工具
shell c:\ladon.exe 192.168.3.0/24

所有的第三方工具不可能都有插件,插件是非常好,但是有很多功能还是需要第三方工具,比如一些新出来的恶意攻击,插件那里有,还是需要上传

正向就是我连接它,反向就是它连接你
那些被控主机是因为开了外网才成功上线,不开外网它上不了,它网络通不出来,这里就会涉及到代理的相关知识点,网上说的什么隧道,都指的是那种协议隧道,这个很好理解,无非是代理的事情

sqlserver数据传递到webserver端口,在通过webserver转发到外网端口上去,这种连接是不是反向连接,它主动把流量交出来给它主机,然后它主机有关接口在给你,但这里会有一个回显的问题,执行完之后,会有一个结果,结果就是通过代理隧道给到你,这是把这些信息通过隧道传递过来,所以这个代理知识,也是一个非常重要的知识点,而且是内网渗透,很多诸多领域里面的很难理解,但是又必须理解的一个东西

我们可以C语言编译出来,这个C语言在linux上也能上线的吗,把C语言编译成执行文件

梼杌插件介绍,它把所有东西都集成上去,现在是不对外公开了

涉及资源


提取码: xiao

提取码: dtm2
提取码:taqu



做主机加固的时候,我们把rdp协议给关掉了,那人家岂不是用不了远程,这不是会影响到人家的业务,我们可以提升rdp协议的安全性

攻防演练主要比的是获取的敏感数据的多少

更多推荐

69 内网安全

本文发布于:2023-12-01 18:24:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1651695.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:内网

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!