内网渗透之信息搜集一(基础命令)
- 使用AdFind查询活动目录
AdFind 是一款C+十语言编写的域中信息查询工具,可以在域中任何一合主机上使用,
在 内 网 渗 透中 的 使 用 率, 语 法 格 式 如 下:
Adfind.exe [switchesJ L-bbasednj I-t filterd tattr tist]
其中,一b 指定一个BaseDN 作为查询的根, 一为LDAP 过滤条件,attr list 为需要显 示的
属性。
执 行以 下命 令:
Adfind.exe-bdc=hack-my,dc=com-f"objectclass=computer" nameoperatingsystem
查询hack-my.com域中的所有computer 对象,并过滤对象的〝name”和〝operatingsystem”
属性
- whoami /all
查看当前用户以及当前用户所处的用户组、所拥有的特权等信息。测试 人员可以对当前用户所拥有的特权有一个大致的了解,并综合判断是否需要提升权限。
- ipconfig /all
查看当前主机的网络配置情况,包括主机的卫P 地址、主机名、各网络适配器的信息等, 可以从中判断出当前主机所处的内网网段,同样可以用来判断是否存在域,如图所示:
根据下图,当前主机有两个以太网适配器Ethernet0 和Ethernetl,分别连通 1 0 . 1 0 . 1 0 . 0 / 24 和 1 9 2. 1 6 8 . 2. 0 / 24 这 两 个 网 段 。 在 后 面 的 橫 向 渗 透 过 程 中 , 测 试 人 员 可 以 通过扫 描 这两 个网 段 来 探测 内网 中存 活 的 主机。其中还有一个值得注意的就是Ethernet0 中DNS服务器的IP地址。在域环境中,DNS服务器的iP地址通常为域控制器地址
- route print
在路由表中的“网络目标〞都是主机可以直接访问到的,如图2- 1- 3中〝网络目标” 列中包括几个重要的IP地址段10.10.10.0/24、172.26.10.0/24 和192.168.2.0/24,测试人 员在后续的横向渗透 中可以尝试探测其中的存活主机
- systeminfo
查 看 当 前 主 机 的 操 作 系 统 信 息 , 包 括 当 前 主 机 的 主机 名 、 操 作 系 统 版 本 、 系 统 目 录 、 所 处的 工 作 站 ( 域 或 工 作 组 )、 各 网 卡 信 息 、 安 装 的 补 丁 信 息 等 ,当然也可以通过这个命令查看是否存在域:
- netstat -ano
查看端口连接信息,执行以下命令,查看当前主机的端又连接情况,包括当前主机的TCP、UDP 等端又 监听或开放状况,以这当前主机与网络中其他王礼建立的廷接有况。
- net session(需要高权限)
查省当前主机与所连接的客户端主机之同的会话
- net share
查 看 当 前 主 机 开 后 的 共 导 列 表 :
- net use
查看当前主机与其他主机 远程建立 的网络共享连接
- tasklist
- tasklist /svc
查看当前主机的所有进程的信恩
通常,测试人员可以根据得到的进程列表确定目标主机上本地程序的运行情况,并对目标主机上运行杀毒软件等进行识别。下图是通过在线工具在目标主机上识别出的杀毒软件的进程。
- wmic process get Name, ProcessId, ExecutablePath
通过 WMIC 查询主机进程信息,并过滤出进程的路径、名称和 PID,WMIC 是微软为Windows 管理规范 (WindowsManagement Instrumentation , WMI)提 供 的 一 个 命 令 行 工 具, 提 供 从 命 令 行 接 又 和 批 处 理 脚 本 执 行 系 统 管 理 的 支 持。执行以下命令,查看指定进程的路径信息:
wmic process where Name="cmd.exe" get ExecutablePath
- wmic service get Caption, Name, PathName, StartName,State
查香当前所有服务的信恩, 并过滤出服务的名称、路径、创建时间、 运行狀 态信息
- wmic service whereName="cmd' get Caption, PathName, State
查 看 指 定 服 务 的 信 息 , 并 过 滤 出 服 务 名 称、 路 径 和 运 行 状 态
- schtasks /query /v /fo list
执 行 以 下 命 令, 查 省 当 前 主 机 上 所 有 的 计 划 任任务
- wmic startup get Caption, Command, Location, User
查看当前主机上所有的自启程序信息,并过滤出程序名称、所执行的命令、程序的路径、所属用户
- wmic qfe get Caption, CSName, Description, HotFixID,InstalledOn
查看当前主机安装的补丁列表,并过滤出补丁链接、名称、描述、补丁编号以及安装时间,如图所示。通常,测试人员可以根据目标主机的操作系统版本和缺少的补丁来辅助后面的提权操作。
- wmic product get Caption,Version
查看目标主机上安装的应用软件信息,并过滤出应用的名称和版本(实在很有用,用来鉴别是否是云服务器什么的)
- net user
查看目标主机上的本地用户信息
- net user <username>
查看指定用户详细信息
- net localgroup administrators
查 看 本 地 管 理 员 组
- 执行以下命令,可以在目标主机本地创建一个新的用户并加入本地管理员组:
#创建本地用户
net user <username> <password〉 /add
# 将用户加入本地管理员组
net Localgroup administrators <username> /add
- query user
查看当前主机登录的用户。如图,用户 William 通过远程桌面登录了当前主机。对于开启远程桌面服务的 Windows 主机,若多个用户登录该主机,会产生多个会话。
延伸知识:Wmic和WMIExec比较
- WMIC (Windows Management Instrumentation Command-line):
- WMIC 是Windows操作系统中的一个命令行界面工具,允许用户从命令行访问WMI信息和功能。
- 它允许用户查询关于系统、硬件、操作系统和其他组件的信息。
- WMIC 是Windows系统自带的工具,不需要额外安装。
- WMIExec:
- WMIExec 是一个远程管理工具,常常被纳入到一些渗透测试工具箱中。
- 它允许用户通过WMI接口在远程计算机上执行命令。
- 与WMIC不同,WMIExec 主要被设计为一个远程执行工具,尤其在目标机器上不容易获得常规shell时。
简而言之,WMIC是Windows自带的一个命令行工具,专为查询WMI信息而设计;而WMIExec是一个远程管理工具,利用WMI接口在远程机器上执行命令。两者都与WMI有关,但用途和设计目的不同。