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