漏洞挖掘 攻擊對外開放的Docker API介面

2022-01-24 02:39:03 字數 2816 閱讀 8025

攻擊開放在網際網路的docker api

docker api外放有什麼危害?

《如何為dockerd啟用遠端api》

1、/etc/systemd/system/docker.service.d/startup_options.conf使用以下內容建立檔案:

# /etc/systemd/system/docker.service.d/override.conf

[service]

execstart=

execstart=/usr/bin/dockerd -h fd:// -h tcp:

注意: -h標誌將dockerd繫結到偵聽套接字,即unix套接字或tcp埠。您可以指定多個-h標誌以繫結到多個套接字/埠。預設的-h fd://使用systemd的套接字啟用功能來引用/lib/systemd/system/docker.socket。

$ sudo systemctl daemon-reload
3、使用新的啟動選項重新啟動docker守護程式:

$ sudo systemctl restart docker.service
dockerd程序偵聽埠2376

vagrant@ubuntu-xenial:~$ sudo netstat -tulpn | grep 2376

tcp6 0 0 :::2376 :::* listen 4504/dockerd

vagrant@ubuntu-xenial:~$

使用nmap埠掃瞄

sudo nmap -ss -t5 192.168.1.7 -p-

starting nmap 7.01 ( ) at 2018-08-10 16:31 cest

nmap scan report for 192.168.1.7

host is up (0.00076s latency).

not shown: 65498 closed ports, 35 filtered ports

port state service

22/tcp open ssh

2376/tcp open docker

mac address: 08:00:27:ca:62:f8 (oracle virtualbox virtual nic)

如果使用nmap的服務檢測可以直接檢測出docker的確切版本。

nmap -stv -p 2376 192.168.1.7

starting nmap 7.01 ( ) at 2018-08-10 16:35 cest

nmap scan report for 192.168.1.7

host is up (0.00038s latency).

port state service version

2376/tcp open 18.06.0-ce docker

service detection performed. please report any incorrect results at /submit/ .

nmap done: 1 ip address (1 host up) scanned in 77.78 seconds

向位於以下位置的端點發出get請求,返回docker的版本資料:

curl -s  | python -m json.tool

從python2.6開始,多了個json.tool的東西。把json資料格式化顯示出來。

收集資訊

執行的容器

docker -h 192.168.1.7:2376 ps
已經停止的容器

docker -h 192.168.1.7:2376 ps -a
檢視映象

docker -h 192.168.1.7:2376 images
訪問容器

在容器內生成乙個shell是通過exec命令完成的,在這種情況下我們可能想要生成乙個bash shell:

容器內的預設使用者是root,可以嘗試進一步蒐集容器裡的資訊,**、配置檔案、資料庫。

shodan上暴露出來的api是760個

Centos如何對外開放埠

最近在部署tomcat時發現,tomcat已經啟動,到時訪問不了tomcat首頁,通過排查找到是沒有開放對應埠的緣故,下面我們一起來學習下centos下怎麼對外開放埠 1.檢視對外開放的埠 查詢已開放的埠 netstat anp 查詢指定埠是否已開 firewall cmd query port 6...

CentOS對外開放埠號

命令合集 1 檢視對外開放的埠狀態 查詢已開放的埠 netstat anp 查詢指定埠是否已開 firewall cmd query port 666 tcp 提示 yes,表示開啟 no表示未開啟。2 檢視防火牆狀態 檢視防火牆狀態 systemctl status firewalld 開啟防火牆...

對外開放靜態資源(詳細步驟)

開放靜態資源檔案的步驟 像 js,css,image這些就是靜態資源。在開發 時,習慣於把靜態資源與原先的html檔案 模板檔案 放在兩個不同的資料夾內。如果不開放這靜態資源模板檔案就無法訪問靜態資源也無法生成乙個正常的網頁。所謂開放靜資源就是把使用者的請求的頁面與檔案的實際儲存路徑拼接到一起,使使...