Linux root密码暴力破解及重置的三种方式

Linux Root密码暴力破解及重置的三种方式

一、操作系统启动流程

百度百科 | 链接

  1. 电源打开,计算机加电

  2. 启动BIOS,检测启动项目

  3. 读取启动盘第一个扇区512Bytes,包含是MBR主引导记录(446引导程序bootloader =》grub程序 64分区信息 2结束标志)

  4. grub启动,grub将操作系统内核加载进内存

  5. 操作系统会让BIOS检测驱动程序,读取运行级别

    • 0-》关机,系统默认运行级别不能设为0,否则不能正常启动
    • 1-》单用户模式,不需要输入账号密码登录进操作系统后就是管理员账号=》破解管理员root密码
    • 2=》多用户模式,没有网络
    • 3=》多用户模式,有网络
    • 4=》系统未使用,保留
    • 5=》图形界面模式,有网络
    • 6-》重启,系统默认运行级别不能设为6,否则不能正常启动

二、单用户模式-无任何加密Root密码重置

  1. 开机进入grub界面,按下方向键,阻止系统继续

img

image-20201024185931167

  1. 按e键盘出现如下界面image-20201024190239824

  2. 按方向键下,定位到最后,找到‘ro’一行,ro的意思是read olny,将‘ro’替换成rw init=/sysroot/bin/shimg

    image-20201024190644452

  3. 按住Ctrl+x进入单用户模式

  4. 执行chroot/sysroot。其中chroot命令来切换操作系统,/sysroot/目录就是原始系统

  5. 如果要修改root密码

    使用passwd root命令修改root密码,touch /.autorelabel命令的作用是让我们修改的秘密在SELinux启动的情况下依然能生效,也可以编辑/etc/sysconfig/selinux文件,将selinux设置为disabled。如果不执行,密码不会生效。按Ctrl+d或exit命令退出原始系统,执行reboot重启生效。img

三、grub加密

执行 grub2-setpassword 命令,
然后修改/boot/grub2/grub.cfg文件,删除 --unrestricted

img

img

重启后开机会要求输入grub密码img

四、光盘修复模式

虽然将grub加密能避免这种破解方式,但用户可以通过光盘(或U盘)修复模式,使用光盘里的系统临时先控制硬件,这样就能够修改掉grub密码和root密码。

  • 首先要将系统启动盘插入主机,虚拟机将iso镜像文件载入虚拟光驱即可。开机后按F2或F12亦或者Del键进入BIOS,具体看你的主机,可以在网上找到进入BIOS的键。修改启动顺序,在Boot栏将CD-ROM Drive调整至最上方,然后按F10保存并重启。

    img

    img

  • 选择Troubleshooting故障排除模式

    img

  • 选择第二项,救援CentOS系统

img

img

  • 然后选择1)Continue回车,选项的意思是

    Continue:救援模式程序会自动查找系统中已有的文件系统,并可读写挂载到/mnt/sysimage目录下.
    Read-Only:会以只读的方式挂载已有的文件系统。
    Skip to shell:手动挂载
    
  • 进入后,执行chroot /mnt/sysimage 命令切换到原硬盘上的系统,再执行passwd root命令修改root密码,也能修改grub密码。

    img

  • 执行exit退出原系统,重启即可。

五、BIOS加密

进入BIOS的Security栏,选择Set Supervisor Password回车,然后设置BIOS密码,最后按F10保存即可。
img


img

img

img

当再次进入到BIOS界面时就需要输入加密密码了

img

六.破解BIOS加密

当你忘记了BIOS密码时,终极的办法就是扣电池,如果没有电,它里面的信息就会丢失了。当它再次通上电时,BIOS就会回到未设置的原始状态,当然BIOS密码也就没有了。

七.锁主机, 锁机柜, 主板放保险箱可以防止电池被扣

小伙伴们学废了吗?
提示:操作方式很不安全,谨慎操作。

### 如何在Linux中锁定系统或用户账户 #### 使用 `pam_faillock` 锁定用户账户 为了防止暴力破解攻击,在Red Hat Enterprise Linux 中可以配置 `pam_faillock` 来管理登录失败次数并自动锁定用户账户。当用户的连续登录尝试超过指定数量时,该用户会被暂时禁用一段时间。 具体的配置文件会使得用户在三次不成功的登录尝试之后被锁定,并且会在十分钟后解锁[^1]: ```bash auth required pam_faillock.so preauth audit silent deny=3 even_deny_root fail_interval=900 unlock_time=600 auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root fail_interval=900 unlock_time=600 account required pam_faillock.so ``` 对于root用户来说,需要特别注意安全问题。如果希望同样对root用户启用此功能,则应在 `/etc/pam.d/system-auth` 和 `/etc/pam.d/password-auth` 文件中的认证部分加入如下行来实现这一目的: ```bash auth required pam_faillock.so ``` #### 使用 `pam_tally2` 锁定用户账户 另一种方法是利用 `pam_tally2` 模块来进行类似的控制。要使某个特定条件下锁定用户账号生效,可以在相应的PAM配置文件里添加适当指令。例如,要在一定数目错误登陆后锁住仅限于root用户的帐户,可在 `/etc/pam.d/system-auth` (必要时也包括 `password-auth`) 的验证节处增加下面这行代码[^2]: ```bash auth required pam_tally2.so onerr=fail deny=5 reset ``` 这里的关键参数解释如下: - `deny`: 设置允许的最大失败次数; - `reset`: 表明成功登录后重置计数器; #### 手动锁定/解锁用户账户 除了上述自动化方式外,还可以手动执行命令来立即锁定或解锁任何给定的用户名。使用以下命令可即时阻止某位成员访问其个人资料夹以及整个操作系统服务: 锁定用户: ```bash sudo passwd -l username ``` 解锁用户: ```bash sudo passwd -u username ``` 另外,针对PostgreSQL安装过程中涉及到的操作系统级别的用户管理操作,比如更改默认创建出来的postgres用户的密码,可以通过简单的命令完成[^3]: ```bash sudo passwd postgres Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾维斯Echo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值