基本信息收集

系统类型判断

使用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. 【Git】04 文件删除

    版本分支的概念提示: 工作区就是我们的Git本地仓库,也就是一个很普通的目录 . 通过ADD指令添加文件到暂存区中, 在通过COMMIT指令提交到版本分支, 所谓的版本分支,就是就是这个蓝色的Mast ...

  2. 图解Java设计模式

    待补充 设计模式介绍 设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案. 设计模式使用的位置 功能模块+框架上. 设计模式在软件中哪里?面向对象( ...

  3. 国产计算框架mindspore在gpu环境下1.3.0版本的分布式计算组件安装 ——(openmpi 和 nccl 的安装,配置,示例代码的运行)

    前文已经给出1.3.0gpu版本的编译及安装,本文在此基础上进行分布式组件的安装,前文信息参看: 国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行 ...

  4. 【转载】 在Ubuntu环境下,搜狗输入法乱码问题的解决

    原文作者:高坦的博客 | Tan's Blog 原文链接:https://www.cnblogs.com/gtscool/p/12234104.html本文采用 BY-NC-SA 许可协议.转载请注明 ...

  5. Grafana的仪表盘URL参数设置

    转载请注明出处: 在调试grafana时,需要对grafana进行share的url图表进行一些自定义设置,总结下常用的参数 参考网站:https://grafana.com/docs/grafana ...

  6. Dijkstra单源最短路模板

    struct DIJ { using i64 = long long; using PII = pair<i64, i64>; vector<i64> dis; vector& ...

  7. manim 中的三维视角

    今天研究了一下 manim 中的 ThreeDAxes 和 set_camera_orientation 这里记录一下视角. manim 中的 3D 坐标系是笛卡尔的三维坐标系,属于右手坐标系,即右手 ...

  8. Webpack 核心流程

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:霜序 三个阶段 初始化阶段 初始化参数:从配置文件.配置对 ...

  9. LaTeX 编译警告:Script 'CJK' not explicitly supported within font 'FandolSong-Regular'. Check the typeset output, and if it is okay then ignore this warning. Otherwise a different font should be chosen.

    在编译一篇中文文档时遇到如下警告: Package fontspec Warning: Script 'CJK' not explicitly supported within font 'Fando ...

  10. Mac 使用远程 Ubuntu 机器进行时间备份

    设置 SMB 服务 首先在 Ubuntu 中配置 SMB 服务.可以参考 Ubuntu 设置 SMB 服务. 创建 APFS 磁盘映像 我们在 Ubuntu 上创建出的 SMB 共享文件夹可以用来存放 ...