系统架构
# 打印系统信
uname -a
# 文件 /etc/issue是一个文本文件,其中包含要在登录提示之前打印的消息或系统标
cat /etc/issue
# /etc/lsb-release,/etc/redhat-release文件包含一个被解析以获取信息的描述行
cat /etc/*-release
# /proc/version指定了Linux内核的版本,用于编译内核的gcc的版本以及内核编译的时间。他还包含内核编译器的用户名
cat /proc/version
# /proc/sys/kernel/ 中的文件可以用来调整和监视Linux内核操作中的各种活动
cat /proc/sys/kernel/version
进程
# 列出当前进程快照
ps -ef
ps aux
# /proc 是非常特殊的,也是一个虚拟文件系统。有时被称为过程信息伪文件系统。不包含“真实文件”,而是包含运行时系统信息(例如系统内存、安装的设备、硬件配置等)
ls -al /proc/
# 查看关于PID为99的信息
ls -al /proc/99
# top命令显示linux机器的处理器活动,并显示实时管理的任务。它会显示正在使用的处理器和内存以及运行进程等其他信息。
top
用户和组
# 找到用户的UID或GID等信息
id
# 显示登陆到linux服务器的人员
w
# 显示当前用户名
whoami
# 显示最后一次登陆的用户
last
# 格式化打印上次登录日志/var/log/lastlog文件的内容
lastlog
# 有关用户信息的基于文本的数据库,可以登录系统或其他拥有正在运行的进程的操作系统用户身份
cat /etc/passwd
# /etc/shadow用户通过限制除高度特权的用户对散列密码数据的访问来提高密码的安全级别。通常情况下,该数据保存在超级用户拥有的文件中,并且只能由超级用户访问。
cat /etc/shadow
# /etc/sudoers文件内容是使用sudo命令必须遵循的规则,可以用来临时的提升到root权限
cat /etc/sudoers
# 打印sudo版本字符串
sudo -V
SSH服务信息
# 使用公钥认证,认证实体具有公钥和私钥。
# 私钥保存在你登录的计算机上,而公钥存储在要登录的所有计算机上的 .ssh/authorized_keys文件中
cat ~/.ssh/authorized_keys
# RSA公钥会保存为 .ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub
# RSA私钥会保存在你的home目录中:.ssh/id_rsa
cat ~/.ssh/id_rsa
# ssh会把每个你访问过计算机的公钥都存储在这个文件中
cat ~/.ssh/known_hosts
# 文件identity.pub包含你的公钥,可以将其添加到其他系统的authorized_keys文件中
cat ~/.ssh/identity.pub
# ssh客户端允许选择读取RSA或DSA身份验证标识(私钥)的文件
cat ~/.ssh/identity
# OpenSSH SSH控制配置文件
cat /etc/ssh/ssh_config
# OpenSSH SSH服务端配置文件
cat /etc/ssh/sshd_config
服务状态
# 检查所有服务状态
service --status-all
# 列出安装在文件系统中的所有单元
systemctl -a
# 启动某个服务
service servicename start
systemctl start servicename
# 停止某个服务
service servicename stop
systemctl stop servicename
# 显示某个服务状态信息
service servicename status
systemctl status servicename
# /etc/services将端口号映射到指定的服务
cat /etc/services
安全
# 列出所有规则链
iptables -L
# 删除选定规则链中的所有规则
iptables -F
# -A 添加 -p 协议 -j 规则允许
iptables -A INPUT -p icmp -m icmp -icmp-type 0 -j ACCEPT
# 允许来自src端口80的tcp连接
iptables -A INPUT -p tcp -m tcp -sport 80 -m state -state RELATED,ESTABLISHED -j ACCEPT
# 允许从/到dst端口80的tcp连接
iptables -A OUTPUT -p tcp -m tcp -dport 80 -m state -state NEW,RELATED,ESTABLISHED -j ACCEPT
# 允许来自src端口80的udp连接
iptables -A INPUT -p upd -m upd -sport 53 -m state -state RELATED,ESTABLISHED -j ACCEPT
# 允许从/到dst端口53的udp连接
iptables -A OUTPUT -p udp -m udp -dport 53 -m state -state NEW,RELATED,ESTABLISHED -j ACCEPT
# 允许本地主机连接到localhost:55552
iptables -A OUTPUT -p tcp -m tcp –sport 55552 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp –dport 55552 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
网络
# 显示当前可用的所有接口
ifconfig -a
# 显示或设置系统的主机名称
hostname
# 显示系统的DNS域名
dnsdomainname
# 显示网络状态
netstat -antp
netstat -anup
# 显示所有运行级系统服务的运行状态信息
chkconfig -list
# 列出打开的文件
lsof -nPi
# 显示/操作IP路由表
route -e
# 配置无线网络接口
iwconfig
# 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf 的关键字主要有四个,分别是:`nameserver :定义DNS服务器的IP地址
cat /etc/resolv.conf
# /etc/hosts 是一个简单的文本文件,将IP地址与主机名相关联,每个IP地址一行
cat /etc/hosts
# /etc/network/interfaces 文件包含网络接口配置信息
cat /etc/network/interfaces
# /etc/sysconfig/network 文件用于指定有关服务器上所需网络配置的信息。
cat /etc/sysconfig/network
# > /etc/networks 是一个简单的ASCII文件,描述这些网络的已知DARPA网络和符号名称。
cat /etc/networks
文件系统
# /etc/profile 包含Linux系统环境和启动程序。它被所有的用户使用于bash,ksh,sh shellcat /etc/profile
# /etc/bashrc 或者 /etc/bash.bashrc是全系统的bash每个交互式shell启动文件。是使用系统广泛的功能和别名
cat /etc/bashrc
# 类似 /etc/profile, 但仅适用于当前用户
cat ~/.bash_profile
# 打印当前用户bash命令的历史记录
cat ~/.bash_history
# ~/.bashrc是存储在您的主目录$HOME中的单个每个交互式shell启动文件
cat ~/.bashrc
# ~/.zshrc是存储在您的主目录$ HOME中的单个交互式shell启动文件。
cat ~/.zshrc
# 文件〜/ .bash_logout不用于调用shell。当用户从交互式登录shell中退出时,它被读取并执行
cat ~/.bash_logout
# 列出所有日志文件
ls -al /var/log/
# 粘滞位 - 只有目录的所有者或文件的所有者可以在这里删除或重命名
find / -perm -1000 -type d 2>/dev/null
# SGID(chmod 2000) - 作为组运行,而不是启动它的用户。
find / -perm -g=s -type f 2>/dev/null
# SUID(chmod 4000) - 作为所有者运行,而不是启动它的用户
find / -perm -u=s -type f 2>/dev/null
# 找出可写的文件夹
find / -writable -type d 2>/dev/null
# 找出可写的文件夹
find / -perm -222 -type d 2>/dev/null
# 找出可写的文件夹
find / -perm -o w -type d 2>/dev/null
# 找出可写的文件夹
find / -perm -o x -type d 2>/dev/null
# 找出可写可执行的文件夹
find / ( -perm -o w -perm -o x ) -type d 2>/dev/null
# 找出可写的文件
find / -xdev -type d ( -perm -0002 -a ! -perm -1000) -print
# 找出不是所有者的文件
find /dir -xdev ( -nouser -o -nogroup ) -print
# SGID 或者 SUID
find / -perm -g=s -o -perm -u=s -type f 2>/dev/null
# 在SGID或SUID(快速搜索)中查找’common’位置:/bin,/sbin,/usr/bin,/usr/ sbin,/usr/local/bin, /usr/local/sbin和其他任何*bin
for i in locate -r "bin$" ; do find $i ( -perm -4000 -o -perm -2000 ) -type f 2>/dev/null; done
# 从根目录(/),SGID或SUID开始,而不是符号链接,只有3个文件夹的深度,列出更多的细节和隐藏的任何 错误(例如权限被拒绝)
find / -perm -g=s -o -perm -4000 ! -type l -maxdepth 3 -exec ls -ld {} ; 2>/dev/null
程序
crontab -l 显示标准输出上的当前触点
ls -alh /var/spool/cron
ls -al /etc/cron*
cat /etc/cron*
cat /etc/cron.allow
cat /etc/cron.deny
cat /etc/crontab
cat /etc/anacrontab
ls -la /var/spool/cron/crontabs 列出所有用户的crontab文件
cat /var/spool/cron/crontabs/root 打印root用户的crontab命令
免杀技术有一套(免杀方法大集结)(Anti-AntiVirus)
欢迎关注LemonSec
觉得不错点个“赞”、“在看”哦
原文始发于微信公众号(LemonSec):【渗透笔记】Linux主机信息收集
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论