当前位置: 首页 > news >正文

谈谈你对网站建设有什么样好的建设意见/网络黄页平台网址有哪些

谈谈你对网站建设有什么样好的建设意见,网络黄页平台网址有哪些,网站定制开发流程和功能,网站主页面设计1.沙箱简介 1.1 沙箱 沙箱是一个虚拟系统程序,允许你在沙箱环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。 在网络安全中&#xff…

1.沙箱简介

1.1 沙箱

沙箱是一个虚拟系统程序,允许你在沙箱环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。 在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。

沙箱也是一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙箱一般用来将不可信软件放在隔离环境中自动地动态执行,然后提取其运行过程中的进程行为、网络行为、文件行为等动态行为,安全研究员可以根据这些行为分析结果对恶意软件进行更深入地分析。

1.2 Cuckoo沙箱

Cuckoo 是一款用Python 编写的开源的自动化恶意软件分析系统,它的主要功能有:

1.跟踪记录恶意软件所有的调用状况;

2.恶意软件文件行为:恶意软件执行过程中创建新文件、修改文件、删除文件、读取文件或下载文件的行为;

3.获取恶意软件的内存镜像;

4.以 PCAP 格式记录恶意软件的网络流量;

5.获取恶意软件执行过程中的屏幕截图;

6.获取执行恶意软件的客户机的完整内存镜像

Cuckoo 可以分析的文件类型包括但不限于:Windows 可执行文件、DLL 文件、PDF 文件、MS Office 文件、URL 和 HTML 文件、PHP 脚本文件、CPL 文件、VB 脚本文件、ZIP 压缩包、JAR 文件、Python 脚本文件、APK 文件、ELF 文件

Cuckoo 的架构也比较简单,在 Host 机上运行 Cuckoo 主程序,多个 Guest 机通过虚拟网络与 Host 机相连,每个 Guest 机上有一个 Cuckoo Agent 程序,用来做 Cuckoo 的监控代理。

1.3 官方文档

https://cuckoo-sandbox.readthedocs.io/zh_CN/latest/introduction/index.html

2. 环境准备

使用ubuntu16.04(最契合版本),cuckoo完全兼容python2.7,为避免不必要的环境问题,采用2.7以及pip2,并且使用虚拟环境管理-virtualbox,内部镜像推荐win7(实测为win10可能会出现WindowsError错误),如果是vmware安装,推荐使用兼容性Workstation 15.x,ubuntu版本选择Ubuntu 64位-因为配置低了不方便后续虚拟嵌套。

特殊说明:云上安装需要支持虚拟嵌套,目前华为云仅裸金属服务器及专属主机支持。具体可以询问云服务器客服。

Ubuntu下载:http://releases.ubuntu.com
在这里插入图片描述

安装其他依赖,更换国内源之后操作

#(1) 先把源文件复制到sources.list.old,备份
cd /etc/apt/ && sudo cp sources.list sources.list.old
#(2 ) 没有安装过vim 先安装 vim。安装完后修改
sudo apt-get install vim -y
#这里gedit也比较方便,不过注意执行需要以登录用户执行,如果不是root,加上sudo就好了
sudo vim /etc/apt/sources.list
18.04#将原来文件的内容全部注释/删除,添加清华源,由于我安装的是18.04的Ubuntu,所以下列以18.04举例

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiversedeb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#更新

sudo apt-get update

#安装aptitude,先使用较为匹配的依赖

sudo apt install aptitude gedit -y

#安装编译工具和基本库:

sudo aptitude install gcc g++ make build-essential zlib1g-dev libssl-dev libffi-dev

#安装通用依赖项:

sudo aptitude install zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev git mongodb swig libtiff5-dev libjpeg8-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev

#安装Python及其相关依赖项:

sudo aptitude install python python-dev python-pip python-setuptools python-virtualenv python-pil python-sqlalchemy python-bson python-dpkt python-jinja2 python-magic python-pymongo python-gridfs python-libvirt python-bottle python-pefile python-chardet python-tk

#安装其他特定依赖项:

sudo aptitude install libjpeg-dev

2.1 安装python2.7:

2.1.1 源码编译安装:
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz -O Python-2.7.12.tgz
tar -zvxf Python-2.7.12.tgz
cd Python-2.7.12
./configure
make && make install
cd
#查看py版本
python -V
2.1.1 联网安装:
sudo add-apt-repository universe
sudo apt update
#如果之前安装了python2,可以跳过这一步
apt install python2.7
2.1.2 查看是否配置了python替代方案
# 查看是否配置了python替代方案
update-alternatives --list python
# 将python2设置为1
update-alternatives --install /usr/bin/python python /usr/bin/python2 2
# 将python3设置为2
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
# 查看python替代方案
update-alternatives --list python
# 如何切换版本
# update-alternatives --config python 

2.2 安装pip(在python2的前提下):

#升级pip版本

python -m pip install --upgrade pip

#降低pip版本,指定pip19.2

python -m pip install pip==19.2

#卸载pip

python -m pip uninstall pip
2.2.1 脚本安装,推荐安装方式
#下载get包
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py -O get-pip.py
python get-pip.py
#检测版本
python -m pip --version
2.2.2 python安装,匹配py版本的pip
apt-get upgrade python-setuptools -y
apt-get install python-pip
2.2.3 更换国内源

#创建pip文件夹 并创建pip.conf文件

cd ~
mkdir .pip
touch pip.conf
sudo chmod 755 pip.conf
gedit pip.conf

#pip.conf文件内容为:

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 6000
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true

#更新

python -m pip install --upgrade pip

2.3 使用virtualenv虚拟环境-推荐使用:

virtualenv部署时拥有自己的安装目录,不与其它任何环境共享一个库,能够管理Python的版本和库。

如同时开发多个应用时,这些应用需要共用一个Python,应用A在2.6版本,应用B需要2.7版本,这时候会出现版本不统一情况,利用virtualenv可以为每个应用做一个“隔离”的Python运行环境。

python -m pip install virtualenv
#创建虚拟环境 
sudo virtualenv /opt/cuckoo
#指定虚拟环境的python版本
sudo virtualenv --python /usr/bin/python2 /opt/cuckoo
#默认情况下虚拟环境不会依赖系统环境的site-packages,如果想依赖系统环境的site-packages,可以使用--system-site-packages来设置。
#sudo virtualenv --system-site-packages /opt/cuckoo
#启动虚拟环境
source /opt/cuckoo/bin/activate

#ubuntu使用apt安装软件包时报错,内容如下:

#E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo apt-get update
#如无用,重启机器

#无法找到软件包

#这种情况一般换源解决-https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/(清华源)
#然后选择 对于版本的源 之后修改

在安装的部分用proxychains挂代理速度会快很多

2.4 安装数据库-任意数据库都可以,utf8编码

sudo apt-get install mongodbsudo apt install libmysqld-dev -y
sudo apt install mysql-client -y
sudo apt install libmysqlclient-dev -y
sudo apt install build-essential -y
sudo apt install libmysqld-dev -y

2.5. 安装tcpdump-抓包

2.5.1 Cuckoo以根权限运行

#为避免不必要的麻烦建议使用

sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
getcap /usr/sbin/tcpdump
2.5.1 Cuckoo不以根权限运行
apt-get install tcpdump apparmor-utils -y
#注意核对tcpdump位置
aa-disable /usr/sbin/tcpdump
#Tcpdump需要根权限,但如果您不希望Cuckoo以根权限运行,因此必须将特定的Linux功能设置为二进制文件,提前创建cuckoo用户
groupadd pcap
useradd cuckoo
usermod -a -G pcap cuckoo
chgrp pcap /usr/bin/tcpdump
setcap cap_net_raw,cap_net_admin=eip /usr/bin/tcpdump
getcap /usr/sbin/tcpdump

2.6 安装pydeep-文档分析

sudo wget http://sourceforge.net/projects/ssdeep/files/ssdeep-2.13/ssdeep-2.13.tar.gz/download -O ssdeep-2.13.tar.gz --no-check-certificate
tar -zxvf ssdeep-2.13.tar.gz
cd ssdeep-2.13/
sudo ./configure
sudo make
sudo make install
#查看是否安装成功
ssdeep -V
cd -

2.7 安装volatility-内存取证工具

#在指定文件夹下安装,这里我在opt目录安装的

cd /opt
sudo apt-get install git
#这里可能需要挂梯子:
sudo git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
#将构建它类型
sudo python setup.py build
#安装
sudo python setup.py install
#查看帮助信息,确认是否安装成功
python vol.py -h
cd -

#如缺失distorm3,下载后重新构建:

python -m pip install distorm3 pycrypto
sudo python setup.py build
python setup.py install
#查看帮助信息,确认是否安装成功
python vol.py -h
cd -

#提取内存中保留的 cmd 命令使用情况(第二条命令是将镜像的注册表项导出进行查看,第一条通常执行时间较长)

python vol.py -f memory --profile=WinXPSP2x86 cmdscan
volatility_2.6_win64_standalone.exe -f memory.dmp --profile=Win7SP1x64 dumpregistry --dump-dir ./

#选择性的安装

#PIL:图片处理库
python -m pip install pil
#OpenPyxl:读写excel文件
python -m pip install openpyxl
#ujson:JSON解析
python -m pip install ujson
#yara-规则匹配
sudo aptitude install libtool flex yara -y

2.9 安装m2crypto-完整支持OpenSSL,用于加解密相关

2.9.1 第一种方式:使用apt-get(以Python2版本进行测试的)
2.9.1.1 默认版本
sudo aptitude install python-m2crypto -y
2.9.1.1 固定版本
python -m pip install m2crypto==0.24.0

#如果报错,试试下面的命令,固定py版本安装

python2.7 -m pip install M2Crypto
2.9.1 第二种方式:从源码进行安装((兼容Python2,3))
sudo apt-get install build-essential python3-dev python-dev libssl-dev swig
python -m pip install https://gitlab.com/m2crypto/m2crypto/repository/python3/archive.tar.gz
2.9.1 第三种方式:pip安装(不兼容Python3)
python -m pip install M2Crypto
2.9.1.1 安装libssl:

#OpenSSL的最新稳定版本是1.1.1系列,ubuntu18.04内置了1.1.0g版本的openssl

#查看本机版本

openssl version
2.9.2.1.1 更新版本

#官网查看对应Ubuntu对应版本

http://security.ubuntu.com/ubuntu/pool/main/o/openssl/

#使用下面的apt命令更新Ubuntu存储库并安装软件包编译的软件包依赖项:

sudo apt update
sudo aptitude install build-essential checkinstall zlib1g-dev

#转到’/ usr / local / src’目录并使用wget下载OpenSSL-1.1.1b的源代码:

cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz

#现在解压缩openssl-1.1.1b.tar.gz文件,然后转到’openssl-1.1.1b’目录:

sudo tar -xf openssl-1.1.1b.tar.gz 
cd openssl-1.1.1b

#使用以下命令配置和编译OpenSSL:

sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
sudo make
sudo make test

#注意:

#prefix和–openssldir =设置OpenSSL的输出路径。
#shared = force来创建共享库。
#zlib =使用zlib库启用压缩。
#编译过程完成后,使用以下命令安装OpenSSL:

sudo make install

#OpenSSL安装在’/usr/local/ssl’目录中。

#接下来,我们将为OpenSSL配置共享库。 新的OpenSSL二进制文件将从’/usr/local/ssl/lib’目录加载库文件。

#转到’/etc/ld.so.conf.d’目录并创建新配置文件’openssl-1.1.1b.conf’:

cd /etc/ld.so.conf.d/
sudo vim openss1-1.1.1b.conf

#粘贴openssl库路径目录:

/usr/local/ssl/lib

#现在使用以下命令重新加载动态链接:

sudo ldconfig -v
2.9.2 命令安装:

#默认最高版本

python -m pip install M2Crypto
3.0 安装guacd

#可选择安装项,位CUCKOO web界面中的远程控制功能提供RDP,VNC和SSH的转换层

sudo aptitude install libguac-client-rdp0 libguac-client-vnc0 libguac-client-ssh0 guacd

3. 安装cuckoo-沙盒

3.1 安装依赖

sudo aptitude install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

3. 2 安装dpkt-解析pcap包

python -m pip install --ignore-installed dpkt==1.8.7
sudo aptitude install python-pypcap

3.3 安装pyopenssl加密库

python -m pip install pyopenssl pycrypto

3. 3 安装cuckoo

3.3.1 下载setuptools-打包分发工具
python -m pip install -U pip setuptools

#查看版本,确认是否安装成功

python -m pip list | grep setuptools
3.3.2 安装cuckoo
python -m pip install -U cuckoo
3.3.3 根目录启动cuckoo-所有安装完成最后启动

#启动web

cuckoo web
#通过http://localhost:8000
cuckoo web runserver 0.0.0.0:8080
#也可以通过ip访问 http://host ip:8080

#无法绑定结果服务器”错误意味着杜鹃无法 绑定用于获取分析日志的组件,发生这种情况是因为您的虚拟接口关闭或丢失。需要重新启动接口进行绑定

$ If the hostonly interface vboxnet0 does not exist already.
#新建网卡
VBoxManage hostonlyif create
Configure vboxnet0.
VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0
3.3.3 下载 Cuckoo Community

#其中包含了300多个恶意软件行为签名,可用于简化我们对结果的分析。

#需要梯子

cuckoo community

#下载好的 community 压缩包,也可以通过如下命令直接导入:

wget https://github.com/cuckoosandbox/community/archive/master.tar.gz
cuckoo community --file master.tar.gz

3.4 安装virtualbox

从 Oracle 仓库软件源中安装 VirtualBox:

#安装依赖

python -m pip install openpyxl ujson distorm3 pytz
3.4.1 使用以下命令导入Oracle公共密钥:
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
3.4.2 将VirtualBox APT仓库添加到您的系统:
echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | \sudo tee -a /etc/apt/sources.list.d/virtualbox.list
3.4.3 更新程序包列表并安装最新版本的VirtualBox:
sudo apt update

输入 sudo apt install virtualbox- 并点击 tab 键以查看可用于安装的各种 VirtualBox 版本,然后通过补全命令来选择其中一个版本。

sudo apt install virtualbox-7.0

#使用命令行删除:

#sudo apt remove virtualbox virtualbox-*

3.4.4 启动
virtualbox
3.4.5 报错:

1、QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’

export XDG_RUNTIME_DIR=/usr/lib/
export XDG_RUNTIME_DIR=/usr/lib/ >> /etc/profile
export RUNLEVEL=3 >> /etc/profile
source /etc/profile

2、其他问题建议直接重启试试

source /opt/cuckoo/bin/activate
sudo cuckoo -d
virtualbox
3.4.6 安装VirtualBox Extension Pack(实际不影响使用)

#VirtualBox Extension Pack为来宾计算机提供了多种有用的功能,例如虚拟USB 2.0和3.0设备,对RDP的支持,图像加密等等。

#查看virtualbox的版本号:

vboxmanage -V

#这里查询为6.1.40r154048

#然后去http://download.virtualbox.org/virtualbox/找到自己对应的版本,使用wget进行下载。

wget http://download.virtualbox.org/virtualbox/6.1.40/Oracle_VM_VirtualBox_Extension_Pack-6.1.40-154048.vbox-extpack

3.4.6.1 安装扩展包
sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.40-154048.vbox-extpack

#查看扩展包是否安装成功:

vboxmanage list extpacks

#设置扩展包特性(为后面使用远程桌面做准备):

vboxmanage setproperty vrdeextpack "Oracle VM VirtualBox Extension Pack"

#导入自选扩展包:

#VBoxManage extpack install 包名

#如果报了一个错误为:QXcbConnection: Could not connect to display

#查看DISPLAY是否被定义

echo $DISPLAY
echo "export QT_QPA_PLATFORM='offscreen'" >> ~/.bashrc && source ~/.bashrc

4. 安装客户机(命令行)

4.1 新建虚拟机

#注意:指定文件夹下完成!

cd /opt && sudo chmod 777 -R /opt
4.1.1 创建虚拟机:
VBoxManage createvm --name cuckoo --register
#设置操作系统win7:
VBoxManage modifyvm cuckoo --ostype Windows7
#查看支持的类型:
VBoxManage list ostypes
4.1.2 设置虚拟机参数
#设置内存:
VBoxManage modifyvm cuckoo --memory 1500
#建立虚拟磁盘(系统盘)100G:
VBoxManage createmedium --filename cuckoo_HDD_SYS_100G.vdi --size 100000
#建立虚拟磁盘(home盘)100G:
VBoxManage createmedium --filename cuckoo_HDD_HOME_100G.vdi --size 100000
#创建存储控制器IDE、SATA:
VBoxManage storagectl cuckoo --name IDE --add ide --controller PIIX4 --bootable on
VBoxManage storagectl cuckoo --name SATA --add sata --controller IntelAhci --bootable on
#关联虚拟磁盘:
VBoxManage storageattach cuckoo --storagectl SATA --port 0 --device 0 --type hdd --medium cuckoo_HDD_SYS_100G.vdi
VBoxManage storageattach cuckoo--storagectl SATA --port 1 --device 0 --type hdd --medium cuckoo_HDD_HOME_100G.vdi
#开启嵌套虚拟化
VBoxManage modifyvm CentOS --nested-hw-virt on
#设置虚拟机使用的CPU、内存和显存,这里分别设置为4核、32G和30M.
VBoxManage modifyvm UbuntuRDHome --ioapic on
vboxmanage modifyvm cuckoo --cpus 4 --memory 1500 --vram 30 --hwvirtex on
#设置启动顺序
VBoxManage modifyvm cuckoo --boot1 disk --boot2 cdrom --boot3 floppy --boot4 disk
#设置I/O:
vboxmanage modifyvm cuckoo --ioapic on
#设置远程桌面连接:
VBoxManage modifyvm cuckoo --vrdeport 3389 --vrdeaddress ""
#打开远程桌面(需要安装扩展包之后支持):
VBoxManage modifyvm cuckoo --vrde on
4.1.3 关联镜像文件

#下载镜像-https://msdn.itellyou.cn/,镜像需下载在Ubuntu文件中,推荐存放opt:

VBoxManage storageattach cuckoo --storagectl IDE --port 0 --device 0 --type dvddrive --medium /opt/cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_677939.iso
4.1.4 开启虚拟机:
VBoxHeadless -startvm "cuckoo"

#格式化输出信息:

VBoxManage showvminfo cuckoo -details -machinereadable

#查看虚拟机列表及正在运行虚拟机列表:

VBoxManage list vms && vboxmanage list runningvms

4.2 网络设置

#新增一个网卡,默认vboxnet:
VBoxManage hostonlyif create
#设置网卡2为nat
VBoxManage modifyvm cuckoo --bridgeadapter1 nat
#修改网络模式为nat:
VBoxManage modifyvm cuckoo --nic2 nat
#自动分配的IP是10的私有网段,修改网段:
VBoxManage modifyvm cuckoo --natnet2 "192.168.214.0/24"
#设置hostonly模式:
VBoxManage modifyvm cuckoo --nic1 hostonly
#设置到网卡1:
VBoxManage modifyvm cuckoo --hostonlyadapter1 vboxnet0
#验证主机和客户机上能ping通
#客户机上设置固定IP-随意设置56网段内即可:
192.168.56.xx

4.3 文件传输-samba

#虚拟机要开启共享,传输agent.py,pillow-2.7,win32-py2.7

#Ubuntu安装Samba服务及配置共享文件夹:

4.3.1 下载samba
apt-get install samba samba-common
4.3.2 创建共享文件
mkdir /root/share
4.3.3 修改权限
chmod 777 -R /root/share
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf
4.3.4 设置账户密码
sudo smbpasswd -a nanshou

#配置samba配置文件-最后加上:

sudo vi /etc/samba/smb.conf

[share]
comment = share folder
browseable = yes
path = /home/nanshou/share
create mask = 0700
directory mask = 0700
valid users = nanshou
force user = nanshou
force group = nanshou
public = yes
available = yes
writable = yes
4.3.5 重启服务
service smbd restart

#客户机上,网络里输入:

\192.168.56.1\share

#可以看到主机共享文件夹

4.4 安装python环境、控制脚本

#控制脚本位置:

.cuckoo/agent/agent.py

安装python2.7,pollow

#配置环境变量

4.5 win客户端禁用UAC,关闭防火墙/自动更新

#控制面板进行操作即可

#打开gpedit.msc-关闭防火墙、系统更新等

4.6开启管理员权限

#管理员打开cmd

net user administrator /active:yes

#切换administrator登录

4.7拍摄快照

#拍摄快照:

VBoxManage snapshot cuckoo(虚拟机名) take test1(快照名)

#通过某一快照恢复:

VBoxManage snapshot "vmname" restore "snapname"

5. 主机配置(命令行)

5.1修改配置文件:

cuckoo.conf

machinery = virtualbox

[resultserver]

ip = 192.168.56.1 #This is the IP address of the host

port = 2042 #leave default unless you have services running

[cuckoo]

//每次启动都要检查更新很费时间,关闭

version_check = no

auxiliary.conf:

[sniffer]

Enable or disable the use of an external sniffer (tcpdump) [yes/no].

enabled = yes

Specify the path to your local installation of tcpdump. Make sure this

path is correct.

tcpdump = /usr/sbin/tcpdump(注意这里的位置)

virtualbox.conf:

machines = cuckoo //你的虚拟机名字

[你的虚拟机名字]

label = 你的虚拟机名字

platform = windows

ip = 192.168.56.101 # IP address of the guest

snapshot = 你创建的快照名字

interface = vboxnet0

5.2 设置IP转发

如果只设置了仅主机模式,就要设置路由转发,使

sysctl -w net.ipv4.ip_forward=1

echo 1 > /proc/sys/net/ipv4/ip_forward

永久开启:

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 //前的#注释取消

sysctl -p /etc/sysctl.conf

通过设置IP转发,可以实现客户机通过主机的ens33网卡访问网络

#iptables -A FORWARD -o ens33 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT

#iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#iptables -A POSTROUTING -t nat -j MASQUERADE

4. 配置virtualbox(界面)

4.1 新建win7虚拟机

4.1.1 新建虚拟电脑

在控制台新建虚拟电脑,名称使用cuckoo,版本使用windows7

image-20221123122639351

image-20221123122712768

4.1.2 下载win7镜像,安装

下为win7下载迅雷链接:

ed2k://|file|cn_windows_7_professional_with_sp1_vl_build_x86_dvd_u_677939.iso|2502909952|935E5B4B754527BE3C238FA6ABDD9B86|/

在存储中选择下载好的iso镜像

image-20221123161300599

按照提示安装即可,选择家庭网络

image-20221124174340184

安装完成后关掉防火墙和自动更新

image-20221123162800713

image-20221123162843937

4.2 配置virtualbox网络

添加virtualbox的网卡并添加到win7中,在管理-> 主机网络管理器中添加网络

image-20221123162405039

在虚拟主机的设置中选择vboxnet0的网络

image-20221123162448379

在主机中设置主机的ip

192.168.56.101

255.255.255.0

192.168.56.1

114.114.114.114

8.8.8.8

image-20221123163001570

4.3 配置ubuntu的网络

ubuntu中编辑有线连接

192.168.56.10

255.255.255.0

192.168.56.2

114.114.114.114

image-20221123163132882

配置完成之后重启win7

4.4 配置iptables转发

现在ubuntu的网络状况如下:

image-20221123163613834

在ubuntu中执行命令

sudo -i
sysctl -w net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
gedit /etc/sysctl.conf  // 在这里去掉net.ipv4.ip_forward=1 前的#号,保存
sysctl -p /etc/sysctl.conf
exit

然后配置iptables

sudo iptables -A FORWARD -o ens33 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo gedit /etc/network/interfaces

在interfaces文件的下边添加两行

pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules

修改resolv.conf文件里边的nameserver

sudo gedit /etc/resolv.conf

将nameserver 的127.0.0.1 改为nameserver 114.114.114.114

4.5 共享文件夹

4.5.1 创建共享文件夹

在ubuntu新建share文件夹共享到win7,执行命令:

cd ~
sudo mkdir share
sudo cp ~/.cuckoo/agent/agent.py ~/share

在share文件夹中下载两个python的文件

sudo wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi

从http://www.rsdown.cn/down/166571.html#download网站中下载PIL-1.1.7.win32-py2.7.exe

image-20221123164142938

4.5.2 共享文件夹

在设备->安装增强功能中安装增强功能, 同vmware中的vmware tools

image-20221123164236322

image-20221123164316436

然后在虚拟机设置中选择设备->共享文件夹,添加一个共享文件夹

image-20221123164742491

将刚刚的创建的share文件夹添加在这里,然后将win7关机

在设置里将启动顺序设为硬盘最先

image-20221123164908739

重新启动之后看到共享文件夹

image-20221123165011989

4.6 安装python和PIL

点击安装python,安装完成后将agent.py 改名成agent.pyw之后和PIL文件一起移动到c盘下的Python27

image-20221123171053248

点击PIL-1.1.7.win32-py2.7安装PIL,安装好后双击agent,没有弹窗但是开放了8000端口,在cmd中运行

netstat -an

image-20221123171203753

监听8000 配置成功,就可以了

4.7 配置administrator自动登陆及权限

4.7.1 配置组策略

配置组策略在windows组件的附件管理器中增加中等风险文件类型包含列表,运行文件就不会出现未识别软件弹窗

运行命令打开组策略:

gpedit.msc

image-20221123183717849

image-20221123183840323

image-20221123183853929

4.7.2 关闭UAC

在计算机的控制面板中选择用户账户和家庭安全,在用户账户中选择更改用户账户控制设置,将选项拉到最下端就可以关掉UAC

image-20221123181920494

4.7.3 将administrator账户开启并取消密码登陆

在计算机管理->系统工具->本地用户和组->用户属性取消掉administrator账号勾选

image-20221125094331405

然后在win+R 中输入

control userpasswords2

image-20221125094611490

应用后直接在密码窗中确定即可

注销后选择administrator用户进行登陆,在Python27目录中重新运行agent.pyw并在cmd中使用netstat -an检查端口是否开放

4.8 生成备份供cuckoo使用

在备份 控制->生成备份 ,名字叫snapshot

image-20221123171343689

5. 配置cuckoo配置文件

5.1 配置 cuckoo.conf

cd ~/.cuckoo/confsudo gedit cuckoo.conf

配置如下

machinery = virtualbox
[resultserver]
ip = 192.168.56.1 #This is the IP address of the host
port = 2042 #leave default unless you have services running

image-20221123171708129

5.2 配置auxiliary.conf

sudo gedit auxiliary.conf

配置如下

[sniffer]
enabled = yes
#Specify the path to your local installation of tcpdump. Make sure this
#path is correct.
tcpdump = /usr/sbin/tcpdump

5.3 配置virtualbox.conf

sudo gedit virtualbox.conf

配置如下

machines = cuckoo1
[cuckoo1]
label = cuckoo   // 前边virtualbox的主机名
platform = windows
ip = 192.168.56.101 // 客户机的ip地址
snapshot = snapshot  // 生成备份的名字
interface = vboxnet0  // virtualbox网卡名

image-20221123172002632

5.4 配置reporting.conf

sudo gedit reporting.conf

配置如下

[mongodb]
enabled = yes

5.5 配置 recentfiles.py

重启virtualbox,在ubuntu 运行

sudo apt-get install apparmor-utils
sudo aa-disable /usr/sbin/tcpdump  //保证tcpdump正常使用

配置 recentfiles.py

sudo gedit ~/.cuckoo/analyzer/windows/modules/auxiliary/recentfiles.py

在这部分加上注释符

'''
r = SHELL32.SHGetKnownFolderPath(uuid.UUID(self.locations[location]).get_bytes_le(),0, None, ctypes.byref(dirpath))if r:log.warning("Error obtaining user directory: 0x%08x", r)return# TODO We should free the memory with CoTaskMemFree().return dirpath.value'''

image-20221123172420704

6. 开启cuckoo服务

将win7恢复到刚才保存的镜像,打开两个ubuntu的终端分别输入

sudo cuckoo -d
sudo cuckoo web runserver

image-20221123172523214

image-20221123172609633

访问本地8000端口

[http://127.0.0.1:8000](http://127.0.0.1:8000/)

即可看到界面

image-20221123172651486

7.沙箱测试

Thanatos勒索病毒测试

将病毒在控制台进行文件的上传,点击submit提交,提交后点击右上角的analyze就可以开始分析了

image-20221125101135140

分析当中的状态是running,运行cuckoo -d的终端也在实时显示分析的过程

image-20221125101232748

image-20221125101217845

运行结束之后会出现reported的标志,点击reported会看到报告

image-20221125101432855

从报告中可以看到Thanatos.exe的大小、类型和特征值,分析的时间和运行的截图,截图就是在win7中运行的结果

image-20221125134333533

以下是运行截图的详情,将c盘的文件包括桌面的password文件进行加密,加密之后弹出记事本勒索比特币

image-20221125101749512

image-20221125101809417

image-20221125101823283

这里的结果和微步云沙箱的也是差不多的

image-20221125135333228

相关文章:

Cuckoo沙箱各Ubuntu版本安装及使用

1.沙箱简介 1.1 沙箱 沙箱是一个虚拟系统程序&#xff0c;允许你在沙箱环境中运行浏览器或其他程序&#xff0c;因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境&#xff0c;在其内部运行的程序并不能对硬盘产生永久性的影响。 在网络安全中&#xff…...

什么是mvvm模式,优点是什么

MVVM&#xff08;Model-View-ViewModel&#xff09;模式是一种设计模式。它是一种开发模式&#xff0c;旨在分离用户界面的开发和业务逻辑的开发。MVVM模式将应用程序分为三个部分&#xff1a; Model&#xff1a;它代表应用程序的数据模型和业务逻辑。 View&#xff1a;它代表…...

C/C++ 中的函数返回局部变量以及局部变量的地址?

C/C中&#xff0c;函数内部的一切变量(函数内部局部变量&#xff0c;形参)都是在其被调用时才被分配内存单元。形参和函数内部的局部变量的生命期和作用域都是在函数内部(static变量的生命期除外)。子函数运行结束时&#xff0c;所有局部变量的内存单元会被系统释放。在C中&…...

springboot和vue:七、mybatis/mybatisplus多表查询+分页查询

mybatisplus实际上只对单表查询做了增强&#xff08;速度会更快&#xff09;&#xff0c;从传统的手写sql语句&#xff0c;自己做映射&#xff0c;变为封装好的QueryWrapper。 本篇文章的内容是有两张表&#xff0c;分别是用户表和订单表&#xff0c;在不直接在数据库做表连接的…...

【Leetcode】 51. N 皇后

按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种…...

Java数据库连接:JDBC介绍与简单示例

Java数据库连接&#xff1a;JDBC介绍与简单示例 在Java程序中&#xff0c;操作数据库是必不可少的。JDBC&#xff08;Java Database Connectivity&#xff09;是Java中用于连接和操作数据库的一种技术。通过JDBC&#xff0c;Java程序可以与各种关系型数据库进行交互&#xff0…...

智慧茶园:茶厂茶园监管可视化视频管理系统解决方案

一、方案背景 我国是茶叶生产大国&#xff0c;茶叶销量全世界第一。随着经济社会的发展和人民生活水平的提高&#xff0c;对健康、天然的茶叶产品的消费需求量也在逐步提高。茶叶的种植、生产和制作过程工序复杂&#xff0c;伴随着人力成本的上升&#xff0c;传统茶厂的运营及…...

springboot整合pi支付开发

pi支付流程图&#xff1a; 使用Pi SDK功能发起支付由 Pi SDK 自动调用的回调函数&#xff08;让您的应用服务器知道它需要发出批准 API 请求&#xff09;从您的应用程序服务器到 Pi 服务器的 API 请求以批准付款&#xff08;让 Pi 服务器知道您知道此付款&#xff09;Pi浏览器向…...

类 ChatGPT 模型存在的局限性

尽管类ChatGPT模型经过数月的迭代和完善&#xff0c;已经初步融入了部分领域以及人们的日常生活&#xff0c;但目前市面上的产品和相关技术仍然存在一些问题&#xff0c;以下列出一些局限性进行详细说明与成因分析&#xff1a; 1&#xff09;互联网上高质量、大规模、经过清洗…...

Nginx的安全控制

安全控制 关于web服务器的安全是比较大的一个话题&#xff0c;里面所涉及的内容很多&#xff0c;Nginx反向代理是安全隔离来提升web服务器的安全&#xff0c;通过代理分开了客户端到应用程序服务器端的连接&#xff0c;实现了安全措施。在反向代理之前设置防火墙&#xff0c;…...

字符串与字符编码 - GO语言从入门到实战

字符串与字符编码 - GO语言从入门到实战 字符串 与其他主要编程语⾔的差异 基本数据类型&#xff1a;string 是基础数据类型&#xff0c;而不是引用类型或指针类型。string 在内存中占用的空间大小是固定的&#xff0c;且只读、不可改变。字节切片&#xff1a;string 是只读…...

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller

12P4375X042-233C KJ2005X1-BA1 CE3007 EMERSON servo controller 我们提供三种不同类别的EDGEBoost I/O模块供选择&#xff0c;以实现最大程度的I/O定制: 数字和模拟输入/输出网络和连接边缘人工智能和存储 利用EDGEBoost I/O实现变革性技术 EBIO-2M2BK EBIO-2M2BK载板支持…...

WPF向Avalonia迁移(四、其他事项)

开发必备 1. Avalonia项目源代码&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;没有源代码&#xff0c;你连控件的背景色怎么改都找不着&#xff01;&#xff01; 2.下载你所使用的版本&#x…...

Python 代码调试

from pdb import set_trace as stx 是一个Python代码中常用的调试技巧之一&#xff0c;它用于在代码中插入断点以进行调试。这行代码的作用是将Python标准库中的 pdb&#xff08;Python Debugger&#xff09;模块中的 set_trace 函数导入&#xff0c;并将其重命名为 stx&#x…...

DM宣传单制作,利用在线模板,快速替换文字

如果你需要制作一批宣传单&#xff0c;但是时间很紧&#xff0c;而且没有专业的设计人员协助&#xff0c;那么你可以选择使用在线模板来快速制作宣传单。本文将介绍如何使用乔拓云平台&#xff0c;快速制作宣传单的方法。 步骤一&#xff1a;选择适合的在线制作工具 首先&…...

【力扣】42. 接雨水

这道题我卡了差不多1个小时&#xff0c;不是不会做&#xff0c;是不知道怎么能用栈来实现&#xff0c;后面看了一个博主的视频&#xff0c;豁然开朗&#xff0c;我主要的纠结点在于当指针指到7的时候&#xff0c;我计算出4到7的水块是2&#xff0c;但实际上是0&#xff0c;因为…...

IPETRONIK数据采集设备携手Softing Q-Vision软件致力于ADAS测试方案

一 背景 汽车ADAS技术是当下国内外的重点研究方向&#xff0c;且ADAS的发展水平和市场竞争力紧密相关&#xff0c;因此一套完善的ADAS测试方案对各整车厂而言非常重要。然而&#xff0c;国内ADAS测试却面临着很多阻碍&#xff0c;主要原因在于&#xff1a;相关测试设备昂贵&am…...

Go语言中的指针介绍

Go语言中的指针 文章目录 Go语言中的指针一、Go语言中的指针介绍1.1 指针介绍1.2 基本语法1.3 声明和初始化1.4 Go 指针的3个重要概念1.4.1 指针地址&#xff08;Pointer Address&#xff09;1.4.2 指针类型&#xff08;Pointer Type&#xff09;1.4.3 指针取值&#xff08;Poi…...

简单理解区块链

这篇是挖矿篇详细介绍区块链之挖矿-CSDN博客的后置文章&#xff0c;咱们通过之前的解释进一步复习学习区块链叭&#xff01; 百度百科定义 区块链&#xff0c;就是一个又一个区块组成的链条。每一个区块中保存了一定的信息&#xff0c;它们按照各自产生的时间顺序连接成链条。这…...

[尚硅谷React笔记]——第3章 React应用(基于React脚手架)

目录&#xff1a; react脚手架创建项目并启动react脚手架项目结构一个简单的Hello组件样式的模块化功能界面的组件化编码流程&#xff08;通用&#xff09;组件的组合使用-TodoList 1.react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需…...

《Linux 内核设计与实现》13. 虚拟文件系统

通用文件接口 VFS 使得可以直接使用 open()、read()、write() 这样的系统调用而无需考虑具体文件系统和实际物理介质。 好处&#xff1a;新的文件系统和新类型的存储介质需要挂载时&#xff0c;程序无需重写&#xff0c;甚至无需重新编译。 VFS 将各种不同的文件系统抽象后采…...

2021-06-09 51单片机:两个独立按键控制一个led,k1按下松开led闪烁三次,k2按下LED闪烁五次

缘由51单片机:两个独立按键控制一个led,k1按下松开led闪烁三次,k2按下LED闪烁五次_嵌入式-CSDN问答 #include "REG52.h" sbit K1 P1^0; sbit K2 P1^1; sbit LEDP0^0; void main() {unsigned char Xd0,ss0;unsigned int wei0;while(1){if(K10&&Xd0){ss3*2;…...

C/C++ 经典面试算法题

1.打印杨辉三角 1 #include <stdio.h>2 #include <string.h>3 4 int main()5 {6 int x;7 int a[100][100];8 printf("输入行数\n");9 scanf("%d",&x); 10 for(int i 0;i<x;i) 11 { 12 for(int j 0;…...

2023年下学期《C语言》作业0x02-分支 XTU OJ 1068 1069 1070 1071 1072

第一题 #include<stdio.h>int main() {int a;scanf("%d",&a);if(a>90&&a<100) printf("A");else printf("B");return 0; } 没有换行&#xff0c;不然会格式错误 第二题 #include<stdio.h>int main() {int a;s…...

JMeter学习第一、二、三天

首先&#xff0c;我们来了解一下到底什么是接口测试与性能测试&#xff1a; 接口测试 定义 接口测试主要关注系统组件之间的交互&#xff0c;确保各个接口按预期工作。这包括验证传递的数据、数据格式、调用的频率和其他与接口调用相关的任何限制。 目的 确保系统的各个组件可…...

常用的分布式ID解决方案原理解析

目录 前言 一&#xff1a;分布式ID的使用场景 二&#xff1a;分布式ID设计的技术指标 三&#xff1a;常见的分布式ID生成策略 3.1 UUID 3.2 数据库生成 3.3 数据库的多主模式 3.4 号段模式 3.5 雪花算法 前言 分布式ID的生成是分布式系统中非常核心的基础性模块&#…...

echarts3D地图打点

1、echarts地图打点加鼠标移上去显示文字 2、1-3和前面的一样echart3D地图 if (res.code 0) {const resData res.data || [];if (resData.length > 0) {for (var i 0; i < resData.length; i) {let arr new Array(2);arr[0] resData[i].longitude || ""…...

分布式主键算法

目录 一、引言二、常见算法介绍雪花算法&#xff08;Snowflake Algorithm&#xff09;特性详解优势劣势 UUID&#xff08;Universally Unique Identifier&#xff09;特性详解优势劣势 数据库自增主键特性详解优势劣势 分布式数据库的序列&#xff08;Sequence&#xff09;特性…...

暴力破解及验证码安全

1.暴力破解注意事项 1、破解前一定要有一个有郊的字典&#xff08;Top100 TOP2000 csdn QQ 163等密码&#xff09; https://www.bugku.com/mima/ 密码生成器 2、判断用户是否设置了复杂的密码 在注册页面注册一个,用简单密码看是否可以注册成功 3、网站是…...

程序无法启动,提示“找不到msvcp140.dll”或“msvcp140.dll缺失报错”解决方法

大家好&#xff01;今天我来给大家分享一下msvcp140.dll丢失的解决方法。我们都知道&#xff0c;在运行一些软件或游戏时&#xff0c;经常会遇到“找不到msvcp140.dll”的错误提示&#xff0c;这会让我们非常苦恼。那么&#xff0c;这个问题该怎么解决呢&#xff1f;下面我将为…...