声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

LInux基础

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

\image\vmware_HTuXnlbNaw.png

md5生成128位
sha1生成160位
sha256生成的为256位(对同一数据加密生成的字符串不同)

shor算法对这些密码都是降维打击(没见过)

作业:去复现一遍

image\vmware_2A7wnkdfhn.png

../typora-user-images/vmware_3ob5EDVsHZ.png

image-20241213142902532

image-20241213142955601image-20241213143237796

touch
rm
mkdir
rmdir
mv
cp
ln -s original.txt symlink.txt(软链接)
ln ~/offsec123.txt hardlink.txt (硬链接)
硬连接:同一个文件,多个名称,共享同一个inode信息,只能在同一个文件系统中使用,不支持目录创建,只对文件创建,只有在删除一个文件的所有名称时,此文件才会在磁盘上删除,使用ln命令创建。
软链接:不同的文件,指向另一个文件的路径,可以跨文件系统和操作系统使用,支持对文件和目录的创建,删除软连接不会影响源文件,但若是源文件被删除,软连接则会失效,使用ln -s创建。

文件系统:ntfs fat32 exfat 磁盘格式:mbr efi

软连接用于方便使用,硬链接用于防止误删

搜索文件:

image-20241213143428884

image-20241213143515124

image-20241213143743251

image-20241213143859663

image-20241213144019695

image-20241213144302854

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1.which用于查找命令的可执行文件路径。例如:which ls

echo 用于输出内容的命令
echo $PATH会输出系统环境变量

2.locate 用于快速查找文件,它通过查询一个事先构建好的文件数据库来实现(视频中的数据库local.db并未找到),通过uodatedb命令来进行数据库的更新
数据库文件通常位于 /var/lib/mlocate/mlocate.db 或 /var/lib/slocate/slocate.db

sudo用于以管理员权限执行命令
locate whoami.exe

3.find
find -mtime2 -ls | sort -k9 k10 | more
-mtime 2 查找在2天内被修改过的文件
-ls 用于以长列表形式显示找到的文件
| 是管道符,将前一个命令的输出作为后一个命令的输入
sort -k9 -k10 按照第9列和第10列的内容对文件信息进行排序
more 用于分页显示结果
find -type f -iname '*.sh' -mmin 30 -ls
-type f 表示查找类型为普通文件
-iname '*.sh' 查找文件名以sh结尾的文件
-mmin -30 表示查找在30分众内修改过的文件
-ls 表示以长列表的形式显示找到的文件信息
find -name '*.svn' -exec rm -f {};
-name 查找文件结尾名为'.svn'的文件名
(-name区分大小写,-iname不区分大小写)
-exex 表示对查询到的文件执行的命令
-exec rm -f {};表示对查询到的文件依次执行强制删除命令
find / -user root -type f -perm -o=w -name '*.sh' 2>/dev/null
find / 表示在根目录下找
-user root 表示找所有者为root的文件
-type f 表示查找文件的类型为普通文件
-perm -o=w 表示查找其他用户有写权限的文件
-name '*.sh' 查找文件名以'.sh'结尾的文件
2>/dev/null 表示将错误信息重定向到/dev/null,即不显示错误信息

用户账号数据库:

/etc/passwd
/etc/shadow

组账号:

/etc/group

image-20241213144432651

禁用账号
sudo passwd -l username
chage -E 1990-01-01 kali
passwd -S username

-l 参数用于锁定
-E 用于修改用户密码的过期时间,使得用户密码过期而无法登录
-S 用于显示指定用户的密码状态信息

image-20241213144631634

image-20241213144609443

文件系统权限:

1
2
3
4
5
6
7
8
9
10
11
12
13
Linux中一切都是文件
一。查看文件权限
ls -la /etc/passwd
-l 指定显示格式(显示详细信息) -a 显示隐藏文件
二。更改文件所有者
chown 用户 文件
三。修改文件权限
sudo chmod u=rwx,g+rw,o-r file
u=rwx 给文件所有者所有权限
g+rw 给文件所属组读写的权限
o-r 其他用户减去读的权限
sudo chmod 777 file

image-20241213145035152

image-20241213145105842

日志:

image-20241213145143658

认证信息日志在kali机中不存在,只存在这些日志
image-20241213145725570

image-20241213145247261

image-20241213145443253

image-20241213145520111

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
系统日志
ls -l/var/log
此文件是系统日志文件所在的目录,执行此命令可以查看该目录下的日志文件列表及相关信息

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

二进制日志
who /var/log/wtmp | tail-5
此文件是一个二进制日志文件,记录了系统的登录和注册信息。

内核环形缓冲区
dmesg
用于显示内核缓冲区中的信息,包括系统启动时的硬件检测信息,内核模块加载信息,设备驱动的初始化信息,它可以帮助用户了解系统的硬件状态和内核的运行情况。

systemd日志
journalctl
这是一个用于查看和管理systemd日志的命令。systemd时linux系统的初始化系统和服务管理器,他会记录系统和服务的启动,运行和错误信息等日志。有不同的参数对记录进行筛选。

存储管理

image-20241213145801903

image-20241213145823543

image-20241213145900022

image-20241213145929157

磁盘挂载:

未进行磁盘分区,只有一个正在使用的分区,未进行挂载演示,请查询磁盘分区方法,分区后进行挂载,将磁盘内的内存挂到某一目录下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
一:内存使用量
free -m
显示系统内存的使用情况
二:磁盘使用量
df -hT
-h 人类可读
-T 显示文件系统类型,执行这个命令可以查看各个磁盘分区的总大小,已使用空间,可用空间以及文件系统类型等信息
三。文件或目录大小
sudo du /* -hsc
-h 人类可读的形式
-s 汇总显示每个参数的总大小
-c 最后显示总计
四。查看硬盘分区
sudo fdisk -l
-l 列出详细信息
五。挂载分区
sudo mount /dev/sdb1 /mnt/usb

基本网络工具

image-20241213150602104

image-20241213150623056

image-20241213150652619

image-20241213150804463

此处说未知的接口,但是ifconfig查询得到的就是此接口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
一:基本网络工具
ifconfig
配置和显示网络接口信息
ip addr
比ifconfig更详细
sudo ifdown eth0
关闭网络接口eth0
sudo ifup eth0
打开网络接口eth0
二:网络配置
/etc/network/interfaces
这是一个系统文件,用于手动配置网络接口的静态ip地址,子网掩码,网关等信息,在一些linux发行版中,通过配置这个文件可以实现网络接口的手动配置。
NetworkManager(在真实机中存在)
是一个动态网络控制和配置守护进程
它可以自动管理网络连接,包括有线网络,无线网络,vpn连接等
提供了命令行工具和图形化界面,可以自动检测网络变化,并根据配置自动连接到可用的网络。

网络链接

image-20241213150933174

image-20241213150953575

image-20241213151020706

image-20241213151040786

image-20241213151159676

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
网络链接状态查看工具

netstat -netup
netstat是一个用于显示网络连接,路由表,接口统计等信息的命令
ss -netup 比netstat快速高效
二。二层地址查看工具
arp -en
-e 以详细格式显示ARP缓存表
-n 以数字形式显示IP地址,避免进行域名解析,执行这个命令可以查看系统的ARP缓存表,其中包含了IP地址和对应的MAC地址映射关系,用于在局域网中进行二层地址解析。
三。路由信息相关工具
route
ip route(更详细)
sudo ip route add 10.13.37.0/24 dev oth1
四。路由跟踪工具
traceroute offensive-security.com

ssh服务

image-20241213151431056

image-20241213151420776

可以看到正常连接,且当前路径发生变化

image-20241213151545742

image-20241213151753020

1
2
3
4
5
6
7
8
9
10
11
12
一。启动服务
sudo systemctl start ssh
systemctl是用于管理系统服务的工具。
start ssh是启动名为ssh的服务
二。连接本地主机
ssh root@localhot
三。配置文件
/etc/ssh/sshd_config
四。客户端配置
hash knownHosts yes(ssh配置文件中的配置)
通常情况下,/.ssh/known_hosts文件用于储存已知的远程主机的公钥信息
/.ssh这是用户主目录下的一个目录,用于存储ssh客户端的配置和相关文件。通常包含私钥文件,公钥文件以及已知主机文件等,这些文件用于ssh客户端的身份认证和连接管理。

远程拷贝

image-20241213152137139

在kali虚拟机中,1.1.1.1地址不知为何不可使用

image-20241213152239007

可以看到文件已正常下载

image-20241213152326002

1
2
3
4
5
6
scp root@1.1.1.1:/home/kali/.bashrc Copiedbashrc
scp是Secure Copy的缩写,用于在不同主机之间安全的复制文件
scp passwd -p kali ssh root@127.0.0.1
查看历史命令
history