1. 1. 目录
    1. 1.1. 1、收集本机信息
      1. 1.1.1. 手动收集
        1. 1.1.1.1. 查询网络配置
        2. 1.1.1.2. 查询操作系统及版本
        3. 1.1.1.3. 查看系统体系结构
        4. 1.1.1.4. 查看安装的软件信息
        5. 1.1.1.5. 查询本机服务信息
        6. 1.1.1.6. 查询进程列表
        7. 1.1.1.7. 查看启动程序信息
        8. 1.1.1.8. 查看计划任务
        9. 1.1.1.9. 查看主机开机时间
        10. 1.1.1.10. 查询用户列表
        11. 1.1.1.11. 查询补丁及其更新频率
        12. 1.1.1.12. 查询本机共享列表
        13. 1.1.1.13. 查询路由表及所有可用接口的ARP缓存表
        14. 1.1.1.14. 查看代理配置情况
        15. 1.1.1.15. 查询并开启远程服务
        16. 1.1.1.16. 查看防火墙相关配置
        17. 1.1.1.17. 翻找本地敏感文件及密码本
        18. 1.1.1.18. 凭证收集
      2. 1.1.2. WMIC自动收集
    2. 1.2. 2、查询当前权限
      1. 1.2.0.1. 查看当前用户权限
      2. 1.2.0.2. 获取域SID
      3. 1.2.0.3. 查询指定用户详细信息
  2. 1.3. 3、判断是否存在域
    1. 1.3.0.1. ipconfig命令判断是否在域内
    2. 1.3.0.2. Systeminfo判断是否在域内
    3. 1.3.0.3. 查询当前登录域和登录用户信息
    4. 1.3.0.4. 通过时间服务器判断
  • 1.4. 4、探测域内存活主机
    1. 1.4.0.1. 利用NetBIOS探测
    2. 1.4.0.2. 利用ICMP探测
    3. 1.4.0.3. 利用ARP探测
  • 1.5. 5、域内端口 服务信息收集
    1. 1.5.0.1. 通过常规TCP/UDP端口扫描探测内网
    2. 1.5.0.2. telnet命令
    3. 1.5.0.3. S扫描器
    4. 1.5.0.4. Metasploit扫描
    5. 1.5.0.5. Nishang的Invoke-PortScan模块
  • 1.6. 6、收集域内基础信息
    1. 1.6.0.1. 查询域
    2. 1.6.0.2. 查询域内所有计算机
    3. 1.6.0.3. 查询域内所有用户组列表
    4. 1.6.0.4. 获取所有域成员计算机列表
    5. 1.6.0.5. 获取域密码信息
    6. 1.6.0.6. 获取域信任消息
  • 1.7. 7、查找域控制器
    1. 1.7.0.1. 查看域控的机器名
    2. 1.7.0.2. 查看当前时间
    3. 1.7.0.3. 查看域控制器组
  • 1.8. 8、获取域内用户和管理员信息
    1. 1.8.0.1. 查询所有域用户列表
    2. 1.8.0.2. 查询管理员相关信息
    3. 1.8.0.3. 定位域管理员
  • 1.9. 9、查找域管理进程
    1. 1.9.0.1. 本机检查
    2. 1.9.0.2. 查询域控制器的域用户会话
  • 1.10. 10、Linux主机信息收集
    1. 1.10.1. 操作系统信息收集
      1. 1.10.1.1. 发行版本
      2. 1.10.1.2. 目标操作系统内核、多少位
      3. 1.10.1.3. 环境变量
      4. 1.10.1.4. 运行的服务和进程
      5. 1.10.1.5. 安装的程序
      6. 1.10.1.6. 定时任务
      7. 1.10.1.7. 从文件中获取用户、密码信息
    2. 1.10.2. 网络相关信息
      1. 1.10.2.1. 网络配置和端口监听
      2. 1.10.2.2. 与哪些主机在通讯?
    3. 1.10.3. 用户及敏感信息收集
    4. 1.10.4. 可能存在密码的文件?
      1. 1.10.4.1. 历史记录
      2. 1.10.4.2. 私钥
  • 内网安全学习笔记-Ⅱ:内网信息收集

    目录

    主要部分 知识点
    收集本机信息 主要收集操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁及更新频率、网络连接、共享、会话等,可采用手动和自动收集两种方式
    查询当前权限 主要收集当前用户权限、域SID、或者某些指定用户信息
    判断是否存在域 主要通过查询ipconfig、systeminfo等命令获取信息判断是否在域内
    探测域内存活主机 探测内网或域内存活主机,利用netbios、icmp或者ARP进行探测
    扫描域内端口 探测主机存活端口、服务,为后续内网漏洞探测利用做准备
    收集域内基础信息 收集域内基础信息,包括域名、域内主机、域控等
    查找域控制器 定位域控制器
    获取域内的用户和管理员信息 查询域内用户、域内管理员等信息
    定位域管理员
    查找域管理进程 收集域管理进程,可以查找登录进程,进而收集域管理员的凭据
    利用powershell收集域信息
    敏感资料 收集本机或域的敏感资料
    分析域内网段划分情况及拓扑结构 根据收集的信息分析、画出内网及域拓扑
    域分析工具BloodHound 利用BloodHound进行域内情况分析
    域内信息收集-Linux主机 收集Linux主机信息

    信息收集是内网渗透的关键。进入内网后的第一步就是信息收集,而且信息收集往往一直贯穿整个内网渗透过程。

    进入内网后,一般首先会对本机和内部网络进行信息收集。包括本机:网络配置及连接情况、翻文件、找命令执行历史记录、配置文件、数据库信息、管理员登录信息、总结密码规律、用户相关信息等;对内部网络/其它主机:存活IP、主机名、开放端口和服务等。利用收集到的信息主要针对未修复漏洞、弱点等来横向渗透扩大战果。

    内网漫游可以重点关注邮件服务器、OA系统、版本控制服务器、集中运维管理平台、统一认证系统、域控等,尝试突破核心系统权限、核心业务和核心数据。

    刚进入内网,很多信息都不知道,面对的是一片黑暗森林。所以往往第一步就是对当前网络环境分析。

    我是谁?(角色)

    这是哪?(网络拓扑)

    我在哪?(所处网络)

    1、收集本机信息

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

    本机信息收集可采用手动收集和工具自动收集。

    手动收集

    查询网络配置

    根据ipconfig查询本机网络配置信息,可以看到有几个网卡,每个网卡的IP配置,是否有域,域名及DNS

    1
    ipconfig /all

    image-20201223105057849

    查询操作系统及版本
    1
    2
    systeminfo|findstr /B /C:"OS Name" /C:"OS Version"
    systeminfo|findstr /B /C:"OS 名称" /C:"OS 版本"

    image-20201223105906826

    另外利用systeminfo也可以查询主机名、网卡、域、补丁等信息。当域不是WORKGROUP,主机就是真实在域内的。

    image-20201223110459966

    查看系统体系结构
    1
    echo %PROCESSOR_ARCHITECTURE%

    image-20201223110926476

    查看安装的软件信息

    可以利用WMIC(Windows Management InstrumentationCommand Line)或者powershell来查看安装的软件信息

    1
    2
    wmic product get name,version
    powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"

    image-20201223112228040

    查询本机服务信息
    1
    wmic service list brief

    image-20201223112918846

    查询进程列表

    tasklist可以查看当前进程列表和进程用户,分析软件、邮件客户端、VPN、杀毒软件进程

    1
    2
    tasklist
    wmic service list brief

    image-20201223113256602

    常见的杀毒软件进程,另外附上别人总结的杀软进程名:https://www.cnblogs.com/hookjoy/p/10899119.html

    1
    2
    3
    4
    5
    6
    7
    8
    360sd.exe 360杀毒
    360tray 360实时保护
    ZhuDongFangYu.exe 360主动防御
    KSafeTray.exe 金山卫士
    SafeDogUpdateCenter.exe 服务器安全狗
    HipsTray.exe 火绒
    McAfee McShield.exe McAfee
    ...
    查看启动程序信息
    1
    wmic startup get command,caption

    image-20201223123133215

    查看计划任务
    1
    schtasks /query /fo LIST /v

    image-20201223124018255

    查看主机开机时间
    1
    net statistics workstation

    image-20201223123600451

    查询用户列表

    查看本机用户

    1
    net user

    image-20201223124038567

    获取本地管理员信息(包括域用户)

    1
    net localgroup administrators

    image-20201223124201706

    查看当前在线用户

    1
    query user

    image-20201223124301472

    列出本地计算机和连接的客户端的会话

    1
    net session

    image-20201223145506781

    查询端口

    1
    netstat -ano

    image-20201223145705625

    查询补丁及其更新频率

    对于补丁,需要注意系统的版本、位数、域、补丁信息和更新频率。域内主机补丁通常会批量安装,通过查看补丁列表,可以找出未打补丁的漏洞。

    1
    2
    systeminfo
    wmic qfe get Caption,Description,HotFixID,InstalledOn

    image-20201223150013635

    image-20201223150057679

    查询本机共享列表

    查看本机共享列表和可访问的域共享列表

    1
    2
    net share
    wmic share get name,path,status

    image-20201223150358346

    image-20201223150518040

    查询路由表及所有可用接口的ARP缓存表
    1
    2
    route print
    arp -a

    image-20201223150818378

    image-20201223150841184

    查看代理配置情况
    1
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

    image-20201223151207277

    查询并开启远程服务

    查看远程连接端口

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

    image-20201223151533013

    在windows Server 2003开启3389

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

    在windows Server 2008和2012 中开启3389

    1
    2
    3
    1、wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
    2、wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1
    3、reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

    image-20201223152938843

    查看防火墙相关配置

    关闭防火墙

    1
    2
    3
    4
    # Windows server 2003及之前的版本
    netsh firewall set opmode disable
    # Windows server 2003之后的版本
    netsh advfirewall set allprofiles state off

    查看防火墙配置

    1
    netsh firewall show config

    修改防火墙配置

    Windows Server 2003及以前版本 允许指定程序全部连接

    1
    netsh firewall add allowedprogram c:\nc.exe "allow nc" enable

    Windows Server 2003之后版本

    1
    2
    3
    4
    5
    6
    # 允许指定程序全部连接
    netsh advfirewall firewall add rule name="pass nc" dir=in action=allow programe="C:\nc.exe"
    # 允许指定程序退出
    netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow programe="C:\nc.exe"
    # 允许3389端口放行
    netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

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

    1
    netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"
    翻找本地敏感文件及密码本

    网核心敏感数据,不仅包括数据库,电子邮件,也包含个人数据,业务数据,技术数据等等,大部分敏感数据基本都在内网中。查找敏感文件,可参考:https://my.oschina.net/u/4196756/blog/4444701

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    站点源码备份文件、数据库备份文件、配置信息文件等等
    浏览器保存的密码和浏览器的cookie、敏感软件如xshell、keepass等记录的密码
    其他用户会话,3389和ipc$连接记录,回收站中的信息等等
    Windows的无线密码
    网络内部的各种账号密码,包含电子邮箱,VPN,FTP等等
    命令执行历史记录
    总结密码规律
    本地用户习惯

    1.指定目录下搜集各类敏感文件
    dir /a /s /b d:\"*.txt"
    dir /a /s /b d:\"*.xml"
    dir /a /s /b d:\"*.mdb"
    dir /a /s /b d:\"*.sql"
    dir /a /s /b d:\"*.mdf"
    dir /a /s /b d:\"*.eml"
    dir /a /s /b d:\"*.pst"
    dir /a /s /b d:\"*conf*"
    dir /a /s /b d:\"*bak*"
    dir /a /s /b d:\"*pwd*"
    dir /a /s /b d:\"*pass*"
    dir /a /s /b d:\"*login*"
    dir /a /s /b d:\"*user*"
    2.指定目录下的文件中搜集各种账号密码
    findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
    findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
    findstr /si pwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
    findstr /si login *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
    findstr /si user *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
    凭证收集

    凭证等信息收集,参考:https://blog.csdn.net/nilwiaoglwigjwlg/article/details/82834068或https://yoga7xm.top/2019/04/09/IPentest-admin/#Windows-Hash%E8%8E%B7%E5%8F%96

    常用工具mimikatz、wce、Invoke-WCMDump、vaultcmd(win系统自带)

    WMIC自动收集

    使用WMIC自动收集,winxp低权限用户不允许访问WMIC,Windows7以上版本的低权限用户允许访问WMIC,下载地址:http://www.fuzzysecurity.com/scripts/files/wmic_info.rar

    WMIC脚本内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for /f "delims=" %%A in ('dir /s /b %WINDIR%\system32\*htable.xsl') do set "var=%%A"

    wmic process get CSName,Description,ExecutablePath,ProcessId /format:"%var%" >> out.html
    wmic service get Caption,Name,PathName,ServiceType,Started,StartMode,StartName /format:"%var%" >> out.html
    wmic USERACCOUNT list full /format:"%var%" >> out.html
    wmic group list full /format:"%var%" >> out.html
    wmic nicconfig where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:"%var%" >> out.html
    wmic volume get Label,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace /format:"%var%" >> out.html
    wmic netuse list full /format:"%var%" >> out.html
    wmic qfe get Caption,Description,HotFixID,InstalledOn /format:"%var%" >> out.html
    wmic startup get Caption,Command,Location,User /format:"%var%" >> out.html
    wmic PRODUCT get Description,InstallDate,InstallLocation,PackageCache,Vendor,Version /format:"%var%" >> out.html
    wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,SystemDirectory /format:"%var%" >> out.html
    wmic Timezone get DaylightName,Description,StandardName /format:"%var%" >> out.html

    执行结果以列表的形式列出服务、用户、用户组、网络接口、硬盘、补丁、自启动程序、软件、操作系统和时区的详细信息:

    image-20201223160529682

    2、查询当前权限

    查看当前用户权限
    1
    whoami

    image-20201223204608203

    查询whoami可能返回三种结果:本地普通用户、本地管理员、域内用户。

    对于本地普通用户,只能查询本机的相关信息;本地管理员和域内用户可以查询域内相关信息。

    域内用户查询原理是域内所有查询都通过域控制器实现,基于LDAP协议,域内相关信息查询需要经过权限认证。当域用户执行查询命令时,会使用Kerberos协议认证。

    本地管理员Administrator权限可提升为Ntauthority或System权限,在域内除普通用户外,所有主机都有一个机器用户,用户名是机器名+”$“。在本质上,机器的system用户对应的就是域内的机器用户,所以使用System权限可以运行域相关查询命令。简单来说就是System权限能查询域内相关信息,而Administrator可直接提权为System。

    获取域SID

    可以查询当前用户SID和域的SID

    1
    whoami /all

    image-20201223210727882

    查询指定用户详细信息
    1
    net user username /domain

    image-20201223211259704

    3、判断是否存在域

    域内一般控制了大量的主机,所以进入内网后重要的一步也是寻找域。

    判断所控主机是否在域内,采用以下方法。

    ipconfig命令判断是否在域内

    查看网络配置信息,如果有域会有主DNS后缀和DNS服务器,主DNS后缀没有的一定不在域内。

    1
    ipconfig /all

    image-20201223211701890

    Systeminfo判断是否在域内

    systeminfo查询结果域显示WORKGROUP就不在域内,否则在域内。

    1
    systeminfo | findstr /B /C:"域"

    image-20201223212149393

    image-20201223212401951

    查询当前登录域和登录用户信息
    1
    net config workdstation

    image-20201223213012490

    通过时间服务器判断

    域服务器一般会同时为时间服务器

    1
    net time /domain

    不存在域,会返回找不到域控制器:

    image-20201223212611968

    存在域,并且当前用户是域用户,会返回时间:

    image-20201223212707285

    存在域但当前用户不是域用户,会显示”发生系统错误5“。

    4、探测域内存活主机

    内网存活主机探测非常重要,方便对存活主机进行下一步渗透拿下。在白天和晚上分别探测 方便进行对比。

    以下方式推荐优先使用NetBIOS和ICMP。

    利用NetBIOS探测

    NetBIOS,为网上基本输入输出系统(英语:Network Basic Input/Output System)的缩写,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,NetBIOS不是一种网上协议,而是应用程序接口(API)。

    几乎所有的局域网都在NetBIOS基础上工作。NetBIOS提供了名称服务,包括名称登录与名称解析,主要用于局域网中的计算机互访。其工作流程是正常的机器名解析查询应答过程,推荐优先使用该方法探测。

    netscan命令行工具在内网使用时要先上传到目标主机,支持linux和windows平台。扫描速度比较快,可以反馈出IP、域名和主机名、开启的服务。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    nbt.exe 192.168.1.1/24

    开启的服务类型主要包括以下几种:
    SHARKING - 存在正在运行的文件和打印共享服务,不一定有内容共享
    DC - 存在域控
    U=USER - 该主机有登录名为User的用户
    IIS - 安装了IIS服务器
    EXCHANGE - 安装了Exchange服务
    NOTES - 安装了Lotus Notes电子邮件客户端
    ? - 没有识别出NetBIOS资源

    image-20201224150216531

    利用ICMP探测

    对内网IP执行ping命令来探测存活主机。

    1
    for /L %I in (1,1,254) DO @ping -w 1 -n 1 1.1.1.%I | findstr "TTL="

    image-20201224151640668

    利用ARP探测

    可以用arp-scan、Empire的arpscan模块、Nishang的Invoke-ARPScan.ps1。

    arp-scan:

    1
    arp.exe -t 1.1.1.1/24

    image-20201224153837480

    Empire的arpscan模块:

    1
    2
    3
    usemodule situational_awareness/network/arpscan
    set Range 1.1.1.1-.1.1.1.254
    execute

    Nishang的Invoke-ARPScan.ps1:

    1
    powershell -exec bypass -Command "& {Import-Module C:\Users\29176\Desktop\tools\Invoke-ARPScan.ps1; Invoke-ARPScan -CIDR 1.1.1.1/24}"

    image-20201224154843810

    5、域内端口 服务信息收集

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

    ScanLine是一款经典的端口扫描工具,可以在所有版本Windows操作系统中使用,可以探测存活主机和端口

    1
    scanline -h -t 22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,5432 -u 53,161,137,139, -O c:\results.txt -p 1.1.1.1-254 /b

    image-20201227194226046

    telnet命令
    1
    telnet DC 3389
    S扫描器
    1
    s.exe TCP 1.1.1.1 1.1.1.2 21,22,80,89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,5432,53,161,137,139 256 /Banner /save
    Metasploit扫描
    1
    /auxiliary/scanner/portscan/tcp
    Nishang的Invoke-PortScan模块
    1
    Invoke-PortScan -StartAddress 1.1.1.1 EndAddress 1.1.1.254 -ResolveHost

    6、收集域内基础信息

    确定了主机所在网络有域并且主机在域内,可以进一步收集域内信息。

    查询域
    1
    net view /domain

    image-20201227195030102

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

    image-20201227195141672

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

    image-20201227195926449

    获取所有域成员计算机列表
    1
    net group "domain computers" /domain

    image-20201227200106683

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

    image-20201227200242991

    获取域信任消息
    1
    nltest /domain_trusts

    image-20201227200351779

    7、查找域控制器

    查看域控的机器名
    1
    nltest /DCLIST:SERVER08

    image-20201227201238380

    查看当前时间
    1
    net time /domain

    image-20201227201701138

    查看域控制器组
    1
    netdom query pdc

    image-20201227201746518

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

    查询所有域用户列表
    1
    2
    3
    4
    5
    6
    # 通过向DC进行查询,其中krbtgt用户不仅可以创建票据授权服务(TGS)的加密密钥,还可以实现多种域内权限持久化方法
    net user /domain
    # 获取域内用户详细信息
    wmic useraccount get /all
    # 查看存在的用户
    dsquery user

    image-20201227202400149

    查询管理员相关信息
    1
    2
    3
    4
    5
    6
    # 查询本地管理员组用户
    net localgroup administrators
    # 查询域管理员用户
    net group "domain admins" /domain
    # 查询管理员用户组
    net group "Enterprise Admins" /domain

    image-20201227202758588

    定位域管理员

    如果在Windows域中已经获得了普通用户权限,希望在域内横向移动,需要知道域内用户登录位置、它是否是任何系统的本地管理员、它所属的组、是否有权访问文件共享等。枚举主机、用户和组,有助于更换的了解域的布局。

    常用域管理员定位工具有psloggedon.exe、PVEFindADUser.exe、netsess.exe以及hunter、NetView等,在Powershell中,最常用的是PowerView。

    9、查找域管理进程

    在渗透过程中,一个典型的域渗透提权过程,通常围绕着收集明文凭据或者通过mimikatz提权等方法,在获取了管理员权限的系统中寻找域管理员登录进程,进而收集域管理员的凭据。如果内网环境复杂,渗透人员无法立即在拥有权限的系统中获得域管理员进程,那么通常可以采用以下方法:在跳板机直接跳转,直至获取域管理员权限,同时进行一些分析工作,进而找到渗透测试的路径。

    本机检查

    列出本机的所有有进程及进程用户

    1
    tasklist /v

    image-20201227204423574

    查询域控制器的域用户会话

    在域控制器中查询域用户会话列表,并将其与域管理员列表进行交叉引用,从而得到域管理会话系统列表。

    1
    2
    3
    4
    5
    6
    7
    8
    # 查询域控列表
    net group "Domain Controllers" /domain
    # 收集域管理员列表
    net group "domain admins" /domain
    # 收集所有活动域的会话列表,下载地址:
    NetSess -h
    # 交叉引用域管理员列表域活动会话列表
    FOR /F %i in (dcs.txt) do @echo [+] Querying DC %i && @netsess -h %i 2>nul >session.txt && FOR /F %a in (admins.txt) do @type sessions.txt | @findstr /I %a

    10、Linux主机信息收集

    参考:https://blog.csdn.net/qq_45226339/article/details/105663902

    操作系统信息收集

    发行版本
    1
    2
    3
    4
    cat /etc/issue
    ls /etc/*-release
    cat /etc/lsb-release(Debian)
    cat /etc/red-release(Redhat)
    目标操作系统内核、多少位
    1
    2
    3
    4
    5
    cat /proc/version
    uname -a
    uname -mrs
    rpm -q kernel
    ls /boot | grep linuz
    环境变量
    1
    2
    3
    4
    5
    6
    7
    8
    /etc/profile
    /etc/bashrc
    ~/.bash_profile
    ~/.bash_history
    ~/.bashrc
    ~/.bash_bgout
    env
    set
    运行的服务和进程
    1
    2
    3
    4
    5
    6
    7
    ps -ef
    ps -aux
    top
    cat /etc/services
    #查看root进程
    ps aux | grep root
    ps -ef | grep root
    安装的程序
    1
    2
    3
    4
    5
    6
    ls -alh /usr/bin
    ls -alh /sbin
    dpkg -l
    rpm -qa
    ls -alh /var/cache/apt/archivesO
    ls -alh /var/cache/yum/
    定时任务
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    crontab -l
    ls -alh /var/spool/cron
    ls -al /etc/ | grep cron
    ls -al /etc/cron*
    cat /etc/cron*
    cat /etc/at.allow
    cat /etc/at.deny
    cat /etc/cron.allow
    cat /etc/cron.deny
    cat /etc/crontab
    cat /etc/anacrontab
    cat /var/spool/cron/crontabs/root
    从文件中获取用户、密码信息
    1
    2
    3
    4
    grep -i user [filename]
    grep -i pass [filename]
    grep -C 5 "password" [filename]
    find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla

    网络相关信息

    网络配置和端口监听
    1
    2
    3
    4
    5
    6
    7
    8
    bin /ifconfig -a
    cat /etc/network/infaces
    cat /etc/resolv.conf
    cat /etc/sysconfig/network
    cat /etc/networks
    iptables -L
    hostname
    dnsdomainname
    与哪些主机在通讯?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    lsof -i
    lsof -i :80
    grep 80 /etc/services
    netstat -pantu
    netstat -antpx
    netstat -tulpn
    chkconfig --list
    chkconfig --list | grep 3:on
    last
    w

    用户及敏感信息收集

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    id
    who
    w
    last
    cat /etc/passwd | cut -d: -f1 # 列出用户
    grep -v -E "^#" /etc/passwd | awk -F: '1}' # 列出超级用户
    awk -F: '($3 == "0") {print}' /etc/passwd # 列出超级用户
    cat /etc/sudoers
    sudo -l
    cat /etc/passwd
    cat /etc/group
    cat /etc/shadow
    ls -alh /var/mail/

    可能存在密码的文件?

    1
    2
    3
    cat /var/apache2/config.inc
    cat /var/lib/mysql/mysql/user.MYD
    cat /root/anaconda-ks.cfg
    历史记录
    1
    2
    3
    4
    5
    cat ~/.bash_history
    cat ~/.nano_history
    cat ~/.atftp_history
    cat ~/.mysql_history
    cat ~/.php_history
    私钥
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    cat ~/.ssh/authorized_keys
    cat ~/.ssh/identity.pub
    cat ~/.ssh/identity
    cat ~/.ssh/id_rsa.pub
    cat ~/.ssh/id_rsa
    cat ~/.ssh/id_dsa.pub
    cat ~/.ssh/id_dsa
    cat /etc/ssh/ssh_config
    cat /etc/ssh/sshd_config
    cat /etc/ssh/ssh_host_dsa_key.pub
    cat /etc/ssh/ssh_host_dsa_key
    cat /etc/ssh/ssh_host_rsa_key.pub
    cat /etc/ssh/ssh_host_rsa_key
    cat /etc/ssh/ssh_host_key.pub
    cat /etc/ssh/ssh_host_key