Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Các giải pháp bảo vệ chống hack Cho Forum

      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #1

       Thu Nov 03, 2011 8:30 am

      Một giả thiết rằng tài khoản Admin trên forum bạn bị ai đó chiếm lấy bất
      hợp pháp (thông qua đoán pass, cài troyzan, ăn cấp password cookie...).

      [You must be registered and logged in to see this link.]

      Vấn đề đặt ra ở đây là sẽ phải có một pass thứ 2 để ngăn chặn bước chân của kẻ muốn tấn công forum bạn lại chứ
      Thông thường thì một số bạn dùng htaccess tôi sẽ cung cấp cho các bạn thêm một cách làm nữa:

      Cách thiết lập:

      Bạn edit file global.php từ thư mục admincp của diễn đàn (không phải global.php nằm bên ngoài index)

      -Bạn tìm








      -Thêm vào sau đó

      Trích dẫn
      //Khai bao dang nhap
      $config['dn2_dnp'] = 'usename';
      $config['mk2_dnp'] = 'password';

      if ($_SERVER['PHP_AUTH_USER'] != $config['dn2_dnp'] || $_SERVER['PHP_AUTH_PW'] != $config['mk2_dnp']){
      header('WWW-Authenticate: Basic realm="Xin vui long khai bao thong tin yeu cau truoc khi duoc chuyen den bang dang nhap"');
      header('HTTP/1.0 401 Unauthorized');


      //Trang sẽ hiển thị khi thông tin khai báo sai bét. Hỗ trợ HTML nên bạn có thể thiết kế một trang đẹp hơn
      echo 'Đi chổ khác chơi đi chú em. Nhấn nút biến!';
      exit;
      }







      -Save lại với mã là UTF-8

      kết quả here
      [You must be registered and logged in to see this link.]



      II/Bài toán 2

      Hacker thông qua local biết được cấu trúc dữ liệu site bạn.
      Mục đích của cuộc tấn công của hacker là đọc được file config, giả sử tôi có một file config sau:








      $INFO['sql_database'] = 'ngoisaon_Forums';
      $INFO['sql_driver'] = 'mySQL';
      $INFO['sql_host'] = 'localhost';
      $INFO['sql_pass'] = 'HANOIMUATHU';






      Đây là info database của diễn đàn hacker có thể thông qua nó drop
      database của forum hoặc thông qua shell đổi được password của admin
      ~~~> nguy hiểm thật nhỉ

      Cách khắc phục:
      - Chmod (ko bàn ở đây)
      - Zend (dùng trình zendgaurd để zend lại các file php quan trọng)
      - Đổi tên thư mục include (chứa file config) và file config.php

      Tôi sẽ hướng dẫn các bạn đổi tên thư mục include (chứa file config) và file config.php:

      B1: Bạn edit file diagnostic.php trong thư mục admincp

      -Tìm







      $ignored_files = array('/includes/config.php', '/includes/config.php.new',






      -Thay bằng

      Code:

      $ignored_files = array('/thư mục bạn muốn đổi tên/tên file config
      mới.php', '/thư mục bạn muốn đổi tên/tên file config mới.php.new',

      B2: Bạn edit file class_core.php trong thư mục include

      -Tìm








      include(CWD . '/includes/config.php');






      -Thay bằng







      include(CWD . '/thư mục bạn muốn đổi tên/tên file config mới.php');






      -Tìm






      if (file_exists(CWD. '/includes/config.php'))






      -Thay bằng




      if (file_exists(CWD. '/thư mục bạn muốn đổi tên/tên file config mới.php'))






      - Bạn có thể chọn nhiều cách làm như thay đổi tên thư mục chứa
      file config hoặc thay đổi file tên file config (làm 2 cách càng tốt).
      tôi khuyên các bạn nên rename tên thành class_gì đó hoặc functions_gì đó để gây thêm khó khăn về thị lực cho kẻ muốn xâm nhập
      - Còn file bạn tạo một file mới với tên config.php và điền gì cũng đuợc

      Bonus cho bạn code fake bigdump mafia chôm được
      demo là vipunder










      Code:


      .:: Loi roi ban ::.



























      [size=21][color=blue]Bạn sẽ được chuyển về trang bạn vừa xem[/color][/size]








      <table height="162" border="0" cellpadding="0" cellspacing="0" width="100%">  [tr]    [td height="21" width="33%"][/td]    [td height="21" align="center" width="33%"][/td]    [td height="21" width="34%"][/td]  [/tr]  [tr]    [td height="75" width="33%"][/td]    [td height="75" align="center" width="33%"][img]http://daoduytu.net/police.jpg[/img][/td]    [td height="75" width="34%"][/td]  [/tr]  [tr]    [td height="21" width="33%"][/td]    [td height="21" align="center" width="33%"][/td]    [td height="21" width="34%"][/td]  [/tr]  <tr>    [td height="24" width="33%"][/td]    <td height="24" align="center" width="33%">
      (đối với host dùng window)
      - Bây giờ file config của bạn đã được chuyển sang một folder khác với một cái tên khác.

      Bước 4: Bảo mật thêm cho file config.
      - Lời khuyên là bạn nên dùng host linux để có được tính năng Chmod nếu Chmod tốt thì hacker sẽ khó lòng mà xâm nhập.
      - Mã Hóa file config bằng zendguard.
      - Dùng MD5 để mã hóa user và pass của file config.
      - Bước cuối quan trọng nhất ,CHMOD folder #data (chỉ làm bước này nếu
      bạn sử dụng host linux) là 111 nếu host có hỗ trợ còn không thì 711 cũng
      được,nếu làm đúng file sẽ mất tiêu thư mục #data y như thư mục rỗng.
      - file config cũ chứa nội dung thì bạn hãy mã hóa nó.

      Bài toán 4: Để những folder như admincp, modcp thì tầm thường quá có thể nào thay đổi tên những folder này không.
      Bạn làm như sau: vào file config.php tìm đoạn này và edit nó








      $config['Misc']['admincpdir'] = 'admincp'; //thay nội admincp bằng tên folder mà bạn muốn đổi
      $config['Misc']['modcpdir'] = 'modcp'; //thay nội modcp bằng tên folder mà bạn muốn đổi






      Bài toán 5: Phương pháp chống những kẻ tò mò tọc mạch
      Bạn tạo một file index.html với nội dung tùy ý ở bất cứ folder nào trong
      host. (kể cả mục skin, imager, và những folder con trong folder mẹ
      imager)

      Bài toán 6: Che dấu những folder nhạy cảm.
      - Bạn có thể dùng .htaccess.
      - Rename các folder nhạy cảm như data, databackup, mysqldumper...
      - Tạo subdomain để vào VD: sql.yourdomain.com và trỏ tới mysqldumper.

      Bài toán 7: Có cách nào để phát hiện quá trình xâm nhập không nhỉ?
      Câu trả lời rằng bạn hoàn toàn có thể biết trước được quá trình xâm nhập
      vào admincp hoặc modcp do member của diễn đàn bạn hoặc một kẻ phá hoại
      nào đó. Quá trình xâm nhập có thể là đoán pass.
      Điều gì bạn muốn biết về quá trình xâm nhập?
      Đó là nickname đang cố xâm nhập, ip của hắn, số lần cố gắn xâm nhập, thời gian diễn ra quá trình xâm nhập.






      Demo: test ở diễn đàn ku LTA
      Username tried: [l] [t] [a]
      IP Address: 117.2.15.36
      Host: 117.2.15.36
      Strikes: 2 out of 5
      Referrer: [You must be registered and logged in to see this link.]
      Script: [You must be registered and logged in to see this link.]
      Date/Time: Sunday, August 17th, 2008 at 6:33 am ?
      ==========================================
      Username tried: asedfsda
      IP Address: 117.2.15.36
      Host: 117.2.15.36
      Strikes: 1 out of 5
      Referrer: [You must be registered and logged in to see this link.]
      Script: [You must be registered and logged in to see this link.]
      Date/Time: Sunday, August 17th, 2008 at 6:54 am






      Để làm được như thế này bạn lần lượt làm theo hướng dẫn ở các bước sau nhé:

      Bước 1: edit file login.php
      Bạn tìm:







      $strikes = verify_strike_status($vbulletin->GPC['vb_login_username']);






      Và add sau nó:






      $username = $vbulletin->GPC['vb_login_username'];
      $fdate = date('l, F jS, Y');
      $ftime = date('g:i:s a');
      $fdatetime = "Date/Time: $fdate at $ftime \r\n";
      $fscriptpath = "Script: [You must be registered and logged in to see this link.] . SCRIPTPATH . "\r\n";
      $freferer = 'Referrer: ' . REFERRER . "\r\n";
      $fusername = "Username tried: $username \r\n";
      $fipaddress = 'IP Address: ' . IPADDRESS . "\r\n";
      $iphostname = "Host: " . @gethostbyaddr(IPADDRESS) . "\r\n";
      if ($vbulletin->userinfo['userid'] > 0)
      {
      $realname = "\nUSER ATTEMPT: " .
      $vbulletin->options['bbtitle'] . " has identified this registered
      user as: " . $vbulletin->userinfo['username'] . "\r\n";
      }






      Bước 2: vẫn ở file login.php

      Bạn tìm:








      // log this error if attempting to access the control panel
      require_once(DIR . '/includes/functions_log_error.php');






      Thêm sau nó:





      $fstrk = "Strikes: $GLOBALS[strikes] out of 5 \r\n";
      if ($vbulletin->GPC['logintype'] === 'cplogin')
      {
      $subject= 'WARNING: Failed Admin CP logon in ' .
      $vbulletin->db->appname . ' ' .
      $vbulletin->options['templateversion'] . "\r\n\r\n";
      $message="Someone is trying to login to your " .
      $vbulletin->options['bbtitle'] . " Admin
      CP!\n\n$fusername$fipaddress$iphostname$fstrk$fref
      erer$fscriptpath$fdatetime$realname";
      }
      else
      {
      $subject= 'WARNING: Failed Mod CP logon in ' .
      $vbulletin->db->appname . ' ' .
      $vbulletin->options['templateversion'] . "\r\n\r\n";
      $message="Someone is trying to login to your " .
      $vbulletin->options['bbtitle'] . " Mod
      CP!\n\n$fusername$fipaddress$iphostname$fstrk$fref
      erer$fscriptpath$fdatetime$realname";
      }
      vbmail($vbulletin->options['webmasteremail'], $subject, $message, true);






      webmasteremail các bạn chỉnh trongvb options nhé code sẽ tự động gởi mail thông báo quá trình xâm nhập cho bạn.
      Note: - test trên forum 3.7
      - Special thanks to Boofo for this mod

      Bài toán 8: Phương pháp chống up shell wa plugin và edit plugin

      Bạn chèn đoạn code này vào file config.php (sau dòng









      define('DISABLE_HOOKS', true);






      Bonus: phương pháp thiết lập ở config.php để ngăn chặn việc xóa, sửa hay thêm bớt thông tin tài khoản admin









      // ****** UNDELETABLE / UNALTERABLE USERS ******
      // The users specified here will not be deletable or alterable from the control panel by any users.
      // To specify more than one user, separate userids with commas.
      $config['SpecialUsers']['undeletableusers'] = 'nhập user admin vào đây';






      Bài toán 9: Admincp Fake
      Tôi đặt ra một giã thiếc: hacker có được user và pasword của admin.
      Hacker sẽ tìm cách vào admincp của bạn để chèn thêm shell hoặc nghịch
      phá diễn đàn bạn. Để làm được điều đó hacker phải vào admincp của bạn,
      thế thì tại sao không tạo một Admincp giả để đánh lừa những ai ưa tò mò
      nhỉ
      Cách này có thể áp dụng cho những code shop, code news và những code forum khác bạn có thể tùy biến dễ dàng.
      Q: Thế thì admincp củ của tôi để đâu nhỉ?
      A: Bạn hãy rename folder admincp cũ thành bất cứ tên gì miễn sao chỉ có mỗi mình bạn biết, mỗi mình bạn có thể vào
      Q: Cách này có hạn chế hack không?
      A: Nó chỉ hạn chế một phần, phần còn lại phụ thuộc vào mức độ bảo mật của hosting bạn.
      Q: Làm thế nào mà tôi phát hiện quá trình xâm nhập?
      A: Code sẽ tự động gửi email đến thông báo cho bạn mỗi khi xuất hiện quá trình xâm nhập.
      Demo run code và đoạn email gửi về

      [url=https://i306.photobucket.com/albums/nn248/cpanelXI/anh tren web/secure1.jpg]Các giải pháp bảo vệ chống hack Cho Forum  Secure1[/url]








      New Security Breach Attempt

      --------------- SENDER INFORMATION ------------
      This message was sent to you by Admincp.
      IP address is: 117.2.13.17
      Username: X-ecpanel
      Password: 123456






      Link download code: [You must be registered and logged in to see this link.]

      Bài toán 10: Secure IP
      Bảo mật admincp luôn là đề tài hot nhất, việc này đã làm cho nhiều
      webmaster và cả hacker hao tâm tổn sức. Hum nay tôi xin giới thiệu với
      các bạn một giải pháp bảo mật hiệu quả cho admincp:
      Công dụng của nó ngoài việc đảm bảo chỉ 1 IP được phép login vào
      admincp. Còn có thêm tính năng đặt biệt giúp bạn có thể dễ dàng update
      IP đó.

      Cách làm:
      - Bạn mở file capnhapip.php, chỉinh lại $pass = '12345'; cho phù hợp.
      - Mở file Security, chỉnh IP Hosting của bạn.
      - UP 3 file security.php, checkip.php , listip.txt vào thư mục admincp.
      - Chmod File listip.txt thành 777.
      - Mở file global.php và thêm vào đằng sau





      include("security.php");






      Cách sử dụng:
      - Truy cập vào địa chỉ: [You must be registered and logged in to see this link.]
      Nhập mật khẩu của bạn để cập nhập địa chỉ IP mới.
      Tip: Nên dùng Sock SSh do chính hosting của bạn tạo ra để truy cập vào admincp

      Link download code: [You must be registered and logged in to see this link.]

      Xem thêm tại
      [You must be registered and logged in to see this link.]