THM-红队-枚举( Enumeration)

介绍

假设我们已经成功地获得了某种形式的系统访问权限。此外,我们可能进行了提权;换句话说,我们可能在目标系统上拥有管理员或 root 权限。即使使用非特权帐户(即,不是 root 或管理员)

我们的目的是收集更多信息,以帮助我们获得对目标网络的更多访问权限。例如,我们可能会找到登录凭据以授予对另一个系统的访问权限。我们专注于标准系统上常用的工具,以收集有关目标的更多信息。作为系统的一部分,此类工具看起来无害,并且产生的“噪音”最少。

我们假设您可以访问目标上的命令行界面,例如bashLinux系统或cmd.exeMS Windows 系统。从Linux系统上的一种 shell 开始,通常很容易切换到另一种。同样,从 开始cmd.exe,您可以切换到PowerShell(如果可用)。我们刚刚在下面的终端中发出了启动PowerShell交互式命令行的命令。
powershell.exe

  • 枚举的目的
  • 使用常用安装工具的Linux枚举:系统、用户、网络和正在运行的服务
  • 带有内置工具的 MS Windows 枚举:系统、用户、网络和正在运行的服务

目的

当您获得目标系统的“外壳”时,您通常对该系统有非常基本的了解。如果是服务器,你已经知道你利用了哪个服务;但是,您不一定知道其他详细信息,例如用户名或网络共享。因此,外壳看起来就像一个“暗室”,您对周围的事物只有不完整和模糊的了解。从这个意义上说,枚举可以帮助您构建更完整和准确的画面。

开发后枚举背后的目的是尽可能多地收集有关系统及其网络的信息。被利用的系统可能是公司台式机/笔记本电脑或服务器。我们的目标是收集信息,使我们能够转向网络上的其他系统或掠夺当前系统。我们有兴趣收集的一些信息包括:

  • 用户和组
  • 主机名
  • 路由表
  • 网络共享
  • 网络服务
  • 应用程序和横幅
  • 防火墙配置
  • 服务设置和审核配置
  • SNMPDNS详细信息
  • 搜索凭据(保存在网络浏览器或客户端应用程序中)

无法列出我们可能偶然发现的所有内容。例如,我们可能会找到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。任何用户都可以阅读文件passwdgroup. 但是,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/

在基于 RPMLinux系统上,您可以使用rpm -qa. 表示-qa我们要查询所有包。

在基于 DebianLinux系统上,您可以使用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是直接登录系统的,而用户janepeter是通过网络连接的,我们可以看到他们的IP地址

请注意,who不要将它与打印您的有效用户 ID 命令whoami混淆

user@TryHackMe$ whoami
jane

要使事情更上一层楼,您可以使用w,它显示谁登录了以及他们在做什么。根据下面的终端输出,peter正在编辑notes.txt并且janew本示例中正在运行的。

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),下面的终端输出显示了带有ens33IP 地址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. 下面的终端输出显示了 IPv4IPv6 侦听服务以及正在进行的连接。用户peter连接到rpm-red-enum.thm该端口上的服务器ssh。请注意,要获得匹配程序的完整列表,您需要lsofroot 身份运行或使用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 相关的输出,如下面的终端输出所示. 服务器正在侦听 IPv4IPv6 地址上的端口 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选择所有进程。有关该过程的更多信息,您可以添加-ffor full-format 和-lfor long format。试验ps -eps -efps -el

您可以获得可比较的输出并查看所有使用 BSD 语法的进程:ps axps aux. 请注意,在使用 BSD 语法时,a和是必需的,因为它们解除了“只有你自己”和“必须有一个 tty”的限制;x换句话说,可以显示所有进程。用于u有关拥有该进程的用户的详细信息

总而言之,请记住使用ps -efps 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

们假设您可以访问cmdMicrosoft 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 querypowershell -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端口 221354453389。进程sshd.exeRpcSs和分别TermService在端口22135和上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 ) 查询,我们可以在其中查找 AAAAACNameTXT 记录等。如果您想温习 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
SeatbeltGhostPack 集合的一部分,是一个用 C# 编写的工具。它没有以二进制形式正式发布;因此,您需要使用 MS Visual Studio 自行编译

posted @ 2023-04-05 19:48  Junglezt  阅读(104)  评论(0编辑  收藏  举报