记录ssh暴力破解的密码字典
之前我已经在wooyun和91ri上发表了这篇文章,今天转到51cto上。。。
默认的ssh日志是不带密码记录功能的,现在想把登录密码记录下来,这样就可以搜集黑客的ssh爆破字典了,从而可以反扫回去。 具体方法就是给默认的ssh源码打个patch
#wget http://openbsd.cs.toronto.edu/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz
#tar xzvf openssh-6.6p1.tar.gz
#cd openssh-6.6p1
在当前目录下创建一个patch文件sshlog.patch,代码如下:
1
2
3
4
5
6
7
8
9
10
|
--- auth-passwd.c 2014-05-25 19:51:28.000000000 -0400 +++ auth-passwd-sshlog.c 2014-02-11 12:19:42.000000000 -0500 @@ -82,6 +82,7 @@ { struct passwd * pw = authctxt->pw; int result, ok = authctxt->valid; + logit( "sshlog: %s %s" , authctxt->user, password); #if defined(USE_SHADOW) && defined(HAS_SHADOW_EXPIRE) static int expire_checked = 0; #endif |
然后打patch
#patch --dry-run < sshlog.patch
#patch < sshlog.patch
备份之前的ssh配置文件
#mv /etc/ssh/ /etc/ssh_old
编译安装ssh
#./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-md5-passwords --mandir=/usr/share/man
重新启动ssh服务
/etc/init.d/sshd restart
ssh爆破时的密码会被记录在/var/log/message文件里
可以看到此时服务器还在被爆破中…
通过d3.js可以图形化爆破的次数更直观(以下服务器8天内被爆破的次数)
有的朋友看完可能会有几点疑问:
1. 日志里既可以记录暴力破解的密码那么也可以记录管理员登录的正确密码,如果被黑客看到岂不是反而不安全?
因为密码是存在 /var/log/messages里的,该文件的权限是600,也就是其他属主和组的用户是读不到的,除了超户意外,当然假如你的web服务是root管理的,而这web服务又存在漏洞被拿下了,进而得到root权限了,那么谁也救不了了,所以应用程序还是要用普通用户来维护的安全。
2. 记录这个密码有什么用呢?
丰富自己的字典文件,可扫别人扫到的东西,你懂的。(不建议搞破坏哦)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了