Skip to content

Latest commit

 

History

History
472 lines (314 loc) · 9.84 KB

2.内网信息收集.md

File metadata and controls

472 lines (314 loc) · 9.84 KB

第二章 内网信息收集

2.2收集本机信息

1.查询网络配置命令:

ipconfig /all

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

1)查看操作系统和版本信息

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
//适用于英文的操作系统,中文的:
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

1580197593318

2)查看系统体系结构

echo %PROCESSOR_ARCHITECTURE%

1580197987108

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

1580198244688

Powershell版本:

powershell.exe "Get-WmiObject -class Win32_Product | Select-Object -Property name,Version"

3.查询本机服务信息

wmic service list brief

1580198366897

4.查询进程列表

tasklist
//或者
wmic process list brief

1580198435617

常见杀毒软件进程

360sd.exe
360tray.exe
ZhuDongFangYu.exe
KSafeTray.exe
SafeDogUpdateCenter.exe
McAfee McShield.exe
egui.exe //NOD32
AVP.EXE  //卡巴斯基
avguard.exe		//小红伞
bdagent.exe		//BitDefender

5.查看启动程序信息

wmic startup get command,caption

1580198702860

6.查看计划任务

schtasks /query /fo LIST /v

7.查看主机开机时间

net statistics workstation

8.查询用户列表

net user
//获取本地管理员组成员:
net localgroup adinistrators
//查看当前再线用户
query user || qwinsta

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

net session

10.查询端口列表

netstat -ano

11.查询补丁列表

systeminfo

12.查询本机共享列表

net share
//wmic:
wmic share get name,path,status

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

route print
arp -a

14.查询防火墙相关配置

1)关闭防火墙

//windows server 2003之前
netsh firewall set opmode disable
//Windows server 2003之后
netsh advfirewall set allprofile state off

2)查看防火墙配置

netsh firewall show config

3) 修改防火墙配置

//windows server 2003之前允许指定程序全部连接
netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
//windows server 2003之后的版本
netsh advfirewall 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

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

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

15.查看代理配置情况

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

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

1)查看远程连接端口

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

2)在Windows server 2003中开启3389

wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

3)在Windows server 2008和2012中

wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
//修改注册表方式
reg query "HKLM\System\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

2.2.2 自动收集信息

这里原文将上述的语句进行自动化,并将结果输出到了一个HTML文件中。

2.2.3 Empire下的主机信息收集

使用模块:

usemodule situational_awareness/host/winenum
execute

2.3 查询当前权限

whoami /all

查询指定用户的详细信息

net user xxx /domain

2.4 判断是否存在域

查看dns服务器

ipconfig /all
//将查看到的DNS服务器用nslookup进行解析
nslookup dc.test.local

查看系统详细信息

systeminfo | findstr /B /C:"登录服务器"
//如果结果不为"WORKGROUP"则主机为域主机

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

net group workstation

判断主域

net time /domain
//命令用于查看域内时间,同时也可以查看域控制器

2.5 探测域内存活主机

使用nbtscan(http://www.unixwiz.net/tools/nbtscan.html)探测当前网段主机

nbt.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="

1580203080227

通过ARPscan工具扫描探测内网

arp.exe -t 192.168.1.0/20

Empire中的ARPscan模块

usemode situational_awareness/network/arpscan
execute

Nishang中的Invoke-ARPScan.ps1

powershell.exe -exec bypass -Command "& (Import-module c:\windows\temp\Invoke-ARPscan.ps1; Invoke-ARPScan -CIDR 192.168.1.0/20)" >> c:\windows\temp\log.txt
type c:\windows\temp\log.txt

通过常规的TCP/UDP端口扫描探测内网

上传ScanLine进行扫描:

scanline -h -t 22,80-90,110,445 -u 53,161 -O c:\windows\temp\log.txt -p 192.168.1.1-254 /b

2.6扫描域内端口

telnet(但是这个速度太慢了点)

S扫描器

Metasploit端口扫描

auxiliary/scanner/portscan/tcp
set ports 1-1000
set RHOST 192.168.1.1
set THREADS 10
run

PowerSploit、NiShang的Invoke-portscan脚本

2.7 收集域内基础信息

net view /domain
//查询域

net view /domain:test
//查询域内所有计算机

net group /domain
//查询域内所有用户组列表

net group "domain computers" /domain
//查询所有域成员计算机列表

net accounts /domain
//获取域内密码信息

nltest /domain_trusts
//域内信任信息

2.8 查找域控

nltest /DCLIST:test

net time /domain

Nslookup -type=SRV _ldap._tcp

net group "Domain Controllers" /domain

netdom query pdc
//查看主控制器

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

//查询所有域用户列表
net user /domain

//获取域内用户的详细信息
wmic useraccount get /all

//查看存在的用户,但是这个只能在域控或者安装了对应服务的主机使用,否则会提示命令不存在
dsquery user

//查找目录中的计算机
dsquery computer

//查询本地管理员组用户
net localgroup administrators

//查询域管理员用户组
net group "domain admins" /domain

//查询管理员用户组
net group "Enterprise Admins" /domain

2.10 定位域管理员

在获取了Windows域中的普通权限在进行横向渗透时,需要知道域内用户登录的位置,是否是任何系统/主机的本地管理员,以及所属组等信息。能够使用的工具有:psloggedon.exe、PVEFindADUser.exe、netness.exe、hunter、NetView、PowerView。

psloggedon.exe

能够通过此工具查看远程计算机的资源,也就是说能够查看目标主机有哪些账户在登录状态

下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psloggedon

psloggedon.exe \\dc2012

1580439953824

PVEFindADUser

PVEFindADUser能够用于查找活动目录用户登录的位置,枚举与用户,以及查找在特定计算机上登录的用户。包括本地用户、通过RDP登录的用户、用于运行服务和计划任务的用户。(这个工具需要.NET 3.5)

Windows Server 2012安装.NET 3.5可能不成功,需要指定安装源:https://www.cr173.com/soft/921507.html

1580441837968

下载地址:https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn

PVEFindADUser.exe -current

1580441964422

NetView

NetView是一个枚举工具,使用WinAPI枚举系统,利用NetSessionEnum找寻登陆会话,利用NetShareEnum找寻共享,利用NetWkstaUserEnum枚举登录的用户。同时还能够查询共享入口和有价值的用户。

下载地址:https://github.com/mubix/netview

Netness

下载地址没找到

PowerView

使用Powerview的Invoke-UserHunter。

Empire

Empire中也存在此类型的脚本:

usemodule situational_awareness/network/powerview/user_hunter
execute

Nmap的NSE脚本

通过Nmap的NSE脚本获取远程机器的登陆会话。

smb-enum-sessions.nse获取域内主机的用户登录会话,查看当前是否有用户登录。下载地址:https://nmap.org/nsedoc/scripts/smb-enum-sessions.html

smb-enum-domains.nse对域控制器进行信息收集,可以获取主机信息用户、可使用密码策略的用户等。

smb-enum-users.nse可以使用此脚本对域控进行扫描。

2.11 查找域管理进程

其中阿里云上有个链接也说到了类似的方法:https://yq.aliyun.com/articles/599377?type=2

本机检查:

//获取域管理员列表
net group "Domain Admins" /domain

//列出本机的所有进程和进程用户
tasklist /v

查询域控的域用户会话

//查询域控列表
net group "Domain Controllers" /domain

//收集所有活动域的会话列表
netsess -h