這些操作都是我在學習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安裝成功。
三、安裝問題解決
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
卸載 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
錯誤解決
輸入下面這句話,然后再輸入docker-compose up -d就行
docker volume create --name=arl_db
Docker 刪除
docker images
docker rmi ID
docker ps -a
查看是否運行正常
docker-compose ps
tail -f *.log
登錄 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 | 釘釘消息推送配置 |
郵箱發送配置 | |
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
- 選擇一個將其注釋掉,注意,不要全部注釋,不然無法使用
- 之后重啟kali