THM-红队-枚举( Enumeration)
介绍
假设我们已经成功地获得了某种形式的系统访问权限。此外,我们可能进行了提权;换句话说,我们可能在目标系统上拥有管理员或 root 权限。即使使用非特权帐户(即,不是 root 或管理员)
我们的目的是收集更多信息,以帮助我们获得对目标网络的更多访问权限。例如,我们可能会找到登录凭据以授予对另一个系统的访问权限。我们专注于标准系统上常用的工具,以收集有关目标的更多信息。作为系统的一部分,此类工具看起来无害,并且产生的“噪音”最少。
我们假设您可以访问目标上的命令行界面,例如bash
Linux系统或cmd.exe
MS Windows 系统。从Linux系统上的一种 shell 开始,通常很容易切换到另一种。同样,从 开始cmd.exe
,您可以切换到PowerShell(如果可用)。我们刚刚在下面的终端中发出了启动PowerShell交互式命令行的命令。
powershell.exe
- 枚举的目的
- 使用常用安装工具的Linux枚举:系统、用户、网络和正在运行的服务
- 带有内置工具的 MS Windows 枚举:系统、用户、网络和正在运行的服务
目的
当您获得目标系统的“外壳”时,您通常对该系统有非常基本的了解。如果是服务器,你已经知道你利用了哪个服务;但是,您不一定知道其他详细信息,例如用户名或网络共享。因此,外壳看起来就像一个“暗室”,您对周围的事物只有不完整和模糊的了解。从这个意义上说,枚举可以帮助您构建更完整和准确的画面。
开发后枚举背后的目的是尽可能多地收集有关系统及其网络的信息。被利用的系统可能是公司台式机/笔记本电脑或服务器。我们的目标是收集信息,使我们能够转向网络上的其他系统或掠夺当前系统。我们有兴趣收集的一些信息包括:
- 用户和组
- 主机名
- 路由表
- 网络共享
- 网络服务
- 应用程序和横幅
- 防火墙配置
- 服务设置和审核配置
- SNMP 和DNS详细信息
- 搜索凭据(保存在网络浏览器或客户端应用程序中)
无法列出我们可能偶然发现的所有内容。例如,我们可能会找到SSH密钥,这些密钥可能会授予我们访问其他系统的权限。在基于 SSH 密钥的身份验证中,我们生成 SSH 密钥对(公钥和私钥);公钥安装在服务器上。因此,服务器将信任任何可以证明知道相关私钥的系统。
此外,我们可能会偶然发现保存在用户文档或桌面目录中的敏感数据。认为有人可能会保留一个·passwords.txt·或·passwords.xlsx·而不是一个合适的密码管理器。源代码还可能包含隐藏的密钥和密码,尤其是在不打算公开源代码的情况下。
枚举Linux
此任务的重点是在访问 shell 后枚举Linux机器,例如bash
. 尽管有些命令提供了不止一个领域的信息,但我们尝试根据我们期望获取的信息将这些命令分为四类。
- 系统
- 用户
- 网络
- 运行服务
系统
在Linux系统上,我们可以通过搜索/etc/
目录下的-release
. 运行ls /etc/*-release
帮助我们找到这样的文件。让我们看看 CentOS Linux上的情况。
user@TryHackMe$ ls /etc/*-release
/etc/centos-release /etc/os-release /etc/redhat-release /etc/system-release
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
[...]
另外/etc/issue
、/proc/version
文件也存在系统相关的信息
也可以使用uname -a
获取系统内核信息,猜测出可能是哪一个Linux发行版
系统上的各种文件可以提供大量有用的信息。特别是,请考虑以下/etc/passwd
、/etc/group
和/etc/shadow
。任何用户都可以阅读文件passwd
和group
. 但是,shadow
密码文件需要 root 权限,因为它包含散列密码。如果你设法破解了哈希值,你就会知道用户的原始密码
user@TryHackMe$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
[...]
michael:x:1001:1001::/home/michael:/bin/bash
peter:x:1002:1002::/home/peter:/bin/bash
jane:x:1003:1003::/home/jane:/bin/bash
randa:x:1004:1004::/home/randa:/bin/bash
$ cat /etc/group
root:x:0:
[...]
michael:x:1001:
peter:x:1002:
jane:x:1003:
randa:x:1004:
$ sudo cat /etc/shadow
root:$6$pZlRFi09$qqgNBS.00qtcUF9x0yHetjJbXsw0PAwQabpCilmAB47ye3OzmmJVfV6DxBYyUoWBHtTXPU0kQEVUQfPtZPO3C.:19131:0:99999:7:::
[...]
michael:$6$GADCGz6m$g.ROJGcSX/910DEipiPjU6clo6Z6/uBZ9Fvg3IaqsVnMA.UZtebTgGHpRU4NZFXTffjKPvOAgPKbtb2nQrVU70:19130:0:99999:7:::
peter:$6$RN4fdNxf$wvgzdlrIVYBJjKe3s2eqlIQhvMrtwAWBsjuxL5xMVaIw4nL9pCshJlrMu2iyj/NAryBmItFbhYAVznqRcFWIz1:19130:0:99999:7:::
jane:$6$Ees6f7QM$TL8D8yFXVXtIOY9sKjMqJ7BoHK1EHEeqM5dojTaqO52V6CPiGq2W6XjljOGx/08rSo4QXsBtLUC3PmewpeZ/Q0:19130:0:99999:7:::
randa:$6$dYsVoPyy$WR43vaETwoWooZvR03AZGPPKxjrGQ4jTb0uAHDy2GqGEOZyXvrQNH10tGlLIHac7EZGV8hSIfuXP0SnwVmnZn0:19130:0:99999:7:::
同样,各种目录可以泄露有关用户的信息并可能包含敏感文件;一个是在找到的邮件目录/var/mail/。
user@TryHackMe$ ls -lh /var/mail/
total 4.0K
-rw-rw----. 1 jane mail 0 May 18 14:15 jane
-rw-rw----. 1 michael mail 0 May 18 14:13 michael
-rw-rw----. 1 peter mail 0 May 18 14:14 peter
-rw-rw----. 1 randa mail 0 May 18 14:15 randa
-rw-------. 1 root mail 639 May 19 07:37 root
通常可能用到的目录有/hom/username,/tmp,/
/usr/bin/
要查找已安装的应用程序,您可以考虑在和中列出文件/sbin/
ls -lh /usr/bin/
ls -lh /sbin/
在基于 RPM 的Linux系统上,您可以使用rpm -qa
. 表示-qa
我们要查询所有包。
在基于 Debian 的Linux系统上,您可以使用dpkg -l
. 下面的输出是从 Ubuntu 服务器获得的
user@TryHackMe$ dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=====================================-==================================-============-===============================================================================
ii accountsservice 0.6.55-0ubuntu12~20.04.5 amd64 query and manipulate user account information
ii adduser 3.118ubuntu2 all add and remove users and groups
ii alsa-topology-conf 1.2.2-1 all ALSA topology configuration files
ii alsa-ucm-conf 1.2.2-1ubuntu0.13 all ALSA Use Case Manager configuration files
ii amd64-microcode 3.20191218.1ubuntu1 amd64 Processor microcode firmware for AMD CPUs
[... ]
ii zlib1g-dev:amd64 1:1.2.11.dfsg-2ubuntu1.3 amd64 compression library - development
用户
/etc/passwd
显示用户名等文件;但是,各种命令可以提供有关系统上其他用户及其行踪的更多信息和见解
您可以使用显示谁登录who
user@TryHackMe$ who
root tty1 2022-05-18 13:24
jane pts/0 2022-05-19 07:17 (10.20.30.105)
peter pts/1 2022-05-19 07:13 (10.20.30.113)
我们可以看到用户root是直接登录系统的,而用户jane和peter是通过网络连接的,我们可以看到他们的IP地址
请注意,who不要将它与打印您的有效用户 ID 命令whoami混淆
user@TryHackMe$ whoami
jane
要使事情更上一层楼,您可以使用w
,它显示谁登录了以及他们在做什么。根据下面的终端输出,peter正在编辑notes.txt并且jane是w本示例中正在运行的。
user@TryHackMe$ w
07:18:43 up 18:05, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 Wed13 17:52m 0.00s 0.00s less -s
jane pts/0 10.20.30.105 07:17 3.00s 0.01s 0.00s w
peter pts/1 10.20.30.113 07:13 5:23 0.00s 0.00s vi notes.txt
要打印真实有效的用户和组IDS,您可以发出命令id
(用于 ID)
user@TryHackMe$ id
uid=1003(jane) gid=1003(jane) groups=1003(jane) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
您想知道最近谁在使用该系统吗?last
显示最后登录用户的列表;此外,我们可以看到谁登出以及他们保持连接的程度。在下面的输出中,用户randa保持登录状态将近 17 小时,而用户michael在四分钟后注销
user@TryHackMe$ last
jane pts/0 10.20.30.105 Thu May 19 07:17 still logged in
peter pts/1 10.20.30.113 Thu May 19 07:13 still logged in
michael pts/0 10.20.30.1 Thu May 19 05:12 - 05:17 (00:04)
randa pts/1 10.20.30.107 Wed May 18 14:18 - 07:08 (16:49)
root tty1 Wed May 18 13:24 still logged in
[...]
最后,值得一提的是sudo -l
列出了当前系统上调用用户的允许命令
网络
可以使用ip address show
(可以缩写为ip a s),下面的终端输出显示了带有ens33
IP 地址10.20.30.129和子网掩码255.255.255.024
的网络接口
user@TryHackMe$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a2:0e:7e brd ff:ff:ff:ff:ff:ff
inet 10.20.30.129/24 brd 10.20.30.255 scope global noprefixroute dynamic ens33
valid_lft 1580sec preferred_lft 1580sec
inet6 fe80::761a:b360:78:26cd/64 scope link noprefixroute
valid_lft forever preferred_lft forever
DNS/etc/resolv.conf
服务器可以在. 对于使用 DHCP 进行网络配置的系统,请考虑以下终端输出。
DNS ,即名称服务器,设置为10.20.30.2
user@TryHackMe$ cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain thm
nameserver 10.20.30.2
netstat
是了解网络连接、路由表和接口统计信息的有用命令。我们在下表中解释了它的许多选项中的一些
常用的操作有
netstat -anpt
netstat -tunple
参数 | 作用 |
---|---|
-a | 显示监听和非监听套接字 |
-l | 只显示监听套接字 |
-n | 显示数字输出而不是解析 IP 地址和端口号 |
-t | TCP |
-u | UDP协议 |
-x | UNIX |
-p | 显示套接字所属程序的PID和名称 |
-e | 显示以太网统计信息 |
在进入机器使用netstat
命令前,通常使用Nmap
获取这样的信息。然而,这并不完全正确。Nmap
需要生成比较多的数据包来检查开放端口,这会触发入侵检测和防御系统。此外,路由中的防火墙可能会丢弃某些数据包并阻碍扫描,从而导致 Nmap
结果不完整
lsof
代表列出打开的文件。如果我们只想显示 Internet 和网络连接,我们可以使用lsof -i
. 下面的终端输出显示了 IPv4 和 IPv6 侦听服务以及正在进行的连接。用户peter连接到rpm-red-enum.thm该端口上的服务器ssh。请注意,要获得匹配程序的完整列表,您需要lsof
以 root 身份运行或使用sudo lsof
user@TryHackMe$ sudo lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 640 chrony 5u IPv4 16945 0t0 UDP localhost:323
chronyd 640 chrony 6u IPv6 16946 0t0 UDP localhost:323
sshd 978 root 3u IPv4 20035 0t0 TCP *:ssh (LISTEN)
sshd 978 root 4u IPv6 20058 0t0 TCP *:ssh (LISTEN)
master 1141 root 13u IPv4 20665 0t0 TCP localhost:smtp (LISTEN)
master 1141 root 14u IPv6 20666 0t0 TCP localhost:smtp (LISTEN)
dhclient 5638 root 6u IPv4 47458 0t0 UDP *:bootpc
sshd 5693 peter 3u IPv4 47594 0t0 TCP rpm-red-enum.thm:ssh->10.20.30.113:38822 (ESTABLISHED)
[...]
因为列表可能会很长,您可以通过指定您感兴趣的端口(例如SMTP端口 25)来进一步过滤输出。通过运行lsof -i :25
,我们将输出限制为与端口 25 相关的输出,如下面的终端输出所示. 服务器正在侦听 IPv4 和 IPv6 地址上的端口 25
user@TryHackMe$ sudo lsof -i :25
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
master 1141 root 13u IPv4 20665 0t0 TCP localhost:smtp (LISTEN)
master 1141 root 14u IPv6 20666 0t0 TCP localhost:smtp (LISTEN)
运行服务
获取正在运行的进程的快照可以提供许多见解。ps
让您发现正在运行的进程以及有关它们的大量信息
您可以使用 列出系统上的每个进程ps -e
,其中-e
选择所有进程。有关该过程的更多信息,您可以添加-f
for full-format 和-l
for long format。试验ps -e
、ps -ef
和ps -el
您可以获得可比较的输出并查看所有使用 BSD 语法的进程:ps ax
或ps aux
. 请注意,在使用 BSD 语法时,a
和是必需的,因为它们解除了“只有你自己”和“必须有一个 tty”的限制;x
换句话说,可以显示所有进程。用于u
有关拥有该进程的用户的详细信息
总而言之,请记住使用ps -ef
或ps aux
获取所有正在运行的进程的列表。考虑通过管道输出grep
以显示带有特定单词的输出行。下面的终端输出显示了其中的行peter
user@TryHackMe$ ps -ef | grep peter
root 5665 978 0 07:11 ? 00:00:00 sshd: peter [priv]
peter 5693 5665 0 07:13 ? 00:00:00 sshd: peter@pts/1
peter 5694 5693 0 07:13 pts/1 00:00:00 -bash
peter 5713 5694 0 07:13 pts/1 00:00:00 vi notes.txt
枚举Windows
们假设您可以访问cmd
Microsoft Windows 主机。您可能通过利用漏洞并获取 shell
或反向 shell
来获得此访问权限。您还可能在您利用的系统上安装了后门或设置了SSH服务器。在所有情况下,以下命令都需要cmd
运行
在此任务中,我们专注于枚举 MS Windows 主机。要枚举 MS Active Directory,建议您查看枚举 Active Directory空间。如果您对 MS Windows 主机上的权限升级
感兴趣,我们推荐Windows Privesc 2.0房间
系统
可以为我们提供有关系统的详细信息(例如其内部版本号和已安装的补丁)的一个命令是systeminfo
. 在下面的示例中,我们可以看到已安装了哪些修补程序
C:\>systeminfo
Host Name: WIN-SERVER-CLI
OS Name: Microsoft Windows Server 2022 Standard
OS Version: 10.0.20348 N/A Build 20348
OS Manufacturer: Microsoft Corporation
[...]
Hotfix(s): 3 Hotfix(s) Installed.
[01]: KB5013630
[02]: KB5013944
[03]: KB5012673
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) 82574L Gigabit Network Connection
[...]
您可以使用检查已安装的更新wmic qfe get Caption, Description
。此信息将使您了解系统修补和更新的速度有多快
C:\>wmic qfe get Caption, Description
Caption Description
http://support.microsoft.com/?kbid=5013630 Update
https://support.microsoft.com/help/5013944 Security Update
Update
您可以使用检查已安装和启动的 Windows 服务net start
。期望得到一长串清单;下面的输出已被截断
C:\>net start
These Windows services are started:
Base Filtering Engine
Certificate Propagation
Client License Service (ClipSVC)
COM+ Event System
Connected User Experiences and Telemetry
CoreMessaging
Cryptographic Services
DCOM Server Process Launcher
DHCP Client
DNS Client
[...]
Windows Time
Windows Update
WinHTTP Web Proxy Auto-Discovery Service
Workstation
The command completed successfully.
net start
显示当前运行的服务,类似的命令有sc query
和powershell -c Get-service
如果您只对已安装的应用程序感兴趣,您可以发布wmic product get name,version,vendor
,注意:有些软件可能并不存在该信息中
C:\>wmic product get name,version,vendor
Name Vendor Version
Microsoft Visual C++ 2019 X64 Minimum Runtime - 14.28.29910 Microsoft Corporation 14.28.29910
[...]
Microsoft Visual C++ 2019 X64 Additional Runtime - 14.28.29910 Microsoft Corporation 14.28.29910
用户
要知道你是谁,你可以跑whoami
;此外,要了解您的能力,即您的特权,您可以使用whoami /priv
. 下面的终端输出中显示了一个示例
C:\>whoami
win-server-cli\strategos
> whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
========================================= ================================================================== =======
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Enabled
SeSecurityPrivilege Manage auditing and security log Enabled
SeTakeOwnershipPrivilege Take ownership of files or other objects Enabled
[...]
此外,您可以使用它whoami /groups
来了解您属于哪个组。下面的终端输出显示该用户属于NT AUTHORITY\Local account and member of Administrators group
其他组
C:\>whoami /groups
GROUP INFORMATION
-----------------
Group Name Type SID Attributes
============================================================= ================ ============ ===============================================================
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account and member of Administrators group Well-known group S-1-5-114 Mandatory group, Enabled by default, Enabled group
BUILTIN\Administrators Alias S-1-5-32-544 Mandatory group, Enabled by default, Enabled group, Group owner
[...]
您可以通过运行查看用户net user
C:\>net user
User accounts for \\WIN-SERVER-CLI
-------------------------------------------------------------------------------
Administrator DefaultAccount Guest
michael peter strategos
WDAGUtilityAccount
The command completed successfully.
net group
如果系统是 Windows 域控制器或其他,您可以发现可用的组net localgroup
,如下面的终端所示
C:\>net localgroup
Aliases for \\WIN-SERVER-CLI
-------------------------------------------------------------------------------
*Access Control Assistance Operators
*Administrators
*Backup Operators
*Certificate Service DCOM Access
*Cryptographic Operators
*Device Owners
[...]
您可以使用命令列出属于本地管理员组的用户net localgroup administrators
C:\>net localgroup administrators
Alias name administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
michael
peter
strategos
The command completed successfully.
用于net accounts
查看机器上的本地设置;net accounts /domain
此外,如果机器属于域,则可以使用。此命令有助于了解密码策略,例如最短密码长度、最长密码期限和锁定持续时间
C:\Users\fucker>net accounts
强制用户在时间到期之后多久必须注销?: 从不
密码最短使用期限(天): 0
密码最长使用期限(天): 42
密码长度最小值: 0
保持的密码历史记录长度: None
锁定阈值: 从不
锁定持续时间(分): 30
锁定观测窗口(分): 30
计算机角色: WORKSTATION
命令成功完成。
C:\Users\fucker>net accounts /domain
这项请求将在域 WORKGROUP 的域控制器处理。
发生系统错误 1355。
指定的域不存在,或无法联系。
网络
您可以使用该ipconfig
命令了解您的系统网络配置。如果您想了解所有与网络相关的设置,您可以使用ipconfig /all
. 下面的终端输出显示了使用时的输出ipconfig
。例如,ipconfig /all
如果我们想了解DNS服务器,我们可以使用
C:\>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet0:
Connection-specific DNS Suffix . : localdomain
Link-local IPv6 Address . . . . . : fe80::3dc5:78ef:1274:a740%5
IPv4 Address. . . . . . . . . . . : 10.20.30.130
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.20.30.2
在 MS Windows 上,我们可以使用它netstat
来获取各种信息,例如系统正在侦听哪些端口、哪些连接处于活动状态以及谁在使用它们。在此示例中,我们使用选项-a
来显示所有侦听端口和活动连接。这-b
让我们找到连接中涉及的二进制文件,同时-n
用于避免解析 IP 地址和端口号。最后,-o
显示进程 ID (PID)
在下面显示的部分输出中,我们可以看到显示netstat -anob
服务器正在侦听TCP端口 22、135、445 和 3389。进程sshd.exe、RpcSs和分别TermService在端口22、135和上3389。此外,我们可以看到两个已建立的SSH服务器连接,如状态所示ESTABLISHED
C:\>netstat -anob
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 2016
[sshd.exe]
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 924
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 416
TermService
[svchost.exe]
[...]
TCP 10.20.30.130:22 10.20.30.1:39956 ESTABLISHED 2016
[sshd.exe]
TCP 10.20.30.130:22 10.20.30.1:39964 ESTABLISHED 2016
[sshd.exe]
[...]
您可能认为通过端口扫描目标系统可以获得相同的结果;然而,这是不准确的,原因有二。防火墙可能会阻止扫描主机访问特定的网络端口。此外,端口扫描系统会产生相当大的流量,不像netstat
,它会产生零噪音
最后,值得一提的是,使用arp -a
可以帮助您发现同一 LAN 上最近与您的系统通信的其他系统。ARP代表地址解析协议;arp -a
显示当前的ARP条目,即与您的系统通信的同一** LAN** 上的系统的物理地址。示例输出如下所示。这表明这些 IP 地址已经以某种方式与我们的系统进行了通信;通信可以是尝试连接,甚至是简单的 ping
。请注意,它10.10.255.255
不代表系统,因为它是子网广播地址
C:\>arp -a
Interface: 10.10.204.175 --- 0x4
Internet Address Physical Address Type
10.10.0.1 02-c8-85-b5-5a-aa dynamic
10.10.16.117 02-f2-42-76-fc-ef dynamic
10.10.122.196 02-48-58-7b-92-e5 dynamic
10.10.146.13 02-36-c1-4d-05-f9 dynamic
10.10.161.4 02-a8-58-98-1a-d3 dynamic
10.10.217.222 02-68-10-dd-be-8d dynamic
10.10.255.255 ff-ff-ff-ff-ff-ff static
DNS、SMB 和 SNMP
域名系统
我们都熟悉域名系统 ( DNS ) 查询,我们可以在其中查找 A、AAAA、CName 和 TXT 记录等。如果您想温习 DNS 知识,我们建议您访问Detail room 中的 DNS。如果我们可以获得DNS服务器负责应答的所有记录的“副本”,我们可能会发现我们不知道存在的主机
尝试DNS区域传输的一种简单方法是通过dig
命令。如果您想了解更多有关dig
和类似命令的信息,我们建议您查看被动侦察室。根据DNS服务器配置,DNS 区域传输可能会受到限制。如果不受限制,应该可以使用dig -t AXFR DOMAIN_NAME @DNS_SERVER
. 表示-t AXFR
我们正在请求区域传输,而在@
之前表示DNS_SERVER
我们要查询与指定 相关的记录DOMAIN_NAME
SMB
服务器消息块 (SMB) 是一种通信协议,可提供对文件和打印机的共享访问。我们可以使用检查共享文件夹net share
。这是输出示例。我们可以看到它C:\Internal Files
是在名称Internal下共享的
user@TryHackMe$ net share
Share name Resource Remark
-------------------------------------------------------------------------------
C$ C:\ Default share
IPC$ Remote IPC
ADMIN$ C:\Windows Remote Admin
Internal C:\Internal Files Internal Documents
Users C:\Users
The command completed successfully.
SNMP
简单网络管理协议 (SNMP) 旨在帮助收集有关网络上不同设备的信息。它可以让您了解各种网络事件,从磁盘出现故障的服务器到打印机墨水用完。因此,SNMP 可以为攻击者保存大量信息。查询与 SNMP 相关的服务器的一种简单工具是snmpcheck
语法非常简单:/opt/snmpcheck/snmpcheck.rb 10.10.140.119 -c COMMUNITY_STRING
也可以直接执行: /opt/snmpcheck/snmpcheck.rb 10.10.140.119
如果您想snmpcheck
在本地Linux机器上安装,请考虑以下命令
git clone https://gitlab.com/kalilinux/packages/snmpcheck.git
cd snmpcheck/
gem install snmp
chmod +x snmpcheck-1.9.rb
github
上有很多的不同类型的snmpcheck
的脚本,这只是其中之一
适用于 Windows 的更多工具
此任务提到了三个不是内置命令行工具的选项:
Sysinternals Suite是一组命令行和 GUI 实用程序和工具,提供与 Windows 系统相关的各个方面的信息。为了给您一个概念,我们在下表中列出了一些示例。
实用程序名称 | 描述 |
---|---|
进程浏览器(Process Explorer) | 显示进程以及打开的文件和注册表项 |
进程监视器(Process Monitor) | 监控文件系统、进程和注册表 |
列表(PsList) | 提供有关进程的信息 |
登录信息(PsLoggedOn) | 显示登录用户 |
进程黑客(Process Hacker)
Process Hacker是另一个高效可靠的** MS Windows GUI** 工具,可让您收集有关正在运行的进程的信息。Process Hacker 为您提供有关正在运行的进程和相关活动网络连接的详细信息;此外,它还可以让您深入了解从 CPU 和内存到磁盘和网络的系统资源利用率
GhostPack Seatbelt
Seatbelt
是 GhostPack 集合的一部分,是一个用 C# 编写的工具。它没有以二进制形式正式发布;因此,您需要使用 MS Visual Studio 自行编译