基本信息收集

系统类型判断

使用whoami能快速判断系统是Linux还是Windows。

如果是Windows,

使用命令systeminfo | findstr OS可得到WIndows版本。

使用命令echo %PROCESSOR_ARCHITECTURE%可看出系统是基于什么架构的。

如果是Linux,

判断系统是RHEL系还是Debian系,往往需要综合起来看。实际场景下,有时拿到的shell是个docker,包管理器可能还给裁掉了。

#查看内核版本信息,有时能直接看到操作系统类型。
uname -ar
cat /etc/issue
cat /proc/version
cat /etc/redhat-release yum/rpm #RHEL系特有的包管理器
apt/dpkg #Debian系特有的包管理器

判断系统CPU指令集。是armv8/arm64/aarch64的还是x64/x86_64的。这个会影响提权以及上传二进制工具可不可用的问题。

arch
uname -m

权限与账户

如果是Linux

#查看自己身份
whoami
id
w
who #查看用户列表
cat /etc/passwd

需额外留意一下自己有没有被分配可交互的shell

cat /etc/passwd|grep `whoami`
或,cat ~/*_history

如果是Windows

whoami

需额外留意一下自己是不是域用户。可以参考后面的域信息收集部分。

网络与端口

查看网络信息,重点关注地址是不是公网的,是不是多网卡,有没有开放一些有意思的服务端口。由于此时我们已经有个shell了,因此端口信息用处不是特别大,考虑提权的话可能用得上。

如果是Linux

#IP
ifconfig
ip addr #端口
netstat -ntalp #使用下面命令,获得公网IP
curl ifconfig.me
curl cip.cc #路由及MAC表
route print
arp -a

如果是Windows

#IP
ipconfig #端口
netstat -ano

软件与系统补丁

windows

systeminfo
wmic product get name,version
Get-wmiObject -class Win32_Product | Select-Object -Property name,version
wmic qfe get Caption,Description,HotFixID,InstalledOn

linux

#debian系
dpkg -l
#RHEL系
yum list installed

进程与服务信息

windows

#查看进程信息
tasklist | findstr 360
wmic process list brief
#查看当前服务信息
wmic service list brief

linux

#查看进程信息
ps aux
pstree
ps auxwff
top
#查看当前已启用服务
systemctl list-unit-files|grep enabled

域基本信息收集

判断是否处于域

net time /domain

如果存在域且是域用户,返回如下信息。

如果存在域但自身不是域用户,返回如下信息。

定位域控

方法一、定位DNS服务器。一般来说域控同时也是域内的DNS服务器。使用ping或nslookup查找所处域即可知道域控IP。

方法二、net命令族

net time /domain

net group "Domain Controllers" /domain

net group /domain

nltest /DCLIST:[域地址]

定位域管

net localgroup administrators /domain

虚拟化设备识别

虚拟机

有时需要判断我们拿到的设备是实体设备还是虚拟设备。

Linux

下面的命令能很明确的告诉我们设备是kvm、vmware等设备。

grep -rn "etected virtualization" /var/log

root@walrus:/share# dmesg |grep vmware
[ 0.000000] vmware: hypercall mode: 0x00
[ 0.000000] vmware: TSC freq read from hypervisor : 2592.004 MHz
[ 0.000000] vmware: Host bus clock speed read from hypervisor : 66000000 Hz
[ 0.000000] vmware: using clock offset of 19057102439 ns
[ 3.906114] systemd[1]: Detected virtualization vmware.
[root@xxx ~]# grep -rn "kvm" /var/log
/var/log/messages-20210704:2609:Jul 1 02:18:35 xxx systemd[1]: Detected virtualization kvm.

以及,

lscpu|grep "Hypervisor vendor"
systemd-detect-virt
dmidecode --string system-manufacturer
dmidecode --string system-product-name

windows

检查是否存在一些特征文件

//vmware
"C:\\Windows\\System32\\vmGuestLib.dll",
"C:\\Windows\\System32\\vmGuestLib.dll\\vsocklib.dll",
"C:\\Program Files\\VMware\\VMware Tools\\rpctool.exe",
"C:\\Windows\\System32\\drivers\\vmmouse.sys",
//vitualbox
"C:\\windows\\System32\\Drivers\\VBoxMouse.sys",
"C:\\windows\\System32\\Drivers\\VBoxGuest.sys",
"C:\\windows\\System32\\Drivers\\VBoxSF.sys",
"C:\\windows\\System32\\Drivers\\VBoxVideo.sys",
"C:\\windows\\System32\\vboxdisp.dll"

不过,不论Linux还是Windows最简单粗暴的办法就是查看MAC地址了。获得MAC地址后使用在线MAC地址厂商识别工具进行查找就能判断出网卡类型进而确认设备是实体机还是虚拟机。

以上是相对而言容易进行操作的方案,还有一些更为琐碎专业的方法:

https://www.zhihu.com/question/359121561?sort=created

https://zhuanlan.zhihu.com/p/27823437

docker

上面用于判断是否虚拟机的技巧常被用于病毒、木马等恶意文件做逃逸及躲避沙箱检测时的要用到的技术,实际场景下用的最多的是判断当前拿到的服务器是不是docker。

如果发现环境缺少很多命令如(yum/rpm/apt/dpkg/wget/curl/ifconfig)或发现系统的进程非常少就要怀疑是不是处于docker环境内了。

此外,还可以通过一些特征文件来证实我们猜测的有效性。

ls -al /.dockerenv
cat /proc/1/cgroup|grep docker

getshell后的基本信息收集的更多相关文章

  1. mysql基本信息收集

    1.下载安装 percona-toolkit 工具包http://www.percona.com/downloads/percona-toolkit/LATEST/tarball/2.运行下面两个工具 ...

  2. Meterpreter后渗透之信息收集

    在获得目标的Meterpreter shell后 进行信息收集是后渗透工作的基础 记录一下关于meterpreter 信息收集的使用 环境: kali linux 192.168.190.141 xp ...

  3. 渗透测试-信息收集-c段收集

    平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...

  4. 收集oracle统计信息

    优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN:列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分 ...

  5. JVM的stack和heap,JVM内存模型,垃圾回收策略,分代收集,增量收集

    (转自:http://my.oschina.net/u/436879/blog/85478) 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认 ...

  6. 洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数

    函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: func ...

  7. J2SE 8的流库 --- 收集处理结果

    分类:简单计算, 收集到映射表中 , 群组和分组, 下游收集器, 约简操作 reduce() ArrayList<String> arrayList = new ArrayList< ...

  8. Oracle GI 日志收集工具 - TFA 简介

    转载自:https://blogs.oracle.com/Database4CN/entry/tfa_collector_%E4%BB%8B%E7%BB%8D 1.TFA的目的: TFA是个11.2版 ...

  9. Oracle GI 日志收集工具 - TFA

    1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...

  10. nGrinder对监控机器收集自定义数据及源码分析

    转载:https://blog.csdn.net/neven7/article/details/50782451 0.背景 性能测试工具nGrinder支持在无需修改源码的情况下,对目标服务器收集自定 ...

随机推荐

  1. 绝对要收藏!!! JavaEE开发常用注解

    目录 前言 1.Mybatis常用注解 2.SpringMVC常用注解 3.Spring常用注解 1. IoC注解 2. DI注解 3. 事务注解 4.SpringBoot常用注解 5.Lombok注 ...

  2. 读论文《基于 GA - BP 的汽车行李箱盖内板冲压成形工艺优化》 —— 如何使用AI技术优化模具产业中工件冲压工艺

    最近到了模具公司工作,本来以为身边同事对模具生产和工件生产的流程(大致流程)会比较了解,结果一问才知道基本都是一问三不知,大家都在模具公司工作但是貌似很多人干的和模具生产和工件制造的工作关联性并不强, ...

  3. 被怼了:acks=all消息也会丢失?

    消息队列是面试中一定会被问到的技术模块,虽然它在面试题占比不及并发编程和数据库,但也属于面试中的关键性问题.所以今天我们就来看一道,MQ 中高频,但可能会打破你以往认知的一道面试题. 所谓的关键问题指 ...

  4. ELT已死,EtLT才是现代数据处理架构的终点!

    提到数据处理,经常有人把它简称为"ETL".但仔细说来,数据处理经历了ETL.ELT.XX ETL(例如,Reverse ETL.Zero-ETL)到现在流行的EtLT架构几次更迭 ...

  5. MySQL手动执行rollback,内部实现分析

    -- 测试手动回滚操作 -- 1手动开启事务 START TRANSACTION -- 2执行更新操作语句 UPDATE FraBakNtuAnalysize SET IsDeleted = 0 WH ...

  6. Java jdk版本对照表

    这里将JDK版本和major.minor的版本的对照关系进行整理,作为今后查阅的依据. 序号 jdk版本 major.minor version 1 1.1 45 2 1.2 46 3 1.3 47 ...

  7. 存储过程中调用EXECUTE IMMEDIATE的“权限不足”

    EXECUTE IMMEDIATE是Oracle中使用动态SQL的一种方法,可以直接执行,也可以在存储过程中调用.然而在存储过程中调用可能会遇到权限不足的问题,如在存储过程中执行重建索引语句: sql ...

  8. shell编程入门-适合小白

    一.变量的使用 1. 变量命名 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="yikoulinux" 注意,变量名和等号之间不能有空格,这 ...

  9. 掌握Java面向对象OOP篇(一)

    掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...

  10. API 接口是什么?怎么对接 API?

    API接口是预先定义的函数,允许应用间共享数据和功能.对接API涉及获取接口文档,通过POST请求调用如http://域名地址/queryLoginWx的URL,使用特定Headers.成功返回会包含 ...