当前机器的各种进程、服务信息的收集(win)

前言

我们在做渗透测试的过程中,遇到Windows系统的环境是最多的,然而在拿到一台Windows胸膛呢权限之后,我们要进行横向渗透测试或者纵向渗透测试,这时候针对Windows的信息收集就显得尤为重要,下面我们聊聊在Windows下我们需要了解哪些信息,这些信息对我们在后续的渗透测试中又会有什么样的帮助。

0x01基本信息

系统的基本信息包括:主机名、所属域、环境变量、IP地址等信息,涉及以下命令:

获取主机名

hostname

echo %COMPUTERNAME

获取所属域信息

systeminfo

注:从这个命令当中你不仅仅可以看到有关域名的信息,还有OS版本、主机名、Windows目录、时区、登录服务器、修补程序、网卡等信息。

获取环境变量

set

注:从环境变量中你可以看到一些常用的软件、临时文件的目录以及与用户相关的一些信息。

获取系统安装的软件的信息

通过获取软件安装的信息,我们可以从中找出我们可以利用的软件,或者可以获取到进一步权限信息的软件,比如:filezilla\securecrt等软件。也可以大概了解系统的安全防护软件的情况。

查看当前进程信息

tasklist

获取系统补丁情况

获取系统补丁修补的信息可以在我们进行提权操作的时候起到非常重要的作用,根据补丁信息来获取exp来进行溢出提权。虽然前面的systeminfo命令可以获取补丁的情况,但是其获取的内容不是很完整,只是提供了补丁的编号,下面这条命令可以完全获取完整的补丁信息。

wmic qfe list

wmic 是一个非常强大的工具,可以做很多的事情,在渗透测试中进程会使用到。

获取系统注册的服务信息

从服务信息中可以看出本系统提供哪些服务,针对不同的服务器有不同的利用方式,命令如下:

sc query state=all

获取在线主机信息

通常我们获取在线主机的方式是扫描ip地址,在域的内网中我们可以通过一条命令获取主机在同一网段或者有联系的主机列表,命令如下:

net  view

收集本地用户和组信息

这个在内网渗透测试中至关重要,这是在任何一台Windows主机上都要执行的命令,这个命令的作用包括:判断主机是否在域中、主机管理员组是什么、本地管理员用户有哪些等等。

获取本地用户组:

net localgroup

获取本地用户

net user

获取本地管理员信息

net localgroup administrators

 

获取本地共享信息

本地共享目录也是我们需要关注的目录,这里可能会有很多对我们提升权限有帮助的重要文件。命令如下:

net view /a \%COMPUTERNAME%

获取IP地址

其实这个命令是一开始就应该执行的,从这个命令结果中可以大概看出内网的网络环境、dns服务器IP地址、域名信息等,命令如下:

ipconfig /all

获取本地开放的端口与连接信息

查看本地的计划任务

schtask

这条命令必须在系统权限下才可以执行,否则会提示拒绝服务。

列出IIS的站点

在安装了IIS服务的系统上,我们可以执行以下命令阿里获取站点信息:

%windir%\system32\inetsrv\AppCmd.exe list site

保存系统上有所注册表信息

这几个命令比较暴力,有时候我们需要多次查询注册表信息,这样就需要执行很多条命令,我们可以吧系统的所有注册表信息dump下来,本地分析,也可以尽量减少执行命令的次数,减少日志量,减少被发现的几率:

reg export HKLM hklm.reg

reg export HKCU hkcu.reg

reg export HKCU hkcr.reg

reg export HKCU hku.reg

reg export HKCU hkcc.reg

获取系统日志信息

日志信息不管在任何系统上都是非常重要的,所以在Windows信息收集方面,收集日志信息是必不可少的操作,获取日志的方式有两种,一种是可以将系统的日志复制到本地,一种是使用Windows官方的工具将日志导出然后保存到本地。

复制日志文件:

copy C:\Windows\System32\winevt\Logs\System.evtx

copy C:\Windows\System32\winevt\Logs\security.evtx

copy C:\Windows\System32\winevt\Logs\application.evtx

使用工具导出:

..\psloglist -x system > system.log

..\psloglist -x security > security.log

..\psloglist -x application > application.log

当前机器的各种进程、服务信息的收集(win)的更多相关文章

  1. python调用win32com.client的GetObject查找进程信息及服务信息

    为何不用wmi呢?因为执行很慢,为啥不用winreg?因为winreg在批量获取及遍历服务方面很不方便,于是采用这方法 该方法同命令行下的wmic执行 获取服务信息 #coding=utf8 from ...

  2. python 远程调度进程服务与客户端

    python 远程调度进程服务与客户端 核心思想: 在本地或远程机器上创建一个进程,提供调度服务.使用了 APScheduler. 安装:APScheduler $ wget https://pypi ...

  3. 获取AFP服务信息

    获取AFP服务信息   如果苹果系统开放TCP 548端口,说明其开启了AFP服务.这个时候,可以使用Nmap的afp-serverinfo脚本获取对应的服务信息.获取的信息包括服务名.机器类型.AF ...

  4. psutil:系统、进程,信息都在我的掌握之中

    获取cpu的逻辑数量 import psutil print(psutil.cpu_count()) # 12 获取CPU的物理核心数 import psutil print(psutil.cpu_c ...

  5. Linux 查找指定名称的进程并显示进程详细信息

    实际应用中可能有这样的场景:给定一个进程名称特征串,查找所有匹配该进程名称的进程的详细信息. 解决的办法是: (1) 先用pgrep [str] 命令进行模糊匹配,找到匹配该特征串的进程ID: (2) ...

  6. Linux进程操作信息

    Linux进程操作简单小结 linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不 ...

  7. nginx查看进程连接信息

    linux 中查看当前请求连接的进程统计信息 root@VM-24-181-ubuntu:/# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) ...

  8. 【Python】 系统配置/进程等信息查看 psutil

    psutil 原以为psutil只是跟进程有关的一个模块,没想到它其实提供了从CPU到内存各种各样的信息,十分IMBA.记录一下 我用了pip install psutil安装的这个模块,不过路中遇到 ...

  9. 在C#/.NET应用程序开发中创建一个基于Topshelf的应用程序守护进程(服务)

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

随机推荐

  1. DevExpress的TextEdit、RadioGroup、ColorPickEdit设置默认值

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  2. 阿里mysql规范

    (一)建表规约 1.[强制]表达是与否概念的字段,必须使用 is_xxx的方式命名,数据类型是 unsigned tinyint( 1表示是,0表示否),此规则同样适用于 odps建表. 说明:任何字 ...

  3. StringBuilder和StringBuffer的区别

    Java中StringBuilder和StringBuffer的区别分析 StringBUilder是线程不安全的(线程同步访问的时候会出问题),但是效率相对较高. (String类型使用加号进行拼接 ...

  4. 实战限流(guava的RateLimiter)

    关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌 ...

  5. 006:CSS高级技巧

    目录 前言 理论 CSS高级技巧 一:元素的显示与隐藏 在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是 display visibility 和 overflow. 他们的主要目的 ...

  6. C++类拷贝控制 深拷贝 浅拷贝

    普通类型对象之间的复制很简单,而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量,这篇文章将帮你理清C++类对象的拷贝方式 拷贝构造函数,拷贝赋值运算符 首先我们简单了解下默认的拷贝 ...

  7. go语言 链表练习

    package main import "fmt" //定义节点 type Node struct { Data int Next *Node } /* * 返回第一个节点 * h ...

  8. [c++] 面试题之犄角旮旯 第壹章

    记录C/C++语言相关的问题. 算法可视化:https://visualgo.net/en <data structure and algorithm in c++> By Adam 有免 ...

  9. ActiveMQ基本使用

    消息队列,目前在实际的开发项目中应用十分广泛.本文主要介绍入门级的ActiveMQ的基本使用以及相关的概念. 一.JMS 全称 Java Message Service,即Java消息服务.JMS是一 ...

  10. 23种设计模式之代理模式(Proxy Pattern)

    在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替 ...