ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

渗透学习总结-Linux基础

2021-10-26 19:03:11  阅读:144  来源: 互联网

标签:总结 文件 渗透 用户 etc Linux 权限 目录


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


Linux文件系统和分区

磁盘分区原理介绍

  • 分区是逻辑上的概念。Linux分区和Windows分区不同,Windows一个分区对应一个盘符,Linux一个分 区对应一个目录。

  • 对Linux来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个目录,是一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

  • Linux采用了一种叫“挂载”的处理方法,它的整个文件系统中包含了一整套的文件和目录,使得一个分区和一个目录联系起来,当要载入一个分区时它的存储空间就在一个目录下获得并使用。

使用lsblk指令(逻辑磁盘分区)

在这里插入图片描述

磁盘查询指令

查询磁盘使用情况
df -lh(文件系统层的分层)
在这里插入图片描述

du -h /目录(每个文件和目录的磁盘使用)
在这里插入图片描述

磁盘挂载指令

  • linux下几乎把一切都看成文件,例如当一个新设备(比如USB,光盘)连上电脑后,把此设备挂载到一个文件夹下才能管理.使用挂载命令控制硬盘分区和挂载点

  • mount命令: mount -t文件系统类型-o选项参数device(设备)dir(挂载点)

  • umount命令: umount dir(挂载点)或者umount dev(所挂载的设备)

  • remount命令: 重新挂载分区或者目录,用法和umount是一样的

Linux文件和目录重要介绍

  • /∶根目录,位于Linux文件目录结构的顶层,一般根目录下只存放目录,不存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
  • /home:普通用户主目录,当新建账户时,都会分配这个用户目录,建议单独分区,并分配额外空间用于存储用户数据
  • /boot:用于存放系统启动引导文件,内核文件
  • /root:该目录是linux系统管理员(超级用户) root的宿主目录
  • /tmp:存放系统运行过程中使用的一些临时文件
  • /var:存放系统中经常需要变化的一些文件,如系统日志文件,用户邮箱目录等
  • /etc:存放linux系统及各种程序的配置文件,配置文件比较多的程序在”/etc”目录中建立独立的子目录,用于存放程序的配置文件

查看文件的属性权限以及文件所属的用户和组
命令: ls -l

文件和目录的权限:

  • linux对普通文件的权限说明

  • [r]可读;对文件有阅读的权限

  • [w]可写;对文件有修改内容的权限(删除文件自身受父目录权限的影响)·

  • [x]可执行;对文件表示具有执行文件的权限

  • Linux对目录的权限说明
    [r]可读;表示具有浏览目录的权限
    [w]可写;表示具有修改目录内文件的权限
    [x]可执行;表示具有进入目录的执行权限

设置文件权限
Linux有两种设置文件权限的方式,一种是数字,一种是符号。
Linux文件的基本权限有是三种身份read/write/execute,每种身份都有对应的权限且都是r(可读)w(可写)x(可执行)
r(read)=4,w(可写)=2,x(可执行)=1
再用数字赋权限的时候叠加。
例如:
owner:rw=4+2=6,group=r=4,others=r=4
也就是定义-rw-r–r--权限命令为:
chmod 644 1.txt
在这里插入图片描述更改文件属组

  • chgrp:更改文件属组.
  • 语法: chgrp [-R]属组名文件名(加上-R参数,该目录下的所有文件的属组都会更改).
  • chown:更改文件属主,也可以同时更改文件属组
    .语法: chown [-R]属主名文件名
  • chown[-R]属主名:属组名文件名chmod:更改文件9个权
  • 语法: chmod [-R] xyz文件或目录

文件和目录的特殊权限:
SUID和SGID,设置了SUID和SGID的文件可以被其他不同组的用户继承改文件或者目录的属组权限。
例子:当一个执行文件被设置成了SUID权限,属于root用户,此时普通用户可以暂时取得root权限来执行该文件。SGID相同。
两者不同点:
SUID:对属主加权限只能针对文件
SGID:对属组加权限可以对文件和目录
命令:
chmod u+s filename(suid)
chmod g+s filename(sgid)
chmod 4777 filename(suid)针对属主

Linux用户类型和组

用户分为3类:
root(超级用户):啥都能干
普通用户:root创建的用户,一般只能操作自己的目录。
虚拟用户:程序运行等情况下创建的用户,无法登录和使用
用户组
具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。
用户组的目的方便管理员对用户进行集中管理。用户组也分为三类:系统组、私有组和标准组。

用户及用户组配置文件
/etc/passwd:记录操作系统用户及其属性信息
/etc/shadow: 记录所有用户的密码信息
/etc/group: 记录用户组及其属性的信息
/etc/gshadow:记录用户组及其相关属性的密码信息

UID和GID
概念:

  • 在我们登录主机时我们输入用户名,但系统里不会认识用户名的,而是通过/etc/passwd文件里用户名对应的UID和 GID识别的。
  • UID:每个用户对应一个UID号,UID在本机的操作系统里是唯一的。
  • GID∶每个组用户会对应一个GID号,GID在本机的操作系统里是唯一的。
  • UID的限制:

利用id显示用户的UID和GID
在这里插入图片描述

0:当uid是0时,代表这个用户是管理员,当你想把某个用户设置成管理员时,直接修改uid就可以了。也就是说,系统中管理员用户不一定是root
1~499:系统默认保留用户,和其他用户没什么不一样的,只是一些服务默认用户
500~65535:手动创建的一般用户

其他命令
su 用户名:切换用户
whoami:显示当前用户名称
groups:显示当前用户所属组
sudo :临时使用root权限

Linux服务管理

服务管理指令

service管理指令:
在Centos7.0以前:

  • service服务名start | stop | restart / reload | status

Centos7.0后不再使用service,而是systemctl,systemctl [command] [unit]

  • command主要有:
  • start : 立刻启动后面接的unit. stop :立刻关闭后面接的unit
  • restart:立刻关闭后启动后面接的unit,亦即执行stop 再start的意思
  • reload :不关闭后面接的unit的情况下,重新载入配置文件,让设置生效
  • enable :设置下次开机时,后面接的unit会被启动
  • disable :设置下次开机时,后面接的unit不会被启动
  • status :目前后面接的这个unit的状态,会列出有没有正在执行、开机默认执行否、登录等信息等!
  • is-active :目前有没有正在运行中

端口审计手段

系统自带的:netstat
系统外部工具:Nmap:端口扫描

Vim编译器

VIM命令使用

Linux防火墙

开启iptables:
systemctl start iptables
关闭iptables:
systemctl stop iptables
查看iptables现有的规则:
iptables -L -n
开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
禁用23端口
iptables -A INPUT -p tcp --dport 23 -j DROP
添加信任网络
iptables -A INPUT -p tcp -s 1.1.1.1 -j ACCEPT
删除某个信任ip
iptables -D INPUT -p tcp -s 1.1.1.1 -j ACCEPT

Linux日志信息

Linux日志大多是以明文存储,一般存储在/var/log目录中,linux系统主要有三个日志子系统:
连接时间日志,进程统计日志,错误日志。
linux中可以配置日志文件,需要修改日志文件syslog.conf的配置,通常是不用配置,除非特殊
使用人群。

日志文件介绍:

  • boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
  • lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
  • messages:记录Linux操作系统常见的系统和服务错误信息
  • secure : Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
  • btmp:记录Linux登陆失败的用户、时间以及远程IP地址
  • syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
  • wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

命令

cp命令
参数:
-a: archive的意思,若要复制的文件为目录,则复制整个目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作-:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性—起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件

mv命令
参数:
-f: force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新

>/>>命令
>:输出重定向,会覆盖文件内容,要是没有那个文件会创建该文件在写入。(渗透过程中,拿到权限隐藏木马的时候除了写一个木马子程序之外,可以在其他位置写一个木马父程序,在子木马被删除时,及时在其它或者相同位置写入子木马)
>>:输出重定向,不会覆盖文件内容,而是追加到文件内容尾部。

ln命令
描述:创建链接文件
参数:
-i:交互模式,文件存在则提示用户是否覆盖。
-s:软链接(符号链接)。
-d:允许超级用户制作目录的硬链接。
-b:删除,覆盖以前建立的链接
软链接(符号链接): In -s source target
硬链接(实体链接): In source target
在这里插入图片描述也就是说在调用ln命令之后它会在当前目录建立一个软/硬链接,我们就可以在当前目录访问其他目录下的文件。
有一个跟它很像的符号可以用来绕过渗透过程中对cat的过滤:nl

ps命令
描述:查看进程信息参数:
-A∶所有的进程均显示出来,与-e具有同样的效用;
-a :显示现行终端机下的所有进程,包括其他用户的进程;
-u∶以用户为主的进程状态;
x ︰通常与a这个参数一起使用,可列出较完整信息。
在这里插入图片描述还有其他的一些命令就不一一说明

将脚本(木马)开机自启动这里具一个例子
1、赋予脚本可执行权限(/opt/script/shell.sh是你的脚本路径)chmod +x /opt/script/shell.sh
2、打开/etc/rc.d/rc.local或/etc/rc.local文件,在末尾增加如下内容su - user -c ‘/opt/script/shell.sh’
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限chmod +x /etc/rc.d/rc.local
其他对于木马的隐藏操作见下文。

标签:总结,文件,渗透,用户,etc,Linux,权限,目录
来源: https://blog.csdn.net/cainiao17441898/article/details/120973359

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有