5

内网渗透—内网信息收集 | Dar1in9's Blog

 1 year ago
source link: https://dar1in9s.github.io/2022/03/12/%E6%B8%97%E9%80%8F/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F%E2%80%94%E5%86%85%E7%BD%91%E4%BF%A1%E6%81%AF%E6%94%B6%E9%9B%86/#%E6%9F%A5%E6%89%BE%E5%9F%9F%E6%8E%A7%E5%88%B6%E5%99%A8
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

“内网渗透”这一整块的学习是《内网安全攻防——渗透测试实战指南》的学习笔记。

进入内网之后第一步就是要进行内网收集,通过收集目标内网的信息,洞察内网网络图谱结构,找出最薄弱的环节,从而突破内网。

收集本机信息

查询网络配置:

bash
ipconfig /all

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

bash
# 系统和补丁信息
systeminfo

# 使用wmic命令查看补丁
wmic qfe get Caption, Description,HotFixID,InstalledOn

# 系统体系结构
echo %PROCESSOR_ARCHITECTURE%

# 查看安装的软件及版本、路径等
wmic product get name,version
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"

查询本机服务信息

shell
wmic service list brief

查询进程列表:

shell
tasklist`、`wmic process list brief

常见杀毒进程:

20220312185610.png

查看启动程序信息:

shell
wmic startup get caption,command

查看计划任务:

shell
schtasks /query /fo list /v

查看主机开机时间:

shell
net statistics workstation

查询用户列表:

shell
net user

# 获取本地管理员
net localgroup administrators
# 查看当前在线用户
query user || qwinsta

查询端口列表:

shell
netstat -ano

查看本地共享列表:

shell
net share
wmic share get name,path,status

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

shell
route print
arp -a

查询防火墙相关配置:

  • 关闭防火墙

    shell
    # Windows Server 2003及之前版本
    netsh firewall set opmode disable

    # windows server 2003之后的版本
    netsh advfirewall set allprofiles statue off
  • 查看防火墙配置:

    shell
    netsh firewall show config
  • 修改防火墙配置

    shell
    # Windows server 2003及之前版本,允许指定程序全部连接
    netsh firewall add allowedprogram c:\nc.exe "allow nc" enable

    # windows server 2003之后版本
    # 允许指定程序进入
    netsh adfirewall firewall add rule name="pass nc" dir=in action=allow program="c:\nc.exe"
    # 允许指定程序推出
    netsh adfirewall firewall add rule name="allow nc" dir=out action=allow program="c:\nc.exe"
    # 允许3389端口放行
    netsh adfirewall firewall add rule name="remote desktop" protocal=tcp dir=in localport=3389 action=allow
  • 自定义防火墙日志文件存储位置

    shell
    netsh adfirewall set currentprofile logging filename "c:\fw.log"

查看代理配置情况:

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

远程连接服务:

  • 查询远程连接端口

    shell
    reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP" /V PortNumber
  • 开启3389端口(管理员权限)

    Windows server 2003中开启

    shell
    # wmic方法
    wmic path win32_terminalServiceSetting where (__CLASS!="") call setallowtsconnections 1

    # 注册表方法
    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

    windows server 2008 和windows server 2012中开启

    shell
    # wmic方法(win7只需要前两条)
    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\ControlTerminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

    # 注册表方法
    reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

查询当前权限

查看当前用户详细信息:

shell
whoami /all

查询指定用户详细信息:

shell
net user xxx /domain

判断是否存在域

使用ipconfig

使用ipconfig /all查看网关ip、dns的ip、域名、本机是否和dns服务器处于同一网段等。

通过nslookup反向解析来解析ip的地址,用解析道德ip地址进行对比,判断域控和dns服务器是否在同一台服务器上。

查看系统详细信息

执行systeminfo,查看其“域”字段信息,如果为“WORKGROUP”,表示当前服务器不在域内

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

执行net config workstation,“工作站域DNS名称”为域名,如果为”WORKGROUP”,则表示当前服务器不在域内,“登录域”表示当前登录的是域用户还是本地用户。

与服务器通常会同时作为时间服务器使用,执行以下命令:

shell
net time /domain

存在三种情况:

  • 存在域,且当前用户是域用户

    20220312230259.png

  • 存在域,但当前用户不是域用户

  • 20220312230518.png

探测域内存活主机

使用NetBIOS探测内网

NetBIOS是局域网程序使用的一种API接口,为程序提供了请求低级服务的统一命令集,为局域网提供了网络和其他特殊功能。几乎所有的局域网都是在NetBIOS协议的基础上工作的。NetBIOS的工作流程就是正常的机器域名解析查询应答过程。

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

直接运行nbtscan.exe 192.168.37.1/24即可开始扫描

20220313002156.png

最后一列是机器所开启服务的列表,具体含义:

20220313002249.png

使用ICMP协议扫描内网

使用如下命令进行循环执行ping命令

shell
for /L %i in (1,1,254) do @ping -w 1 -n 1 192.168.37.%i | findstr "TTL="

通过ARP扫描内网

使用arp-scan工具(要先上传)

plaintext
arp.exe -t 192.168.1.0

20220313004554.png

使用Empire中的arpscan模块

在empire中输入:

shell
usemodule situational_awareness/network/arpscan
set range 192.168.37.1/24
execute

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

使用scanline进行扫描

shell

scanline -h -t 22,80-89,110,389,445,1099,1433,2049,6379,7001,8080,1521,3306,3389,5432 -u 53,161,137,139 -p 192.168.37.1-254

扫描域内端口

使用metasploit进行端口扫描

执行search portscan,可以搜索端口扫描的模块。

// Todo

使用Nishang 的Invoke-Portscan模块

//Todo

常见端口及其说明

文件共享服务端口

20220313010639.png

远程连接服务端口

20220313010703.png

Web应用服务端口

20220313010741.png

数据库服务端口

20220313010806.png

邮件服务端口

20220313010822.png

网络常见协议端口

20220313010849.png

特殊服务端口

20220313011004.png

收集域内基础信息

查询域:

shell
net view /domain

查询域内所有机器:

shell
net view /domain:域名

查询域内所有用户组列表:

shell
net group /domain

系统自带的常见用户身份:

  • Domain Admins:域管理员
  • Domain Computers:域内机器
  • Domain Controllers:域控制器
  • Domain Guest:域访客,权限较低
  • Domain Users:域用户
  • Enterprise Admins:企业系统管理员用户

默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器拥有完全控制权。

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

shell
net group "Domain Computers" /domain

获取域密码信息:

shell
net accounts /domain

20220313013227.png

获取域信任信息:

shell
nltest /domain_trusts

查找域控制器

查看域控制器的机器名

shell
nltest /dclist:域名
# 例如 nltest /dclist:gryffinrab

查看域控制器的主机名

shell
nslookup -type=SRV _ldap._tcp

查看当前时间

通常情况下,时间服务器为主域控制器

shell
net time /domain

查看域控制器组

shell
net group "Domain Controllers" /domain
shell
netdom query pdc

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK