Windows&Linux常见的枚举

前言

当获得系统的的 一定权限的shell的时候,我们需要收集更多信息,这也是为什么要枚举

Linux枚举

通常我们获取的信息将这些命令分为四类:

  • 系统
  • 用户
  • 联网
  • 运行服务

系统

枚举操作系统信息

cat /etc/os-release

Windows&Linux常见的枚举_第1张图片

枚举系统名称

hostname

image.png

枚举邮件目录

user@y$ 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

要查找已安装的应用程序

/usr/bin/要查找已安装的应用程序 或 /sbin/:

  • ls -lh /usr/bin/
  • ls -lh /sbin/

在基于 RPM 的Linux系统上,-qa我们要查询所有包。

rpm -qa

在基于 Debian 的Linux系统上, 下面的输出是从 Ubuntu 服务器获得的。

dpkg -l

Windows&Linux常见的枚举_第2张图片

用户

显示用户名&用户组&散列密码

/etc/passwd
/etc/group
/etc/shadow

Windows&Linux常见的枚举_第3张图片

显示谁登录

root是直接登录系统的,而用户jane和peter是通过网络连接的,我们可以看到他们的IP地址

user@y$ 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)

可以使用 w 命令,它显示谁登录了以及他们在做什么

user@y$ 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

显示最后登录用户的列表

在下面的输出中,用户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
[...]

调用用户的允许的特权命令

执行的命令是以root权限执行

sudo -l 

联网

DNS设置

DNS服务器设置,使用DHCP进行网络配置的系统。。DNS,即名称服务器,设置为 10.20.30.2

user@y$ cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain thm
nameserver 10.20.30.2

网络连接状态

netstat 命令 是了解网络连接、路由表和接口统计信息的有用命令

选项	描述
-a	显示监听和非监听套接字
-l	只显示监听套接字
-n	显示数字输出而不是解析 IP 地址和端口号
-t	TCP
-u	UDP协议
-x	UNIX
-p	显示套接字所属程序的PID和名称

Windows&Linux常见的枚举_第4张图片

列出打开的文件

lsof 命令 代表列出打开的文件。如果我们只想显示 Internet 和网络连接,我们可以使用

lsof -i

可以通过指定您感兴趣的端口来进一步过滤输出,如 22 端口

lsof -i :25

运行服务

ps 让您发现正在运行的进程

选项	描述
-e	所有过程
-f	全格式列表
-j	职位格式
-l	长格式
-u	面向用户的格式

windows 枚举

系统

获取系统的详细信息

systeminfo

检查已安装的更新

wmic qfe get Caption, Description

检查已安装和启动的服务

net start

检查已安装的程序

wmic product get name,version,vendor

用户

当前用户的特权

whoami /priv

当前用户属于的组

whoami /groups

查看用户

net user

发现可用的组

net localgroup

列出属于本地组的用户

net localgroup   "组名"

查看机器上的本地设置

了解密码策略,例如最短密码长度、最长密码期限和锁定持续时间

net account

如果机器属于域

net accounts /domain

联网

了解网络状态

netstat -abno 命令

-a来显示所有侦听端口和活动连接
-b让我们找到连接中涉及的二进制文件
-n用于避免解析 IP 地址和端口号
-o显示进程 ID (PID)

显示当前历史解析的LAN地址

arp -a

DNS域传输

DNS 区域传输可能会受到限制,如果不受限制使用以下命令

dig -t AXFR DOMAIN_NAME @DNS_SERVER

SNMP枚举

通过SNMP服务,渗透测试人员可以获取大量的设备和系统信息。在这些信息中,系统信息最为关键,如操作系统版本、内核版本等。

  • 只读意味着用户只能读取信息和读写,读和写意味着用户可以对SNMP中的信息进行写/更新

团体字符通常默认是 public 和 private 或 manager

snmpcheck.rb 10.10.226.42 -c public

具体可以参考这个

https://codeantenna.com/a/5Toae1yl4B

你可能感兴趣的:(APT,linux,windows,debian,安全)