0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux信息收集详解

哆啦安全 来源:Z2O安全攻防 作者:Z2O安全攻防 2022-11-11 09:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux信息收集

本机基本信息

#管理员
$普通用户
@之前表示登录的用户名称,之后表示主机名,再之后表示当前所在目录
/表示根目录
~表示当前用户家目录

1、内核,操作系统和设备信息

uname-a打印所有可用的系统信息
uname-r内核版本
uname -n 系统主机名。
uname-m查看系统内核架构(64位/32位)
hostname系统主机名
lsb_release-a发行版信息
cat/proc/version内核信息
cat/etc/*-release发行版信息
cat/etc/issue发行版信息
cat/proc/cpuinfoCPU信息
2a0cdffe-6159-11ed-8abf-dac502259ad0.png2a1cdd46-6159-11ed-8abf-dac502259ad0.png

2、用户和群组

cat/etc/passwd列出系统上的所有用户
cat/etc/shadow查看用户Hash
cat/etc/group列出系统上的所有组
groups当前用户所在的组
groupstesttest用户所在的组
getentgroupxxxxxx组里的用户

grep-v-E"^#"/etc/passwd|awk-F:'$3==0{print$1}'列出所有的超级用户账户
awk-F:'length($2)==0{print$1}'/etc/shadow#查看是否存在空口令用户
awk'/$1|$6/{print$1}'/etc/shadow#查看远程登录的账号

whoami查看当前用户
w谁目前已登录,他们正在做什么
who命令用于显示系统中有哪些使用者正在上面
last最后登录用户的列表
lastlog所有用户上次登录的信息
lastlog–u%username%有关指定用户上次登录的信息
2a30e692-6159-11ed-8abf-dac502259ad0.png

[^可以看到yokan用户在sudo组里]:

2a4b6a58-6159-11ed-8abf-dac502259ad0.png2a574ca6-6159-11ed-8abf-dac502259ad0.png

3、用户和权限信息

whoami当前用户名
id当前用户信息
cat/etc/sudoers可以使用sudo提升到root的用户
sudo-l当前用户可以以root身份执行操作
2a6276ee-6159-11ed-8abf-dac502259ad0.png 2a75c816-6159-11ed-8abf-dac502259ad0.png

yokan用户可以以root身份执行任意操作

4、环境信息

env显示所有的环境变量
set显示本地环境变量
echo$PATH环境变量中的路径信息
export[-fnp][变量名称]=[变量设置值]显示和设置环境变量
pwd输出工作目录
cat/etc/profile显示默认系统变量
cat/etc/shells显示可用的shell
ls-la/etc/*.conf查看etc下所有配置文件
2a7d15c6-6159-11ed-8abf-dac502259ad0.png

5、历史命令

显示当前用户的历史命令记录

history
cat~/.bash_history

#查看其他用户的历史命令文件
cat/home/user/.bash_history

history显示内存和~/.bash_history中的所有内容;内存中的内容并没有立刻写入~/.bash_history,只有当当前shell关闭时才会将内存内容写入shell

6、进程信息

psaux以用户的格式显示所有进程,包括非终端的进程
ps-ef显示所有进程,显示UID,PPIP(父进程),C与STIME栏位
ps-ef|grepjava查询某个应用的所有进程信息
top实时显示占用最多的进程
2a90b6ee-6159-11ed-8abf-dac502259ad0.png

如果想查看进程的CPU占用率和内存占用率,可以使用aux

如果想查看进程的父进程ID和完整的COMMAND命令,可以使用-ef

lsof-c$PID查看进程关联文件
/proc/$PID/cmdline完整命令行信息
/proc/$PID/comm进程的命令名
/proc/$PID/cwd进程当前工作目录的符号链接
/proc/$PID/exe运行程序的符号链接
/proc/$PID/environ进程的环境变量
/proc/$PID/fd进程打开文件的情况

7、服务信息

cat/etc/services查询存在的服务
cat/etc/services|grepJava查询对应的服务
systemctllist-units--type=service--state=running查询已经开启的服务
2aa8897c-6159-11ed-8abf-dac502259ad0.png

8、计划任务

在Linux系统中,计划任务一般是由cron承担。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron会根据命令和执行时间来按时来调用工作任务。

/var/spool/cron/crontabs :这个目录以账号来区分每个用户自己的执行计划
/etc/crontab :系统执行计划,需要在后边加上用户格式
所有计划任务项:
/var/spool/cron/*
/var/spool/anacron/*
/etc/crontab
/etc/anacrontab
/etc/cron.*
/etc/anacrontab
crontab-l查询当前用户所有的计划任务
crontab-l-uuser查询指定用户的计划任务
cat/var/spool/cron/crontabs/root查询root用户的计划任务

9、网络、路由和通信

查询ip

ifconfig
ipaddr

打印路由信息

route查询路由表
route-n查询路由表,以ip地址显示
netstat-r查询路由表
ipro

查看系统arp表

arp-a

端口开放情况

netstat-antup所有端口
netstat-antptcp端口
netstat-anupudp端口

查看端口服务映射

cat/etc/services

列出iptables的配置规则

iptables-L

显示网卡信息

netstat-i

dns信息

cat/etc/resolv.conf查看dns配置信息
dnsdomainname-V打印DNS系统中FQDN名称中的域名
cat/etc/hosts查看hosts域名解析文件

10、已安装应用

rpm-qa--last#Redhat、CentOS
rpm-qapolkit#查看指定应用的安装版本

dpkg-l#ubuntu、debian
dpkg-lpolicykit-1#查看指定应用的安装版本
dpkg-Lxxx#查询某个软件所关联的文件

11、查找能写或执行的目录

find/-writable-typed2>/dev/null
find/-perm-o+w-typed2>/dev/null
find/-perm-o+x-typed2>/dev/null

12、防火墙

iptables-L查看防火墙配置

查看防火墙状态:
systemctlstatusfirewalld
serviceiptablesstatus
暂时关闭防火墙:
systemctlstopfirewalld
serviceiptablesstop
永久关闭防火墙:
systemctldisablefirewalld
chkconfigiptablesoff
重启防火墙:
systemctlenablefirewalld
serviceiptablesrestart

13、敏感文件

find命令 -o参数 表示或者的意思

find/-typef-iname"*.bash_history"-o-iname"*config*"-o-iname"web.xml"-o-iname"*database*"-o-iname"*pass*"2>/dev/null

查找SSH密钥:

find/-name"id_dsa*"-o-name"id_rsa*"-o-name"known_hosts"-o-name"authorized_hosts"-o-name"authorized_keys"2>/dev/null|xargs-rls

Web应用服务

常见配置文件路径:

/apache/apache/conf/httpd.conf
/apache/apache2/conf/httpd.conf
/apache/php/php.ini
/bin/php.ini
/etc/apache/apache.conf
/etc/apache/httpd.conf
/etc/apache2/apache.conf
/etc/apache2/httpd.conf
/etc/apache2/sites-available/default
/etc/apache2/vhosts.d/00_default_vhost.conf
/etc/httpd/conf.d/httpd.conf
/etc/httpd/conf.d/php.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/php.ini
/etc/init.d/httpd
/etc/php.ini
/etc/php/apache/php.ini
/etc/php/apache2/php.ini
/etc/php/cgi/php.ini
/etc/php/php.ini
/etc/php/php4/php.ini
/etc/php4.4/fcgi/php.ini
/etc/php4/apache/php.ini
/etc/php4/apache2/php.ini
/etc/php4/cgi/php.ini
/etc/php5/apache/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/phpmyadmin/config.inc.php
/home/apache/conf/httpd.conf
/home/apache2/conf/httpd.conf
/home/bin/stable/apache/php.ini
/home2/bin/stable/apache/php.ini
/NetServer/bin/stable/apache/php.ini
/opt/www/conf/httpd.conf
/opt/xampp/etc/php.ini
/PHP/php.ini
/php/php.ini
/php4/php.ini
/php5/php.ini
/usr/lib/php.ini
/etc/nginx/nginx.conf
/usr/lib/php/php.ini
/usr/local/apache/conf/httpd.conf
/usr/local/apache/conf/php.ini
/usr/local/apache2/conf/httpd.conf
/usr/local/apache2/conf/php.ini
/usr/local/etc/php.ini
/usr/local/httpd/conf/httpd.conf
/usr/local/lib/php.ini
/usr/local/php/lib/php.ini
/usr/local/php4/lib/php.ini
/usr/local/php4/lib/php.ini
/usr/local/php4/php.ini
/usr/local/php5/etc/php.ini
/usr/local/php5/lib/php.ini
/usr/local/php5/php5.ini
/usr/local/share/examples/php/php.ini
/usr/local/share/examples/php4/php.ini
/usr/local/Zend/etc/php.ini
/var/apache2/config.inc
/var/httpd/conf/httpd.conf
/var/httpd/conf/php.ini
/var/httpd/conf/php.ini
/var/local/www/conf/httpd.conf
/var/local/www/conf/php.ini
/var/www/conf/httpd.conf
/web/conf/php.ini
/www/conf/httpd.conf
/www/php/php.ini
/www/php4/php.ini
/www/php5/php.ini
/xampp/apache/bin/php.ini
/xampp/apache/conf/httpd.conf

数据库

/etc/init.d/mysql
/etc/my.cnf
/etc/mysql/my.cnf
/etc/mysql/my.cnf
/var/lib/mysql/my.cnf
/var/lib/mysql/mysql/user.MYD
/usr/local/mysql/bin/mysql
/usr/local/mysql/my.cnf
/usr/share/mysql/my.cnf

自动化脚本

linux_info.sh

#!/bin/bash

#输出文件
filename=$(date+%s)'.log'

echo"信息收集"
echo-e"
"|tee-a$filename
echo"账户信息收集"|tee-a$filename
cat/etc/passwd|tee-a$filename
echo-e"
"|tee-a$filename
echo"shadow"|tee-a$filename
cat/etc/shadow|tee-a$filename
echo-e"
"|tee-a$filename
echo"进程信息收集"|tee-a$filename
psaux|tee-a$filename
echo-e"
"|tee-a$filename
echo"网络连接"|tee-a$filename
netstat-antlp|tee-a$filename
echo-e"
"|tee-a$filename
echo"当前用户:"$(whoami)2>/dev/null|tee-a$filename
echo-e"
"|tee-a$filename
echo"端口监听"|tee-a$filename
netstat-lnpt|tee-a$filename
echo-e"
"|tee-a$filename
echo"可登陆用户"|tee-a$filename
cat/etc/passwd|grep-E-v'nologin$|false'|tee-a$filename
echo-e"
"|tee-a$filename
echo"增加用户的日志"|tee-a$filename
grep"useradd"/var/log/secure|tee-a$filename
echo-e"
"|tee-a$filename
echo"History操作提取"|tee-a$filename
cat~/.*history|tee-a$filename
echo-e"
"|tee-a$filename
echo"登录成功的IP"|tee-a$filename
grep"Accepted"/var/log/secure*|awk'{print$11}'|sort|uniq-c|sort-nr|more|tee-a$filename
echo-e"
"|tee-a$filename
echo"查看路由表"|tee-a$filename
route-n|tee-a$filename
echo-e"
"|tee-a$filename
echo"查看SSHkey"|tee-a$filename
sshkey=${HOME}/.ssh/authorized_keys
if[-e"${sshkey}"];then
cat${sshkey}|tee-a$filename
else
echo-e"SSHkey文件不存在
"|tee-a$filename
fi
echo-e"
"|tee-a$filename
echo"查看known_hosts"|tee-a$filename
cat~/.ssh/known_hosts|tee-a$filename
echo-e"
"|tee-a$filename
echo"查找WEB-INF"|tee-a$filename
find/-name*.properties2>/dev/null|grepWEB-INF|tee-a$filename
echo-e"
"|tee-a$filename
echo"user|pass|pwd|uname|login|db_"|tee-a$filename
find/-name"*.properties"|xargsegrep-i"user|pass|pwd|uname|login|db_"|tee-a$filename
echo-e"
"|tee-a$filename
echo"jdbc:|pass=|passwd="|tee-a$filename
find/-regex".*.properties|.*.conf|.*.config|.*.sh"|xargsgrep-E"=jdbc:|pass=|passwd="|tee-a$filename
echo-e"
"|tee-a$filename
#Authorcances
echo"ip和网卡信息"|tee-a$filename
ipa|awk'{print$2,$4}'|tee-a$filename
echo-e"
"|tee-a$filename
echo"可登陆用户"|tee-a$filename
cat/etc/passwd|grep-E-v'sync$|halt$|nologin$|false|shutdown'|tee-a$filename
echo-e"
"|tee-a$filename
echo"用户登陆日志"|tee-a$filename
lastlog|tee-a$filename
echo-e"
"|tee-a$filename
echo"查看hosts"|tee-a$filename
cat/etc/hosts|tee-a$filename
echo-e"
"|tee-a$filename
echo"查看系统版本"|tee-a$filename
cat/etc/*-release|tee-a$filename
echo-e"
"|tee-a$filename
echo"查看内核版本"|tee-a$filename
uname-mrs|tee-a$filename






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222937
  • LINUX内核
    +关注

    关注

    1

    文章

    318

    浏览量

    23051
  • Shell
    +关注

    关注

    1

    文章

    373

    浏览量

    25174
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

    【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解
    的头像 发表于 11-21 13:25 653次阅读
    【迅为工业RK3568稳定可靠】itop-3568开发板<b class='flag-5'>Linux</b>驱动开发实战:RK3568内核模块符号导出<b class='flag-5'>详解</b>

    一文详解单粒子效应的电荷收集

    在探讨单粒子翻转基本机理时,深入理解并掌握各类电荷收集过程及其作用机理至关重要,这些过程与机理对明确单粒子效应特征、开展相关试验数据分析具有重要参考价值。针对上述机理,已有研究者开展了系统性分析,本文将梳理核心结论,为试验结果分析提供基础理论支撑。
    的头像 发表于 09-08 09:50 811次阅读
    一文<b class='flag-5'>详解</b>单粒子效应的电荷<b class='flag-5'>收集</b>

    Linux基础命令which详解

    Linux系统中,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是一个非常有用的工具,可以帮助定位命令所在的位置,确认命令是否已正确安装,并且能够用于配置环境变量等任务。下面是华纳云对which命令的详细解释。
    的头像 发表于 07-29 17:58 591次阅读

    Linux系统中网络配置详解

    网络配置是Linux系统运维中的核心技能之一。正确理解和配置子网掩码、网关等网络参数,直接影响系统的网络连通性和性能。本文将深入探讨Linux系统中网络配置的方方面面,为运维工程师提供全面的技术指导。
    的头像 发表于 07-17 11:01 865次阅读

    Linux系统查看及修改设备型号信息,触觉智能RK3562开发板演示

    本文介绍Linux系统如何查看及修改设备型号信息的方法,适用于想查看设备型号信息或者想将设备型号信息修改为自己项目的名称的情况。触觉智能RK3562开发板演示。查看设备
    的头像 发表于 06-19 15:58 811次阅读
    <b class='flag-5'>Linux</b>系统查看及修改设备型号<b class='flag-5'>信息</b>,触觉智能RK3562开发板演示

    详解Linux权限相关指令

    Linux严格来说是一个操作系统,我们称之为“核心”(kernel)。而作为用户的我们并不能直接与核心交流,这时候就有一个中间人的角色出现:将我们的指令翻译为核心可以看懂的符号,交由核心执行,并将执行结果翻译并返回给我们。
    的头像 发表于 06-06 11:47 812次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Linux</b>权限相关指令

    详解Linux系统中的服务管理

    Linux中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些服务的初始化及 systemd脚本添加进去,不过此时它们并没有被启用。
    的头像 发表于 05-23 15:10 626次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Linux</b>系统中的服务管理

    Linux系统用户权限详解

    Linux 是一种开源的、基于 Unix 的操作系统,它因其灵活性、稳定性和高性能而广泛应用于服务器、嵌入式系统、超级计算机、桌面计算等领域。
    的头像 发表于 04-25 10:56 727次阅读
    <b class='flag-5'>Linux</b>系统用户权限<b class='flag-5'>详解</b>

    Linux系统配置优化技巧

    应用系统跑在操作系统上面,系统的性能也关系到应用程序的性能,这里讲一些Linux性能关键的配置信息
    的头像 发表于 03-04 11:27 742次阅读

    Linux软件防火墙iptables详解

    Linux提供的软件防火墙,名为iptables,它可以理解为是一个客户端代理,通过iptables的代理,将用户配置的安全策略执行到对应的安全框架中,这个安全框架称之为netfilter。
    的头像 发表于 03-01 14:50 964次阅读
    <b class='flag-5'>Linux</b>软件防火墙iptables<b class='flag-5'>详解</b>

    射频功率收集电路

    本文重点射频功率收集,对于源和负载之间的最佳功率传输、减少功率反射和提高系统效率而言,IMN至关重要。能量收集整流器和电压倍增器电路(例如Cockcroft–Walton和Dickson倍增器)是将
    的头像 发表于 02-14 16:51 796次阅读
    射频功率<b class='flag-5'>收集</b>电路

    信息安全管理必备!Linux系统使用SSH登录root账号的方法

    Linux远程管理信息安全必备!本文介绍各类Linux开发板/主板使用SSH登录root账号的方法,使用触觉智能RK3562开发板演示,关注触觉智能,持续为大家带来更多使用技巧!
    的头像 发表于 02-12 15:46 1115次阅读
    <b class='flag-5'>信息</b>安全管理必备!<b class='flag-5'>Linux</b>系统使用SSH登录root账号的方法

    Linux计划任务cron详解

    cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
    的头像 发表于 02-07 15:31 1528次阅读
    <b class='flag-5'>Linux</b>计划任务cron<b class='flag-5'>详解</b>

    低功耗应用的环境能量收集

    作者: Pete Bartolik 如今的能量收集应用层出不穷。美国政府对清洁能源的投资以及私营企业对清洁能源制造、电动汽车和电池以及清洁发电的 4000 亿美元投资可谓是备受大众关注 ^i^ ,而
    的头像 发表于 01-25 14:51 909次阅读
    低功耗应用的环境能量<b class='flag-5'>收集</b>

    Linux grep命令详解

    Linux grep命令是一种非常常用的文本搜索工具,它可以在给定的文件中搜索匹配的字符串,并输出匹配的行。grep是全称“global search regular expression print”,可以识别正则表达式,并使用正则表达式进行搜索。
    的头像 发表于 12-25 09:39 1786次阅读