5.主机信息收集

1. windows信息收集

1.1. 用户信息

whoami /all       # 查询当前用户权限等
net user          # 只显示本机的用户,不显示域用户
net user administrator    # 查看用户administrator的具体信息
net localgroup           # 查看组
net localgroup administrators    #  显示本机的administrators管理员组。除了显示本机中用户,还会显示域用户(前提是该域用户在本机的Administrators组内)
query user | qwinsta      #查询当前在线用户
hostname           # 查看主机名

1.2. 系统信息

ipconfig /all    # 查看ip详细信息
route print      # 查看路由
arp -a            # 查看arp缓存表
type C:\Windows\System32\drivers\etc\hosts    # 查看hosts文件
systeminfo    #查看系统的基本信息(系统版本.软件及补丁的安装情况,是否在域内)
net statistics workstation     #查看主机开机时间
echo %PROCESSOR_ARCHITECTURE% #可查看系统的体系结构,是x86还是AMD64等
fsutil fsinfo drives   #查看所有的盘符
set    #查看环境变量

1.3. 外连和进程

netstat -ano        # 查看网络外连开放情况.
netstat -ano|findstr 80     # 查看80端口的网络连接
netstat -ano|findstr 443   # 查看443端口的网络连接
netstat -ano|findstr 3306
netstat -ano|findstr 3389
netstat -ano|findstr 6379
netstat -ano|findstr 1433

tasklist            # 查看进程列表
tasklist  /svc       # 查看进程,显示进程使用者名称
tasklist /svc | findstr PID    # 根据进程pid查找进程名称
taskkill /f /t /im xx.exe      # 杀死xx.exe进程
taskkill /F -pid 520          # 杀死pid为520的进程

1.4. 杀软在线识别

1.5. 服务和应用

net start          #查询当前运行的服务
wmic startup get command,caption  #查看程序启动信息
wmic product get name,version      # 查看安装的软件及版本
schtasks /query /fo LIST /v        #查看系统计划任务

者rdp连接,通过控制面板 --》程序 --》 程序面板,查看目标机器都安装了哪些软件

1.6. 防火墙信息

netsh advfirewall show allprofiles    # 通过配置文件的状态 , 打开说明防火墙是开启的 , 关闭就是关闭的

# 关闭防火墙
#Server2003及之前版本
netsh firewall set opmode disable
netsh firewall set opmode mode=disable

#Server2003之后版本 off/on
netsh advfirewall set allprofiles state off

# 指定程序通过防火墙
#Server2003及之前版本,允许指定程序全部连接:
netsh firewall add allowedprogram d:\nc.exe "allow nc" enable

#Server2003之后版本,允许指定程序进入:
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="d\nc.exe"

# 允许3389端口放行
# 进站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in 
localport=3389 action=allow

# 出站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=out 
localport=3389 action=allow
#在大多数情况下,只需要创建入站规则(dir=in),以便允许外部计算机连接到本地计算机上的远程桌面服务。但是,如果您有特殊的需求,需要允许本地计算机连接到远程计算机上的远程桌面服务,那么也可以创建出站规则(dir=out)。

1.7. rdp相关信息

# 查看3389状态 如果值为 0,表示远程桌面是开放的;如果值为 1,则表示远程桌面是关闭的
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

# 查看远程桌面端口 0xd3d == 3389
# 适用于 Windows Server 2003.Windows Server 2008.Windows Server 2008 R2.Windows 7 和Windows 8 这些操作系统版本
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber

# 适用于 Windows Server 2008 R2 和 Windows Server 2012
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber

# 开启3389
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f  

# 关闭3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f 

1.8. 敏感文件夹

  • 用户桌面
  • 用户下载
  • 用户文档
  • 用户目录下面的隐藏文件夹(保存的云凭证信息(阿里云,腾讯云,aws)等
    Pasted image 20250424175449

2. linux主机信息

2.1. 用户&密码信息

cat /etc/passwd            # 查看用户/密码信息
cat /etc/passwd | grep bash  # 筛选可以登录的用户
cat /etc/passwd | grep /sh

cat /etc/shadow        # 查看用户/密码信息

#查看用户登录状况
w     
last

2.2. 网络信息

# 查看网络信息
ifconfig                                          
ip a
arp -a

# 查看本地hosts解析
cat /etc/hosts

# 查看外连信息
netstat -anop                                 
netstat -anp | grep 22
netstat -anp | grep 3306
netstat -anp | grep 6379

# 查看建立链接的
ss
ss -t -o state established                

# 显示 dst(目标) IP 为 192.168.3.21 且状态为 established 的 TCP 连接,同时显示 timer
ss -t -o state established dst 192.168.3.21

# 显示 src(源) IP 为 172.31.2.101 且状态为 established 的 TCP 连接,同时显示 timer
ss -ato state established src 172.31.2.102                          

判断docker

# 检查根目录下/.dockerenv文件是否存在
ls -la /.dockerenv

# 检查/proc/1/cgroup内是否包含"docker"等字符串
cat /proc/1/cgroup

2.3. 进程&计划任务

ps -aux 
ps -aux | grep "关键字"   # 查看 mysql redis 等这些服务

crontab -l
more /etc/crontab
cd /var/spool/cron/    # centos   
ls -la

cd  /var/spool/cron/crontabs/ # ubuntu
ls -la

2.4. 系统信息

uname -a              # 内核信息
cat /etc/issue        # 发型版本信息
cat /etc/*-release    # 发型版本信息
cat /etc/shells       # 列出可用的登录shell的列表
echo $SHELL           # 当前用户的默认shell的路径