getshell后的基本信息收集
基本信息收集
系统类型判断
使用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后的基本信息收集的更多相关文章
- mysql基本信息收集
1.下载安装 percona-toolkit 工具包http://www.percona.com/downloads/percona-toolkit/LATEST/tarball/2.运行下面两个工具 ...
- Meterpreter后渗透之信息收集
在获得目标的Meterpreter shell后 进行信息收集是后渗透工作的基础 记录一下关于meterpreter 信息收集的使用 环境: kali linux 192.168.190.141 xp ...
- 渗透测试-信息收集-c段收集
平时做渗透测试我比较喜欢用lijiejie 写的 subDomainsBrute来爆破子域名 那么爆破完成后就想收集一下网站的c段信息 下面以平安为例 爆破得到子域名为 i.pingan.com.cn ...
- 收集oracle统计信息
优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN:列统计: --列中唯一值的数量(NDV),NULL值的数量,数据分 ...
- JVM的stack和heap,JVM内存模型,垃圾回收策略,分代收集,增量收集
(转自:http://my.oschina.net/u/436879/blog/85478) 在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认 ...
- 洗礼灵魂,修炼python(21)--自定义函数(2)—函数文档,doctest模块,形参,实参,默认参数,关键字参数,收集参数,位置参数
函数文档 1.什么是函数文档: 就是放在函数体之前的一段说明,其本身是一段字符串,一个完整的函数需要带有函数文档,这样利于他人阅读,方便理解此函数的作用,能做什么运算 2.怎么查看函数文档: func ...
- J2SE 8的流库 --- 收集处理结果
分类:简单计算, 收集到映射表中 , 群组和分组, 下游收集器, 约简操作 reduce() ArrayList<String> arrayList = new ArrayList< ...
- Oracle GI 日志收集工具 - TFA 简介
转载自:https://blogs.oracle.com/Database4CN/entry/tfa_collector_%E4%BB%8B%E7%BB%8D 1.TFA的目的: TFA是个11.2版 ...
- Oracle GI 日志收集工具 - TFA
1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...
- nGrinder对监控机器收集自定义数据及源码分析
转载:https://blog.csdn.net/neven7/article/details/50782451 0.背景 性能测试工具nGrinder支持在无需修改源码的情况下,对目标服务器收集自定 ...
随机推荐
- 解决Python使用matplotlib绘图时出现的中文乱码问题
原文地址: https://blog.csdn.net/qq_33254766/article/details/120304721 全文略,详细见原文. 解决方法: # 设置字体的属性 # plt.r ...
- 关于工业AI辅助制造(模具设计、模样生产制造环节)
关于工业AI辅助制造(模具设计.模样生产制造环节) AI技术的具体使用场景: AI辅助模具设计: AI辅助模具安装工艺参数调整. 具体方案设想: AI辅助模具设计: 使用AI大模型对历史已有的设计方案 ...
- chatgpt的api联网报错问题解决:openai公司的api联网报错解决
chatgpt是啥,这里不讲,openai是啥这里也不讲.要知道我们不论是通过网页web使用chatgpt还是使用api方式通过客户端使用chatgpt都是需要使用外国IP的, 为啥我们不能访问ope ...
- JAVA集合专题之深入学习
1.背景 集合虽然用起来非常简单... 但是面试确问得很多,很深.... 最重要的是集合的设计里面使用了大量的非常典型的多线程设计... 如果能把集合中的源码学一遍,相信你的多线程功底会大大提升... ...
- 曝光!Apache SeaTunnel Catalog 功能设计为何能大大简化用户启用步骤?
Catalog(目录)提供了关于数据库.表格和访问数据所需的信息的元数据,以及统一的 API 来管理元数据,验证连接,让元数据对 Sources(数据源).Sinks(数据汇)和 Web 可访问. C ...
- Dialog封装的消息映射(弄了好久终于弄过了,不是静态函数哦,和MFC一样,嘻嘻)
前面弄的是全局的仿消息映射,现在这是封装到类中的消息映射,一直弄不明白,现在也不太明白,就是今天在看虚函数表的用法视频时有位老师用了个共有体转化全局函数为类成员函数,这就给我指了条明路,这不今晚又来弄 ...
- Ubuntu 安装 libwebkitgtk-1.0-0
在 Ubuntu 上安装完 PDI 后启动 spoon.sh 时提示安装 libwebkitgtk-1.0-0.由于 apt 官方源中不包含此软件包,因此要添加该软件包的源,以及源对应的 gpg 公钥 ...
- SSH 登陆 Windows 时踩过的坑
有一次处于某些原因我在 Mac 上使用 SSH 远程登陆了 Windows,然后在 Windows 上使用 SSH 登陆 localhost,惊讶地发现登不进去!SSH 提示公钥验证失败.可是我的 W ...
- 手把手在STM32F103C8T6上构建可扩展可移植的DHT11驱动
前言 如何驱动一个你陌生的传感器呢?别看我,也别在网上死马当活马医!你需要做的,首先是明确你的传感器的名称,在这里,我们想要使用的是DHT11温湿度传感器 可能需要的前置知识 简单的OLED驱动原理 ...
- Honor X20 忽然不能与Android Studio 连接
背景:前一天还正常使用,可以连接Android Studio,第二天就连不上了 已知:数据线没问题,驱动没问题,设备开了开发者模式,连接上电脑时会提示已连接USB调试, 测试过程:(点击撤销USB调试 ...