替换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\n",crypt((const char*)argv[1], (const char*)argv[2]));
//printf("%s\n", hashString);
}
+ 使用方法:
./crack 1234 $6$UaS4js6$
+ 效果:

## 覆盖密码:
***
### 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登录验证一下

### 3、验证root的密码


### 4、生成新密码

### 5、替换/etc/passwd

### 6、尝试使用新密码1234 登录:

替换linux系统文件etc下passwd文件的字段获取真正的root权限的更多相关文章
- 在本机eclipse中创建maven项目,查看linux中hadoop下的文件、在本机搭建hadoop环境
注意 第一次建立maven项目时需要在联网情况下,因为他会自动下载一些东西,不然突然终止 需要手动删除断网前建立的文件 在eclipse里新建maven项目步骤 直接新建maven项目出了错 ...
- [转帖]linux /proc目录下的文件为何无法用vi编辑保存
linux /proc目录下的文件为何无法用vi编辑保存 https://blog.51cto.com/xlogin/1216914 学习一下 之前看过书 这一点 没太仔细看.. xlogin关注8人 ...
- Linux系统根目录下各文件夹介绍
参考自:[1]Linux 系统根目录下各个文件夹的作用 https://www.cnblogs.com/jiangfeilong/p/10538795.html[2]了解Linux根目录"/ ...
- LINUX用户管理——/etc/passwd文件详解
输入vi /etc/passwd 可以查看此文件的内容 .本机内容如下: [root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/ ...
- linux或者windows下的文件拷贝
# 上代码 #!/usr/bin/env python # -*- coding:utf-8 -*- import os import shutil import tarfile base_dir ...
- linux下利用C或C++ 语言调用需要root权限的函数
1.setuid法(1)登录root用户,将程序设置成root:root所有者(等价于:登录root用户编译程序).也可直接将普通用户加入root组中,那么编译程序不用来回切换用户.(2)登录root ...
- Ubuntu下获取Nexus7的Root权限
一.准备 下载获取Root权限的工具包. 下载地址: http://downloadandroidrom.com/file/Nexus7/rooting/Nexus7Root.zip 二.解锁 Ubu ...
- linux 查找目录下的文件内容并替换(批量)
2.sed和grep配合 命令:sed -i s/yyyy/xxxx/g `grep yyyy -rl --include="*.txt" ./` 作用:将当前目录(包括子目录)中 ...
- linux /boot目录下的文件分析
一. Linux 启动流程 首先说一下Linux系统大概的启动过程: 1. 主机加电后, 系统首先加载BIOS, 这个BIOS是以写在主板上的. 2. BIOS启动后,执行一些例如开机自检,硬件初始化 ...
随机推荐
- winform c#中子窗体关闭刷新父窗体
父窗体Form1 子窗体Form2 Form1中有一个datagridview控件和一添加按钮,Form2中有一个Text控件和一个保存按钮 要求点击Form1窗体上的添加按钮,弹出Form2,再te ...
- rsync:重要的安全参数
---------------------------------------------------------------------------------------------------- ...
- redhat enterprise edition 6.8:禁止ipv6后,nfs文件系统无法挂载:no such device
如题:谨记. 附注:如何禁止ipv6? 方法一 第一种方法是通过 /etc/sysctl.conf 文件对 /proc 进行永久修改. 换句话说,就是用文本编辑器打开 /etc/sysctl.conf ...
- Android开发学习笔记-自定义组合控件
为了能让代码能够更多的复用,故使用组合控件.下面是我正在写的项目中用到的方法. 1.先写要组合的一些需要的控件,将其封装到一个布局xml布局文件中. <?xml version="1. ...
- mysql覆盖索引(屌的狠,提高速度)
话说有这么一个表: CREATE TABLE `user_group` ( `id` int(11) NOT NULL auto_increment, `uid` int(11) NOT NULL, ...
- Linux的时间设置与同步
http://www.cnblogs.com/liuyou/archive/2012/07/29/2614338.html
- 表单验证<AngularJs>
经常使用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,仅仅要在输入字段元素上加入HTML5标记required就可以: <input type="text" re ...
- Go之对象拷贝
这里interface{}就相当于c#,java中的object, boy := util.Boy{util.Person{"Eric", 19, "boy"} ...
- PHP字符串offset取值特性
在PHP的代码基础上,PHP字符串offset取值特性,可以拿来利用,给PHP应用程序带来安全风险. 在PHP中,可以像操作数组一样操作字符串,字符串中的字符可以用类似数组结构中的方括号包含对应的数字 ...
- Unity3D Shader官方教程翻译(十九)----Shader语法,编写表面着色器
Writing Surface Shaders Writing shaders that interact with lighting is complex. There are different ...