John/bkhive/samdump, 在Linux下破解SAM密码

发布于: 2006年12月07日

2007-7-18修订部分内容

搬家自原blog:http://blog.linuxsky.net/2993

原地址:http://blog.linuxsky.net/2993/viewspace_2381.html

2006-10-26补:写了那么多,还是蛮有成就感的,嘿嘿,加个声明吧:允许任意转载,但需要保证文章的完整性和我的署名,如果有时间,还希望能够告诉我一下

署名:failsafe/Simon

Email:simon.youngest@gamil.com

上篇日志中谈到John the Ripper破解SAM密码中,把过程按下不表了。这篇专门拉出来说说。
其实我就把网上的英文原稿复述一下而已。但是google上找不到中文材料,就不妨写一写了。

突然发现这两天特别忙(房子正在装修,不忙才有鬼呢),但开始了还是要写完滴,不过可能每次都写一点点,

1.软件准备:就是标题上写的John/bkhive/samdump

John比较容易找,到官方网站下载最新版本吧:www.openwall.com/john/

bkhive/samdump 打包文件我已经上传上来了,bkhive_samdump.zip (经过测试已经可用)

2.软件编译:上述软件你下载下来得到的是源代码,不能直接运行,需要一个编译过程

John的编译过程可以在下载包里面的install文件里面查看,过程很简单,编译也很容易.但是有一个问题需要注意,John本来是用来破解Unix密码的,破解SAM密码需要添加补丁.拿当前最新版本来说,主程序文件名为john-1.7.2.tar.gz, 可以在官方网站下载一个叫john-1.7.2-all-2.diff的补丁打上.具体过程官网上会有说明,就不再赘述了.

为了免去新手苦恼,大上ntlm补丁并编译好的文件(包含二进制文件和源文件已经上传,放在这里

bkhive和samdump编译: 解开打包的bkhive_samdump2.zip文件后会有两个文件夹,bkhive_linux 和samdump2_linux,用下面方法编译:
bkhive编译:

$cd bkhive

$g++ -o bkhive *.cpp

编译完成后,bkhive文件夹内产生一个名为bkhive的二进制文件供我们使用

samdump编译:

$cd samdump
$cd des/
$tar zxvf libdes-4.01.tar.gz
$make gcc
$cd ..
$gcc -c md5_dgst.c rc4_enc.c rc4_skey.c
$g++ -o samdump2 samdump2.cpp hive.cpp md5_dgst.o rc4_enc.o rc4_skey.o /des/libdes.a

编译完成后,samdemp文件夹内产生一个叫samdump2的二进制文件供我们使用

3.被破解文件准备,以XP系统为例:

传说中的SAM文件: C:\windows\system32\config\SAM
system文件:C:\windows\system32\config\system

这两个文件一般来说在windows下是得不到的,即使你有管理员权限(但是LC4可以在管理员权限下直接得到SAM文件进行破解,但是既然已经有管理员权限,为什么还要破解??).我这边推荐几种方法:
a.如果本机装有Linux,那么就进入Linux, mount windows系统所在分区, 再copy这两个文件
b.如果本级没有装Linux,但是有光驱的话,可以通过准备Linux Live CD 如knoppix等进入Linux,之后同a方法copy以上文件
c.如果windows系统文件是fat格式, 也可以通过光驱/软驱进入纯dos来copy以上文件
d.现在也有一些方法通过修改boot.ini文件从硬盘引导dos image 或者支持ntfs的dose image,可以再没有光驱/软驱的情况下得到以上两个文件,但是你需要有修改boot.ini的权限(似乎需要较大的权限)
e.总之方法不会局限与一两种,决定与你的主观能动性,黑客知名宣言说:”进入电脑的路不会只有一条.”终极一条叫社会工程学,简而言之就向系统管理员要密码(可能需要系统管理员直属主管权限)
f.过渡发挥了,打住,打住

4.被破解文件处理:
先用bkhive从system文件生成一个bootkey文件

bkhive/bkhive system bootkey

再用bootkey和SAM文件通过samdump2生成一个密码hash文件

samdump/samdump2 SAM bootkey > hashes

5.终于,我们可以用到John进行密码破解了
John的用法很多,他的doc/EXAMPLE文件里面有详细的介绍,有兴趣的话可以好好研究一下.不过当时我是不管三七二十一直接就是

john-1.7.2/run/john hashes

让他开始破,第二天早上上班一看,hoho,密码出来鸟.比如administrator密码是123456,那么他会在最底下这么显示

administrator:123456:500:e263f50a6a506be3d494d3d62b4dc666:::

看起来有点像/etc/passwd的内容格式,如果当时没有看清楚密码就清屏了,或者后来忘记已经破解了的密码,可以通过下面命令查看

john-1.7.2/run/john -show hashes

有的时候密码处有可能会显示几个问号,如下

administrator:???456:500:e263f50a6a506be3d494d3d62b4dc666:::

这个时候可以通过

john-1.7.2/run/john -show hashes

看看密码是否完整. 如果还是不完整,那么可能密码没有完全破解完毕,可以加–restore 参数从原来基础上继续破解

john-1.7.2/run/john --restore hashes

我对john使用的了解也就差不多是这样了,如果有什么不明白的,可以参考john的doc/目录下的一些文档,或者访问john的官方网站

好了,终于写完了,good luck

我的mysql数据通过FTP备份的实现

发布于: 2006年12月07日

搬家自原blog:http://blog.linuxsky.net/2993
原地址:http://blog.linuxsky.net/2993/viewspace_2379.html

我的部门服务器已经连续运行74天了,数据备份成为我的一大心病.6个课每天的交接数据,要是哪天挂了,也是不好交差阿.
也不是我不想备份,实在是优点困难.公司对办公室的电脑实行了域服务器控制,本地账户全删,administrator禁用,域登录用户权限卡得那叫一个紧哟,C盘没有写的权限.已经装的软件用下可以,装软件只能用绿色的,文件夹共享权限全无,加服务就更别想了.备份到哪里去呢???
机缘巧合之下,我听说一个叫做John the ripper可以破解SAM密码,只消一个晚上,十位的管理员密码出现在了我的眼前(具体过程按下不表).
本来打算用mount smbfs进行网络备份,但是还是网络用户认证的问体搞的郁闷,干脆放弃,另觅他方. google了一下,还是觉得ftp备份比较可行.过程比较简单,分成四步走:在我的办公电脑上装上ftp服务,我选了Filezilla,谁叫我对开源软件情有独钟呢?
在服务器(CentOS4.3)的用户目录下建立.netrc文件如下,用做ftp非交互方式传输我所需要的备份的文件.该文件的用处可以参考chinaunix上的这篇文章

_lcd=/tmp/backup-`date +%Y%mYd`
cd $_lcd
machine 03b-000164.xxoo.com
login centos
password ******
macdef init
bin
cd upload
mput *.tar.gz
bye

另外建一个shell文件,我把它命名为mysql.tar,加上执行权限,写上需要备份的相关shell命令. 其中最后一句是关键性的,因为它连接的服务器恰好就是.netrc文件上的machine后面那个,所以会自动根据.netrc上的命令执行

#!/bin/sh
_dir=/tmp/backup-`date +%Y%m%d%H`
rm -rf $_dir
mkdir $_dir
cd $_dir
mkdir mysql
cp -r /var/lib/mysql/* $_dir/mysql
tar czf mysql-`date +%y%m%d%H`.tar.gz mysql
ftp -i 03b-000164.xxoo.com

用crontab定期执行mysql.tar文件,我嫌crontab -e编辑太烦,就用webmin,在鼠标点了几下:)
这边我使用数据库备份的方式是直接备份/var/lib/mysql 目录下的那些数据库存储原始文件,不知道这样做是否合理,还请高手指教

Samba 服务配置文件

发布于: 2006年12月07日

搬家自原blog:http://blog.linuxsky.net/2993
原地址:http://blog.linuxsky.net/2993/viewspace_2205.html

今天配置完成了samba服务,记录配置文件如下,一遍以后查询
smb.conf文件内容:

[global]
workgroup = sinomos
server string = E3 Samba Server |  Powered by Simon
log file = /var/log/samba/%m.log
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/false
winbind use default domain = no
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
[printers]
[photope]
comment = photo pe share disk
path = /home/photope
public = no
valid users = photope
write list = photope
printable = no
[etchpe]
comment = etch pe share disk
path = /home/etchpe
public = no
valid users = @etchpe
write list = etchpe
printable = no
[public]
comment = Public File Directory
path = /home/samba
public = yes
writable = yes

添加所需用户到samba:

#smbpasswd -a photope
#smbpasswd -a etchpe

无意间拿到一台双CPU服务器玩玩

发布于: 2006年12月07日

搬家自原blog:http://blog.linuxsky.net/2993
原地址:http://blog.linuxsky.net/2993/viewspace_2195.html

好东西都是无意间得到的。
这个周一,我在捣鼓部门内部交接系统和公共碟所在电脑的时候,隔壁部门一个副理,人称宝哥,在边上看了一会儿,就跟我说:
“你跟我来!”
把我带到了他的位子上,指着一个黑盒子,说:
“这个拿去用,反正放着也没用。”
仔细一看
……
老婆催了,晚上继续
……
老婆还在睡觉,咱们继续
……
仔细一看,上面有两颗CPU,后来知道是双 P4 850。
又拿给我一个200G的硬盘说:“把这个换上,应该够用了吧。原来那个换下来还给我,上面有专业软件。”顺着宝哥手指的方向,果然看到一张不认识的插卡,上面布满IC芯片,有点像早期的声卡,不过这张大很多。后来听人说这台服务器号称买价10万刀,估计跟这块破卡有关吧。
不过其他配置就比较一般了。显卡是烂得不能再烂的了,集成的,上面连个AGP插口都没有。图形模式下装Linux,鼠标指针几乎都动不了,当然这是后话。网卡接口倒是有两个,还没有探究出来是10M还是100M的。机箱看上去很结识。正面有一扇窗,要用钥匙才能打开,里面有一个电源按钮和键盘锁按钮。看起来安全措施做得不错:登配置好以后,键盘鼠标显示器全部拔掉,再锁定键盘,也就只有远程登陆才能控制这台机器了。当然如果有把螺丝刀…嘿嘿
最让人郁闷的是鼠标键盘接口了:P/S2 接口只有一个,而且键盘插上去没有反应,看起来是为鼠标准备的;还有一个比P/S2接口大一点的圆形插口,宝哥说“这个是键盘接口”。这下晕菜了。

前期工作就够辛苦的。我不是说服务器的配置,是机器的启动。宝哥给了我一个黑盒子,但是他也只给了我一个黑盒子,其他什么都没有。鼠标、键盘、显示器是部门内一台工程数据分析的电脑上临时拆借的,反正配置好了还回去就是了。 电源线找遍办公室没有找到,想到自己家里还有一根闲置的,就贡献出来了。分区硬盘格式化的时候出错,发现数据线是40针的--原来的硬盘是20G的,就把我的工作电脑上那根拔了下来。插的时候发现现在的数据线有一个口是堵上的,而主板接口上那个位置的针还在的,想来想去只能用电热焊(不知道是不是叫这个名字)把这个洞桶开了。网线倒是到处都有,网卡接口也是遍地都是。上面说到的键盘接口,找的是隔壁部门设备工程师要了一个转接口。

两天的配件筹备啊,终于找齐了,可以装系统了。找了一套CentOS 4.3 装上,还算顺利。不过那个不知道哪里找出来的键盘转接口还是给我惹了麻烦。那个东东本来就接触不好,搞得键盘不定期得死掉,后来干脆就被我拔断了。这下只能远程登陆了,那个键盘锁不锁上都很安全的了。可是不知是网线的问题还是网络接口的问题,网络时不时的会断,找不到原因就时不时的电源重启。机器牛,声音也牛,边上的人嫌吵,就搬吧。三下两下一搞,晕, kernel panic!

现在有人问我,服务器怎么样了?
我就说:“缺parts。”
“人家Fab里机器缺Parts, 你个电脑也缺Parts啊。”
“sigh… 一言难尽哪。”
只能周末到电脑市场看看,能不能找到类似的转接口或者USB转P/S2的接口(嗯..P/S2转USB的见过,不一样吗?hoho,你说呢)。

你看我为公司的事情可是尽心尽力啊!

ubuntu apt-get的mplayer颜色失真的问题

发布于: 2006年12月07日

搬家自原blog:http://blog.linuxsky.net/2993
原地址:http://blog.linuxsky.net/2993/viewspace_2090.html

之前在Ubuntu下的mplayer颜色有失真的问题,我只是简单的把问题归罪于xgl, 这实在太过草率.因为我改成kubuntu,没有装xgl问题依旧.而且kde自带的kaffeine却没有这个问题.
我查了一下ubuntu.org.cn的wiki,发现那里建议使用vo=xv而不是vo=x11, 但是我查了一下,发现/etc/mplayer/mplayer.conf中的vo本来就是xv,难道会是这里有问题?
于是尝试了用mplayer –vo x11 命令播放,结果反而解决颜色失真问题了.

看来每台机器都有他自己的特点, 可能原来很多人用vo=x11有这样那样的问题,所以源里的新版mplayer就直接在打包的时候设成vo=xv, 却在我这里产生了新的问题

编译mplayer Cannot find header either inttypes.h or bitypes.h

发布于: 2006年12月07日

搬家自原blog:http://blog.linuxsky.net/2993
原地址:http://blog.linuxsky.net/2993/viewspace_2086.html

编译mplayer pre8, configure 的时候出现以下error:

Checking for inttypes.h (required) … no
Checking for bitypes.h (inttypes.h predecessor) …
Error: Cannot find header either inttypes.h or bitypes.h (see
DOCS/HTML/en/faq.h

google了好久没有找到解决办法,感觉一定是缺了什么c的头文件,最终的解决办法

apt-get install libc6-dev

运行过程中安装了两个包:

libc6-dev linux-kernel-headers

留下记录,以便后查

另外在加一个error:

Error: X11 support required for GUI compilation

解决:

sudo apt-get install libgtk1.2-dev

安装了15个包:

libglib1.2 libglib1.2-dev libgtk1.2 libgtk1.2-common libgtk1.2-dev libx11-dev libxau-dev libxdmcp-dev libxext-dev libxi-dev pkg-config x11proto-core-dev x11proto-input-dev x11proto-kb-dev
x11proto-xext-dev

看起来新装的Kubuntu,有N多dev包需要安装阿

浙ICP备18056264号-1