• 替换linux系统文件etc下passwd文件的字段获取真正的root权限


    sudo与root


    很多人都知道使用linux可以利用sudo来执行一些root权限执行的事情,但是sudo和root还是有很大的区别的。

    • 区别一:sudo可以执行的命令是root账户利用/etc/sudoers文件中的配置限制其他用户执行的,即便执行了sudo su -,也不是正在意义上的root账户;
    • 区别二:sudo执行命令的时候使用的环境变量仍然是其他用户自己的;
      所以,为了能够真正的获取到root权限,去做你想做的任何事情,需要拿到真正的root权限。

    前提基础


    1、获取root的权限,也并不是没有前提的,至少具备/etc/password和/etc/shadow的其中一个文件的修改权限,这个并非root本身才能执行,一般拿到了账号密码的普通账号都可以做到,对于非root的账号的sudo权限限制,并不是做的那么好。2、具备密码hash生成机,这个很简单,可以用c语言编写一个,编译后,随处可用。和密码爆破机的原理一模一样。

    • 源代码:
    #include <stdio.h>
    #include <crypt.h>
    #include <unistd.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[]){
    	//const char *userPassword = "1234";
    	//const char *saltString = "$6$UaS4js6$";
    	printf("%s
    ",crypt((const char*)argv[1], (const char*)argv[2]));
    	//printf("%s
    ", hashString);
    }
    
    +  使用方法:
    

    ./crack 1234 $6$UaS4js6$

    
    +  效果:
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921113107423-542887066.png)
    
    
    ##  覆盖密码:
    ***
    ###  1、配置ubuntu的root密码为toor1234
    

    bobac@ubuntu:~$ sudo passwd root
    [sudo] password for bobac:
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully

    
    ###  2、root登录验证一下
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114224190-1399704997.png)
    
    ###  3、验证root的密码
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114323229-1980475257.png)
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114512542-205662904.png)
    
    ###  4、生成新密码
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114556600-1614107809.png)
    
    ###  5、替换/etc/passwd
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114717818-1362452504.png)
    
    ###  6、尝试使用新密码1234 登录:
    ![](https://img2018.cnblogs.com/blog/1070321/201809/1070321-20180921114806793-443963213.png)
  • 相关阅读:
    mysql主从同步图
    VS2010智能提示失效,关键字不智能提示!
    mvc3的SaveChanges()方法无效,数据并没有更新!
    使用uploadify上传插件时遇到 NetworkError: 403 Forbidden http://xxxx/xxxx/ 错误
    Asp.net 调用mysql存储过程参数传中文乱码!
    The entity type XXXInfo is not part of the model for the current context.
    爬取汽车网站汽车数据
    《牛顿和莱布尼兹对最速降落线问题的解法,少为人知》 回复
    《谁能证明:标准波面的光若能汇集于一点,则它们的光程长度必然相等》 回复
    200^199 和 199^200 哪个大 ?
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/9685815.html
Copyright © 2020-2023  润新知