准备:
asa802-k8.bin
Qemu
qemuPCAP
VMware
Linux
目的:
破解出ASA bin文件中的一个完整的linux系统,关于CISCO对PIX和ASA里使用了开源程序的说明和列表:[url]http://www.cisco.com/en/US/products/ps6120/prod_release_note09186a008086944e.html[/url]
根据上面这个地址,可以清楚的看出ASA 操作系统是一个linux系统的改造过来的,基于linux 内核版本为2.6.
方法:
验证文件的完整性:
一切正常。
输出
asa802-k8.bin
十六进制数据流
,
将其输入到一个指定文件中:
在
asa802-k8.hd 16
进制文件中搜索串
“
1f 8b 08 00 1d
”.
获取
asa802-k8.bin
文件的大小
,
然后使用
10
进制的文件大小数减去
16
进制头
001228b0,
得到最后
N bytes
数
(10
进制
).
使用
tail
获取
asa802-k8.bin
中
CPIO
镜像文件。
解压
asa802-k8.gz
。
文件夹内已经包含一个
asa802-k8
的
CPIO
镜像文件。
使用
cpio
解压:
OK
,完整的Linux 系统终于破解出来了。
去除多余的文件:
编辑相关的文件:
编写系统自动加载网卡:
在etc/init.d/rcS.common文件中添加一句:
最后:
[root@mail cisco]# chmod u+x bin/autoboot
OK
,完成,最后的任务就是将这个完整的
Linux
打包:
搞掂,把
asa802.gz
和
vmlinuz
两个文件复制出来,然后结合
Qemu
软件,就可以模拟出一个
ASA
设备了。
完成的过程:
[root@mail ~]# cd cisco/
[root@mail cisco]# ls
asa802-k8.bin
[root@mail cisco]# md5sum asa802-k8.bin
a94c3eff8c6d12d6ae6d1be9ba2ea529 asa802-k8.bin
[root@mail cisco]#
hexdump -C asa802-k8.bin > asa802-k8.hd
[root@mail cisco]# ll
total 84000
-rw-r--r-- 1 root root 14524416 May 22 13:35 asa802-k8.bin
-rw-r--r-- 1 root root 71393157 May 22 13:43 asa802-k8.hd
[root@mail cisco]#
grep "1f 8b 08 00 1d" asa802-k8.hd
001228b0 1f 8b 08 00 1d 3d 73 46 00 03 ec 3a 6d 54 14 57 |.....=sF.. .:mT.W|
[root@mail cisco]# ll
total 84000
-rw-r--r-- 1 root root 14524416 May 22 13:35 asa802-k8.bin
-rw-r--r-- 1 root root 71393157 May 22 13:43 asa802-k8.hd
[root@mail cisco]# perl -e '$x=14524416-0x1228b0;print "$x\n"'
13334352
[root@mail cisco]#
tail -c 13334352 asa802-k8.bin > asa802-k8.gz
[root@mail cisco]# ll
total 97044
-rw-r--r-- 1 root root 14524416 May 22 13:35 asa802-k8.bin
-rw-r--r-- 1 root root 13334352 May 22 13:50 asa802-k8.gz
-rw-r--r-- 1 root root 71393157 May 22 13:43 asa802-k8.hd
[root@mail cisco]#
gzip -d asa802-k8.gz
gzip: asa802-k8.gz: decompression OK, trailing garbage ignored
[root@mail cisco]# ll
total 114556
-rw-r--r-- 1 root root 31251968 May 22 13:50 asa802-k8
-rw-r--r-- 1 root root 14524416 May 22 13:35 asa802-k8.bin
-rw-r--r-- 1 root root 71393157 May 22 13:43 asa802-k8.hd
[root@mail cisco]#cpio -i --make-directories --no-absolute-filenames < asa802-k8
61039 blocks
[root@mail cisco]# ll
total 116228
drwxr-xr-x 4 root root 4096 May 22 13:53 asa
-rw-r--r-- 1 root root 31251968 May 22 13:50 asa802-k8
-rw-r--r-- 1 root root 14524416 May 22 13:35 asa802-k8.bin
-rw-r--r-- 1 root root 71393157 May 22 13:43 asa802-k8.hd
drwxr-xr-x 2 root root 4096 May 22 13:53 bin
drwxr-xr-x 3 root root 4096 May 22 13:53 dev
drwxr-xr-x 3 root root 4096 May 22 13:53 etc
lrwxrwxrwx 1 root root 7 May 22 13:53 init -> linuxrc
drwxr-xr-x 3 root root 4096 May 22 13:53 lib
lrwxrwxrwx 1 root root 11 May 22 13:53 linuxrc -> bin/busybox
drwxr-xr-x 4 root root 4096 May 22 13:53 mnt
drwxr-xr-x 2 root root 4096 May 22 13:53 proc
drwxr-xr-x 2 root root 4096 May 22 13:53 sbin
drwxr-xr-x 2 root root 4096 May 22 13:53 sys
-rw-r--r-- 1 root root 563896 May 22 13:53 System.map
drwxr-xr-x 3 root root 4096 May 22 13:53 usr
-rw-r--r-- 1 root root 1095856 May 22 13:53 vmlinuz
[root@mail cisco]# rm -rf asa802-k8
[root@mail cisco]# rm -rf asa802-k8.bin
[root@mail cisco]# rm -rf asa802-k8.hd
[root@mail cisco]# vi etc/init.d/rcS
[root@mail cisco]# ls
asa dev init linuxrc proc sys usr
bin etc lib mnt sbin System.map vmlinuz
[root@mail cisco]# cd bin/
[root@mail bin]# ls
ash cp gdbserver mkdir rm stty tunctl
busybox echo hush mknod rmdir tipc-config umount
cat false ls mount sh true
[root@mail bin]#
vi autoboot
[root@mail bin]# cd ..
[root@mail cisco]#
vi etc/init.d/rcS.common
[root@mail cisco]#
chmod u+x bin/autoboot
[root@mail cisco]# ls
asa dev init linuxrc proc sys usr
bin etc lib mnt sbin System.map vmlinuz
[root@mail cisco]# find . | cpio -o -H newc | gzip -9 > /root/asa802.gz
61039 blocks
[root@mail cisco]#
下载
qemu-0.9.0-windows.zip
及
qemuPCAP.rar
两个软件,将
qemu-0.9.0-windows.zip
解压到硬盘中
qemu-0.9.0
目录,并把
qemuPCAP.rar
也解压到
qemu-0.9.0
目录,把刚刚复制出来的
asa802.gz
和
vmlinuz
两个文件一同复制到
qemu-0.9.0
目录中,就可以实验
ASA
设备的模拟了。
编写
ASA
设备脚本文件,内容如下:
@echo off
color 21
cls
title ASA Simulator
setlocal
set command_name= qemuPCAP -L . -hda FLASH -hdachs 980,16,32 -kernel vmlinuz -initrd asa802-k8.gz -m 256 --no-kqemu
set parameter= -append "auto nousb ide1=noprobe bigphysarea=16384 console=ttyS0,9600n8 hda=980,16,32"
set nic1=-net nic,vlan=0,model=i82557b,macaddr=00:aa:00:00:02:01 -net pcap,vlan=0,ifname=\Device\NPF_{7CC35E93-92BA-49FF-8A21-51BE044511F8}
set nic2=-net nic,vlan=1,model=i82557b,macaddr=00:aa:00:00:02:02 -net pcap,vlan=1,ifname=\Device\NPF_{7CC35E93-92BA-49FF-8A21-51BE044511F8}
set nic3=-net nic,vlan=2,model=i82557b,macaddr=00:aa:00:00:02:03 -net pcap,vlan=2,ifname=\Device\NPF_{7CC35E93-92BA-49FF-8A21-51BE044511F8}
set options=-serial telnet::1007,server,nowait
%command_name% %parameter% %nic1% %nic2% %nic3% %options%
保存为
ASA.bat
到
qemu-0.9.0
目录中,双击运行即可。
详细内容请下载附件.