/01 Linux主机信息收集
一,系统架构
1.uname -a 打印系统信息
1 |
uname -a |
2./etc/issue
一个文本文件
其中包含要在登录提示之前打印的消息或系统标识
1 |
cat /etc/issue |
3. /etc/*-release
/etc/lsb-release, /etc/redhat-release 文件包含一个被解析以获取信息的描述行
1 |
cat /etc/lsb-release |
这个命令需要Linux为Debian类型的
1 |
cat /etc/redhat-release |
这个命令需要Linux为Redhat类型的
4./proc/version
/proc/version指定了Linux内核的版本,用于编译内核的gcc的版本以及内核编译的时间。 它还包含内核编译 器的用户名
1 |
cat /proc/version |
Parrot(Debian):
CentOS(Redhat):
5./proc/sys/kernel/version
/proc/sys/kerne/ 中的文件可以用来调整和监视Linux内核操作中的各种活动
1 |
cat /pro/sys/kernel/version |
Parrot(Debian):
CentOS(Redhat):
二,进程
1.PS命令
主要使用ps命令,详细的可用去查Linux命令文档速查,这里只列出常用的
列出当前进程快照
1 |
ps -ef |
-e:此选项的效果和指定”A”选项相同
-f:显示UID,PPIP,C与STIME栏位。
1 |
ps aux |
a:显示现行终端机下的所有程序,包括其他用户的程序。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
注意:命令解释来源Linux命令文档速查
2.proc文件
Linux万物皆为文件进行也不例外进程在proc文件下
/proc是非常特殊的,它也是一个虚拟文件系统。 它有时被称为过程信息伪文件系统。 它不包含“真实”文件,而是包含运行时系统信息(例如系统内存,安装的设备,硬件配置等)。
1 |
ls -al /proc/ |
另外我们还可以选择某个进程的PID进行查看
查看关于PID 1250的信息
1 |
ls -al /proc/1250 |
3.top命令
top命令显示您的Linux机器的处理器活动,并显示实时管理的任务。 它会显示正在使用的处理器和内存以及运行进程等其他信息。
1 |
top |
当然top不单单就一个top,更详细可用查看Linux命令速查
三,用户和组
找到用户的UID或GID等信息
1 |
id |
root用户:
普通用户:
显示目前登入系统的用户信息
显示登录到Linux服务器的人员
1 |
w |
显示当前用户名
1 |
whoami |
列出目前与过去登入系统的用户相关信息
1 |
last |
-a:把从何处登入系统的主机名称或ip地址,显示在最后一行;
-d:将IP地址转换成主机名称;
-f <记录文件>:指定记录文件。
-n <显示列数>或-<显示列数>:设置列出名单的显示列数;
-R:不显示登入系统的主机名称或IP地址;
-x:显示系统关机,重新开机,以及执行等级的改变等信息。
lastb可列出登录失败记录,会发现不正常的一大堆,都是云上有人暴力破解所致
显示系统中所有用户最近一次登录信息
格式化打印上次登录日志 /var/log/lastlog 文件的内容
1 |
lastlog |
有关用户信息的基于文本的数据库,可以登录系统或其他拥有正在运行的进程的操作系统用户身份
1 |
cat /etc/passwd |
用于通过限制除高度特权的用户对散列密码数据的访问来提高密码的安全级别。 通常情况下,该数据保存在超级用户拥有的文件中,并且只能由超级用户访问
1 |
cat /etc/shadow |
文件内容是使用sudo命令必须遵守的规则
1 |
cat /etc/sudoers |
打印sudo版本字符串
1 |
sudo -V |
Tips:这里是大写“V”
列出目前用户可执行与无法执行的指令
1 |
sudo -l |
四,SSh服务信息
1.OpenSSH SSH 控制端配置文件
1 |
cat /etc/ssh/ssh_config |
里面有些比较重要信息如是否允许远程连接,使用密码还是其他方式等等。
2.OpenSSH SSH 服务端配置文件
1 |
cat /etc/ssh/sshd_config |
这个也是内容过多就不过多缀叙了
想要具体了解可用查查资料
五,服务状态
1.检查所有服务状态
1 |
service --status-all |
+号为正在开启
-号为正在休眠未开启
2.列出安装在文件系统中的所有单元
1 |
systemctl -a |
3.启动某服务或开机自启
启动改服务
1 |
service servicename start |
重启该服务
1 |
service servicename restart |
停止该服务
1 |
service servicename stop |
显示该服务状态信息
1 |
service servicename status |
以nfs服务为例
1 |
systemctl start nfs-server.service # 启动nfs服务 |
4. /etc/services
将端口号映射到指定的服务.
1 |
cat /etc/services |
六,安全
主要使用命令iptables,这里列举几个常用命令
常常用作防火墙命令设置
允许来自src端口80的tcp连接
1 |
iptables -A INPUT -p tcp -m tcp –sport 80 -m state –state RELATED,ESTABLISHED -j ACCEPT |
允许 从/到 dst 端口80的TCP连接
1 |
iptables -A OUTPUT -p tcp -m tcp -dport 80 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT |
允许来自src端口80的udp连接
1 |
iptables -A INPUT -p udp -m udp –sport 53 -m state –state RELATED,ESTABLISHED -j ACCEPT |
允许从/到 dst 端口53的udp连接
1 |
iptables -A OUTPUT -p udp -m udp –dport 53 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT |
允许本地主机连接到 localhost:55552
1 |
iptables -A OUTPUT -p tcp -m tcp –sport 55552 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT |
别看我只写了那么点,作为大部分防火墙都是拿linux直接改的iptable命令至关重要。
七,网络
1.ifconfig命令
显示当前可用的所有接口
1 |
ifconfig -a |
-a 显示所有一般情况下可用省略 ifconfig
当然作为操作网卡的命令,不单单只有查看一个,还有很多,以下来源Linux命令速查:
1 |
启动关闭指定网卡: |
2.列出打开的文件
1 |
lsof -nPi |
3.显示/操作IP路由表
1 |
route -e |
4./etc/resolv.conf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf 的关键字主要有四个,分别是:`nameserver :定义DNS服务器的IP地址
1 |
cat /etc/resolv.conf |
5./etc/hosts
/etc/hosts 是一个简单的文本文件,将IP地址与主机名相关联,每个IP地址一行
类似windows查看host配置文件一样
1 |
cat /etc/hosts |
6./etc/network/interfaces
/etc/network/interfaces 文件包含网络接口配置信息
1 |
cat /etc/network/interfaces |
7./etc/sysconfig/network
/etc/sysconfig/network 文件用于指定有关服务器上所需网络配置的信息
1 |
cat /etc/sysconfig/network |
8./etc/networks
/etc/networks 是一个简单的ASCII文件,描述这些网络的已知DARPA网络和符号名称
1 |
cat /etc/networks |
八,文件系统
文件方法
/etc/profile 包含Linux系统环境和启动程序。 它被所有的用户使用于bash,ksh,sh shell。
1 |
cat /etc/profile |
/etc/bashrc 或者 /etc/bash.bashrc是全系统的bash每个交互式shell启动文件。是使用系统广泛的功能和别名
1 |
cat /etc/bashrc |
类似 /etc/profile, 但仅适用于当前用户
1 |
cat ~/.bash_profile |
打印当前用户bash命令的历史记录
1 |
cat ~/.bash_history |
也可以命令history,往往可用看到用户以前的输入命令,可用获取一些重要敏感信息
但是往往.bash_history刷新慢可用history -w写入就可以看到了
1 |
ls -al /var/log/ |
Find命令
2>/dev/null 标准报错重定向到dev/null,意思就是不显示报错内容
1 |
find / -perm -1000 -type d 2>/dev/null |
1 |
find / -perm -g=s -type f 2>/dev/null |
1 |
find / -perm -u=s -type f 2>/dev/null |
1 |
find / -writable -type d 2>/dev/null |
-perm 权限
-type 文件类型:
d代表的是目录(directroy)
-代表的是文件(regular file)
s代表的是套字文件(socket)
p代表的管道文件(pipe)或命名管道文件(named pipe)
l代表的是符号链接文件(symbolic link)
b代表的是该文件是面向块的设备文件(block-oriented device file)
c代表的是该文件是面向字符的设备文件(charcter-oriented device file)
常见文件权限:
- -rw——- (600) 只有拥有者有读写权限。
- -rw-r–r– (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
- -rwx—— (700) 只有拥有者有读、写、执行权限。
- -rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
- -rwx–x–x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
- -rw-rw-rw- (666) 所有用户都有文件读、写权限。
- -rwxrwxrwx (777) 所有用户都有读、写、执行权限。
1 |
find / ( -perm -o w -perm -o x ) -type d 2>/dev/null |
1 |
find / -xdev -type d ( -perm -0002 -a ! -perm -1000) -print |
1 |
find /dir -xdev ( -nouser -o -nogroup ) -print |
九,程序
1 |
crontab -l #显示标准输出上的当前触点 |
Tips
命令之多,多到背不下,唯有多敲多练,多查查,其中有几个比较重要的打了下划线的就是了。
FROM :https://ailumao.cn/ | Author:Ailumao
前言上周六参加『 蓝帽杯 』全国大学生网络安全技能大赛线上决赛记录,先挖个坑等一手之后官方的 WP 。 0x01 签到题操作内容题目给了一些数字: 1[102, 108, 97, 103, 123, 119, 101, 49, 99, 48, 109, 101…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论