首页 > 系统相关 >泷羽Sec学习笔记:linux基础

泷羽Sec学习笔记:linux基础

时间:2024-11-21 23:19:00浏览次数:3  
标签:表示 文件 sudo 命令 Sec ssh linux 泷羽 权限

openssl passwd -1 123

openssl passwd -1 123

  openssl是一个开源的加密工具包,提供了各种加密,解密,签名,验证等功能

  passwd表示该命令是对密码进行相关的操作

  -1参数指定使用MD5加密算法对密码123进行加密处理,使用这个命令可以将密码“123”变为MD5加密后的密文。

openssl passwd -5 123

openssl passwd -5 123

  与上文一样,-5是指定使用SHA-256进行哈希加密处理,SHA-256是一种更安全的哈希加密算法,由于加密时会引入随机因素,所以每次生成的密文是不一样的。这增加了密码的安全性,即使攻击者获得了密文,也很难计算得到原始密码。


文件管理

创建新文件:touch new file

如:touch task11.c


删除文件:rm file

如:rm task11.c


新建目录:mkdir newdir

如:mkdir 新建文件夹


删除空目录:rmdir dir

如:rmdir 新建文件夹


重命名文件:mv 1.txt 2.txt


移动文件:mv 2.txt dir

如:mv 2.txt 2


复制文件:cp file.txt dir


软链接:ln -s original.txt symlink.txt

硬链接:ln ~/offsec123.txt hardlink.txt


搜索文件

1.which

echo $PATH

echo $PATH

"which":搜索命令的可执行文件路径,如which ls

"echo":显示文本信息,"$PATH":所列出的目录中依次查找该命令的可执行文件


2.locate(local.db)

"locate":用于快速查找文件,它通过查询一个预先构建的数据库来实现。locate file

sudo updatedb

sudo updatedb

  updatedb用于更新locate所使用的数据库

locate whoami.exe 

locate whoami.exe 

查找whoami.exe这个文件,如果系统有这个文件,则会输出该文件的路径


3.find

find ~ -mtime 2 -ls | sort -k9 -k10 | more :

find ~ -mtime 2 -ls | sort -k9 -k10 | more 

~ 表示主目录,在主目录下查找。

-mtime 2 表示在2天内被修改的文件。

-ls 表示用长列表的形式展示搜索到的文件。

| 为管道符号,将前一个的输出作为后一个的输入。

sort -k9 -k10 是按照第9行第10列的内容对文件进行排序。

more  用于分页显示结果,方便查看。


find . -type f -iname '*.sh' -mmin 30 -ls

find . -type f -iname '*.sh' -mmin 30 -ls

 find.  表示在当前目录查找

-type f  表示查找的文件类型为普通文件

-iname '*.sh'  表示查找的文件以.sh命名的类型,注意这里的空格可能会导致结果不准确,应该紧贴通配符,如:'*sh',

-mmin 30  表示在30分钟内被修改的文件。

-ls 表示用长列表的形式展示搜索到的文件。


find . -name '*.svn' -exec rm -rf {} \;

find . -name '*.svn' -exec rm -rf {} \

 find .  表示在当前目录查找

-name '*.svn'  表示查找名为.svn的文件

-exec rm -rf {} \;  表示找到的每个结果执行“rm -rf”指令,即删除找到的文件或目录。


find / -user root type -f -prem -o=w -name '*.sh' 2>/dev/null

find / -user root type -f -prem -o=w -name '*.sh' 2>/dev/null

find /  在整个文件(根目录‘/’)系统里面查找

-user root  表示查找所有者名为‘root’用户的文件

-type f  表示查找的文件类型为普通文件

-prem -o=w  表示查找其他用户有写权限的文件

-name '*.sh'  表示查找名为.sh的文件

2>/dev/null  将错误输出重定向到/dev/null里面,即不显示错误信息。


用户账号数据库


*用户账号数据库等相关文件:

/etc/passwd

这是应该重要的系统文件,存储了系统中用户的账号信息

每一行代表一个用户,包括了用户名,密码占用符,用户id,用户组id,用户描述信息,用户主目录,用户默认shell等字段。

/etc/shadow

这个文件也与用户账号相关,主要存储密码的加密信息以及密码的一些属性,如密码的最后一次修改时间,密码最短使用期限,密码最长使用期限等。

只有具有一定权限的用户(通常是root)才能读取这个文件,,提高了密码的安全性。


组账号 :

cat /etc/gruop

cat /etc/gruop

用来查看组信息,其中包含了用户组id。


*禁用账号:

sudo passwd -l username
sudo passwd -l username

sudo  表示以管理员权限执行命令

passwd  用于管理密码的命令

-l 用于锁定用户账号,当执行这个命令后,用户username将被锁定,无法登录系统。


chage -E 1990-01-01 kali

chage  用于修改用户密码的过期信息

-E  后面跟着一个时间,表示过期时间为1990-01-01,用户账号为kali,通常过期之后该账号将无法正常使用,除非重新设置过期时间。


passwd -S username
passwd -S username

passwd  命令的另一个用法

-S  用于显示指定账号的密码信息,包括账号是否被锁定,密码是否已设置,密码最后一次修改时间等。


文件系统权限

Linux系统中全是文件


查看权限:
ls -la /etc/passwd
ls -la /etc/passwd

  

  ls是列出目录的命令

  -l 以长格式显示文本信息,包括文件的权限,所有者,所有组,文件大小,修改时间的详细信息

  -a  显示包括隐藏文件在内的所有文件

  /etc/passwd  表示要查看的文件路径


更改文件所有者:
chown root file
chown root file

  chown  是改变文件所有者的命令

  root  是新的文件所有者

  file  是文件名称,执行完命令后,file的所有者将变成root


修改文件权限:
sudo chmod u=rwx,g+rw,o-r file
sudo chmod u=rwx,g+rw,o-r file

  sudo  表示以管理员权限执行命令

  chmod  是改变文件权限的命令

  u=rwx  表示文件所有者(user)具有读(r)写(w),执行(x)权限

  g+rw  表示所属组具有读(r)和写(w)权限

  o-r  表示其他用户去除读(r)权限

  file  表示目标文件

  


sudo chmod u+x,g+rw,o-r file
sudo chmod u+x,g+rw,o-r file

  u+x  表示给所有者增加执行(x)权限

  g+rw  表示所属组增加读(r)写(w)权限

  o-r  表示其他用户去除读(r)权限

  file  表示目标文件


 chmod 400 <file>
 chmod 400 <file>

  chmod  直接以数字方式设置权限

  400  是权限的数字表现方式,“4”表示所有者的权限,这里代表读(r),因为4对应的就是读(r)权限,后面两个00表示所属组和其他用户没有任何权限。

  <file>  表示要设置权限的文件(报错就去掉<>)


日志

系统日志:

ls -l /var/log
ls -l /var/log

ls  是列出目录的命令

-l 以长格式显示文本信息,包括文件的权限,所有者,所有组,文件大小,修改时间的详细信息

/var/log  是系统日志所在的目录


认证信息日志:

sudo tail -3 /var/log/auth.log
sudo tail -3 /var/log/auth.log

sudo  表示以管理员权限执行命令

tail  该命令用于查看文件的末尾部分

-3  表示显示文件的最后3行内容

/var/log/auth.log  是存储系统认证信息日志的文件,包括用户登录,认证失败等信息,执行该命令,可查看3条认证相关的日志信息


二进制日志:

who /var/log/wtmp/ | tail -5
who /var/log/wtmp/ | tail -5

who  显示当前登录的用户信息

/var/log/wtmp/  是一个二进制日志文件,记录了系统的登录和注销信息

| 为管道符号,将前一个的输出作为后一个的输入。

tail  该命令用于查看文件的末尾部分

-5  表示显示文件的最后5行内容,执行该命令可查看最近的五次登录和注销信息。


dmesg

dmesg  该命令用于查看和控制内核环形缓冲区。它可以在排查内核或硬件问题时提供很大的帮助。这些消息包含有关硬件检测、设备初始化以及内核可能遇到的任何潜在问题的重要信息。


systemd日志相关命令

journalctl  这是一个查看和管理systemd日志的命令,systemd是Linux 操作系统的系统和服务管理器,它会记录系统和服务的启动,运行和错误等日志,journalctl可以通过不同的参数来筛选,查看特定时间段,特定服务或特定优先级的日志记录。


存储管理

内存使用量:

free -m
free -m

free  该命令用于显示系统内存的使用情况。

-m  表示以兆(MB)字节为单位显示内存使用情况。


磁盘使用量

df -hT
df -hT

df  该命令用于显示磁盘使用情况。

-h  以人类可读的形式(如kb,mb等)显示磁盘空间大小

-T  显示文件系统类型。


文件或目录大小

sudo du ./* -hsc
sudo du ./* -hsc

sudo  表示以管理员权限执行命令

du  该命令用于统计文件或目录的磁盘使用空间

./*  表示当前目录下的所有目录和文件

-h  以人类可读的形式(如kb,mb等)显示磁盘空间大小

-s  表示汇总显示每个参数的总大小

-c 表示在最后显示统计


查看硬盘分区

sudo fdisk -l
sudo fdisk -l

sudo  表示以管理员权限执行命令

fdisk  是一个硬盘分区工具

-l  表示列出系统所有硬盘分区信息,包括硬盘的大小,分区类型,分区编号,起始和结束扇区。执行该命令可以了解硬盘分区的情况。


挂载分区

sudo mount /dev/sdb1/mnt/usb
sudo mount /dev/sdb1/mnt/usb

sudo  表示以管理员权限执行命令

mount  该命令用于将一个文件系统挂载到指定目录

/dev/sdb1  是要挂载的磁盘分区的设备路径

/mnt/usb  是挂载点,即要挂载的指定目录。执行该命令后,系统可以访问该分区中的目录和文件,就行访问本地文件系统中的其他目录一样。


基本网络枚举

一.基本网络工具:

ifconfig 

ifconfig 

它是一个用于配置和显示网络接口信息的命令行工具

它可以显示网络接口的ip地址,子网掩码,MAC地址等信息,还可用于启动,停止或配置网络接口。


ip addr
ip addr

也是用于查看和管理网络接口的命令,它提供了比ifconfig更详细和灵活的网络接口信息显示,包括接口的状态,包括ip地址,子网掩码,广播地址等


sudo ifdown eth0
sudo ifdown eth0

sudo  表示以管理员权限执行命令

ifdown  用于关闭指定的接口

eth0  表示网络接口名称。该命令表示关闭名为ech0的网络接口


sudo ifup eth0
sudo ifup eth0

sudo  表示以管理员权限执行命令

ifup  用于打开指定的接口

eth0  表示网络接口名称。该命令表示打开名为ech0的网络接口


二.网络配置

/etc/network/interfaces

这是一个系统文件,用于配置网络接口的静态ip地址,子网掩码,网关等信息。


NetworkManager

是一个动态网络控制和配置守护进程。

它可以自动管理网络连接,包括有限连接,无线连接,vpn连接等。

NetworkManager提供了图形界面和命令行工具来控制和管理网络,使得网络配置更加方便和灵活,它可以自动检测网络的变化,并根据配置自动连接到可用的网络。


网络链接

一.网络连接状态查看工具

netstat -natup
netstat -natup

netstat  是一个用于显示网络连接,路由器,接口统计等信息的命令

-n  表示以数字形式显示地址和端口号,避免进行域名解析。

-a  表示显示所有的连接和监听端口。

-t  表示显示TCP连接

-u  表示显示UDP连接

-p  表示显示与进程相关的进程ID和程序名称。执行这个命令可以查看系统当前的网络连接状态,包括连接的协议,本地地址和端口,远程地址和端口信息等。


ss -natup
ss -natup

ss  是另一个显示网络套接字状态的工具,它比netstat更高效和快速。

-n  表示以数字形式显示地址和端口号,避免进行域名解析。

-a  表示显示所有的连接和监听端口。

-t  表示显示TCP连接

-u  表示显示UDP连接

-p  表示显示与进程相关的进程ID和程序名称。执行这个命令可以查看系统当前的网络连接状态,包括连接的协议,本地地址和端口,远程地址和端口信息等。


二.二层地址查看工具

arp -en
arp -en

arp  是地址解析协议的工具

-e  以详细格式显示ARP缓存表

-n  表示以数字形式显示地址和端口号,避免进行域名解析。执行该命令可以查看系统的ARP缓存表,其中包括了ip地址和对应的MAC地址映射关系,用于在局域网中进行二层地址解析。


三.路由器信息相关工具

route
route

用于显示和管理系统的路由表

可以查看系统当前的路由信息,包括目标网络,网关,子网掩码等。还可以用于添加或删除或修改路由条目


ip route
ip route

是ip命令的一部分,用于管理系统的路由表

它提供了更强大和灵活的路由管理功能,可以进行更复杂的路由配置操作。


sudo ip route add 10.13.17.0/24 dev ech1
sudo ip route add 10.13.17.0/24 dev ech1

sudo  表示以管理员权限执行命令

ip route add  用于添加路由条目

10.13.17.0/24  是目标网络地址和子网掩码

dev ech1  表示通过名为ech1的接口达到目标网络。执行该命令可以向路由表中添加一条路由,指定如何到达目标网络


四.路由跟踪工具

traceroute offensive-security.com
traceroute offensive-security.com

traceroute  是一个用于跟踪数据包从本地主机到目标主机所经过的路由路径的工具

offensive-security.com  。执行该命令会逐跳显示数据包经过路由器的ip地址和响应时间,帮助用户了解网络连接的路径和可能存在的网络问题。


ssh服务

一.启动服务

sudo systemctl start ssh
sudo systemctl start ssh

sudo  表示以管理员权限执行命令

systemctl  是用于管理系统服务的工具

start ssh  启动ssh服务,让其他设备可以通过ssh协议连接到这台主机


二.连接本地主机

ssh root@localhost
ssh root@localhost

ssh  是Secure Shell 客户端命令

root  表示以root的身份进行登录

@localhost  表示连接到本地主机。如果ssh服务启动成功且配置正确,且用户具有相应的权限,就可以成功登录获得一个远程命令行对话。


三.配置文件

/etc/ssh/sshd_config

这是ssh服务器主要配置文件

其中包含了各种参数,可以用来配置ssh服务器的行为,如端口号,允许的登录用户,认证方式,访问控制等。通过编辑这个文件,可以根据需求进行定制化配置。


四.客户端配置

hash knownHosts yes 

通常情况下,/.ssh/known_hosts文件用于存储已知的远程的主机公钥信息,以确保连接的安全性。

~/.ssh  这是用户主目录下是一个目录,用于存储ssh客户端的配置和相关文件

通常包括私钥文件(如id_rsa),公钥文件(如id_rsa.pub)和已知主机文件(known_hosts)等。

这些文件用于ssh客户端的身份认证和连接管理。


远程拷贝

scp [email protected]:/home/kali/.bashrc Copiedbashrc

scp  是Secure copy的缩写,用于在不同的主机上安全的拷贝文件

[email protected]  表示从ip地址为1.1.1.1的主机上以root的用户身份进行操作

/home/kali/.bashrc  是源文件路径,即要从远程主机上复制的文件。

Copiedbashrc  是目标文件名称或文件路径。这个命令会从远程主机复制.bashrc文件到本地并命名为Copiedbashrc

scp passwd -p kali ssh [email protected]

这个命令看起来不太准确或不太清晰,因为scp的语法是scp 【源文件路径】 【目标文件路径】

passwd -p kali ssh  不太清楚具体含义,如果是想复制名为“passwd”的文件到ip为127.0.0.1的本地主机,可以用  scp [远程用户名]@[远程主机ip]:[远程文件路径] [本地文件路径]


二.查看历史命令

history 

用于显示命令的历史记录,即当前终端执行过的命令列表。可以查看以前执行的命令快速重复执行之前的命令,或者查找以前执行过的特定的指令

标签:表示,文件,sudo,命令,Sec,ssh,linux,泷羽,权限
From: https://blog.csdn.net/2401_83140800/article/details/143807037

相关文章

  • 【SpringSecurity安全】权限绕过漏洞
    一、springsecurity简介springsecurity的核心功能主要包括:认证(你是谁)授权(你能干什么)攻击防护(防止伪造身份)SpringSecurity和Apacheshiro一样,都是安全框架,负责整个系统的认证和授权。那有师傅就要问了,明明shiro之类的漏洞更多,他们凭什么叫安全框架?其实原因就是Spring......
  • Linux内核中unlikely宏的作用
    Linux内核中unlikely宏的作用在Linux内核中,unlikely宏是一个非常重要的工具,它主要用于指导编译器进行代码优化,以提高程序的执行效率。unlikely宏的定义与作用定义:unlikely宏通常定义为__builtin_expect(!!(x),0),其中x是你要判断的表达式。作用:告诉编译器,表达式x的结果......
  • Linux内核中的PAGE_SHIFT
    Linux内核中的PAGE_SHIFT什么是PAGE_SHIFT?在Linux内核中,PAGE_SHIFT是一个非常重要的宏,它定义了一个页的大小,通常是2的幂次方。这个值表示了虚拟地址空间中一个页的偏移量占用了多少位。换句话说,它告诉我们一个页的大小是多少字节。PAGE_SHIFT的作用页大小的确定:PAGE_SHIFT......
  • [Linux]进程控制
    进程控制进程创建fork函数作用fork函数的作用是用来创建一个新进程,新进程被称为子进程,而原来的进程称为父进程。返回值fork函数有两个返回值,给父进程返回子进程pid,给子进程返回0。为什么有两个返回值?在执行fork函数的时候,当fork函数的核心逻辑已经执行完成,准备return时,......
  • Linux下 GDB调试器的使用
    文章目录1.可执行程序的Debug版和Release版区别一、编译选项与目的二、性能与体积三、功能与特性四、查看可执行文件2.GDB相关命令GDB常用命令1.可执行程序的Debug版和Release版区别一、编译选项与目的Debug版:编译选项:通常使用包含调试信息的编译选项,如/MDd......
  • 使用再生龙CloneZilla进行Linux系统的镜像完全封装和还原
    写文章  使用再生龙CloneZilla进行Linux系统的镜像完全封装和还原巴布改不掉晚睡的咸鱼​关注 71人赞同了该文章CloneZilla可以将Linux完整移植到另一台机器中,保证数据,分区,挂载,启动项。。所有的一切完全一致注意:进行还原的机器需要......
  • Linux基础——yum downgrade和yum localinstall降级安装
    一、问题描述需求:租户需要从openssl-1.1.1t-11降级安装openssl-1.1.1f-36,安装包相关依赖问题;报错:rpm安装提示依赖问题 报错:yumlocalinstall本地rpm包无法安装; 二、解决办法1、方法一:yumdowngrade降级#通过本地rpm包或在线yum源安装,加上参数“--allowerasing”允许......
  • 泷羽sec-shodan(7)
    shodan(7)声明!学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主......
  • 从0开始学习Linux——Shell编程详解【04】
     期目录:从0开始学习Linux——简介&安装从0开始学习Linux——搭建属于自己的Linux虚拟机从0开始学习Linux——文本编辑器从0开始学习Linux——Yum工具从0开始学习Linux——远程连接工具从0开始学习Linux——文件目录从0开始学习Linux——网络配置从0开始学习Linux——......
  • linux之磁盘管理
    磁盘管理1.磁盘分类机械硬盘:盘片主轴传动手臂做机械运动类似DVD固态硬盘:内部是主板和U盘类似2.硬盘大小3.5英寸:台式机2.5英寸:笔记本服务器3.硬盘接口IDE接口过时scsi接口过时sata接口台式机3.0nvme接口固态硬盘SAS接口企业级4.硬盘存储......