我们在获取到webshell之后,经常会遇到Linux的操作系统,这是我们需要对Linux系统本地的敏感资源进行信息收集,下面就是一些有用的信息获取方式。
获取内核,操作系统和设备信息
命令 |
作用 |
uname -a |
打印所有可用的系统信息 |
uname -r |
内核版本信息 |
uname -n |
系统主机名字 |
hostname |
主机名 |
uname -m |
Linux内核架构(x86/x64) |
cat /proc/version |
内核信息 |
cat /etc/*-release |
发布信息 |
cat /etc/issue |
发布信息 |
cat /proc/cpuinfo |
CPU信息 |
df -a |
文件系统信息 |
用户和组
命令 |
作用 |
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/exports |
nfs服务器的配置 |
作业和任务
命令 |
作用 |
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 -an |
打印本地端口开放信息 |
iptables -L |
列出iptable的配置规则 |
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 --version |
mysql的版本信息 |
psql -V |
Postgres数据库的版本信息 |
perl -v |
perl的版本信息 |
java -version |
java的版本信息 |
python --version |
python的版本信息 |
ruby -v |
ruby的版本信息 |
find / -name %program_name% |
查找有用的软件 |
which %program_name% |
查找有用的软件 |
cat /etc/apache2/envvars |
查看运行apache的帐号 |
总结
这些内容基本上包含了在linux上需要去了解的所有信息,合理利用这些信息可以不管是提权还是内网渗透中都是非常有用的,仁者见任,智者见智,希望可以为大家的信息安全之路添砖加瓦。