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

    文章

    10456

    浏览量

    206599
  • LINUX内核
    +关注

    关注

    1

    文章

    311

    浏览量

    21389
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22903
收藏 人收藏

    评论

    相关推荐

    OpenHarmony中SELinux使用详解

    OpenHarmony中SELinux使用详解 目录 1.SELinux简介 2.SELinux概念 3.SELinux模式 4.OH中SELinux使用详解 5.OH中SELinux报错
    发表于 04-03 10:43

    浅谈Web渗透之信息收集(上)

    信息收集在渗透测试过程中是最重要的一环,本篇重点讨论Whois查询与域名信息收集
    的头像 发表于 12-15 15:18 448次阅读
    浅谈Web渗透之<b class='flag-5'>信息</b><b class='flag-5'>收集</b>(上)

    医疗废物信息收集管理系统

    医疗废物信息收集管理系统 医疗废物收集处置监管现状 1、医疗废物的监管分为医院内部和医院外部,目前医院内部的医疗废物监管属于卫生监督管辖,医院外部部分属于环保监管,这也给医疗废物监管带来了一些不便
    的头像 发表于 11-16 17:27 218次阅读
    医疗废物<b class='flag-5'>信息</b>化<b class='flag-5'>收集</b>管理系统

    嵌入式Linux应用程序开发详解-第3章

    电子发烧友网站提供《嵌入式Linux应用程序开发详解-第3章.pdf》资料免费下载
    发表于 11-16 11:19 0次下载
    嵌入式<b class='flag-5'>Linux</b>应用程序开发<b class='flag-5'>详解</b>-第3章

    嵌入式Linux应用程序开发详解-第2章

    电子发烧友网站提供《嵌入式Linux应用程序开发详解-第2章.pdf》资料免费下载
    发表于 11-16 11:18 0次下载
    嵌入式<b class='flag-5'>Linux</b>应用程序开发<b class='flag-5'>详解</b>-第2章

    嵌入式Linux应用程序开发详解-第1章

    电子发烧友网站提供《嵌入式Linux应用程序开发详解-第1章.pdf》资料免费下载
    发表于 11-16 11:17 0次下载
    嵌入式<b class='flag-5'>Linux</b>应用程序开发<b class='flag-5'>详解</b>-第1章

    linux free命令详解

    linux free命令是一个用于查看系统内存使用情况的工具。通过free命令,我们可以获取有关系统内存的详细信息,包括总内存、已使用内存、剩余内存、缓存和缓冲区的使用情况等。这使得我们能够实时了解
    的头像 发表于 11-08 11:20 658次阅读

    如何获取Linux所有进程信息

    一个 top 命令,获取返回值。或者我们直接读写 /proc下面的文件,都可以达到目的。 但如果要你在内核(驱动)中去获取这些信息,你无法执行 top 命令。即便可以使用 flip_open 函数和加 vfs_read 内核函数去读写 /proc 节点文件,但 Linux
    的头像 发表于 10-07 15:18 294次阅读
    如何获取<b class='flag-5'>Linux</b>所有进程<b class='flag-5'>信息</b>

    linux内核源代码详解

     在安装好的Linux系统中,内核的源代码位于/ust/src/linux.如果是从GNU网站下载的Linux内核的tar文件,则展开以后在一个叫linux的子目录中。以后本书中谈到源
    发表于 09-06 17:01 2次下载

    网络安全知识专栏:渗透测试中信息收集过程该做些什么?

    什么是信息收集?在渗透测试(PenetrationTesting)中,信息收集(InformationGathering)是指通过各种手段和技术,
    的头像 发表于 08-07 11:50 593次阅读
    网络安全知识专栏:渗透测试中<b class='flag-5'>信息</b><b class='flag-5'>收集</b>过程该做些什么?

    Linux内核中container_of原理详解

    Linux内核中经常可见container_of的身影,它在实际驱动的编写中也是广泛应用。
    发表于 07-14 15:19 151次阅读
    <b class='flag-5'>Linux</b>内核中container_of原理<b class='flag-5'>详解</b>

    一款适用于以渗透测试团队为场景的移动端信息收集扫描工具

    工具介绍 一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者
    的头像 发表于 07-05 10:17 338次阅读
    一款适用于以渗透测试团队为场景的移动端<b class='flag-5'>信息</b><b class='flag-5'>收集</b>扫描工具

    一款基于go的windows信息收集工具

    一、工具介绍 一款基于go的windows信息收集工具,主要收集目标设备rdp端口登录、mstsc远程连接记录、mstsc密码和安全事件中。 二、安装与使用 1、获取本地RDP端口
    的头像 发表于 06-25 10:13 341次阅读
    一款基于go的windows<b class='flag-5'>信息</b><b class='flag-5'>收集</b>工具

    Linux Kernel Panic的产生的原因?

    是Oops信息输出) 2. 常见Linux Kernel Panic报错内容: (1) Kernel panic-not syncing fatal exception in interrupt
    发表于 06-15 06:24

    Linux LED子系统详解

    Linux LED子系统详解
    的头像 发表于 06-10 10:37 998次阅读
    <b class='flag-5'>Linux</b> LED子系统<b class='flag-5'>详解</b>