免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ziggler
打印 上一主题 下一主题

【BT wep/wpa crack】 [复制链接]

论坛徽章:
0
81 [报告]
发表于 2009-08-11 08:53 |只看该作者

回复 #80 flb_2001 的帖子

论坛徽章:
0
82 [报告]
发表于 2009-08-11 09:43 |只看该作者

回复 #79 ziggler 的帖子

initramfs 简介,一个新的 initial RAM disks 模型 收藏
initramfs 简介,一个新的 initial RAM disks 模型
译自: http://linuxdevices.com/articles/AT4017834659.html或点此查看原文
by Rob Landley, TimeSys (Mar. 15, 2005)
问题
当 Linux 内核启动系统时,它必须找到并执行第一个用户程序,通常是 init。用户程序存在于文件系统,故 Linux 内核必须找到并挂载上第一个(根)文件系统,方能成功开机。
通常,可用的文件系统都列在 /etc/fstab,所以 mount 可以找到它们。但 /etc/fstab 它本身就是一个文件,存在于文件系统中。找到第一个文件系统成为鸡生蛋蛋生鸡的问题,而且为了解决它,内核开发者建立内核命令列选项 root=,用来指定 root 文件系统存在于哪个设备上。

十五年前,root= 很容易解释。它可以是软盘或硬盘上的分区。如今 root 文件系统可以存在于各种不同类型的硬件(SCSI, SATA, flash MTD) ,或是由不同类型硬件所建立的 RAID 上。它的位置随着不同启动而不同,像可热插拔的 USB 设备被插到有多个 USB 孔的系统上 - 当有多个 USB 设备时,哪一个是正确的?root 文件系统也可能被压缩(如何?),被加密(用什么 keys?),或 loopback 挂载(哪里?)。它甚至可以存在外部的网络服务器,需要内核去取得 DHCP 地址,完成 DNS lookup,并登入到远程服务器(需账号及密码),全部都在内核可以找到并执行第一个 userspace 程序之前。

如今,root= 已没有足够的信息。即使将所有特殊案例的行为都放进内核也无法帮助设备列举,加密,或网络登入这些随着系统不同而不同的系统。更糟的是,替核心加入这些复杂的工作,就像是用汇编语言写 web 软件 :可以做到,但使用适当的工具会更容易完成。核心是被设计成服从命令,而不是给命令。

为了这个不断增加复杂度的工作, 核心开发者决定去寻求更好的方法来解决这整个问题。
解决方法
Linux 2.6 核心将一个小的 ram-based initial root filesystem(initramfs) 包进内核,且若这个文件系统包含一个程序 init,核心会将它当作第一个程序执行。此时,找寻其它文件系统并执行其它程序已不再是内核的问题,而是新程序的工作。

initramfs 的内容不需是一般功能。若给定系统的 root 文件系统存在于一个加密过的网络块设备,且网络地址、登入、加密都存在 USB 设备 "larry" (需密码方能存取)里,系统的 initramfs 可以有特殊功能的程序,它知道这些事,并使这可以运作。

对系统而言,不需要很大的 root 文件系统,也不需要寻址或切换到任何其它 root 文件系统。
这跟 initrd 有何不同?

Linux kernel 已经有方法提供 ram-based root filesystem,initrd 机制。对 2.4 及更早的 kernel 来说,initrd 仍然是唯一的方法去做这一连串的事。但 kernel 开发者选择在 2.6 实现一个新的机制是有原因的。
initramfs 简介,一个新的 initial RAM disks 模型 - 游戏开发 - CSDN博客 (11 August 2009)
http://blog.csdn.net/future_figh ... /02/06/3866073.aspx

论坛徽章:
0
83 [报告]
发表于 2009-08-11 09:58 |只看该作者
原帖由 ziggler 于 2009-8-11 00:37 发表
D:BT4

│     Backtrack.fs

│     Backtrack.swap

│     bt4-mod.iso



└─boot

我在BT4目录下解压缩fs_2048Mb.bz2,然后重命名BTExt.fs想扩展 BT4 os 文件系统2G,结果启动的时候直接进 ...

initramfs)

显示这个

查看分区fdisk -l

看到系统在那一个分区

initramfs)root=/dev/sda6    #我这边显示的分区

initramfs)mount -t ntfs-3g /dev/sda6 /root -o  force #也不知道是不是这条命令的做用,重动就好了
估计这样可以解决。

晚上回去试验一下。

论坛徽章:
0
84 [报告]
发表于 2009-08-11 10:31 |只看该作者
ramfs, rootfs, initrd and initramfs
-------------------------------------------------------------------------------
什么是ramfs?

ramfs是空间规模动态变化的RAM文件系统。它非常简单,用来实现Linux缓存机制(缓存page cache and dentry cache)的文件系统。

通常情况下,Linux的所有文件在内存中都有缓存。需要读取的数据页从支撑存储设备(block device)中读取后,缓存于内存。在支撑存储设备中的数据页执行marked as clean操作。当虚拟文件系统需要支撑存储设备中的数据页内存时,可以释放。基于同样的机制,支撑存储设备的写入操作(写入文件然后写回支撑存储设备,marked as clean)后,也可以释放占用的数据页内存。对于文件目录占用的缓存(dentry: directory entry),也存在同样的机制。

但是,ramfs中不需要支撑存储设备(没有支撑缓存,但是有缓存)。也就是说,写入ramfs的文件可以正常的分配page cache and dentry cache,但是不能写入支撑存储设备。这些page cache and dentry cache不能被VM释放、回收。

由于ramfs可以基于现有的Linux的文件系统结构,用于实现ramfs的代码很小。一般而言,支撑存储设备的缓存被安装为一个文件系统。所以,ramfs不能通过menuconfig选择,是必然进入内核的。

在ramfs的下面可以一直写入数据,直到写满内存为止。由于VM(Vitual Memory)认为文件应该被写回支撑存储设备,而不是交换空间(swap space),所以VM不能释放ramfs分配的内存。从而,只有root用户(or trusted user)才能进行ramfs写操作。
-------------------------------------------------------------------------------
什么是ram disk?

"ram disk"是一种实现文件系统的支撑存储的、过时的机制(2.6不用了),就是在RAM上面开辟的综合块设备(synthetic block device)。ram disk的大小是固定的,安装的文件系统大小(不是ramfs)也是固定的。ram disk的使用需要从这个假的块设备到page cache之间拷贝内存,生成和销毁dentry,而且需要文件系统的驱动格式化和解释上面的数据,所以ram disk的机制不再使用。

与ramfs相比,ram disk浪费了内存,也浪费了内存总线的带宽。同时,ram disk还为CPU加重了不必要的负担,污染了CPU的cache(尽管有避免污染的方法,但是非常耗费资源)。ramfs机制非常自然,因为文件访问可以通过page cache and dentry cache。ram disk被弃用的另外一个原因是环回设备(loopback)引入。环回设备提供了一种更加灵活、方便的从文件而不是从内存块中创建综合块设备的方法。
-------------------------------------------------------------------------------
什么是tmpfs?

tmpfs是ramfs的衍生物,用来限制缓存大小、向swap空间写入数据。它是用来保存VM所有文件的文件系统。tmpfs中缓存的内容全部是临时的。一旦卸载,所有的内容都会遗失。它把所有的缓存置于内核,它的规模随着文件的规模同步变化。但是它规模有大小限制,可以修改。它可以把当前不再需要的页写入到swap空间。
-------------------------------------------------------------------------------
什么是rootfs?

rootfs是ramfs的特殊实例,在2.6的内核中必然存在。rootfs不能被卸载(与其添加特殊代码用来维护空的链表,不如把rootfs节点始终加入,因此便于kernel维护:简单、精炼。rootfs是ramfs的一个空实例,占用空间极小)。大部分其他的文件系统安装于rootfs之上。
-------------------------------------------------------------------------------
什么是initramfs?

2.6的Linux内核包含有gzip压缩的cpio格式的文档,可以在内核引导的时候解压缩为rootfs。在解压缩后,kernel将检查rootfs中是否包含init文件。如果init文件存在,内核就会执行这个文件,并且赋予PID=1的进程号。这个init程序将整个系统引导起来,包括定位并且安装真正的root设备。如果在cpio文档解压缩后的rootfs中没有init程序(init文件),内核执行旧的代码,定位并且安装root分区,执行/sbin/init程序。
-------------------------------------------------------------------------------
initramfs与initrd的区别

1. initrd是一个单独的文件;initramfs和Linux内核链接在一起(/usr目录下的程序负责生成initramfs文档)。

2. initrd是一个压缩的文件系统映像(可以是ext2等,需要内核的驱动);initramfs是类似tar的cpio压缩文档。内核中的cpio解压缩代码很小,而且init数据在boot后可以丢弃。

3. initrd运行的程序(initd,不是init)进行部分setup后返回内核;initramfs执行的init程序不返回内核(如果/init需要向内核传递控制权,可以再次安装在/目录下一个新的root设备并且启动一个新的init程序)。

4. 切换到另一个root设备时,initrd执行pivot_root后,卸载ramdisk;initramfs是rootfs,既不能pivot_root,也不能卸载。initramfs会删掉rootfs的所有内容(find -xdev / -exec rm '{}' ';'),再次安装root到rootfs(cd /newmount; mount --move . /; chroot .),把stdin/sdout/stderr挂在新的/dev/console上,重新执行init。由于这是一个相当困难的实现过程(包括在使用一个命令之前把它删除),所以klibc工具包引入一个帮助程序/utils/run_init.c来执行上述过程。其他大部分工具包(包括busybox)把这个命令称为"switch_root"。
-------------------------------------------------------------------------------
Populating initramfs

2.6的内核缺省情况下总是生成一个gzipped的cpio文档,并且和内核链接在一起。这个文档缺省是空的,在X86环境下的大小是134字节。

CONFIG_INITRAMFS_SOURCE配制参数指定initramfs文档的源,并且自动的嵌入到二进制文件中。这个参数可以指向一个gzipped的cpio文档,一个包含文件的目录,或者文件描述的文本文件。例如文本文件:

   dir /dev 755 0 0
   nod /dev/console 644 0 0 c 5 1
   nod /dev/loop0 644 0 0 b 7 0
   dir /bin 755 1000 1000
   slink /bin/sh busybox 777 0 0
   file /bin/busybox initramfs/busybox 755 0 0
   dir /proc 755 0 0
   dir /sys 755 0 0
   dir /mnt 755 0 0
   file /init initramfs/init.sh 755 0 0

在内核编译完成后,可以执行/usr/gen_init_cpio命令获得cpio文档。配置文件的一个优势是不需要root权限,也不需要在新的文档中生成设备节点。在上述文档中的两个file命令用来发现initramfs目录下面的init.sh文件和busybox文件。内核不需要外部的cpio工具实现initramfs的cpio文档。如果在配置时指定了一个目录而不是一个描述文件,内核编译时将从这个目录生成一个描述文件(作为/usr/gen_init_cpio.c的输入)。内核编译时cpio生成代码和内核浑然一体,boot时解压缩程序也和内核浑然一体。

如果不使用配置文件或者配置目录,而使用定制的cpio文档时,需要外部的cpio工具。例如下面的命令可以从cpio映像文件抽取包含的文件、压缩cpio映像文件:

    cpio -i -d -H newc -F initramfs_data.cpio --no-absolute-filenames
   
下面的shell脚本可以生成一个定制的cpio.gz文档,可以用来代替配置文件生成的cpio文档:

   #!/bin/sh

   if [ $# -ne 2 ]
   then
     echo "usage: mkinitramfs directory imagename.cpio.gz"
     exit 1
   fi

   if [ -d "$1" ]
   then
     echo "creating $2 from $1"
     (cd "$1"; find . | cpio -o -H newc | gzip) > "$2"
   else
     echo "First argument must be a directory"
     exit 1
   fi
ramfs, rootfs, initrd and initramfs — Windows Live (11 August 2009)
http://lsjandysf.spaces.live.com ... 28BDE00EA!362.entry

论坛徽章:
0
85 [报告]
发表于 2009-08-11 10:41 |只看该作者
initramfs和kernel的关系应该是:
*bootloader加载kernel和initramfs
*kernel读取initramfs并处理为文件系统
*kernel寻找initramfs里面的init文件并执行
*initramfs里面的init负责找到并挂载真正的根文件系统,并执行真正的init
*真正的init完成系统初始化并最终可以交给用户使用
完全基于initramfs的LFS系统 - LinuxSir.Org (11 August 2009)
http://www.linuxsir.org/bbs/thread338196.html

论坛徽章:
0
86 [报告]
发表于 2009-08-11 10:52 |只看该作者
我也拿bt3的spoonwep试了一下,发现几个问题。bt3中所谓的网卡支持是指系统有默认驱动,和spoonwep好像没什么关系。用spoondrv可以看到一些“系统支持的驱动”,但不是都能破解的。也没找到任何对应关系(网上流传的只有一个)。拿了3个卡测试,只有atheros可以,spoondrv认为是mad。airodump搜出很多,听高手说挑pwr>10 data多多益善,确实几十分钟就能破一个,但破完之后有win机器搜了一下,一个对的上ssid都找不到~~~~~~

论坛徽章:
0
87 [报告]
发表于 2009-08-11 11:10 |只看该作者

回复 #86 aredfox 的帖子

你可以记录SSID以及MAC地址;

不过还有一种可能就是WIN下的驱动和BT下的驱动有差别,BT下能搜索出来10个AP,也许WIN下只能搜索出来8个,而且这8个也不一定是BT下那10个里面的8个;你需要选择WIN下和BT下都能搜索到的AP进行破解。

论坛徽章:
0
88 [报告]
发表于 2009-08-11 11:47 |只看该作者
折腾字典真累啊~~~不过蛮有意思的
原帖由 我爱臭豆腐 于 2009-8-10 23:56 发表

wpa 也有好几种协议呢. 不信你自己看看. 破解wpa的最佳方法就是你有一个nb的字典. 但是并不是特别现实. 现在好多ap都可以设置很长很变态的密码.
而且现在大多数商业应用里面早就开始802.1x了. 那个技术已经 ...

论坛徽章:
0
89 [报告]
发表于 2009-08-11 11:48 |只看该作者

回复 #87 ziggler 的帖子

可以找找win下有没有能把ath驱成mad的,我自己的本是Broadcom 802.11g 网络适配器,直接用wireshark都可以抓无线下别人的包,bt4都没有驱动……,不知道Broadcom 802.11g 网络适配器在linux有没有对应的驱动。

论坛徽章:
0
90 [报告]
发表于 2009-08-11 11:50 |只看该作者
哈哈,我也是 过程很享受;
WPA 太难破解了,整了几天都没结果,外加我这intel网卡,很多工具都不支持intel网卡注入,
WEP 一会就能访问好几了AP了
原帖由 ziggler 于 2009-8-11 00:15 发表
主要是钻研钻研技术,上网是其次。整个过程中能学到不少东西。这个很有趣。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP