破解密碼最常用的手段之一,就是字典暴力破解。
我們使用一個簡單的腳本,讓你的密碼每時每刻都在變換,將暴力破解的可能降到最低。
即時暴力得到了密碼,下一分鐘,密碼可能就會變掉,破解出來的密碼也失去了用處。
基本的原理是,使用root權限,調用passwd命令,定時修改用戶的密碼。
但是由于passwd命令比較特殊,要求必須人機交互狀態下輸入新密碼,因此使用一般的方式無法實現完全自動化。
在這里我們使用一個特殊的模塊 Expect。他可以模擬人機操作的環境。
(也可以使用linux的 expect 命令完成,但是我們這里主要討論perl)
密碼隨時變化,你自己必須要知道當前的密碼。這樣就要求我們有一套算法。并且有一個隨機變化的因子。
例如:我們選取時間為因子。算法為 'password' + 時間的分鐘數
現在為 11:39 分,那么當前的密碼就是 password39
如果時間是 13:07分,密碼就是 password07
當然這個是最簡單的一個算法,你可以定義自己更復雜的算法。
代碼如下:
#!/usr/bin/perl |
將以上代碼保存為 /root/passwd.pl 文件,并且給與700 權限(為了安全,不允許其他人讀取)
然后在 root 帳戶的 crontab 里面加入
* * * * * /root/passwd.pl >/dev/null 2>&1 |
即可


