Docker容器

Docker学习高级篇05-ARL灯塔安装

本文主要是介绍Docker学习高级篇05-ARL灯塔安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这些操作都是我在学习docker之前的操作,现在看来确实有些幼稚了。复习一遍看看,会有不同的理解

一、安装前说明

以下操作都是在root用户执行,如果出现containerd.io版本过低或者podman-manpages冲突问题请参照最下方解决方案进行。

二、安装过程

1. 卸载老版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. 安装docker 基础包

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

3. 设置稳定仓库

yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4. 安装Docker Engine - Community

  • 安装最新版本(latest)
yum install docker-ce docker-ce-cli containerd.io
  • 安装指定版本
yum list docker-ce --showduplicates | sort -r  #查看版本
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io #安装指定版本

5. 启动与测试

sudo systemctl start docker  # 启动docker
docker run hello-world  #测试

运行后会显示下图,说明docker安装成功。

image-20211114165122848

三、安装问题解决

1. containerd.io版本过低

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm  
yum install containerd.io-1.2.6-3.3.el7.x86_64.rpm #安装containerd.io
#再次重新安装docker
yum install docker-ce docker-ce-cli containerd.io

2. podman-manpages包冲突问题

在执行安装docker命令,出现包冲突js podman-manpages-1.4.2-5.module_el8.1.0+237+63e26edc.noarch

image-20211114165146925
卸载 podman-manpages

yum list podman-manpages  #查看 podman-manpages
yum remove podman-manpages.noarch  #卸载podman-manpages.noarch
#再次重新安装docker
sudo yum install docker-ce docker-ce-cli containerd.io

安装git

sudo yum -y install git

安装docker-compose

1、安装python pip

yum -y install epel-release
dnf install -y python3
dnf install python3-paramiko

2、安装docker-compose

pip3 install docker-compose

3、验证docker-compose是否安装成功

docker-compose version

ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统

资产灯塔,不仅仅是域名收集

简介

旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。 协助甲方安全团队或者渗透测试人员有效侦察和检索资产,发现存在的薄弱点和攻击面。

挂代理访问

https://github.com/TophantTechnology/ARL

Docker 启动

拉取镜像

docker pull tophant/arl

docker-compose 启动

git clone https://github.com/TophantTechnology/ARL

cd ARL/docker/

docker-compose up -d 

错误解决

image-20211114172429189

输入下面这句话,然后再输入docker-compose up -d就行

docker volume create --name=arl_db

Docker 删除

docker images
docker rmi ID
docker ps -a

image-20211210113516185

image-20211210113529327

查看是否运行正常

docker-compose ps

image

tail -f *.log

image

登录 ARL

URL:https://127.0.0.1:5003 注意是https,不是http
默认密码: admin/arlpass

任务选项说明

编号 选项 说明
1 任务名称 任务名称
2222 任务目标 任务目标,支持IP,IP段和域名。可一次性下发多个目标
3 域名爆破类型 对域名爆破字典大小, 大字典:常用2万字典大小。测试:少数几个字典,常用于测试功能是否正常
4 端口扫描类型 ALL:全部端口,TOP1000:常用top 1000端口,TOP100:常用top 100端口,测试:少数几个端口
5 域名爆破 是否开启域名爆破
6 DNS字典智能生成 根据已有的域名生成字典进行爆破
7 Riskiq 调用 利用RiskIQ API进行查询域名
8 ARL 历史查询 对arl历史任务结果进行查询用于本次任务
9 crt.sh 调用 利用 crt.sh 网站 API 进行子域名发现
10 端口扫描 是否开启端口扫描,不开启站点会默认探测80,443
11 服务识别 是否进行服务识别,有可能会被防火墙拦截导致结果为空
12 操作系统识别 是否进行操作系统识别,有可能会被防火墙拦截导致结果为空
13 SSL 证书获取 对端口进行SSL 证书获取
14 站点识别 对站点进行指纹识别
15 搜索引擎调用 利用搜索引擎结果爬取对应的URL
16 站点爬虫 利用静态爬虫对站点进行爬取对应的URL
17 站点截图 对站点首页进行截图
18 文件泄露 对站点进行文件泄露检测,会被WAF拦截

配置参数说明

Docker环境配置文件路径 docker/config-docker.yaml

配置 说明
CELERY.BROKER_URL rabbitmq连接信息
MONGO mongo 连接信息
RISKIQ riskiq API 配置信息
GEOIP GEOIP 数据库路径信息
FOFA FOFA API 配置信息
DINGDING 钉钉消息推送配置
EMAIL 邮箱发送配置
GITHUB.TOKEN GITHUB 搜索 TOKEN
ARL.AUTH 是否开启认证,不开启有安全风险
ARL.API_KEY arl后端API调用key,如果设置了请注意保密
ARL.BLACK_IPS 为了防止SSRF,屏蔽的IP地址或者IP段
ARL.PORT_TOP_10 自定义端口,对应前端端口测试选项
ARL.DOMAIN_DICT 域名爆破字典,对应前端大字典选项
ARL.FILE_LEAK_DICT 文件泄漏字典

忘记密码重置

当忘记了登录密码,可以执行下面的命令,然后使用 admin/admin123 就可以登录了。

docker exec -ti arl_mongodb mongo -u admin -p admin
use arl
db.user.drop()
db.user.insert({ username: 'admin',  password: hex_md5('arlsalt!@#'+'admin123') })

FAQ

F:密码忘记了怎么办?
Q:可以执行下面的命令,然后使用admin/admin123就可以登录了。

docker exec -ti arl_mongodb mongo -u admin -p admin
use arl
db.user.drop()
db.user.insert({ username: 'admin',  password: hex_md5('arlsalt!@#'+'admin123') })

F: 如何修改任务并行数量?
Q: 修改下面文件32行中的 -c 参数即可,默认为2, 重启容器生效。
https://github.com/TophantTechnology/ARL/blob/master/docker/docker-compose.yml#L32

F: 运行出现异常?
Q: 可以执行下面的三条命令并尝试触发错误观察输出有什么异常。

docker-compose ps 
docker-compose logs -f  --tail=10
tail -f *.log

F: 容器一直重启,查看日志提示权限错误
Q: 排查下宿主机是否开启了selinux , 将selinux功能关闭即可。

F: Docker 环境的 ARL 如何更新?
Q:git pull 是为了更新docker-compose.yml, docker-compose pull 是为了更新镜像

git pulldocker-compose pull docker-compose up -d

F: 任务结果为什么只有域名和IP结果?
Q: 可能任务下发时开启了全端口扫描,对于金融、银行存在防护设备的情况大量端口扫描、服务报文探测会出现异常。 可以选择Top 10端口扫描,或者关闭端口扫描,将只会探测80,443端口。

ARL绕过封禁域名

https://github.com/TophantTechnology/ARL/issues/193
  • 进入目录,root权限打开config-docker.yaml文件
ARL/docker/config-docker.yaml 
  • 选择一个将其注释掉,注意,不要全部注释,不然无法使用

image-20211008211031428

  • 之后重启kali
这篇关于Docker学习高级篇05-ARL灯塔安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!