之前我已经在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. [转载]FMS Dev Guide学习笔记(验证用户)

    一.开发交互式的媒体应用程序 1.使用外部资源验证用户 对于有限数量的客户,请求用户名密码,然后通过外部资源(像数据库.LDAP服务或其它访问授权服务)验证它们,是可行的.     a.SWF在请求连 ...

  2. 解决idea控制台乱码及项目乱码

    如果控制台出现乱码,解决办法: 第1方案:.找到安装idea的路径下找idea文件下的bin中vmoptions文件,打开该文件,加上-Dfile.encoding=UTF-8 第二方案: 第3种方案 ...

  3. struts2与spring整合时需要注意的点

    首先我们需要明白spring整合struts2中的什么东西,spring中的核心就是IOC和AOP,IOC是对象的容器,AOP是处理动态代理的;比如spring与hibernate整合时就要用到aop ...

  4. trie数的实现

    Trie树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串 ...

  5. LinQ to sql简介及增删改查

    Linq to sql 类 LinQ它就是一个集成化的数据库访问类,它会自动生成许多原本需要我们自己创建的东西: 它和ADO.NET是一样的东西,都是为了访问数据库而出现的,EF框架 一.创建LinQ ...

  6. zookeeper 常用cLi命令

    官网:https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands stat path [watch] set p ...

  7. javax.servlet.http.HttpServletResponse.getStatus()I

    感谢作者分享:http://blog.csdn.net/szwangdf/article/details/42145463 -------------------------------------- ...

  8. Hdu1805-Expression(表达式树模版题+层序遍历树+栈的基本应用)

    2018-11-23-02:27:37 原题链接 题目描述: 题目一目了然. 本题思路: 本题很容易能想到是构建表达式树然后按照层序逆序输出即可. AC代码: #include <cstdio& ...

  9. 98. Validate Binary Search Tree (Tree; DFS)

    Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...

  10. View 常用方法

    id layout_width layout_height layout_margin.layout_marginTop minWidth minHeight background layout_gr ...