Browsed by
月份:2017年2月

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
363 views
JBoss script

JBoss script

#!/bin/sh
cd
jboss/bin/jboss-cli.sh --connect --command=:shutdown
rm ~/jboss/standalone/deployments/*.war.*
nohup jboss/bin/standalone.sh&
sleep 10
cd ~/jboss/standalone/deployments
while true
do
 for file in *.war.isdeploying
 do
 echo "waitting 1s"
 echo $file
 sleep 1;
 done
 if [ "$file" = "*.war.isdeploying" ]
 then
 break;
 fi
done
for file in *.war.failed
do
 if [ "$file" = "*.war.failed" ]
 then
 echo "ALL OK"
 exit 0
 fi
 echo $file
done
exit 4444
-end-
好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
387 views
彩虹表(Rainbow Table)

彩虹表(Rainbow Table)

彩虹表(Rainbow Table)是一种破解哈希算法的技术,是一款跨平台密码破解器,主要可以破解MD5、HASH等多种密码。它的性能非常让人震惊,在一台普通PC上辅以NVidia CUDA技术,对于NTLM算法可以达到最高每秒103,820,000,000次明文尝试(超过一千亿次),对于广泛使用的MD5也接近一千亿次。更神奇的是,彩虹表技术并非针对某种哈希算法的漏洞进行攻击,而是类似暴力破解,对于任何哈希算法都有效。

一、彩虹表原理

先讲述一些基本概念:

Tables

可以说长期进行密码学研究的人很少有不知道这个的。在很多年前,国外的黑客们就发现单纯地通过导入字典,采用和目标同等算法破解,其速度其实是非常缓慢的,就效率而言根本不能满足实战需要。之后通过大量的尝试和总结,黑客们发现如果能够实现直接建立出一个数据文件,里面事先记录了采用和目标采用同样算法计算后生成的Hash散列数值,在需要破解的时候直接调用这样的文件进行比对,破解效率就可以大幅度地,甚至成百近千近万倍地提高,这样事先构造的Hash散列数据文件在安全界被称之为Table表(文件)。

Rainbow Tables

最出名的Tables是Rainbow Tables,即安全界中常提及的彩虹表,它是以Windows的用户帐户LM/NTLM散列为破解对象的。简单说明一下,在 Windows2000/XP/2003系统下,账户密码并不是明文保存的,而是通过微软所定义的算法,保存为一种无法直接识别的文件,即通常所说的SAM文件,这个文件在系统工作时因为被调用所以不能够被直接破解。但我们可以将其以Hash即散列的方式提取,以方便导入到专业工具破解,提取出来的密码散列类似于下面:


Administrator:500:96e95ed6bad37454aad3b435b51404ee:64e2d1e9b06cb8c8b05e42f0e6605c74:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
user1:1001:732b2c9a2934e481cd0a8808b19097ef:778620d5d5de064154e689fa4790129f:::
user2:1002:a042f67a99758fd727b99b2375d829f9:6127ee12a83da34fc19953e538e4d580:::


若是以传统破解方式而言,无论是本地,还是内网在线破解,效率都不是很高。据实际测试,单机环境下,破解一个14位长包含大小写字母以及数字的无规律密码,一般是需要3~~9小时的,这个时间值会随着密码的复杂度及计算机性能差异提升到几天甚至数月不等。虽然说大部分人都不会使用这样复杂的密码,但对于目前很多密码足够复杂并且长度超过10位的密码比如“Y1a9n7g9z0h7e”,还是会令黑客们头痛不已。

2003年7月瑞士洛桑联邦技术学院Philippe Oechslin公布了一些实验结果,他及其所属的安全及密码学实验室(LASEC)采用了时间内存替换的方法,使得密码破解的效率大大提高。作为一个例子,他们将一个常用操作系统的密码破解速度由1分41秒,提升到13.6秒。这一方法使用了大型查找表对加密的密码和由人输入的文本进行匹配,从而加速了解密所需要的计算。这种被称作“内存-时间平衡”的方法意味着使用大量内存的黑客能够减少破解密码所需要的时间。

于是,一些受到启发的黑客们事先制作出包含几乎所有可能密码的字典,然后再将其全部转换成NTLM Hash文件,这样,在实际破解的时候,就不需要再进行密码与Hash之间的转换,直接就可以通过文件中的Hash散列比对来破解Windows帐户密码,节省了大量的系统资源,使得效率能够大幅度提升。当然,这只是简单的表述,采用的这个方法在国际上就被称为Time-Memory Trade-Off ,即刚才所说的“内存-时间平衡”法,有的地方也会翻译成“时间—内存交替运算法”。其原理可以理解为以内存换取时间,可由下图3表示:

图 著名的“内存-时间平衡”法运算原理图

  具体算法方面的内容本文就不再涉及,对于想进行更高深层次探究的读者,可以仔细参考2003年的这篇详细文档《Making a Faster Crytanalytical Time-Memory Trade-Off》以及2005年的文档《Time-Memory Trade-Offs: False Alarm Detection Using Checkpoints》。

正是由于Rainbow Tables的存在,使得普通电脑在5分钟内破解14位长足够复杂的Windows帐户密码成为可能。

图 对Windows账户进行Rainbow Tables破解

  如上图4可以看到,类似于c78j33c6hnws、yemawangluo178、38911770这样的Windows帐户密码几乎全部在180秒即3分钟内破出,最短只用了5秒,个别稍长的密码破解开也没有超过3分钟。

这几乎是令人难以置信的,Roger迫不及待的去看了 http://www.project-rainbowcrack.com 所介绍的原理。这其实已经不是新的技术了,但是很遗憾的是,搜索“彩虹表原理”出来的文章对彩虹表原理的介绍都有不太正确,Roger就在这里简单的介绍一下,主要参考的是Wiki上的这篇 http://en.wikipedia.org/wiki/Rainbow_tables,英文好的可以去看这篇论文http://lasecwww.epfl.ch/pub/lasec/doc/Oech03.pdf

我们先来做点科普,哈希(Hash)算法就是单向散列算法,它把某个较大的集合P映射到另一个较小的集合Q中,假如这个算法叫H,那么就有Q = H(P)。对于P中任何一个值p都有唯一确定的q与之对应,但是一个q可以对应多个p。作为一个有用的Hash算法,H还应该满足:H(p)速度比较快; 给出一个q,很难算出一个p满足q = H(p);给出一个p1,很难算出一个不等于p1的p2使得 H(p1)=H(p2)。正因为有这样的特性,Hash算法经常被用来保存密码————这样不会泄露密码明文,又可以校验输入的密码是否正确。常用的 Hash算法有MD5、SHA1等。

破解Hash的任务就是,对于给出的一个q,反算出一个p来满足q = H(p)。通常我们能想到的两种办法,一种就是暴力破解法,把P中的每一个p都算一下H(p),直到结果等于q;另一种办法是查表法,搞一个很大的数据 库,把每个p和对应的q都记录下来,按q做一下索引,到时候查一下就知道了。这两种办法理论上都是可以的,但是前一种可能需要海量的时间,后一种需要海量 的存储空间,以至于以目前的人类资源无法实现。

我们可以简单的算一下,对于14位的大小写加数字(先不算特殊字符了)组成的密码的集合有多大?自然就是(26*2+10)^14 = 62^14 = 1.24 * 10^25,这个就约等于12亿亿亿,即使我们每纳秒可以校验一个p(一秒钟10亿次,目前PC做不到),暴力破解法也大概需要4亿年;如果我们采用查表 法,假定Hash的结果是128Bit即16字节的,光存放Hash(不存放明文P)就需要10^26字节的存储空间。什么?现在硬盘很便宜?没错现在 1GB硬盘大概是五毛钱,那么按这个来算光存储这个Hash大概需要5亿亿人民币来买硬盘。所以有些文章说彩虹表就是依赖查一个巨大的表来破解Hash, 简直是个无知的玩笑。

也正因为如此,我们一直都认为Hash是足够安全的,十几位的密码也是强度足够的,直到彩虹表的出现。现在我们来看看彩虹表是怎么干的。

彩虹表的根本原理就是组合了暴力法和查表法,并在这两者之中取得一个折中,用我们可以承受的时间和存储空间进行破解。它的做法是,对于一个Q = H(P),建立另一个算法R使得 P = R(Q),然后对于一个p,这样进行计算:

p0 -H-> q1 -R->p1 -H-> q2 -R->p2 -H-> q3 -R->p3  … -H-> q(n-1) -R->p(n-1) -H-> qn -R->pn

简单的说,就是把q用H、R依次迭代运算,最后得到pn,n可能比较大。最后我们把p0和pn都存储下来,把其他的结果都丢弃。然后用不同的p0代入计算,得到多个这样的p的对子。

我们在做破解的时候,给出了一个q,我们来寻找p。我们先把q做一次R运算得到一个值例如叫c1,然后把c1和每一个p对的最后一个做比较,假如和某一个 pn相等,那么有可能这个pn所对应的p(n-1)就是我们在追寻的q,为了验证我们把pn对应的p0再做一次链式计算,比对qn是否就是给出的q,如果 是,很明显p(n-1)就是我们在追寻的p,因为 p(n-1) -H-> qn。如果不是就继续寻找直到遍历所有的q0qn对。

事情还刚刚开始,我们再算q -R-> c1 -H-> -R-> c2,再比对c2是否是qn,如果是,那么p(n-2)就可能是p;再算c3、c4直到c(n-1),不知道这样说你明白了吗?

总的来说,就是用一个p0pn对来存储了一个链子的数据,如果n很大,就可以大大减小了存储的空间。这样带来的问题是必须做n次比对,时间更长,但是我们不需要瞬间破解,等待几秒乃至几天破解一个密码都是可以接受的。

当然这里只是讲述了最粗浅的原理,仔细想一下还有很多的问题,例如R的选择,Hash冲突的处理,如何选择p0来实现足够的覆盖,如何在有限资源下生成彩虹表等等。对这些感兴趣的可以去看看RainbowCrack的源码 http://www.project-rainbowcrack.com

二、获得彩虹表

彩虹表可以使用RainbowCrack或Cain来生成。表分割得越细,成功率就越高,生成的表体积也越大,所需时间也越长。但下载比生成快得多,有人做过测试,4核4GB内存的机器,生成2GB彩虹表,需要花费7天时间,而7天按2MB的带宽(256K/S左右)几乎可以下载48GB左右,效率明显要超过生成。当然,你要是有超级计算机群生成的话,也不妨自己生成。对于广大网络安全爱好者来说,还是直接下载来得靠谱!

Ophcrack彩虹表 官方下载地址:
http://ophcrack.sourceforge.net/

120G彩虹表BT下载(这是种子文件,迅雷上有资源,如果是会员使用迅雷下载还是很快的,我8M带宽,下了3天左右下完了。):
http://www.ha97.com/code/tables.rar

三、彩虹表的使用

彩虹表工具很多,常用到的彩虹表工具有Ophcrack、rcracki_mt、Cain等,主流的彩虹表有以下三种。

Cain: http://www.onlinedown.net/soft/53494.htm

Free Rainbow Tables
官方网址:http://www.freerainbowtables.com/en/tables/
镜像下载:http://tbhost.eu/rt.PHP
提供了多种类型的彩虹表下载,LM、NTLM、MD5、SHA1等。千万别把人家法语字符的表也下了,对国人来说,几乎没什么用,不过如果你有特殊需要,那就下吧……这里提供的都是.rti格式的,有别于传统的.ri格式,.rti比.rt的多了一个目录.index文件,据说遍列速度比.rt的更快(未曾对比过,无法确定是否属实)。
比较新的,用的索引和压缩,所以速度更快,体积更小,而且支持分布式破解。
支持HASH类型:LM,MD5,NTLM,SHA1,HALFLMCHALL
网上有已经生成好的表可供下载,真是造福于民。
扩展名:rti

Ophcrack
官网网址:http://ophcrack.sourceforge.net/tables.php
最常用的,界面友好,与众不同,压缩储存,有自己独特的彩虹表结构,还有Live CD。
支持的HASH类型:LM,NTLM
扩展名:乱七八糟的。

高级的表要花钱买,免费的表有(推荐只下2和5,要求高的可以下载3和5):
1.XP free(LM表:包含大小写+数字)380MB(官网免费下载)
2.XP free fast(和前一个一样,但是速度更快)703MB(官网免费下载)
3.XP special(LM表:大小写+数字+所有符号包括空格)7.5G
4.Vista free (NTLM表:包含常用密码)461MB(官网免费下载)
5.Vista special(NTLM表:包含6位的全部可打印字符,7位的大小写字母数字,8位的小写和数字)8G

RainbowCrack
官网网址:http://project-rainbowcrack.com/table.htm
通用的,一般的破解软件如saminside都支持,命令行界面,黑客的最爱,支持CUDA。
可以自己生成表,不要钱,传说中的120G就来自于此。
支持HASH类型:LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL.
扩展名:rt

最小彩虹表是最基本的字母数字表,就这样它的大小就有388MB,这是Ophcrack启动盘默认的表,该表可以在11分钟内破解所有可能14位数字字母密码组合中的99.9%。国内有比较流行的传说中的120G的彩虹表,国外还有几T的海量彩虹表。win2003及以前的windows操作系统的密码采用的LM算法加密,而Vista、Win7、Win2008/R2采用的是NTLM,NTLM比LM安全得多。

LM和NTLM详解:

1、话说在远古时期,DES当道。微软在考虑9X系统口令加密的时候就自然地采用了国家标准DES一次加密8字节,留一位校检,还剩7字节(下文有解释), 也就是LM(Lan Manage)的核心。

2、那有人要问了,万一我的口令是8位怎么办呢?不用怕,微软的程序员很“聪明”:先把前7位加密,后一位补6个0,再当7位一起加密不就可以了吗,结果就真的这么做了。

3、这就导致破解LM密码只需7位一分割,然后再逐块破解,这大大减低了破解的难度。因为最后一块往往不够7位,一般瞬间即可得出结果。也就是7位和13位的密码,在破解者眼里几乎是一样的,因为13位的后6位很快就能破解出来,而且可以根据后6位猜测出前7位的密码,这就是为什么我们破解XP和2003密码很快的原因,因为他们都使用了LM加密方式。

4、由于LM的种种不安全性,微软在设计NT系列操作系统时采用了新的口令存储手段,即NTLM技术(New Technology Lan Manage),采用MD4+RSA存储,立马安全性要高很多。但是为了保证兼容性,直到2003微软仍然保持着LM的加密方式,也就是在2000、2003和XP中,我们的口令同时保存了两份,一份LM一份NTLM,我们仍然可以通过LM破解2003的口令。

5、在Vista和2008、Win7中,微软终于下定决心对LM斩草除根,只留下NTLM,破解难度增大。

6、回到彩虹表,由于LM最多只有7位,所以它的彩虹表很小。而NTLM用了散列函数,所以理论上口令是可以无限长的,所以NTLM的彩虹表往往很大,120G肯定是不够完成所有可打印字符的,最大的彩虹表已经是T量级了。

LM和NTLM验证机制:http://www.nsfocus.NET/index.php?act=magazine&do=view&mid=1665

某人用彩虹表测试破解MD5的小结:

ophcrack的表不支持破解md5,具体讲.rt .rtc .rti格式的,只需对比一组数据就可以。同样是破解12位的纯数字密码:

.rt的需要20GB .rtc的需要8.75GB .rti的需要1.67+1.67+1.68+1.71=6.72GB

明显是.rti的小,但是我试过,我下了上面.rti格式破解12位的6.72GB的表中的1.67GB,其破解效果很让我惊讶,我本以为纯数字的破解出来的可能性是四分之一,因为我只下了4个表中的一个,我只下了那1.67GB,但我试着破解了几个12位数字加密的32位md5,结果大多数都能跑出来,很少有跑不出的,汗。但当我惊喜时发现他并不支持破解16位的md5,然后去那国外的官方论坛去逛了逛,才发现这并不支持破解16位的md5。原来老外不来16位这一套,但我们国内的网站用16位的md5占绝大多数,所以入侵时大部分得到的是16位的MD5密码,而老外的就不来16位的,郁闷。

Ophcrack文档描述了它所能使用的彩虹表之间的差异:

字母数字表 10k 388MB 包含所有字母数字混合密码中99.9%的LanManager表。这些都是用大小写字母和数字组成的密码(大约800亿组合)。
由于LanManager哈希表将密码截成每份7个字符的两份,我们就可以用该表破解长度在1到14之间的密码。由于LanManager哈希表也是不区分大小写的,该表中的800亿的组合就相当于12*10的11次方(或者2的83次方)个密码。

字母数字表 5k 720MB 包含所有字母数字组合的密码中99.9%的LanManager表。但是,由于表变成2倍大,如果你的计算机有1GB以上的RAM空间的话,它的破解速度是前一个的4倍。

扩展表 7.5GB 包含最长14个大小写字母、数字以及下列33个特殊字符(!”#$%&’()*+,-./:;?@[]^_`{|} ~)组成的密码中96%的LanManager表。该表中大约有7兆的组合,5*10的12次方(或者2的92次方)密码。

NT 8.5 GB 我们可以使用该表来破解计算机上的NT哈希表,这是LanManager 哈希表所做不到的。该表包含了用如下字符组成的可能密码组合的90%:
·最高6位字符由大小写字母、数字以及33个特殊字符(同上面列举的一样)
·7 大小写字母及数字
·8 小写字母及数字
该表包含7兆种组合,对应7兆的密码(NT哈希表不存在LanManager哈希表的弱点)。

注意:所有这些彩虹表都有其特定适用的密码长度和字母组合。太长的密码(如数十位),或者包含表中没有的字符,那么用彩虹表就无法破解。


彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上,目前主要的算法有LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM, MD5-HALF。

先科普个概念,就是彩虹表的成功率,在下面网站中大家会看到,在下载时,都会分成四个目录,从index的0到3,那么为什么一个表会分成四部分呢。其实这四个部分都是独立的彩虹表,他们的绝大多数覆盖的内容是一样的,只有少部分区别。也就是说,单个表的成功率并不是100%的,根据算法看,以4个表的一个set来看,整个set的成功率达到99.9%,分为4个表,那么有:

1 In the 99.9% 4 table sets then each table represents ~ 82.217205900844901813% success rate
2 2 tables represents ~ 96.837722340270546200%
3 3 tables represents ~ 99.437658674926730755%
4 4 tables represents ~ 99.900000000027760089%

也就是说,为了追求空间和成功率间的平衡,我们不需要下载所有的表,下2-3个表的成功率已经足以应付普通的追求了,如果你空间很多那就另当别论了,嘿嘿。

目前来说主要是老外在做着方面的工作,国内基本没什么网站在弄了,贴几个经典的彩虹表网站:

http://project-rainbowcrack.com
主要是下载生成程序和买现成的彩虹表的地方,主要的格式是rc和rtc,自带有GUI查询程序,支持GPU加速查询,速度肯定刷刷的。最郁闷的是没有现成的表下载,如果自己生成,基本上等死人,不推荐,除非你有分布式大型运算系统。但是这里提供购买,我发询问邮件回复的是中文你信不信,嘿嘿:

project-rainbowcrack_buy

project-rainbowcrack_buy

 

Smaller Tables:
Table md5_ascii-32-95#1-7 (64 GB)
Table md5_mixalpha-numeric#1-8 (160 GB)
Table md5_loweralpha-numeric#1-9 (80 GB)

这三个表加一个500G的移动硬盘,包邮卖300美元,一个字,贵!但是有了这四个表基本cmd5.com上收费的数据都能够查出来,听说北京中关村也有卖,好像是500多块钱,我没有证实,有兴趣的可以去证实一下。还有一个1000美金

http://freerainbowtables.com/
福音啊,要是没有这个网站,真不知道去哪下载了,目前提供下载的表已经十分多和大了,采用的是志愿者分布式运算,可以下载网站上的软件加入这个计算系统,利用电脑的剩余资源计算彩虹表,运算的速度还是蛮快的:

统计

活跃主机
4339
在线主机
2590
当前计算能力
21015 GIOPS
最近24小时
8178 百万彩虹链
当前速率
56.9 十亿链/秒
数据增长
121.86 GB

主要提供的下载格式是rti和rti2,新算出来的表都是rti2的了,这种类型的表需要使用 rcracki_mt来查找,大小好像也会比rt小一点。当然,这个网站也是提供购买数据服务的了。下载地址:
http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/RTI2/
http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/
顺便说一下软件rcracki_mt,它是支持CPU和GPU的,也就是支持使用CUDA,现在的大表,一般都需要使用GPU来跑,要不然会等死你。下载地址:
https://sourceforge.net/projects/rcracki/files/rcracki_mt/rcracki_mt_0.7.0/
For cpu only runs on windows use the default win32_mingw built.
For gpu only runs on windows use the win32_vc build.
For linux pre-built binaries for gpu/cpu use the linux_x86_64.

http://ophcrack.sourceforge.net/
针对windows系统的彩虹表,优化过,体积大大减少,xp的表全免费,vista的大表是收费的,但是网上有网友放出下载,但是平时使用根本不需要用到那么大的了,基本上普通人的电脑密码强度都是很简单的,主要不要下german的表了,那是包含德语符号的,贴下官方的覆盖图。
tables_xpophcrack_graph_free

下面的是收费表的

ophcrack_graph_prof
下载地址:

 

http://ophcrack.sourceforge.net/tables.php
http://www.pwcrack.com/rainbowtables.shtml
是个下载彩虹表的种子的分流站,可以去下载种子,不过如果迅雷离线里面有的话,就很快了,单表,成功率在80%多吧。
http://www.ha97.com/code/tables.rar
国内流出的120G彩虹表,好像包括了md5和lm什么的,我没下,感觉还是自己找的靠谱点。国内真正流传出的好东西太少了。
找了找看了下还是觉得那套300美元的小表比较适合国内使用,为什么呢,我觉得它的覆盖面和自身大小比例非常棒,我们来看看charset.txt:
numeric            = [0123456789]
alpha              = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
alpha-numeric      = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
loweralpha         = [abcdefghijklmnopqrstuvwxyz]
loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789]
mixalpha           = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mixalpha-numeric   = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
# The charset “ascii-32-95” includes all 95 characters on standard US keyboard
ascii-32-95                  = [ !”#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]
ascii-32-65-123-4            = [ !”#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~]
alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;”‘,.?/ ]
oracle-alpha-numeric-symbol3 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#$_]
freerainbowtables上的很多表都是包含了空格的,而国内由于母语不是英文基本上是不会用到空格的的,因此造成了很多的数据冗余,不过硬盘大的话,没关系啦,嘿嘿嘿。
from:
http://www.2cto.com/article/201304/202145.html

-end-

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
361 views
CTF Capture The Flag

CTF Capture The Flag

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。

-end-

 

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
125 views
The Problem : Mars Rovers

The Problem : Mars Rovers

PROBLEM : MARS ROVERS

A squad of robotic rovers are to be landed by NASA on a plateau on Mars. This plateau, which is curiously rectangular, must be navigated by the rovers so that their on-board cameras can get a complete view of the surrounding terrain to send back to Earth.

A rover’s position and location is represented by a combination of x and y co-ordinates and a letter representing one of the four cardinal compass points. The plateau is divided up into a grid to simplify navigation. An example position might be 0, 0, N, which means the rover is in the bottom left corner and facing North.

In order to control a rover, NASA sends a simple string of letters. The possible letters are ‘L’, ‘R’ and ‘M’. ‘L’ and ‘R’ makes the rover spin 90 degrees left or right respectively, without moving from its current spot. ‘M’ means move forward one grid point, and maintain the same heading.

Assume that the square directly North from (x, y) is (x, y+1).

INPUT:
The first line of input is the upper-right coordinates of the plateau, the lower-left coordinates are assumed to be 0,0.
The rest of the input is information pertaining to the rovers that have been deployed. Each rover has two lines of input. The first line gives the rover’s position, and the second line is a series of instructions telling the rover how to explore the plateau.
The position is made up of two integers and a letter separated by spaces, corresponding to the x and y co-ordinates and the rover’s orientation.
Each rover will be finished sequentially, which means that the second rover won’t start to move until the first one has finished moving.
OUTPUT
The output for each rover should be its final co-ordinates and heading.
INPUT AND OUTPUT

Test Input:
5 5
1 2 N
LMLMLMLMM
3 3 E
MMRMMRMRRM

Expected Output:
1 3 N
5 1 E

from:

http://www.albertoncaffeine.net/

-end-

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
377 views
如何开始你的CTF比赛之旅

如何开始你的CTF比赛之旅

在过去的两个星期里,我已经在DEFCON 22 CTF里检测出了两个不同的问题:“shitsco”和“nonameyet”。感谢所有的意见和评论,我遇到的最常见的问题是:“我怎么才能在CTFs里开始?”在不久前我问过自己一样的问题,所以我想要给出些对你追求CTFs的建议和资源。最简单的方法就是注册一个介绍CTF的帐号,如CSAWPico CTFMicrocorruption或是其他的。通过实践、耐心和奉献精神,你的技能会随着时间而提高。

如果你对CTF竞争环境之外的问题有兴趣,这里有一些CTF比赛问题的集锦。挑战往往也是有多种不同的难度级别,注意解决最简单的问题。难易程度是根据你的个人技能的程度决定的,如果你的长处是取证,但是你对加密不在行,取证问题将会成为得分点而相比之下加密问题就会拖后腿。CTF组织者对此有同样的感知,这是为什么对于CTF比赛的评价是很大的挑战性。

如果你已经亲自尝试过几个基础问题且仍然苦恼,现在有很多自学的机会!CTF比赛主要表现以下几个技能上:逆向工程、密码学、ACM编程、web漏洞、二进制练习、网络和取证。可以从中选择并关注一个你已经上手的技能方向。

1、逆向工程。我强烈建议你得到一个IDA Pro的副本,这有免费版和学生认证书。尝试下crack me的问题。写出你的C语言代码,然后进行反编译。重复这个过程,同时更改编译器的选项和程序逻辑。在编译的二进制文件中“if”声明和“select”语句有什么不同?我建议你专注于一个单一的原始架构:x86、x86_64或是ARM。在处理器手册中查找你要找的,参考有:

《Practical Reverse Engineering》

《Reversing: Secrets of Reverse Engineering》

《The IDA Pro Book》

2、加密。虽然这不是我自己的强项,但这里有一些参考还是要看看的:

《Applied Cryptography》

《Practical Cryptography》

Cryptography I

3、ACM编程。选择一个高层次的语言,我推荐使用Python或Ruby。对于Python而言,阅读下《Dive into Python》和找一些你要加入的项目。值得一提的是Metasploit是用Ruby编写的。关于算法和数据结构的计算机科学课也要在此类中要走很长的路。看看来自CTF和其他编程的挑战,战胜他们。专注于创建一个解决方法而不是最快或是最好的方法,特别是在你刚刚开始的时候。

4、web漏洞。有很多的网络编程技术,在CTF中最流行的就是PHP和SQL。php.net网站(译者注:需翻墙)是一个梦幻的语言参考,只要搜索你好奇的功能。PHP之后,看到网页上存在的挑战的最常见的方法就是使用Python或Ruby脚本。主要到技术有重叠,这有一本关于网络安全漏洞的好书,是《黑客攻防技术宝典:Web实战篇》。除此之外,在学习了一些基本技术之后,你可能也想通过比较流行的免费软件工具来取得一些经验。这些在CTF竞争中也可能会偶尔用到,这些加密会和你凭经验得到的加密重叠。

5、二进制练习。这是我个人的爱好,我建议你在进入二进制练习前要完成逆向工程的学习。这有几个你可以独立学习的常见类型漏洞:栈溢出堆溢出,对于初学者的格式字符串漏洞。很多是通过练习思维来辨别漏洞的类型。学习以往的漏洞是进入二进制门槛的最好途径。推荐你可以阅读:

《黑客:漏洞发掘的艺术》

《黑客攻防技术宝典:系统实战篇》

《The Art of Software Security Assessment》

6)取证/网络。大多数的CTF团队往往有“一个”负责取证的人。我不是那种人,但是我建议你学习如何使用010 hex editor,不要怕做出荒谬、疯狂、随机的猜测这些问题运行的结果是怎样。

最后,Dan Guido和公司最近推出了CTF领域指南,会对以上几个主题的介绍有很好的帮助。

How to get started in ctf?
The First setp. Get Answering system shell . like HMAC Code execution bypass adminlogin
Second step. copy flag to you Hard Drive
Third step. post the flag one by one in system
So you can get money and Honor come back home

from:

http://www.endgame.com/blog/how-to-get-started-in-ctf.html

-end-

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
391 views
salt encrypt

salt encrypt

密码加密。现在 很少系统会直接保存用户的密码 ,至少也是会计算密码的 md5 后保存。md5 这种不可逆的加密方法理论上已经很安全了,但是随着彩虹表的出现,使得大量长度不够的密码可以直接从彩虹表里反推出来。

所以,只对密码进行 md5 加密是肯定不够的。聪明的程序员想出了个办法,即使用户的密码很短,只要我在他的短密码后面加上一段很长的字符,再计算 md5 ,那反推出原始密码就变得非常困难了。加上的这段长字符,我们称为盐(Salt),通过这种方式加密的结果,我们称为 加盐 Hash 。比如:

md5(md5(password)+salt)


常用的加密算法:

  1. 对称加密:DES3DES、TDEA、Blowfish、RC2、RC4、RC5IDEA、SKIPJACK、AES
  2. 非对称加密:RSAECC(椭圆曲线加密算法)、Diffie-HellmanEl Gamal、DSA(数字签名用)
  3. Hash 算法:MD2、MD4、MD5、HAVAL、SHA-1、SHA256、SHA512、RipeMD、WHIRLPOOL、SHA3、HMAC

DES、3DES、AES 区别:

  1. DES:1976年由美国联邦政府的国家标准局颁布,密钥为 56 位。
  2. 3DES:DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。
  3. AES:高级加密标准,是下一代的加密算法标准,速度快,安全级别高,用来替代原先的DES。密钥长度可以是128,192或256比特。

参考文章

  1. Salted Password Hashing – Doing it Right
  2. ECDH 算法概述
  3. Rainbow table
  4. 《改变未来的九大算法》第四章:公钥加密
好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
129 views
市长幼儿园考察

市长幼儿园考察

市长一行来到一贫困县的小学考察,当他走进学校食堂,看到孩子们正在吃饭,有鱼有肉,看到这个场景,市长微笑的点了点头。这时,市长注意到一个小孩一边打着饱嗝,一边不停地在吃,市长走过去,很关怀的说:小同学,一次吃得太多,会消化不好的,明天再吃!小孩抬头看了看市长,说:你明天还来吗?

-end-

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
357 views
HIFI player and headphone

HIFI player and headphone

http://www.imp3.net/

SONY NW-A35HN 1599¥


MDR-1000X/BMCN 黑色

商品描述:
  • 通讯系统: BLUETOOTH规格4.1版
  • 输出: BLUETOOTH规格功率等级2
  • 最大通讯范围: 直视距离约 10 m
  • 频率波段: 2.4 GHz波段(2.4000 GHz – 2.4835 GHz)
  • 频率范围: 2402 MHz – 2480 MHz
  • 发射功率: ≤ 20 dBm(EIRP)

2899¥,3180港币,购于百老汇


http://www.sonystyle.com.cn/products/headphone/mdr_1000x.htm

 

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
410 views
Living large: “Takahashi Method” uses king-sized text as a visual

Living large: “Takahashi Method” uses king-sized text as a visual

Living large: “Takahashi Method” uses king-sized text as a visual

Ppt_4In the Japanese language Nikkei newspaper yesterday I stumbled upon an interesting article featuring stories on people who have started small grassroots movements — however unintentional — by doing something in a unique way. One such person is Mr. Masayoshi Takahashi who has gotten a lot of people interested in his unique way of presenting, now labeled the “Takahashi Method.”

Takahashi uses only text in his slides. But not just any text — really big text. Huge text. Characters of impressive proportion which rarely number more than ten, usually fewer. The goal, he says, is to use short words rather than long, complicated words and phrases. Last year Takahashi gave a presentation at a conference using the method or style that he created. People were deeply impressed by his presentation — not the content, but his slides. Over the past year, blogs across Japan have been buzzing about Takahashi and his presentation style and people began calling it the “Takahashi Method.”

Why this method?
About four years ago Takahashi had to give a 5-minute presentation at a conference. He wanted a way to get his message clear and powerful in such a short time and found that his method was excellent for having people understand and remember his presentation.

Takahashi is a computer programmer who did not have software like PowerPoint (the slide above says “I don’t have PowerPoint”). He says he did not have access to photos or drawing programs either. So he was stuck with text. Still, he wanted to be different. He wanted to be effective. So he started thinking very hard about how to use the best word for each slide as he took the audience through his presentation. The words or phrases resemble Japanese newspaper headlines rather than sentences which must be read. His slides, though they are all text, are visual, visual in the sense that (if you read Japanese) they are instantly understood and support his talk. As he says, if you have bullets or sentences, the audience will read those and may miss what you are saying.

Is the method applicable?
I really like aspects of Takahashi’s approach (in terms of slides). Takahashi says that the method is really designed for people who are not good at presentations and who are quite nervous about the idea of presenting. This method, then, is easy to do, helps the presenter get organized during planning and keeps the presenter on track while presenting. The method provides clear visual support for the audience and helps make the content more memorable. While it may not be a perfect method or applicable in all situations, it is still far better than the method used by most business people in Japan. Most slide presentations in Japan consists of boring reams of bulleted text (used later or simultaneously as “handouts”) which many people can not read since the text on screen is too small (though that rarely keeps people from trying to read the slides anyway).

The slides used in my presentations are usually a mix of full-screen, high-quality photos, some charts/graphs, and slides with single words, short phrases, or short quotations. The idea of using very, very large type on screen is a good one. And though I think photos and graphics can be most effective, when we do use text on a slide, we would be well advised to keep it large and concise.

You can see all the slides here used by Takahashi in his recent presentation on “The Takahashi Method.” The sample slides I feature below were taken from his presentation slides available on-line. In Photoshop I added a background screen to give the slides context.

MethodHuge_text
(Left) “The Takahashi Method” title slide. (Right) “Huge characters” — He stresses using large letters on slides.

MiyasuiHistory
(Left) “Easy to see.” He states that small text is impossible for people in the back to see, so keep it “big.” (Right) “History.” Takahashi begins to talk about the background of his method.

4_21_3
(Left) “Four” main points he’d like to discuss. (Right) The “first” point is….

from:

http://presentationzen.blogs.com/presentationzen/2005/09/living_large_ta.html

-end-

好烂啊有点差凑合看看还不错很精彩 (No Ratings Yet)
Loading...
372 views
跳至工具栏