基础之linux
声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec
文章目录
- 基础之linux
- 一、OpenSSL
- 二、文件管理
- 1.创建文件
- 2.删除文件
- 3.创建目录
- 4.删除目录
- 5.重命名文件
- 6.移动文件
- 7.拷贝文件
- 8.软连接
- 9.硬连接
- 三、搜索文件
- 1.命令文件的路径
- 2.通过查询一些构建的文件数据库来查询文件
- 3.搜索文件
- 四、用户账号数据库
- 1.用户账号信息
- 2.用户账号口令
- 3.用户组信息
- 4.禁用账号
- 五、文件系统权限
- 1.查看权限
- 2.更改文件所有者
- 3.修改文件权限
- 六、系统日志
- 1.查看日志目录
- 2.二进制日志
- 3.内核环形缓冲区信息
- 4.systemd日志
- 七、存储管理
- 1.内存使用量
- 2.磁盘使用量
- 3.文件目录大小
- 4.查看硬盘分区
- 5.挂载分区
- 八、基本网络枚举
- 1.查看网络配置
- 2.网络配置
- 3.网络连接
- 4.二层地址
- 5.路由信息
- 6.工具
- 7.ssh服务
- 9.远程拷贝
- 10.查看历史命令
- 总结
一、OpenSSL
openssl是一个开源的加密工具包,提供各种加密,解密,签名,验证等等功能
在kali中有自带的,那么我们练习一下
1.openssl passwd -1 123
解析:使用openssl 的passwd命令生成用于密码的MD5的哈希值
-1参数指定使用md5加密算法对密码'123'进行加密处理。
md5加密算法:将任意长度的输入数据转换为固定长度的输出(通常为128位)
2.openssl passwd -5 123
解析:使用openssl 的passwd命令生成用于密码的SHA-256的哈希值
-5参数为指定使用SHA-256哈希算法对'123'进行加密处理。
SHA-256哈希算法:生成的哈希值长度位256位。每次对相同的密码进行加密时,由于加密过程中通常会引入随机因素吗,所以每次密文都不一样。
在这里是大致科普一下关于加解密的模块,感兴趣的可以去了解一下 ‘-’+各种数字的加解密方式
二、文件管理
1.创建文件
命令:touch创建文件
touch file1 :创建名为file1的单个文件
touch file2 file3 :创建多个文件
2.删除文件
命令:rm删除文件
rm file1 :删除名为file1的文件
rm file2 file3 :删除多个文件
3.创建目录
命令:mkdir创建目录
mkdir 1 :创建名为1的单个目录
mkdir 2 3 :创建多个目录
4.删除目录
命令rmdir删除目录
rmdir 1 :删除名为1的单个空目录
rmdir 2 3 :删除多个空目录
5.重命名文件
命令mv:重命名或移动文件
mv file1 file2 :将file1文件重命名为file2
6.移动文件
命令:mv移动或重命名文件
mv file2 / :将当前目录的file2,移动到当前目录的/目录下
7.拷贝文件
命令:cp拷贝文件
cp //file2 ./ :从当前目录的/目录中将file2文件拷贝到当前目录
8.软连接
命令:ln创建连接
ln -s 2 ./1/file3 :将2的软件创建到当前目录下的1目录并重命名为file3
9.硬连接
命令:ln创建连接,不允许在root目录创建硬链接,目标目录没有已存在的文件
ln 2 ./1 :将2文件的硬连接创建到当前目录下的1目录下
三、搜索文件
1.命令文件的路径
命令:which显示
which -a ls
which -a whoami
which -a touch
2.通过查询一些构建的文件数据库来查询文件
命令:locate查询构建的文件数据库查询文件
locate -A 2 :使用所有方式查询名含2的文件
3.搜索文件
命令:find查询系统的文件
sudo find / -name 'file*' -type f -user root -atime -1
查询文件名为file开头的普通文件且用户所有者为”root”,一天内修改的文件
Sudo:以管理员权限执行find命令
-name参数为查找文件名。*是通配符匹配任意字符。表示查找以file开头的文件
-type参数为查收文件类型,f为普通文件,d为目录。表示查找文件类型为普通文件的文件
-user参数为用户类型。表示查找root用户的文件
-atime表示修改时间,1为一天前,-1为一天内
四、用户账号数据库
1.用户账号信息
/etc/passwd 存储用户的账号信息
格式:用户名 : 密码 : UID(用户ID) : GID(组ID) : 描述性信息 : 主目录 : 默认shell
密码字段的”X”表示设有密码,不是真正密码
2.用户账号口令
/etc/shadow 存储用户的加密口令
格式:用户名 : 加密密码 : 最后一次修改时间 : 最小修改时间间隔 : 密码有效期 : 密码需要变更前的警告天数 : 密码过期后的宽限时间 : 账号失效时间 : 保留字段
3.用户组信息
/etc/group 存储用户组信息
格式:组名 : 密码 : GID : 该组用户列表
4.禁用账号
命令:passwd,chage
sudo passwd -l linuxkill :使用管理员权限禁用linuxkill用户
sudo chage -E 2000-01-01 linuxkill :管理员权限修改用户口令过期信息
sudo passwd -S linuxkill :显示指定用户账号的密码状态
passwd:用于管理用户密码的命令,-l为锁定用户账号,-S表示口令状态信息
chage:修改用户口令过期的信息,-E设置用户口令过期时间
五、文件系统权限
linux系统中一切都是文件
1.查看权限
命令:ls查看当前目录的文件
ll :查看文件详细信息
ls -la:查看包括隐藏文件的详细信息
ll等于ls-l
-l:表示详细信息,-a表示显示隐藏文件
2.更改文件所有者
命令:chown修改文件的所有者和组
chown root file2
chown root:root 88888888
3.修改文件权限
命令:chmod修改文件权限
权限777为八进制:r=4,w=2,x=1。
权限代表:r=读,w=写,x=执行
用户代表:u=文件所有者,g=文件所有组,o=其他
chmod 777 2
chmod u=r-x,g=r--,o=--- 2
chmod u+w,g-r 2
六、系统日志
1.查看日志目录
命令:ls -l /var/log
2.二进制日志
命令:who /var/log/wtmp
3.内核环形缓冲区信息
命令:dmesg
4.systemd日志
命令:journalctl
七、存储管理
1.内存使用量
命令:free -m
2.磁盘使用量
命令:df -hT
3.文件目录大小
命令:du ./* -hsc
查看当前目录下所有目录大小
4.查看硬盘分区
命令:sudo fdisk -l
5.挂载分区
sudo mount /dev/sda1 /mnt/usb
八、基本网络枚举
1.查看网络配置
命令:ifconfig
命令:ip addr
命令:ifdown eth0
命令:ifup eth0
2.网络配置
配置文件:/etc/network/interfaces
命令:vi /etc/network/interfaces :查看文件
这是一个系统文件,用于配置网络接口的静态IP地址,子网掩码,网关等信息
通过编辑这个文件可以是现实网络接口的手动配置
NetworkManager:
是一个动态网络控制和配置守护进程,可以自动管理网络连接,包括有线网络,无线网络和VPN连接等
3.网络连接
命令:netstat-natup
netstat 是一个网络工具,用于显示网络连接、路由表、接口统计、伪装连接以及多播成员资格等信息。
命令:ss -netup
和netstat类似
4.二层地址
命令:arp -en
显示mac地址
5.路由信息
命令:route
命令:ip route
命令:ip route add 10.10.10.0/24
6.工具
网络连接状态查看工具
命令:netserat -natup
用于显示网络连接,路由表,接口统计等信息命令
-n选项表示以数字形式显示地址和端口号
-a选项显示所有的连接和监听端口
-t选项显示TCP连接
-u选项显示UDP连接
-p选项显示与连接相关的进程ID和程序名称。
二层地址查看工具
arp -en
arp是地址解析协议的工具
-e选项以详细格式显示arp缓存表
n选项以数字形式显示IP地址。
路由跟踪工具
traceroute URL
traceroute 是一个用于跟踪数据包从本地到目标主机
7.ssh服务
启动ssh
命令:sudo systemctl start ssh
登录ssh
命令:ssh root@localhost
配置文件
命令:vi /etc/ssh/sshd_config
用于配置SSH服务器的行为和属性。定义SSH服务器的端口,设置允许的用户和认证方式等。
客户端配置
命令:hash knownHosts yes
启动服务
sudo systemctl start ssh
sudo:表示以管理员权限执行命令
systemctl:表示用于管理系统服务的工具
start ssh:表示启动名为"ssh"的服务,使得其他设备通过ssh协议连接到这台主机
连接本地地址
ssh root@localhost
ssh:是Secure Shell的客户端命令
root:表示要以"root"用户身份进行登录
@localhost:表示连接到本地主机。
配置文件
/etc/ssh/sshd_config
这是ssh服务器的主要配置文件
其中包含了各种参数,可以用来配置SSH服务器的行为,比如端口号,允许的登录用户,认证方式,访问控制等。
客户端配置
hash knownHosts yes
通常情况下,/.ssh/known_hosts文件用于存储已知的远程主机的公钥信息,以确保连接的安全性。
/.ssh:是用户主目录下的一个目录,用于存储SSH客户端的配置和相关文件
9.远程拷贝
scp root@1.1.1.1:/home/kali/.bashrc Copiedbashrc
scp passwd -p kali ssh root@127.0.0.1
scp:是Secure Copy的缩写,用于在不同主机之间安全地复制文件
root@1.1.1.1:表示从IP地址为1.1.1.1的主机以"root"用户身份进行操作
/home/kali/.bashrc:是源文件路径,即要从远程主机上复制的文件
Copiedbashrc:是目标文件名称或目标路径
10.查看历史命令
history:这个命令用于显示命令历史记录,即之前在当前终端会话中执行过的命令列表
命令:history
总结
多敲多练,跟着泷哥还有师兄的博客一个一个敲出来,在实验之前可以先拍个快照,就不会那么乱。