Docker学习高级篇之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 \
    http://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安装成功。

图片[1]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享

三、安装问题解决

1. containerd.io版本过低

wget http://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

图片[2]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享

卸载 podman-manpages highlighter- cmake

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)资产侦察灯塔系统

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

简介

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

挂代理访问

http://github.com/TophantTechnology/ARL

Docker 启动

拉取镜像

docker pull tophant/arl

docker-compose 启动

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

cd ARL/docker/

docker-compose up -d 

错误解决

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

图片[3]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享
docker volume create --name=arl_db

Docker 删除

docker images
docker rmi ID
docker ps -a
图片[4]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享
图片[5]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享

查看是否运行正常

docker-compose ps
图片[6]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享
tail -f *.log
图片[7]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享

登录 ARL

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

任务选项说明

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

配置参数说明

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

配置说明
CELERY.BROKER_URLrabbitmq连接信息
MONGOmongo 连接信息
RISKIQriskiq API 配置信息
GEOIPGEOIP 数据库路径信息
FOFAFOFA API 配置信息
DINGDING钉钉消息推送配置
EMAIL邮箱发送配置
GITHUB.TOKENGITHUB 搜索 TOKEN
ARL.AUTH是否开启认证,不开启有安全风险
ARL.API_KEYarl后端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就可以登录了。 highlighter- pgsql

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, 重启容器生效。
http://github.com/TophantTechnology/ARL/blob/master/docker/docker-compose.yml#L32

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

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 是为了更新镜像 highlighter- ebnf

git pulldocker-compose pull docker-compose up -d

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

ARL绕过封禁域名

http://github.com/TophantTechnology/ARL/issues/193
  • 进入目录,root权限打开config-docker.yaml文件
ARL/docker/config-docker.yaml 
  • 选择一个将其注释掉,注意,不要全部注释,不然无法使用
图片[8]-Docker学习高级篇之ARL灯塔安装-渗透云记 - 专注于网络安全与技术分享
  • 之后重启kali
© 版权声明
THE END
喜欢就支持一下吧
点赞17 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容