Friday, November 20, 2015

Troll Máy tính Tiệm Net ( lưu ý tét cái đầu khi làm ) :3

HƯỚNG DẪN TROLL, HACK MÁY TÍNH TIỆM NÉT NHANH GỌN MÀ KHÔNG CẦN CHO PHÉP Vì mình đang sử dụng windows xp nên mình làm hướng dẫn trên windows xp win7,8,…. vẫn tương tự nhé! Đầu tiên các bạn download VNC view 5.2.1 này về Link Mediafire Sau đó các bạn vào đường dẫn: C:WINDOWSsystem32 >> đổi tên cmd.exe thành “tênkhác”.exe (Vì một số tiệm nét họ chặn quyền mở ứng dụng này trên máy trạm) 1_result ***Lưu ý là bạn đổi tên gì thì phải nhớ vì ta còn sử dụng đến nó Sau đó chúng ta vào: Start>Run> (gõ tên mà chúng ta đã đổi khi nãy.exe)>và nhấn Enter Sau đó chúng ta gõ vào đó như sau: net view >Enter 2_result Chúng ta lại tiếp tục gõ vào đó : ping “máycầnlấyIP” > Enter Mình muốn lấy IP máy 16 thì mình sẽ gõ: Ping may17 >>Enter 3_result Sau đó các bạn mở VNC Viewer lên Bạn gõ vào ô VNC Server IP mà bạn vừa ping được và nhấn vào nút connect 4_result Và thế là ta đã remote desktop được máy đó rồi Giờ thì tha hồ nghịch http://www.mediafire.com/…/VNC-Viewer-5.2.1-Windows-32bit.e…

Con Đường Trở Thành Hacker của tôi


Bắt đầu con đường Hacking như thế nào ???
Tôi đã thấy rất nhiều thành viên yêu cầu cho một hướng dẫn về "nơi để bắt đầu với hack". Vì vậy, đây là ý kiến của tôi về cách họ sẽ nhận được khoảng bắt đầu.
Có ba loại của tin tặc:
Mũ trắng:
Hat Hacker trắng đã dành riêng mình để chống lại phần mềm độc hại và giúp đỡ người khác với những vấn đề máy tính của họ. Ông là một người bạn có thể tin tưởng, và ông sẽ kết thúc rất có thể trong một công việc được trả lương tốt như một lập trình viên máy tính hoặc một nhà tư vấn bảo mật. Ông chắc chắn sẽ không kết thúc trong tù.
Grey Mũ:
Hat Hacker Grey đang ở giữa mũ trắng và mũ đen. Ông rất có thể sẽ cam kết trò đùa vào những người mà ông cho là vô hại, nhưng nó cũng có thể là bất hợp pháp. Ông có thể cùng một lúc được giúp đỡ và giúp bạn với một vấn đề máy tính, nhưng đồng thời lây nhiễm với virus của riêng mình. Có một cơ hội mà những chiếc mũ màu xám sẽ kết thúc trong nhà tù.
Mũ đen:
Các hacker mũ đen còn được gọi là bánh là một trong những người làm xấu đi các trang web, ăn cắp thông tin cá nhân và các hoạt động bất hợp pháp như vậy. Nó là rất tốn thời gian để trở thành một chiếc mũ đen. Nó có thể rất khó khăn cho họ để có được một công việc vì các hoạt động bất hợp pháp. Nếu những hành pháp luật được bạn, bạn có thể mong đợi thời gian tù.
Vì vậy, bắt đầu từ đâu?
Bạn nên biết câu trả lời cho những câu hỏi này trước khi bạn bắt đầu sự nghiệp hack của bạn.

Các loại hình của hacker nào bạn muốn được (mũ trắng, mũ xám hay mũ đen)?
Các loại hình hack nào bạn muốn làm việc với (hack website, khai thác hệ thống, pentesting vv)?
Mục tiêu cuối cùng của bạn là gì?

Bạn phải đáp ứng các yêu cầu để trở thành một hacker thành công.

Bạn phải kiên nhẫn.
Bạn sẽ dành rất nhiều thời gian để hack. Bạn sẽ không bao giờ ngừng học tập, kể từ khi hack là một lối sống.
Bạn cần phải có một máy tính (tôi hy vọng bạn có một từ khi bạn đang đọc này).
Bạn phải quan tâm đến cách các hệ thống máy tính khác nhau hoạt động, và làm thế nào để kiểm soát chúng.

Bây giờ bạn có một ý tưởng về những loại hacker, bạn muốn chúng tôi sẽ xem xét kỹ hơn vào các chủ đề khác nhau mà bạn có thể làm việc với như một hacker.

Trang web Hacking:
Bạn đúng cách đã đoán nó, nhưng trang web hack là về các trang web hack. Bạn sử dụng kỹ năng của bạn để tìm và khai thác lỗ hổng bảo mật trong các trang web và ứng dụng web. Hầu như tất cả những câu chuyện hacking lớn trong các tin tức là về các trang web và cơ sở dữ liệu đã bị hack. Một khi bạn có đủ kinh nghiệm trong bảo mật trang web bạn sẽ ngạc nhiên về cách dễ dàng là để tìm các lỗ hổng trong các trang web. Tuy nhiên, nó sẽ mất rất nhiều công sức và thời gian để đạt đến mức độ kỹ năng. Bạn sẽ cần phải biết một số lượng lớn các ngôn ngữ phía máy chủ và ngôn ngữ xây dựng trang web như PHP, HTML, JavaScript, SQL, ASP, ASP.NET và Perl. Đây chỉ là một số trong những ngôn ngữ mà bạn nên biết. Tôi sẽ khuyên bạn để có JavaScript, SQL và PHP rất nghiêm trọng vì nó là trong những ngôn ngữ mà bạn sẽ tìm thấy hầu hết các lỗ hổng.
Bút thử nghiệm và pháp y:
Bút thử nghiệm và pháp y có thể kiếm được khoản tiền lớn. Đó là những kẻ gọi của công ty khi họ đã bị hack. Họ là những chuyên gia trong các hệ điều hành, kết nối không dây và máy tính khai thác. Bằng cách này sẽ mất rất nhiều thời gian và nỗ lực vì có quá nhiều điều cần biết về. Bạn sẽ biết về cách các hệ điều hành khác nhau công trình, trong đó khai thác có cho họ, làm thế nào để khai thác chúng, các bộ định tuyến, mã hóa, phần mềm độc hại vv Danh sách này là gần như vô tận.
Mã khai thác:
Không nhiều người biết về điều này. Điều này sẽ yêu cầu bạn phải là một chuyên gia đầy đủ tại chương trình. Bạn sẽ có ít nhất là tốt tại các ngôn ngữ lập trình như ngôn ngữ chính của bạn như tiếng Anh. Loại hack được tham gia rất nhiều thời gian, và sẽ đòi hỏi bạn phải kiên nhẫn. Đừng làm cho tôi sai, tất cả các công ty phát hành phần mềm như Symantec, Google, Microsoft, Adobe và Oracle có tin tặc với những kỹ năng này sử dụng để kiểm tra phần mềm của họ cho các lỗ hổng. Đáng buồn thay, họ không thể tìm thấy tất cả các lỗ hổng bảo mật và do đó một số hacker mũ đen rất thông minh có thể tìm thấy chúng, và khai thác chúng trước khi công ty nhận được các lỗ hổng được vá. Bạn nên biết những ngôn ngữ phổ biến nhất như C + +, Java, C vv
Bảo mật máy tính:
Công việc những người làm trông rất giống các pentesters. Những người này có thể phát hiện và phân tích virus và phần mềm độc hại mới. Họ đang làm việc cho các công ty như Symantec, Kaspersky và Avira vv Một số người trong số họ cũng đang làm việc trên phòng thí nghiệm mà các bài kiểm tra của AV và virus mới. Họ là những chuyên gia trong cách mà các virus hoạt động và làm thế nào chúng lây nhiễm sang hệ thống.

Bây giờ bạn sẽ có một ý tưởng trên bắt đầu từ đâu và trong đó hướng bạn muốn đi. Nếu bạn tìm thấy bất kỳ sai sót hoặc lỗi chính tả lòng liên hệ với tôi, và tôi sẽ nhìn vào nó. Tôi sẽ cập nhật chủ đề này gần đây và thêm chi tiết. Tôi sẽ sớm thêm một từ điển, điều này giải thích các điều khoản hack cơ bản nhất. Tôi đã putted rất nhiều nỗ lực trong hướng dẫn này và mục tiêu của tôi với hướng dẫn này là để cho mọi máy tính quan tâm một ý tưởng về nơi mà họ nên bắt đầu.
Để cái gọi là "noobs", những người đọc này:
Tôi hy vọng tôi đã truyền cảm hứng cho bạn để bắt đầu vào hack. Tôi hy vọng rằng tôi đã xóa những thứ lên một chút, vì vậy nó không có vẻ quá lộn xộn nữa. Nếu bạn có bất kỳ câu hỏi hoặc một cái gì đó bạn không hiểu, tôi sẽ sẵn sàng giải thích cho bạn một lần nữa. Chào mừng bạn đến thế giới của hacker, một thế giới mới sẽ mở ra cho bạn và bạn sẽ không bao giờ hối tiếc rằng bạn đã chọn để trở thành một hacker.
Hãy đọc bài viết khác của tôi về những gì hack là để có được một sự hiểu biết tốt hơn về những gì thực sự là hack.

Wednesday, November 18, 2015

KHAI THÁC LỖI OPENSSL HEARTBLEED

Khai thác lỗi OpenSSL Heartbleed trên Windows

Lỗi này tới thời điểm này có thể được coi là đã được hầu hết những nơi trọng yếu sửa chữa rồi. Vì vậy tôi cung cấp rộng rãi công cụ exploit lỗi nguy hiểm này trên nền Windows cho mọi người nghiên cứu
Heartbleed là gì ? Tại sao nó lại nguy hiểm như vậy ?
Những mô tả cụ thể về Bug này bạn có thể đọc ở đây : Hearbleed.com . Ở đây bài viết tóm tắt lại một số ý chính và dành nhiều hơn vào việc phân tích bug.
Heartbleed là một lỗi khá nhỏ liên quan tới logic xử lý của OpenSSL đối với cơ chế hearbeat của giao thức TLS. Bug này xuất hiện trên OpenSSL phiên bản 1.0.1 tới 1.0.1f . Điểm khá đặc biệt là những phiên bản OpenSSL này lại được thấy khá nhiều trong thời gian gần đây, một phần là do chuyên gia bảo mật thường khuyến cáo bộ phận phát triển sản phẩm triển khai TLS 1.1 và 1.2 . Thực tế quá trình phát triển của TLS 1.2 chỉ mới đạt khoảng 30% tiến độ của dự án SSL Pulse. Do đó khá nhiều site đã dính phải lỗi này. 

Vấn đề ở đây khá đơn giản : Có một lỗ hổng rất nhỏ liên quan tới việc kiểm tra ràng buộc trong đoạn code có vai trò handle thông điệp TLS heartbeat. Bằng cách lợi dụng điểm yếu này, kẻ tấn công có thể gửi request tới TLS server làm Server xử lý tràn qua vùng nhớ riêng (lên tới 64KB) mà OpenSSL dùng để lưu trữ các dữ liệu đặc biệt như private key, qua đó kẻ tấn công có thể lấy được các thông tin như :

·         Server private keys
·         TLS Session keys
·         Session ticket keys
·         Các dữ liệu nhạy cảm khác : ví dụ Password, Cookie...


64KB Dữ liệu lấy về từ server bị lỗi OpenSSL heartbleed ( công cụ coi ở phần hướng dẫn khai thác )

Bất cứ phần thông tin nào liệt kê phía trên đều cho phép kẻ tấn công giải mã dữ liệu trong phiên SSL hoặc ăn trộm các thông tin nhạy cảm. Tuy nhiên, kịch bản lấy được private key của server là kịch bản tồi tệ nhất. Khi đã có được private key, kẻ tấn công có thể thực hiện giải mã các session đã thực hiện trao đổi trước đó (nếu như sử dụng cơ chế bắt tay non-PFS ) hoặc tiến hành mạo danh server để kết nối với client. Nguy hiểm nhất là khi việc khai thác không để lại bất kỳ dấu vết gì.

Tới đây chắc chắn bạn nghĩ "Wow, lỗi nghe khá hay đấy nhưng có thực tôi cần quan tâm tới nó ko ? " . Câu trả lời là "Có" . Tin hay không thì tùy bạn nhưng thực tế là một phần đáng kể hạ tầng internet cũng như các kết nối trực tuyến hiện nay mà bạn đã và đang dùng phụ thuộc vào OpenSSL. Bao gồm cả những website chứa các thông tin cá nhân của bạn, của bạn bè bạn.. blah blah.. . Và đáng lo hơn là ngành công nghiệp giao dịch trực tuyến hiện nay càng ngày lệ thuộc vào OpenSSL.

Khắc phục bằng cách nào ?
Tuy khá khó chịu, nhưng bạn cần thiết nên thực hiện các bước sau :
1. Kiểm tra xem server của mình có bị dính lỗi đó không ? 
Bạn có thể vào một số trang kiểm tra trực tuyến như filippo.io‎ hoặc tự tay kiểm tra bằng đoạn bash sau 


echo -e "quit \n" | openssl s_client -connect yourserver:port -tlsextdebug 2>&1 | grep heartbeat

2. Nếu phát hiện ra vấn đề thì điều đầu tiên bạn cần làm là recompile lại OpenSSL với option 
-DOPENSSL_NO_HEARTBEATS . Đối với các gói cài đặt từ RedHat hay Debian thì hiện cũng đã có bản vá. Bạn cần nhanh chóng cập nhật. 

3. Hầu hết mọi người thường bỏ qua bước này. Khi mà các code exploit bug này đã phổ biến trên internet thì muốn hay không bạn cũng phải đặt giả thiết rằng server của mình có thể đã bị exploit. Vậy nên bạn cần phải revoke lại toàn bộ certificate hiện tại và generate cert mới.


Đi sâu hơn về Bug Heartbleed 

Cơ chế TLS Hearbeat được thiết kế để cho phép kết nối vẫn được lưu giữ trong trường hợp không có dữ liệu trong kênh truyền. Heartbeat messages sẽ được gửi từ một đầu kết nối (Peer_1) với dữ liệu bất kỳ và độ dài payload. Đầu kia (Peer_2) sau khi nhận được message sẽ trả lời chính xác phần dữ liệu bất kỳ mà nó nhận được từ peer_1.
RFC 6520 
When a HeartbeatRequest message is received and sending a HeartbeatResponse is not prohibited as described elsewhere in this document, the receiver MUST send a corresponding HeartbeatResponse message carrying an exact copy of the payload of the received HeartbeatRequest.
 Cấu trúc của request trên được RFC 6520 định nghĩa như sau (lưu ý phần 2 bytes chứa độ dài payload):
  struct {
      HeartbeatMessageType type;
      uint16 payload_length;
      opaque payload[HeartbeatMessage.payload_length];
      opaque padding[padding_length];
   } HeartbeatMessage;
Từ đây nó sẽ dẫn chúng ta đến mấu chốt của bug này . Nguồn gốc của nó chính là từ commitnày ở trên git.  Và chúng ta để ý ở phần của file t1_lib.c

/* Read type and payload length first */
+       hbtype = *p++;
+       n2s(p, payload);
+       pl = p;
+
+       if (s->msg_callback)
+               s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT,
+                       &s->s3->rrec.data[0], s->s3->rrec.length,
+                       s, s->msg_callback_arg);
+
+       if (hbtype == TLS1_HB_REQUEST)
+               {
+               unsigned char *buffer, *bp;
+               int r;
+
+               /* Allocate memory for the response, size is 1 bytes
+                * message type, plus 2 bytes payload length, plus
+                * payload, plus padding
+                */
+               buffer = OPENSSL_malloc(1 + 2 + payload + padding);
+               bp = buffer;
+              
+               /* Enter response type, length and copy payload */
+               *bp++ = TLS1_HB_RESPONSE;
+               s2n(payload, bp);
+               memcpy(bp, pl, payload);
+              
+               r = ssl3_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding);

Phân tích kỹ hơn. Đầu tiên :

/* Read type and payload length first */
hbtype = *p++;
n2s(p, payload);
pl = p;

Byte đầu tiên chứa Heartbeat type. Hàm 
n2s đẩy giá trị 2 byte từ sang payloadp chính là biến chứa độ dài payload. Lưu ý, biến p hoàn toàn không kiểm tra ràng buộc đầu vào.
Đọc tiếp phần sau ta thấy :

unsigned char *buffer, *bp;
int r;
/* Allocate memory for the response, size is 1 byte
 * message type, plus 2 bytes payload length, plus
 * payload, plus padding
 */
buffer = OPENSSL_malloc(1 + 2 + payload + padding);
bp = buffer;

Chúng ta thấy rằng , ở đây chương trình cấp phát một vùng nhớ theo yêu cầu của request từ client có kích thước lên tới (1+2+16+65535) , hơn 64KB. 
Biến bp trở thành pointer để truy xuất vào vùng nhớ này.

/* Enter response type, length and copy payload */
*bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp);
memcpy(bp, pl, payload);

Hàm s2n là hàm đảo của n2s. Nó sẽ lấy một giá trị bằng 16 bit trong payload và đẩy vào 2 bytes bp.  Như vậy là đã đẩy chính xác độ dài payload của request. 
Sau đó hàm memcpy() sẽ chép payload bytes từ pl (phần dữ liệu đầu vào request) sang bp là con trỏ tới buffer. Sau đó chính vùng nhớ đó sẽ trả ngược về chính xác cho peer client. Vậy Bug ở đâu ?

Client kiểm soát p và pl
Trong trường hợp client không gửi chính xác payload bytes thì sao ? Nếu phần pl chỉ có độ lớn là 1byte ? Dĩ nhiên, lệnh memcpy sẽ lấy lấn sang vùng nhớ kế cận trong 1 record ssl và cùng 1 tiến trình.
Rõ ràng là có nhiều thứ "kế cận" quanh đó. 
Có 2 phương án cấp phát động vùng nhớ với malloc (ít ra là ở *nix) là sử dụng sbrk(2) và mmap(2). Nếu vùng nhớ được cấp phát bởi sbrk, thì sau đó nó sẽ sử dụng quy tắc heap-grows-up và giới hạn những gì có thể đọc được, mặc dù vậy nếu một loạt request gửi lên (nhất là gửi đồng thời) thì chuyện sẽ khác.
Dĩ nhiên phần vùng nhớ cấp phát cho bp sẽ không quyết định tất cả. Mà phần cấp phát cho plmới ảnh hưởng nhiều. Gần như toàn bộ vùng nhớ sẽ được cấp phát bởi sbrk vì ngưỡng giới hạn của mmap trong malloc. Tuy nhiên một số dữ liệu khá thú vị (ví dụ như user info, session id..) sẽ được cấp từ mmap và hoàn toàn có thể truy xuất được từ pl
Tóm lại là vùng nhớ cấp phát cho pl sẽ quyết định những gì bạn có thể khai thác được :).
Cách Fix cho Heartbeat Extention
Phương án fix ở đây đơn thuần là bổ sung thêm ràng buộc cho pl


/* Read type and payload length first */
if (1 + 2 + 16 > s->s3->rrec.length)
    return 0; /* silently discard */
hbtype = *p++;
n2s(p, payload);
if (1 + 2 + payload + 16 > s->s3->rrec.length)
    return 0; /* silently discard per RFC 6520 sec. 4 */
pl = p;

//Đoạn giải thích chuyên sâu về kỹ thuật trên đây chúng tôi copy và biên tập ( chỉnh sửa những chỗ dịch sai ) từ bài dịch gốc trên http://exploitx.org/ ( không rõ lý do tại sao nhưng bài đã bị xoá )

---------------------------------------


Hướng dẫn Khai thác lỗi OpenSSL Heartbleed trên Windows & Mac:


Tải về công cụ khai thác OpenSSL Heartbleed exploit tool (Open-SSL-Heartbleed-exploit-tool.zip) tại: Đây

Trong gói này có sẵn 2 file binary, một sử dụng trên máy Mac, 1 sử dụng cho Windows. Giải nén ra là có thể dùng ngay

Cách dùng:

Dùng commandline ( cmd.exe hay terminal ), di chuyển vô thư mục mới giải nén chạy lệnh để khai thác
Mac:
OpenSSLHeartbleedExploit-mac <website_domain>:443

Windows:

OpenSSLHeartbleedExploit-win.exe <website_domain>:443

vd:
Mac:
OpenSSLHeartbleedExploit-mac www.cloudflarechallenge.com:443

Windows:

OpenSSLHeartbleedExploit-win.exe www.cloudflarechallenge.com:443

Tool sẽ khai thác lỗi và lấy về 64KB dữ liệu từ máy chủ bị lỗi OpenSSL Heartbleed. Lặp lại command này nhiều lần để liên tục lấy dữ liệu về. Dưới đây là hình minh hoạ khi tool hoạt động




xnohat - HVA


Điều khoản miễn trừ: chúng tôi không chịu trách nhiệm đối với bất kỳ hành động nào của bất kỳ ai khi sử dụng các kiến thức được cung cấp trong bài viết này cho mục đích sai trái. Nếu bạn vi phạm pháp luật, bạn sẽ phải tự chịu trách nhiệm

Chúc các bạn thành công :D