Geek0ne | 极客时空 | 极客IT技术栈

Linux系统环境-信息获取

在拿到一台Linux服务器后,需要先对Linux系统本地的环境信息进行获取收集,再进一步提权,权限维持等。下面是一些有用的信息获取命令,不用编写shell脚本的情况下,直接终端执行命令即可,更加灵活自由。

获取内核/操作系统/设备信息

命令作用
uname -a打印所有可用的系统信息
uname -r内核版本信息
uname -n系统主机名字
hostname主机名
uname -mLinux内核架构(x86/x64)
cat /proc/version内核信息
cat /etc/*-release系统版本发布信息
lsb_release -a系统发行版信息(Debian/Ubuntu)
cat /etc/issue系统版本发布信息
cat /proc/cpuinfoCPU信息
free -mh查看内存信息
df -ah磁盘系统使用信息

用户和组

命令作用
cat /etc/passwd列出系统所有用户
cat /etc/group列出系统所有组
cat /etc/shadow列出所有用户hash(需要root权限)
finger、finger user当前登录的用户、查询用户的基本信息
users当前登录的用户
who -a当前登录的用户
w显示目前登入系统的用户有那些人,以及他们正在执行的程序
last显示登入过的用户信息
lastlog显示系统中所有用户最近一次登录信息
lastlog –u %username%显示指定用户最后一次登入信息

用户和权限信息

命令作用
whoami当前用户
id当前用户信息
cat /etc/sudoers可以使用sudo提升到root的用户(需要root权限)
sudo允许普通用户执行一些或者全部的root命令的一个工具
sudo -l列出目前用户可执行与无法执行的指令
su切换当前用户身份到其他用户身份

环境信息

命令作用
env打印系统环境信息
set打印系统环境信息
echo $PATH环境变量中的路径信息
history打印历史命令
pwd显示当前路径
cat /etc/profile显示默认系统遍历
cat /etc/shells显示可用的shell

其它权限搜集

命令作用
find / -perm -4000 -type f查找SUID的文件
find / -uid 0 -perm -4000 -type f查找root权限的SUID文件
find / -perm -2 -type f找出可写的文件
find / ! -path "/proc/" -perm -2 -type f -print查找/proc以外的可写文件
find / -perm -2 -type d找出可写目录
find /home –name *.rhosts -print查找rhosts的配置文件
find /home -iname *.plan -exec ls -la {} ; -exec cat {}查询文件并打印
ls -ahlR /root/查看是否有权限列用户目录
cat ~/.bash_history查看当前用户的历史记录
ls -la ~/.*_history查看当前用户的各种历史记录
ls -la ~/.ssh/查看用户ssh登录信息
ls -la /usr/sbin/in.*检查inetd服务的配置
grep -l -i pass /var/log/*.log查询包含pass的日志并打印匹配到的行
ls -la /etc/*.conf列出/etc/下的所有配置文件
lsof -i -n列出打开的文件
head /var/mail/root答应/var/mail/root的开头

服务信息

命令作用
ps aux查看进程信息
cat /etc/inetd.conf由inetd管理的服务列表
cat /etc/xinetd.conf由xinetd管理的服务列表
cat /etc/exportsnfs服务器的配置

作业和任务

命令作用
crontab -l -u %username%显示指定用户的计划作业(需要root权限)
ls -la /etc/cron*计划任务
top列出当前进程

网络/路由和通信/防火墙

命令作用
/sbin/ifconfig -a列出网络接口信息
cat /etc/network/interfaces列出网络接口信息
arp -a查看系统arp表
route打印路由信息
cat /etc/resolv.conf查看dns配置信息
netstat -ano打印本地端口开放信息
service iptables status查看iptable防火墙状态
iptables -L列出iptable的配置规则
systemctl status firewalld查看firewall服务开启状态
firewall-cmd --state查看firewall的状态
firewall-cmd --list-all查看防火墙规则
cat /etc/services查看端口服务映射

软件安装信息

命令作用
dpkg -l软件安装(Debian)
rpm -qa软件安装(Red Hat)
sudo -V查看sudo的版本信息
httpd -v查看apache的版本信息
apache2 -v查看apache的版本信息
apache2ctl (or apachectl) -M列出加载的apache模块
mysql --versionmysql的版本信息
psql -VPostgres数据库的版本信息
perl -vperl的版本信息
java -versionjava的版本信息
python --versionpython的版本信息
ruby -vruby的版本信息
find / -name %program_name%查找有用的软件
which %program_name%查找有用的软件
cat /etc/apache2/envvars查看运行apache的帐号

总结

Linux本地系统信息收集命令(包括但不限于以上),未列出使用的日后有需再更新;其实也可以自己写个一键获取信息脚本,实在不会,网上也有现成的,根据需求更改即可。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »