之前我已经在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. 记录这个密码有什么用呢?

丰富自己的字典文件,可扫别人扫到的东西,你懂的。(不建议搞破坏哦)

记录ssh暴力破解的密码字典的更多相关文章

  1. Linux用root强制踢掉已登录用户;用fail2ban阻止ssh暴力破解root密码

    Linux用root强制踢掉已登录用户   首先使用w命令查看所有在线用户: [root@VM_152_184_centos /]# w 20:50:14 up 9 days, 5:58, 3 use ...

  2. 用fail2ban阻止ssh暴力破解root密码

    安装fail2ban工具来实现防暴力破解,防止恶意攻击,锁定恶意攻击IP. 1.如果是centos系统,先yum安装fail2ban [root@VM_152_184_centos /]# yum - ...

  3. Linux应急响应(一):SSH暴力破解

    0x00 前言 ​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...

  4. SSH 暴力破解趋势——植入的恶意文件属 DDoS 类型的恶意文件最多,接近70%,包括 Ganiw、 Dofloo、Mirai、 Xarcen、 PNScan、 LuaBot、 Ddostf等家族。此外挂机、比特币等挖矿程序占5.21%

    SSH 暴力破解趋势:从云平台向物联网设备迁移 | 云鼎实验室出品 from: http://www.freebuf.com/articles/paper/177473.html 导语:近日,腾讯云发 ...

  5. 防止ssh暴力破解的小工具denyhosts

    DenyHosts 简介 DenyHosts 是 Python 语言写的一个程序软件,运行于 Linux 上预防 SSH 暴力破解的,它会分析 sshd 的日志文件(/var/log/secure), ...

  6. 分享一个撩妹、装13神技能,0基础用Python暴力破解WiFi密码

    WiFi密码Python暴力破解   Python密码破解部分截图 获取视频资料,转发此文+点击喜欢,然后获取资料请加Python交流群:580478401,就可以获取视频教程+源码 环境准备: py ...

  7. Linux CentOS 防止SSH暴力破解

    一. 问题的发现 昨晚苦逼加班完后,今早上班继续干活时,SSH连接服务器发现异常的提示,仔细看了一下吓一小跳,昨晚9点钟到现在,一夜之间被人尝试连接200+,慌~~~ 1. 速度查一下log [roo ...

  8. 利用iptables防止ssh暴力破解和控制网速

    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --setiptables -I INPUT -p ...

  9. ssh暴力破解解决方案(Centos7更改端口)

    服务器默认ssh远程连接端口为22端口,通常通过22远程连接的话,容易有ssh暴力破解的风险,给我们造成一定的损失.下面是更换ssh端口过程: 1.添加ssh端口 vim /etc/ssh/sshd_ ...

随机推荐

  1. Hide-Music-Player 一个完整的音乐播放器《IT蓝豹》

    Hide-Music-Player 一个完整的音乐播放器 Hide-Music-Player 一个完整的音乐播放器,本例子主要包括几个点 (1)摇一摇进入播放器 (2)下拉展开新视图(扫描音乐) (3 ...

  2. 利用原生态的(System.Web.Extensions)JavaScriptSerializer将mvc 前台提交到controller序列化复杂对象

    主要代码如下: public JsonResult Test() { string s = Request.Form.ToString(); JavaScriptSerializer jss = ne ...

  3. echart生成饼状图

    //绘制图表. echarts.init(document.getElementById('main')).setOption({ tooltip : { trigger: 'item', //触发类 ...

  4. python-ceilometerclient命令行(1)

    1.导入模块,可以动态获取模块中方法并调用,其功能与from...import...一致 2. callback = getattr(actions_module, attr) 从模块中获取方法. 调 ...

  5. U3D框架—单例框架

    写程序应遵循的原则:高内聚(内容的聚合),低耦合(功能与功能之间的联系) 代码里尽量不要有冗余:既重复,没有用的代码 using System.Collections; using System.Co ...

  6. Jenkins 传递自定义的参数

    1.同一个job之间,不同的shell之间传递参数 注意:如果是job参数化构建自定义的参数,可以在job的不同shellj间引用,但是不能改变他的值供后面的shell使用   job在执行时会针对所 ...

  7. Android学习路-activity活动

    activity即活动,是一种包含用户界面的组件,用于与用户进行交换   创建activity类 1.类继承Activity, activity传递一个bundle对象,可以获得onSaveInsta ...

  8. 如何向 Windows 7 镜像中添加 USB3.0 驱动

    如何向 Windows 7 镜像中添加 USB3.0 驱动 1. Microsoft 在 Windows 7 的安装光盘并没有集成各个厂商的 USB3.0 驱动,可 以使用下面方法添加 USB3.0 ...

  9. SpringCloud报错:Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.

    今天启动用eureka的服务消费者时,一直出现问题. SpringCloud报错: Caused by: org.springframework.context.ApplicationContextE ...

  10. DRF的视图和路由

    DRF的视图 APIView Django中写CBV的时候继承的是View,rest_framework继承的是APIView, urlpatterns = [ url(r'^book$', Book ...