​ 1.服务器内网结构是什么样的?
​ 2.服务器角色是什么?
​ 3.谁在使用这台服务器?
​ 4.服务器上安装了哪些杀软?
​ 5.服务器是通过什么方式联通外网的?
​ 6.服务器是台式还是笔记本?

0x01 收集信息

需要简单了解本机信息,包括操作系统、权限、内网ip地址段、杀毒软件、端口、服务、补丁更新频率、网络连接、共享、会话等等。
​如果是域内主机,操作系统、应用软件、补丁、服务、杀毒软件一般都是批量统一安装的。

1.查询网络配置信息

命令:ipconfig /all 查询本机ip相关信息

2.查询操作系统及软件的信息

①查询操作系统和版本信息
命令:systeminfo | findstr /B /C:“OS 名称” /C:“OS 版本”
英文版系统: systeminfo | findstr /B /C:“OS Name” /C:“OS Version”
以上命令是从systeminfo信息中提取 名称和版本的信息 其他信息不输出.

②查看系统体系结构
命令: echo %processor_architecture%

③查看安装的软件及版本、路径等
命令:wmic product get name,version

④powershell命令收集
命令:cmd输入powershell -> powershell “get-wmiobject -class win32_product | select-object -property name,version”

3.查询本机服务信息

命令:wmic service list brief

4.获取进程列表(主要是查看杀软等进程有哪些存活)

cmd命令:tasklist

wmic命令:wmic process list brief

查询杀软地址:https://www.ddosi.com/av/1.php

5.查看启动程序信息

wmic命令:wmic startup get command,caption

6.查看计划任务

命令:schtasks /query /fo list /v


注意:如果使用936中文GBK编码的话,schtasks.exe /query 会报错

7.查看主机的开机时间

命令:net statistics workstation

8.查询用户列表

命令:**net user **列出用户列表
命令:net localgroup administrators 查看本地管理员下面的用户和信息,枚举域信息
命令:query user || qwinsta 查看在线用户

9.列出或断开本地计算机与所连接的客户端之间的会话

命令: net session

10.查看端口列表

命令:netstat -ano

11.查看系统相信信息(补丁列表)

命令:systeminfo

wmic命令:wmic qfe get caption,description,hotfixid,installedon

12.查询本机共享列表

命令:net share

wmic命令:wmic share get name,status

13.查询路由表及所有可用接口的arp缓存表

命令:arp -a
命令:route print

14.查询防火墙相关配置

①关闭防火墙

命令:netsh firewall set opmode disable Windows2003及之前的版本
命令:netsh advfirewall set allprofiles state off Windows2003之后的版本

②查看防火墙配置

命令:netsh firewall show config

③修改防火墙配置

Windows 2003及之前允许指定(nc)程序全部链接
命令:netsh firewall add allowedprogram c:\nc.exe “allow nc” enable

④允许指定程序退出

命令:netsh advfirewall firewall add rule name=“allow nc” dir=out action=allow program=“C:\nc.exe”

⑤允许3389端口放行

命令:netsh advfirewall firewall add rule name=“remote desktop” protocol=tcp dir=in localport=3389 aciton=allow

⑥自定义防火墙日志存储的位置

命令:netsh advfirewall set currentprofile logging filename “C:\windows\temp\firewall.log”

15.查看代理配置情况

执行命令可以看到127.0.0.1的1080端口代理信息

命令:reg query “HKEY_CURRENT_UESR\Software\Microsoft\Windows\CurrentVersion\Internet Settings”

16.查询并开启远程连接服务

①查看远程连接端口

命令:reg query “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\control\Terminal serve\winstattions\rdp-tcp” /v portnumber

②Winwos server 2008和2012开启远程连接

命令1:wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS!=“”) call setallowtsconnections 1

命令2:wmic \namespace:\root\cimv2\terminalservices path win32_tsgenralsetting where (terminalname=“rdp-tcp”) call setuser authenticationrequired 1

命令3:reg add “HKLM\SYSTEM\Currentcontrolset\control\terminal server” /v fsinglesessionperuser /t reg_dword /d 0 /f

③Win7以上开启3389:

1.设置远程桌面端口:
命令:reg add “HKLM\SYSTEM\currentcontrolset\control\terminal server\winstations\rdp-tcp” /t reg_dword /v portnumber /d 3389 /f

2.开启远程桌面
命令:wmic rdtoggle where servername=‘%computernamer%’ call setallowtsconnections 1

3.检查端口状态
命令:netstat -an|find “3389”**

4.关闭远程桌面
命令:wmic rdtoggle where servername=‘%computername%’ call setallowtsconnections 0

0x02查询当前权限

1.查询当前权限

命令:whoami
存在三种情况:普通用户、管理员用户、域用户

2.获取域sid

命令:whoami /all

3.查询指定用户的详细信息
命令:net user XXX /domain

0x03 内网其他信息

获取完本机的相关信息后,就要判断当前内网环境中是否存在域

1.查询ip信息

命令:ipconfig

2.查询系统详细信息

命令:systeminfo

3.查询当前登录域及登录用户信息

命令:net config workstation

4.判断主域

命令:net time /domain
这里会有三种情况: 1.当前网络环境为工作组 2.存在域 3.存在于但不是当前域用户。

0x04 探测内网存活主机

1.利用netbios快速探测内网

netbios是局域网使用的一种应用程序接口(api),所有局域网都是netbios协议上工作的。

2.利用ICMP协议探测内网

Linux环境下速度快
命令:for i in {1…254};do (ping -c 192.168.1.${i} | grep “bytes from” | grep -v “Unreachable” &);done;

Windwos环境下速度慢
命令:for /L %I in (1,1,254) DO @ping -w 1 -n 192.168.1.%I | findstr “TTL=”

3.通过arp扫描探测内网

arp -scan工具 命令:arp.exe -t 192.168.1.0/24

项目地址: https://github.com/royhills/arp-scan

0x05 扫描域内端口

注意三点:
1.端口的banner信息
2.端口上运行的服务
3.常见应用的默认端口

1.利用telnet命令扫描

2.MSF端口扫描

命令:search scanner/port

选择第四个 axuiliary/scanner/portscan/tcp

3.端口banner信息

0x06 收集域内基础信息

1.查询域

命令:net view /domain

2.查询域内所有计算机

命令:net view /domain:GOD //域名

3.查询域内所有用户组列表

命令:net group /domain

4.查询所有域成员计算机列表

命令:net group “domain computers” /domain

5.获取域密码信息-设置规则

命令:net accounts /domain

6.获取域内信任信息

命令:nltest /domain_trusts

0x07 查找域控制器

1.查找域控制器的机器名

命令:nltest /DClist:域名

2.查看域控制器的主机名(非域控制器使用)

命令:nslookup -type=SRV_ldap._tcp

3.查看当前时间

命令:net time /domain

4.查看域控制器组

命令:net group “domain controllners” /domain


netdom query pdc可以看到域控制器

0x08 获取域内的用户和管理员信息

1.向域控制器进行查询

命令:net user /domain

2.获取域内用户的详细信息

命令:wmic useraccount get /all

3.查看存在的用户

命令:dsquery user

4.查询本地管理员账户

命令:net localgroup administrators

0x09 查询域管理员组

1.查询域管理员用户

命令:net group “domain admins” /domain

2.查询管理员用户组

命令:net group “enterprise admins” /domain

0x10 重点核心业务机器及敏感信息保护

1.核心业务机器

高级管理人员 系统管理人员 财务/人事/业务人员的个人计算机
产品管理系统服务器、办公系统服务器、财务应用系统服务器
核心产品源码服务器(SVN/GIT服务器)
数据库服务器、文件服务器、共享服务器
电子邮件服务器、网站监控系统服务器
信息安全监控服务器、其他分公司,生产工厂服务器等

2.敏感信息和敏感文件

站点源码备份文件、数据库备份文件等
各类数据库的web管理入口,例如phpmyadmin、adminer
浏览器保存的密码和浏览器的cookie
其他用户会话,3389和ipc$连接记录,回收站中的信息等
Windows的无线密码
网络内部的各种账号,包含电子邮箱、VPN、FTP等

0x11 基本架构

对目标网站的基本情况进行简单判断,分析目标服务器使用的web服务器、后端脚本、数据库、系统等
下面列举一些常见的web架构:


ASP + ACCESS + IIS 5.0/6.0 + Windows Server 2003
ASPX + Mysql + IIS 7.0/7.5 + Windows Server 2008
PHP + Mysql + Apache
PHP + Mysql + nginx
PHP + Mysql + iis
JSP + Mysql + nginx
JSP + Mssql + Tomcat
JSP + Orcacle + Tomcat