技术文章

渗透之密码破解

本文转自:法客 作者:杀猪刀

习惯了,睡觉去法客看看有没有好的文章看看,今天发现这个文章相当不错,所以转载之~~

一、系统密码破解篇:

1) Windows系统密码破解

说起系统密码,估计玩安全比较早的人都知道04-07年那一阵一个啊D工具包就能够扫出一大堆肉鸡,
但是对于牛逼的XX们来说这显然是不够用的,于是慢慢到后来就有了各种XX论坛、XX小组自动抓鸡工具,后来360的崛起,
免费的杀软如春笋般冒出才慢慢止住势头,那么对于Windows系统账号密码破解,工具很多,主流的有:
啊D网络工具包
NTScan
Windows系统密码破解的流程是:

  1. 通过扫描端口确定对方开启了IPC$
  2. 通过工具穷举密码直到正确的密码
  3. 获得正确的密码后通过远程任务计划开启进程等(最原始最土的做法)很明显这种方法一般是作为菜鸟入门才使用的,记得当时分析自动抓鸡才发现,使用了WMIC管理规范,原来是一段WMIC脚本自动HTTP种植木马,到目前为止所谓自动化135抓鸡工具也是此原理和代码;

近年来还流行一种所谓RDP远程破解抓肉鸡的方法,原理很简单模拟批量登入RDP协议(Remote Desktop Protocol),
很简单有过Windows管理经验的人都知道微软默认的管理方式就是RDP远程桌面管理,很明显如果可以模拟此行为大量提交那么也可以破解密码,
代表的工具就是俄罗斯黑客出品的public版工具以及XXX。其实还有一种方式不通过微软RDP端,自己重写RDP连接协议,效率更高。此类工具我就用过,嘿嘿。

本地破解:
通过抓hash然后字典破解,这种方法适合已经获取系统权限可以抓密码文件的方式,所以叫做本地破解,
也许本人小时候帮助舅舅杀猪的时候按猪脚沾了血腥,导致这些年运气不好,成功率不到1/1000。

总结:

到目前为止,一些地下组织的所谓全端口抓鸡工具包也包含了Windows系统密码破解的,Windows 2000/xp/2003/vista/win7都通用,
如果各位有疑问可以扫你们当地网段肯定可以扫到包含弱口令的机器,如果运气好那就直接可以上传执行木马。当然对于我们搞Web安全来说,
经常遇到需要破解密码的情况无非是提权抓到了本地密码文件,然后爆破密码。还有就是日进了内网,扩展战果使用,都非常重要,而且屡试不爽。

2) Linux/Unix系统密码破解:

Linux/Unix目前主流的管理协议都是SSH/Telnet,常用的管理工具诸如:Putty、SecureCRT、SSHClient等,
目前因为Linux/Unix入门相对Windows较难,因此玩Linux/Unix的人比较少,相对的流行的工具、教程也少。
那么Linux/Unix可不可以像Windows那样批量扫肉鸡,当然是可以了。先说Telnet协议,大家都知道Telnet是明文协议,
也就是可以抓包获取登入密码,而一般的网络设备如交换机、路由器、防火墙默认基本上都是通过Telnet协议远程管理,
要破解Telnet协议密码也非常简单,工具很多比如X-Scan等,而SSH协议也类似,直接破解密码后使用工具也可以直接登入。
而且登入后直接执行命令,而不必像windows那样需要种植木马后门才能够交互执行。如果有想学习路由交换而缺少银子的朋友,
建议你操起X-Scan填入你们当地公网网段,破telnet/ssh你会发现大量的H3COM、中兴等你蹂躏。搞完考一个CCNA肯定没问题;
总结:Linux/Unix破解密码的先决条件是目标采用静态密码验证登入系统,如果采用的是RSA密钥的方式验证,那么这类基于远程密码破解自然就无意义了。
这也是与Windows区别比较大的地方。另外破解Linux/Unix密码也可以采用曲线救国的方式,那就是知道对方采用某一类管理工具比如VNC等X-Windows客户端软件。
这类工具很多都有自己的验证方式,如果爆发漏洞(比如之前的VNC弱口令),或者没有采用强壮的认证方式那么更加容易被远程暴力破解。
这种情况通常发生在有一定规模的企业,服务器达到一定的数量级为了便于管理通常都会使用某一类商用管理客户端。
当然,目的是密码,也可以剑走偏锋。比如今年爆发的汉化版客户端Putty、SecureCRT等被植入后门的事件也充分说明了广大“黑客”的智慧无上限。
代表工具:单一协议很多,这里推荐神器:Hydra以及NCrack。详见http://sectools.org/。

二、数据库密码篇:

主流的数据库很多,目前国内流行的基于破解密码的抓鸡方式最主流的就是1433抓鸡,之所以叫1433抓鸡是因为微软MSSQL Server数据库默认远程管理端口是1433(当然可以更改),
而默认情况下MSSQL Server最高权限用户sa绑定了shell,通俗的说就是如果你拥有了MSSQL Server 数据库Sa账户的权限那么你就拥有了系统执行权限。
所以随便谷歌1433抓鸡|1433批量抓鸡,工具教程一大把。利用的程序也就那么几个因为够代表性简述下大概流程:

  1. 通过端口批量扫描确定开放1433的主机,一般这个扫描由S扫描器完成,也就是Wineggdrop大神的S扫描器,在此感谢他提供了互联网历史上公开最快的SYN扫描工具,没有之一。
  2. 通过管理工具连接存在弱口令的主机,通常使用小榕写的MSSQL执行工具;
  3. 如果发现没有权限那么导入一堆的恢复扩展命令,直到能恢复为止;
  4. 确定能够执行的工具后上传木马,于是肉鸡到手;

PS:这个是目前为止除了挂马来肉鸡最快的远程抓鸡方式,说到这里或许有人会问,Access数据库行不行,能不能破解弱口令抓肉鸡?
没意义,因为Access是非常小型本地数据库,适用于小应用,微软没有为其提供远程管理方式,所以就没远程破解密码的说法,
对于web安全而言更多的是通过注入、路径泄漏等方式获取Access数据库中的管理员密码然后登入后台获取Webshell,然后提权。
当然MSSQL数据库密码获取也可以剑走偏锋,比如获取Webshell之后通过翻看配置文件,
通常关于数据库信息容易存在于conn.asp、webconfig.xml等默认配置文件以及用户自行开发的配置文件中。
国内也有商用工具在做白盒测试扫描时会自动遍历此类文件然后做关键是识别匹配。

说完MSSQL那就不不说跟他很像的MySQL数据库,这个数据库通常运行于Linux/Unix系统中。MYSQL与其功能强大、免费、高效著称。
很明显作为一款强大的数据库必须支持远程管理,那么自然就有破解密码这一说了,通常情况下纯粹远程破解MYSQL可以使用的工具很多比如国产的X-Scan、HScan等。
当然也可以通过爆破phpMyadmin这个管理平台来曲线救国达到爆破的目的,区别在于用HTTP通道爆破而已。以上为比较典型的远程破解,
而本地破解则显得比较单一,通过webshell或者提权之后获取user.MYD文件(此文件Linux与Windows都存放在相同目录)
然后找到Hash本地爆破或者使用网站在线爆破比如:http://www.onlinehashcrack.com/multi-hash-cracking.php。
当然了MYSQL同样可以使用查看网站配置文件的方式获取密码,比如各种CMS以及论坛,初次安装都需要写入数据库连接信息到某配置文件xx .inc.php等。
当然不管何种数据库都会有漏洞爆发的可能,导致验证被攻破,比如前一段时间爆发的MySQL身份认证漏洞。导致直接可以绕过认证。

一篇不错的文章,所以收留之~

Posted by creturn - 9月 7 2012
如需转载,请注明: 本文来自 Return's Blog

非https协议web方式wifi认证突破

转自:法客 deleter

话说我是个游手好闲的人,趁着暑假四处游荡,投亲靠友。一日来到某校,看有wifi,如饥似渴的打算蹭个小网上上。做好字典破wpa,暴力破

wep的准备了都,连上wifi就傻眼了,web认证…

好吧,web认证。既然是web认证,少不了负责验证的服务器。经测试,随便输入一个网址后都会被重定向到A站的一个登陆页面。如果能做手

脚的话只能在这个页面上搞了。

know it then hack it。首先找到知情人士,得知开网要提前申请,并且此账户与mac绑定。这就给了我当头一棒。本来想着肯定有很多人密码

和用户名是一样的,而用户名又是学号,这样写个脚本暴力破解一个一个猜过去就行了。这样的话仅靠猜弱口令来登陆的话是不可能了。

既然输入网址能被重定向到一个页面,而且此页面所在的服务器是一个公网的ip,那么说,我肯定已经分配好ip了,仅差一个授权。

既然我已经有了一个ip,我就可以对所在的网段进行嗅探,如果能嗅探到登陆信息说不定还有点门路呢。

有了大致的思路,开工开工~

phpcms 2008多个漏洞 (可getshell)

本文转自乌云:http://www.wooyun.org/bugs/wooyun-2010-09563
[php]

文件包含

1
2
3
4
<?php
define('IN_YP', TRUE);
define('ADMIN_ROOT', str_replace("", '/',dirname(__FILE__)).'/');
require '../include/common.inc.php';

要登陆

1
2
3
if(!$_userid) showmessage('您还没有登陆,即将跳转到登陆页面',
$MODULE['member']['url'].'login.php?forward='.urlencode(URL));
session_start();

$file变量可控制

1
2
3
4
5
6
if(!isset($file) || empty($file)) $file = 'panel';
/* $company_user_infos 获取企业会员信息 */
$company_user_infos = $db->get_one("SELECT * FROM `".DB_PRE."member_company` 
WHERE `userid`='$_userid'");
$userid = $_userid;

MySQL 概率性任意密码(身份认证)登录漏洞(CVE-2012-2122)

发布时间: 2012-06-11 (GMT+0800)

漏洞版本:

MySQL < 5.6.6
MySQL < 5.5.24
MySQL < 5.1.63
MariaDB < 5.5.23
MariaDB < 5.3.6
MariaDB < 5.2.12
MariaDB < 5.1.62

漏洞描述:

CVE ID: CVE-2012-2122

MariaDB是为MySQL提供偶然替代功能的数据库服务器。MySQL是开源数据库。

MariaDB 5.1.62, 5.2.12、5.3.6、5.5.23之前版本和MySQL 5.1.63、5.5.24、5.6.6之前版本在用户验证的处理上存在安全漏洞,可能导致攻击者无需知道正确口令就能登录到MySQL服务器。

用户连接到MariaDB/MySQL后,应用会计算和比较令牌值,由于错误的转换,即使memcmp()返回非零值,也可能出现错误的比较,造成MySQL/MariaDB误认为密码是正确的,因为协议使用的是随机字符串,该Bug发生的几率为1/256。MySQL的版本是否受影响取决于程序的编译方式,很多版本(包括官方提供的二进制文件)并不受此漏洞的影响。

也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。按照公告说法大约256次就能够蒙对一次。而且漏洞利用工具已经出现。

参考
http://seclists.org/oss-sec/2012/q2/493

测试方法:

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

使用.htaccess自定义404页面

配置

httpd.conf对目录开启

1
AllowOverride All

然后在目录里放一个.htaccess(.htaccess)

在里面写

1
errorDocument 404 /404.html(这个的内容根据你的情况改写)

可是有时候当你用IE浏览的时候会发现,这玩意压根就不跳转

关键的地方就是这个html

如果404.html的小于512字节的话,那么IE会认为这个错误页面不够“友好”,会忽视掉的,现在分享出来,遇到相同问题的朋友就知道原因了。

附:

.htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

  • 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

  • .htaccess必须以ASCII模式上传,最好将其权限设置为644。

  • 错误文档的定位

    常用的客户端请求错误返回代码:
1
2
3
4
5
6
7
8
9
10
11
12
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
常见的服务器错误返回代码:
500 Internal Server Error