Google搜查列

 
顯示具有 shell script 標籤的文章。 顯示所有文章
顯示具有 shell script 標籤的文章。 顯示所有文章

2016年10月5日 星期三

Linux 下crunch 密碼猜測產生器

說到密碼,我們都會使用我們日常的記得的字串來做為密碼

但對破解密碼的人來說就只有猜測了,如果一點頭緒也沒有的時候,只好暴力破解了

什麼是暴力破密解密碼呢?

如果一個密碼長度固定是3,只可以由數字組成,可以有000,001,002,......999,共1000個組合。

我們就要猜測1000次來猜這個密碼,一個一個密碼試就是暴力破解,當然也可以猜帳號,但一般的情況下都是知道帳號,再針對帳號去破解密碼的!

但我們要手打在txt文檔裡去建立嗎?或自己寫程式去建立這個檔案嗎!你也有更好的簡單選擇!

在linux 中的一個工具,可以用來產生各種字串的組合,就是crunch

在常見的發行套件,如Fedora,CentOS,openSUSE,Red Hat Enterprise Linux,Debian,Ubuntu.....等都不一定會有包括這個軟體

但在Kali Linux 中有包這個軟體

軟體取得可以到
https://sourceforge.net/projects/crunch-wordlist/files/crunch-wordlist/
現在最新版本是crunch-3.6.tgz

所以下載放到linux下
解壓縮
# tar-zxvf crunch-3.6.tgz

進入解壓後的目錄
#cd crunch-3.6

開始編譯
#make

編譯安裝
#make install

這樣後就應該可以使用crunch了
註:如果編譯時遇到問題,可能是linux沒有安裝編譯工具
 redhat家族可使用# yum groupinstall 'Development Tools'  安裝開發編譯套件

-----------------------
crunch的用法是這樣的

範例1:
$ crunch 3 3
#生成最小3位,最大3位的,由26個小寫英文字母元素組成,同時會告訴你會產生17576組[組合]及產生的檔案大小

範例2
$ crunch 1 6 abcdefg
#生成最小1位,最大6位的,由abcdefg 字母元素組成

範例3
$crunch 1 6 abcdefg\
#生成 最小為1,最大為6.由abcdefg和空格為元素的所有組合[\後面要多打一個空格,代表包括空格元素]

範例4
# crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt
#調用密碼庫charset.lst, 生成最小為1,最大為8,元素為密碼庫charset.lst中mixalpha-numeric-all-space的項目,並保存為wordlist.txt;其中charset.lst在kali_linux的目錄為/usr/share/crunch/charset.lst, charset.lst中mixalpha-numeric-all-space項目包含最常見的元素組合(即大小寫字母+數字+常見符號);
>想了解更多可以cat /usr/share/crunch/charset.lst 查看所有密碼庫

範例4
# crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t @@dog @@@ -s cbdogaaa
#呼叫密碼庫charset.lst,生成8位密碼;其中元素為密碼庫charset.lst中mixalpha-numeric-all-space的項;格式為“兩個小寫字母+dog+三個小寫字母”,並以cbdogaaa開始產生〔@代表小寫字母〕

範例5
# crunch 4 5 -p dog cat bird
#crunch將生成以“dog” “cat” “bird”為元素的所有密碼組合:birdcatdog,birddogcat,catbirddog, catdogbird, dogbirdcat, dogcatbird

當然,除此之外,還可以把產生的密碼組合用管線軟出到別的程式
比如WIFI 破解常用的aircreack-ng 中進行密碼破解之用

範例crunch + aircrack-ng 破解 WIFI 封包內 密碼 :
# crunch 10 10 0987654321 | aircrack-ng -e [SSID] -w - [WIFI.cap]

[SSID] : 要破解的WIFI SSID
[WIFI.cap] : 使用airodump-ng 取得的封包

參考文章:http://www.hackingtutorials.org/wifi-hacking-tutorials/piping-crunch-with-aircrack-ng/

2013年7月9日 星期二

使用Perl 發GTalk

常常在使用PERL管理我的系統,用得最多就是系統檢測
在管理裡,最希望是可以達到即時通知道Syster Administrator管理人

最即時收到訊息有手機的簡訊(短訊) ,電話的方式
桌上型電腦有MSN,SKYPE,GTalk,Pidgin等
而智慧型手機的通訊有SKYPE,GTalk,LINE,Whatsapp等……

寫這個程式的出發點是我的系統裡有UPS不斷電,但如在假日發生時,也可以透過即時通訊軟體通知管理人
我的UPS是山特(台灣飛瑞)



其管理軟體winpower裡,用得上的是郵件和簡訊
不過沒有即時通知功能
不過被我在安裝目錄下發現了一個UPSEVENT.CSV 的事件文字檔案
在裡面的我只關注4個事件代號和發生事件時間
00 市電斷電
03 市電覆電
04 RS232斷線
05 RS232連線

使用Perl定期檢讀這個檔案(例如每5分鐘),在發生事件時使用XMMP協定通知我的指定帳號
經過多方測試,使用GTALK是大宗表現不錯,也有其優點
1.在GMAIL裡可以記錄GTALK通訊內容(歷史事件)
2.也有PC和手機app 或GMAIL,都會同時通知到(NB,桌機,手機,WEB MAIL的GMAIL)
3.GTalk接口簡單,使用XMPP,但連線需TLS加密

編寫前,如果執行Perl的系統是windows ,請記得安裝XMPP套件模塊,是LINUX的話那要安裝一下XMPP喔

在傳送後,手機會收到GTALK的訊息(無奈傳送中文會產生亂碼,只好再研究一下囉)


另外,如果想要寫GTALK機器人的話,可以參考使用perl gtalk套件
Net::XMPP::Client::GTalk

#!/usr/bin/perl


use strict;
use Net::XMPP;
if(1==1) { #這裡可以方一些檢查的程式
  $temptext="EVENT\n";
  &sendgtalk("$temptext");#呼叫傳送gtalk
}


#副程式 傳送GTalk 訊息給指定帳號
sub sendgtalk{
        my $username = "flybird001";#傳送人帳號
        my $password = "xxxxxxxxxx";#傳送人密碼
        my $resource = "nagios";
        ## End of configuration
        $ARGV[0]="touser";#接收人帳號
        $ARGV[1]=shift;     #訊息內容
        my $len = scalar @ARGV;
       
        if ($len ne 2) { #檢查是否有兩個參數
           die "about [touser] and [message]?\n";
        }
       
        my @field=split(/,/,$ARGV[0]);
       
        #------------------------------------
       
        # Google Talk & Jabber parameters :
       
        my $hostname = 'talk.google.com';
        my $port = 5222;
        my $componentname = 'gmail.com';
        my $connectiontype = 'tcpip';
        my $tls = 1;
       
        #------------------------------------
       
        my $Connection = new Net::XMPP::Client();
       
        # Connect to talk.google.com
        my $status = $Connection->Connect(
               hostname => $hostname, port => $port,
               componentname => $componentname,
               connectiontype => $connectiontype, tls => $tls);
       
        if (!(defined($status))) {
           print "ERROR:  XMPP connection failed.\n";
           print "        ($!)\n";
           exit(0);
        }
       
        # Change hostname
        my $sid = $Connection->{SESSION}->{id};
        $Connection->{STREAM}->{SIDS}->{$sid}->{hostname} = $componentname;
       
        # Authenticate
        my @result = $Connection->AuthSend(
               username => $username, password => $password,
               resource => $resource);
       
        if ($result[0] ne "ok") {
           print "ERROR: Authorization failed: $result[0] - $result[1]\n";
           exit(0);
        }
       
        # Send messages
        foreach ( @field ) {
        $Connection->MessageSend(
                to       => "$_\@$componentname",
                resource => $resource,
                subject  => "Notification",
                type     => "chat",
                body     => $ARGV[1]);
        }

}

2009年10月30日 星期五

Linux自動更新系統時間

新增檔案在/etc/cron.daily/

/etc/cron.daily/資料夾為每天都會報行的程式

但也給予執行權限
#vi /etc/cron.daily/updatetime.sh

#!/bin/bash

/usr/sbin/ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w
#chmod 755 /etc/cron.daily/updatetime.sh

這樣每天就會自動去 tock.stdtime.gov.tw ntp server更新同步自己的linux主機時間

Google Analytics