内网渗透测试第二章——内网信息收集

(一)内网信息收集概述


1. 收集本机信息

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

2. 手动收集信息

查询网络配置信息 ipconfig/all
查询操作系统和版本信息 systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
查看系统体系结构 echo %PROCESSOR_ARCHITECTURE%
查看安装的软件及版本、路径等 wmic product get name,version
利用PowerShell命令,收集软件版本信息 prowershell "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 /guery /fo LIST /v

查看主机开机事件net statistices workstation

查询用户列表net group
获取本地管理员(通常包含域用户)信息 net localgroup administrators
查看当前在线用户 query user || qwinsta

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

查询端口列表 netstat -ano

查看补丁列表 systeminfo

使用wmic命令查看补丁列表wmic qfe Caption,Description,HostFixID,InstalledOn

查询本机共享列表 net share
使用wmic命令查看共享列表 wmic share get name,path,statuzs

查询路由表及所有可用接口的ARP缓存表 route print arp -a
关闭防火墙

  • Windows Server 2003 以前版本netsh firewall set opmode disable

  • Windows Server 2003 以后版本netsh advfirewall set allprofiles state off

查看防火墙配置 netsh firewall show config
修改防火墙配置

  • WindowsServer2003以前版本允许指定程序全部连接 netsh firewall add allowedprogram c:\nc.exe "allow nc" enable
  • WindowsServer2003以后版本允许指定程序进入 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" portocol=TCP dir=in localport=3389 action=allow
  • 自定义防火墙日志的存储位置
    netsh advfirewall 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\CueerntControlSet\Control\TerminalServer\WinStations\RDP-Tcp" /V PortNumber
在WindowsServer2003中开启3389 wmic path win32_terminalservicesetting where (_CLASS !="") call setallowtsconnections 1
Windows Server 2008和Windows Server 2012中开启3389端口 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

3. 自动收集信息
  1. wmic  Windows管理工具命令行
  2. Empire
3.1 查询当前权限
  1. 查看当前权限 whoami
  2. 获取域SID whoami /all
  3. 查询指定用户的详细信息 net user XXX /domain
3.2 判断是否存在域
  1. 使用ipconfig命令 ipconfig /all
  2. 查看系统详细信息 systeminfo
  3. 查看当前登陆的域及登陆用户信息 net config workstation
  4. 判断主域 net time /domain
3.3 探测内网存活主机
  1. NetBIOS探测内网
  2. 利用ICMP协议探测内网
  3. 通过ARP扫描探测内网
  4. 通过TCP/UDP端口探测内网
3.4 扫描域内端口
  1. 利用telnet命令扫描
  2. S扫描器
  3. Metasploit端口扫描
  4. PowerSploit的Invoke-portscan.ps1脚本
  5. Nishang的Invoke-PortScan 模块
  6. 端口Banner信息
3.5 收集域内基础信息
  1. 查询域
    net view /domain
  2. 查询域内所有计算机
    net view /domain:HACKE
  3. 查询域内所有用户组列表
    `net group /domain
  4. 查询所有域成员计算机列表
    net group "domain computers" /domain
  5. 获取域密码信息
    net accounts /domain
  6. 获取域信任信息
    nltest /domain_trusts
3.6 查找域控制器
  1. 查看域控制器的机器名
    nltest /DCLIST:hacke
  2. 查看域控制器的主机名
    Nslookup -type=SRV_ldap._tcp
  3. 查看当前时间
    net time /domain
  4. 查看域控制器组
    net group “Domain Controllers” /domain
    netdom query pdc

(二)常用信息收集工具

1. 收集域内信息

1.1 WMIC

下载地址:

http://www.fuzzysecurity.com/scripts/files/wmic_info.rar

执行该脚本后,所有结果会写入一个HTML文件中。
image-20210818093205962

1.2 Empire

下载方式:

git clone https://github.com/EmpireProject/Empire.git

查看本机用户、域组成员、密码设置事件等信息:usemodule situational_awareness/host/winenum

查看目标主机事件日志、应用程序控制策略日志等使用模块:situational_awareness/host/computerdetails

注意:

situational_awareness/host/computerdetails模块需要管理员权限

2. 探测域内存活主机

2.1 ipscan

输入IP起止即可查询存活主机

image-20210818100741690

文件下载地址:

链接:https://pan.baidu.com/s/1dtLM4rDFfuVx-2mrc4XQWQ
提取码:vpux

2.2 ICMP

原理为依次对内网中的每个IP地址执行ping命令

1.在cmd中执行

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

2.使用vbs脚本

strSubNet ="192.168.1."
Set objFSO= CreateObject("Scripting.FileSystemObject")
Set objTS = objfso.CreateTextFile("C:\Windows\Temp\Result.txt")
For i=1 To 254
 strComputer =strSubNet & i
 blnResult =Ping(strComputer)
 If blnResult =True Then
 	objTS.WriteLine strComputer &" is alived !:)"
 End If
Next

objTS.Close
WScript.Echo "All Ping Scan,All· Done!:)"
Function Ping(strComputer)
Set objWMIService=GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_PingStatus Where Address='" & strComputer &"'")
 For Each objItem In colItems
     select case objItem.StatusCode
     Case 0
         Ping = True
     Case Else
         ping = False
     End select
     Exit For
 next
End Function

执行VBS脚本命令:cscript c:\windows\temp\1.vbs

2.3 ARP

1.arp-scan工具

官方文档使用步骤:

arp-scan uses the standard GNU automake and autoconf tools, so the typical installation process is:

  • Run git clone https://github.com/royhills/arp-scan.git to obtain the latest project source code
  • Run cd arp-scan to enter the source directory
  • Run autoreconf --install to generate a viable ./configure file
  • Run ./configure to generate a makefile for your system
  • Run make to build the project
  • Optionally run make check to verify that everything works as expected
  • Run make install to install (you’ll need to be root or use sudo/doas for this part)

1.arp-scan工具查看网段所有的主机
arp-scan -l
image-20210902093307637

有多个网卡可以指定选择哪个网卡
arp-scan --interface=eth1 -l
image-20210902093757276

指定某一段IP地址
arp-scan --interface=eth1 192.168.100.0/29
image-20210902094015497

2.Nishang中的Invoke-ARPScan.ps1脚本

Nishang下载地址:

https://github.com/samratashok/nishang

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值