内网信息收集

内网基础信息

1. 内网网段信息

(1). 概述

  • 利用本机获取的信息,收集内网(域)中其他机器的信息

(2). 方法

  1. 主动扫描,常用工具:nmap、netdiscover、自写脚本、NC等工具扫描内网存活主机
  2. 常用端口和服务探测
  3. 内网拓扑架构分析,如:DMZ,管理网,生产网,测试网
  4. 常见命令收集
  5. 查看本机留下的信息,其中可能有管理员留下的内网拓扑图等信息

(3). 主机发现

a. 使用ping命令
  • 优:方便,一般不会引起流量设备告警
  • 缺:速度慢,存在防火墙会导致结果不准确
b. namp进行icmp扫描
nmap -sn -PE -n -v -oN result.txt 目标IP

-sn           # 禁用端口扫描,仅进行主机发现。只探测哪些主机在线,而不会扫描开放的端口
-PE           # 使用 ICMP Echo 请求 (ping) 探测主机是否存活,类似于标准 ping 请求
-n            # 禁用 DNS 解析,不解析主机名,以加快扫描速度
-v            # 增加输出的详细信息级别,用于显示扫描的更多过程信息
-oN result.txt # 将扫描结果以普通文本格式保存到指定文件 result.txt
c. nmap进行arp扫描
nmap -sn -PR -n -v 目标IP

-PR        # 使用 ARP 请求探测主机存活状态,通过 ARP 查询确定目标是否在线
d. netdiscover
  • 持续时间越久越精确
netdiscover -i eth0 -r 目标IP

-i          #指定接口
-r          #指定扫描范围
e. nbtscan
  • 可以同时获得NETBIOSapl
nbtscan -r 目标IP

(4). 端口扫描

a. nmap
nmap -Pn -n 目标IP
b. masscan
masscan -p port 目标IP --rate=10000       #以10kbps的速度扫描

(5). 操作系统识别

a. 使用nse脚本
#该脚本通过smb来探测操作系统版本、计算机名、工作组
nmap --script smb-os-discovery.nse -p445 目标IP地址
b. nmap
nmap -O 目标IP

(6). 漏洞扫描

nmap --script=nuln 目标IP

2. 涉及命令

(1). 常用指令

| 命令 | 说明 |
| ————————————————— | ———————- |
| net user | 本机用户列表 |
| net view | 查询同一域内的机器列表 |
| net localgroup administrators | 本机管理员 |
| net user /domain | 查询域用户 |
| net group /domain | 查询域里面的工作组 |
| net group "domain admins" /domain | 查询域管理员用户组 |
| net localgroup administrators /domain | 登陆本机的域管理员 |
| net localgroup administrators workgroup user /add | 域用户添加到本机 |
| net group "Domain controllers" | 查看域控制器 |

(2). Dsquery命令

| 功能描述 | 命令 |
| ——————— | ———————————————————— |
| 列出域内所有机器名 | dsquery computer domainroot -limit 65535 && net group "domain computers" /domain |
| 列出域内所有用户名 | dsquery user domainroot -limit 65535 && net user /domain |
| 列出域内网段划分 | dsquery subnet |
| 列出域内分组 | dsquery group && net group /domain |
| 列出域内组织单位 (OU) | dsquery ou |
| 列出域内控制器 | dsquery server && net time /domain |

Windows

收集内容

1. 密码获取

  • 工具
mimikatz
wce
getpass
QuarksPwDump
reg-sam
pwdump7

(1). cmdkey

  • cmdkey是用于保存用户名和密码的凭证,可以使用netpass.exe获取密码

    cmdkey /list
    

(2). 回收站信息获取

  • 进入回收站cd C:$RECYCLE.BIN
  • 注意:这个文件夹及子文件夹是隐藏文件夹,如果我们直接使用dir /ah命令可以查看内容。
dir /ah

/a显示具有指定属性的文件,
/h代表隐藏文件

(3). 获取无线密码

  1. 将无线密码导出到指定文件

  2. 获取其中的密码

    netsh wlan export profile interface=WLAN key-clear folder=C:\
    

(4). 浏览器记录

  • 存储位置(以Chrome为例)

    #chrome的用户信息保存在本地文件为 sqlite 数据库 格式
    %localappdata%googlelchrome\USERDATA\default\cookies
    %localappdata%google\chrome\USERDATA\default\Login Data
    
  • 使用mimikatz读取内容

    mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDATA\default\cookies /unprotect"
    

(5). IE浏览器代理信息

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

(6). 使用msf模块

a. 涉及模块

| 模块路径 | 作用 |
| ——————————————- | ————————– |
| post/windows/gather/forensics/enum_drives | 获取目标主机的磁盘分区情况 |
| post/windows/gather/checkvm | 判断目标主机是否为虚拟机 |
| post/windows/gather/enum_services | 查看开启的服务 |
| post/windows/gather/enum_applications | 查看安装的应用 |
| post/windows/gather/enum_shares | 查看共享 |
| post/windows/gather/dumplinks | 查看目标主机最近的操作 |
| post/windows/gather/enum_patches | 查看补丁信息 |
| scraper | 导出多个信息 |

b. 判断是否为虚拟机
  • 模块post/windows/gather/checkvm
#1. 在获取完session后,在msf终端使用use命令,装载后渗透攻击模块,然后设置必要参数
use post/windows/gather/checkvm
show options
set session 1
exploit
b. 查看补丁信息
  • 模块post/windows/gather/enum_patches
#如果已经在Meterpreter中,直接使用run+模块名
run post/windows/gather/enum_patches

Linux

1. history命令

  • 用于显示历史执行的命令,默认能显示1000条命令,可在/etc/profile文件中自定义
#清空历史记录
history -c

#执行编号为125的命令
! 125

2. last命令

  • 用于查看所有系统近期的登录记录,通过last命令查看该程序的log(/var/log目录下名称为wtmp的文件),管理员可以获知谁曾经或者企图连接系统

不同列命令

last -n 5

3. arp信息

#聚类检查是否有超同组业务外的arp地址,如果MAC地址和IP有不一致的,则可能是arp欺骗
arp -vn

4. 查看hosts文件

#查看域名/主机名到IP的映射关系,如果不匹配,则可能受到了攻击
cat /etc/hosts

5. msf模块

| 模块路径 | 作用 |
| ————————————– | ———————— |
| post/linux/gather/checkvm | 判断目标主机是否为虚拟机 |
| post/linux/gather/enum_configs | 查看配置信息 |
| post/linux/gather/enum_network | 查看网络 |
| post/linux/gather/enum_protections | 查看共享 |
| post/linux/gather/enum_system | 查看系统和用户信息 |
| post/linux/gather/enum_users_history | 查看目标主机最近的操作 |
| post/linux/gather/hashdump | 得到 Linux 中的 hash |