¸üÐÂʱ¼ä:2018Äê03ÔÂ21ÈÕ13ʱ44·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:
1¡¢¸ÅÊö
¶ÔÓÚ·þÎñÆ÷²Ù×÷ϵͳLinuxÀ´½²£¬Ò»°ãͨ¹ýsshÀ´½øÐÐÔ¶³Ì¹ÜÀí£¬
ÏñTelnet¡¢RloginµÈ´«Í³Ô¶³Ì¹ÜÀí¹¤¾ß£¬ÓÉÓÚÆä²ÉÓÃÃ÷ÎÄ´«Ê䣬Êý¾ÝÐÅÏ¢ÈÝÒ×±»ÇÔÌý£¬ ÔÚ¶àÊýÓû§ÒµÎñϵͳÖУ¬¿¼Âǵ½°²È«ºÏ¹æÒªÇó£¬Ò»°ã»á±»½ûÓá£
±¾ÎÄͨ¹ý¶Ô³£ÓõÄssh¿ÚÁÁ¦ÆÆ½â¹¤¾ßhydra½øÐнéÉÜ£¬²¢ÔÚ¿ÚÁîÆÆ½âµÄ»ù´¡ÉÏ£¬ ½éÉܰ²È«·À»¤¼¼Êõ¡£
2¡¢»·¾³

ÑéÖ¤»·¾³·ÖΪ¹¥»÷»úºÍ°Ð»ú£¬ ¹¥»÷»ú²ÉÓÃKali Linuxϵͳ°Ð»ú
¹¥»÷»ú

3¡¢ Hydra¹¤¾ßÓ¦ÓÃ
Hydra ÊÇKali LinuxÖÐÒ»¿îºÜÊÜ»¶ÓµÄ¿ÚÁîÆÆ½â¹¤¾ß£¬µ±Ç°×îа汾V8.6, »ù±¾Ó÷¨¿ÉÒÔͨ¹ýman hydra À´²é¿´£¬ ÔÚÕâ¸ö¹¤¾ßʹÓùý³ÌÖУ¬±È½ÏÖØÒªµÄÒ»µã£¬¾ÍÊÇÀûÓÃÒ»¸ö¸ßЧµÄ¿ÚÁî×ֵ䣬hydra±¾ÉíÒ²¿ÉÒÔÓÃÓÚÉú³É¿ÚÁî×ֵ䡣µ«Ò»°ã»áÓÃcupp½øÐÐÉú³É£¬ ¹ØÓÚcuppµÄÏêϸÓ÷¨£¬ºóÐøÔÚÕûÀíһƪÎĵµ½øÐнéÉÜ¡£±¾ÎÄÖØµã½éÉÜHydra±©Á¦ÆÆ½â¼°Æä°²È«·À»¤²ßÂÔ¡£
»ù±¾Ó÷¨
root@kali:~# hydra -l Óû§ -P ÃÜÂë×Öµä -t 32 -e nsr -vV -o ssh_ok.log IP ssh
-l/-L Ö¸¶¨Óû§Ãû-l£¬ »òÕß-L Ö¸¶¨Óû§Ãû×Öµä(Óû§ÃûÁбí)
-p/-P Ö¸¶¨Óû§¿ÚÁî-p£¬»òÕß-P Ö¸¶¨Óû§¿ÚÁî×Öµä(Óû§¿ÚÁîÁбí)
-t : Ö¸¶¨²¢ÐÐÈÎÎñÊýÁ¿£¬Ä¬ÈÏ16
-e: ¶îÍâ¼ì²é£¬n ´ú±í¿Õ¿ÚÁ s´úÂëÓû§Ãû£¬ r´úÂëÓû§Ãû³ÆÄæÐò(·´Ïò)
-vV: ÏÔʾÏêϸ¹ý³Ì
-o: Êä³ölogin/passwd ¶Ôµ½Ö¸¶¨µÄÎļþ
IP: °Ð»úIPµØÖ·
ssh: ±»¹¥»÷µÄÐÒé(·þÎñÃû³Æ£¬ telnet¡¢ftp¡¢pop3¡¢ssh…)
¹¥»÷ÑéÖ¤ÃüÁ

¿ÚÁîÆÆ½â³É¹¦µÄ»°£¬ »áÓÐÈçÉϵÄÌáʾ
4¡¢¿ÚÁÁ¦ÆÆ½â°²È«·À»¤¼¼Êõ
4.1 ÀûÓÃssh×ÔÉíµÄ°²È«·À»¤»úÖÆ
4.1.1 ½ûֹĬÈÏÓû§(root)µÇ¼
Ò»°ãÀ´Ëµ£¬ ÔÚ¿ÚÁîÆÆ½âʱÐèÒªÌṩÓû§Ãû×ֵ䣬Õâ¸ö×ÖµäµÄ½¨Á¢Í¨³£»á°üÀ¨Ò»Ð©ÏµÍ³ÖÐĬÈϵÄÓû§£¬ ×îµäÐ͵ľÍÊÇlinuxϵͳµÄrootÓû§£¬×îÒ×±»¹¥»÷

ÈçºÎÐèÒª½øÖÆÆäËûÓû§(·ÇrootÓû§) »¹¿ÉÒÔÑ¡ÔñʹÓà DenyUsers (ºÚÃûµ¥) »òÕß AllowUsers(°×Ãûµ¥)

ÉÏÊö¿ÉÒÔÓÃÀ´½ûֹһЩϵͳĬÈÏÓû§root ¡¢ xxxuser1 ¡¢ xxxuser2µÇ¼¡£
²¹³ä˵Ã÷
- ÐÞ¸Ässhd_config ºó£¬ÐèÒªÖØÆô·þÎñ£¬ÈÃÅäÖÃÉúЧ

½ûÖ¹rootÓû§µÇ¼£¬²¢²»ÊǽûÓÃrootÓû§£¬¶øÓû§¿ÉÒÔÒÔÌØ¶¨Óû§µÇ¼ºó£¬Í¨¹ýsuÇл»ÖÁrootÓû§£¬ÒÔʹÓÃroot Óû§ÌØÈ¨
4.1.2 ssh¼øÈ¨´ÎÊýÏÞÖÆ
¶ÔÓÚһЩÓû§£¬ÐèÒªÔÊÐíÆäµÇ¼£¬²»Äܼòµ¥µÄͨ¹ýDenyUsers½ûÖ¹À´½øÐзÀ»¤£¬ÔÚÕâÖÖÇé¿öÏ£¬¿ÉÒÔͨ¹ýssh¼øÈ¨Ê§°Ü´ÎÊýÀ´
´ïµ½·ÀÖ¹×ֵ乥»÷µÄÄ¿µÄ

²¹³ä˵Ã÷
´ËÖÖ·½Ê½ÔÚÓ¦¶Ô¿ÚÁîÆÆ½âÖУ¬¿ÉÒÔÔö¼ÓÆÆ½âµÄʱ¼ä¿ªÏú£¬ ²¢²»ÄÜÍêÈ«±ÜÃâ¿ÚÁî±»±©Á¦ÆÆ½â¡£
µ«ÊÇ£¬ÓÉÓÚ¿ÚÁîÆÆ½âµÄʱ¼ä¼Ó³¤£¬Ò²¾Í¸øÁËIDS/IPS(ÈëÇÖ¼ì²âϵͳ)·´Ó¦µÄʱ¼ä¡£±ãÓÚϵͳÔËάÈËÔ±²ÉÈ¡´ëÊ©¡£
4.2 ÀûÓÃpamµÄ°²È«»úÖÆ
PAM£¬Pluggable Authentication Modules ÊÇSunÌá³öµÄÒ»ÖÖÈÏÖ¤»úÖÆ¡£Ëüͨ¹ýÌṩһЩ
¶¯Ì¬Á´½Ó¿âºÍÒ»Ì×ͳһµÄAPI£¬½«ÏµÍ³ÌṩµÄ·þÎñ ºÍ¸Ã·þÎñµÄÈÏÖ¤·½Ê½·Ö¿ª£¬Ê¹µÃϵͳ¹ÜÀíÔ±¿ÉÒÔÁé»îµØ¸ù¾ÝÐèÒª¸ø²»Í¬µÄ·þÎñÅäÖò»Í¬µÄÈÏÖ¤·½Ê½¶øÎÞÐè¸ü¸Ä·þÎñ³ÌÐò£¬Í¬Ê±Ò²±ãÓÚÏòϵ ͳÖÐÌí¼ÓеÄÈÏÖ¤ÊֶΡ£
¼òµ¥µÄ˵£¬¾ÍÊÇͨ¹ýÅäÖÃpam£¬ À´¸Ä±ä·þÎñ(ssh)µÄÈÏÖ¤·½Ê½£¬ Ó¦¶Ô¿ÚÁîÆÆ½âÒ»°ã¿ÉÒÔ²ÉÓÃÁ½ÖÖ²ßÂÔ
4.2.1 ¿ÚÁîÔöÇ¿
¿ÚÁîÔöÇ¿µÄÄ¿µÄÊÇͨ¹ýÔöÇ¿¿ÚÁîµÄ¸´ÔÓ¶È£¬´Ó¶øÔö¼Ó¿ÚÁî±»ÆÆ½âµÄÄѶȡ£±¾ÏÄÜʵÏÖ²ÉÓÃpam_cracklib Ä£¿é

ÆäÖÐÑ¡ÏÒ壺
retry=3£ºÓû§×î¶à¿ÉÒÔ3´ÎÊäÈë¿ÚÁîºó±¨´í¡£Ä¬ÈÏÊÇ1´Î¡£
minlen=12£º×îС¿ÚÁ¶ÈΪ12¡£
difok=3£ºÐ¿ÚÁîÖÁÉÙÓÐ3¸ö×Ö·û²»Äܺ;ɿÚÁîÏàͬ¡£ucredit=-1£ºÖÁÉÙ1λ´óд×Öĸ£¬ ÐèҪעÒâµÄÊÇ-1(¸º1) lcredit=-1£º ÖÁÉÙ1λСд×Öĸ
dcredit=-1£ºÖÁÉÙ1λÊý×Öocredit=-1£ºÖÁÉÙ1Î»ÌØÊâ×Ö·û
enforce_for_root: Õâ¸öÊÇÐÂÔö¼ÓµÄÒ»¸öÑ¡Ï×÷ÓÃÊÇrootÐÞ¸ÄÓû§¿ÚÁîʱ£¬Ò²ÊÜ¿ÚÁÔӶȵÄÏÞÖÆ£¬ Àϰ汾²»Ò»¶¨Ö§³Ö¡£
4.2.2 ¼øÈ¨Ê§°ÜËø¶¨Óû§ÕʺÅ

µ±Óû§¼øÈ¨Ê§°Üµ½´ïÖ¸¶¨´ÎÊýʱ£¬Ëø¶¨Óû§ÕʺÅÒ»¶¨Ê±¼ä¡£ ÔÚÓû§ÕʺŵÄËø¶¨Ê±¼äÄÚ£¬²»½ÓÊÜÓû§¿ÚÁî¼øÈ¨¡£´ËÏÄÜͨ¹ýpam_tallyʵÏÖ
ÆäÖÐÑ¡ÏÒåΪ£º
deny=5 : Óû§¼øÈ¨Ê§°Ü³¬¹ý5´ÎËø¶¨
unlock_time=300: Ëø¶¨ÕʺÅ300Ãë
onerr=succeed: µ±¼øÈ¨Ê§°Üʱ£¬·µ»ØPAM_SUCCESS
audit: µ±Óû§Ãû²»´æÔÚʱ£¬½«Óû§ÃûдÈëÈëϵͳlog
5¡¢½áÓï
±¾ÎĽéÉÜÁËhydra ¹¤¾ßµÄ»ù±¾Ó÷¨£¬ÒÔ¼°ÔÚlinuxÏ£¬Ó¦¶Ô¿ÚÁîÆÆ½âµÄ¼¸ÖÖ·À»¤·½·¨¡£Î´×÷ÔÀíÐÔÕ¹¿ªÃèÊö¡£
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍC/C++ѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍC/C++ÅàѵѧԺ
Ê×·¢£ºhttp://c.itcast.cn/
±±¾©Ð£Çø