0x000 K8PortScan
Python版Cscan端口掃描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 20190530 Author: K8gege Build: pyinstaller -F K8PortScan.py
0x001 功能
1、支持批量A段(ip8.txt) 2、支持批量B段(ip16.txt) 3、支持批量C段(ip24.txt) 4、支持批量IP(ip.txt可任意名) 5、單個A段(ip/8) 6、單個B段(ip/16) 7、單個C段(ip/24) 8、可多個端口或端口范圍掃描(80-89或80,445,3306) 9、Banner識別比S加強版更准 現有的掃描器除了Cscan,基本上只支持單個A段、B段、C段掃描,甚至好多掃描器僅支持一個C段掃描,假如內網滲透需要掃描內網100個C段,怎么辦?
0x002 用法
默認43個端口 python K8PortScan.py -ip 192.11.22.29 指定端口范圍 python K8PortScan.py -ip 192.11.22.29 -p 80-89 C段指定端口列表掃描 python K8PortScan.py -ip 192.11.22.29/24 -p 80,445,3306 ##IPlist (ip.txt ip24.txt ip16.txt ip8.txt) 批量IP掃描(默認43個端口) python K8PortScan.py -f ip.txt 批量IP掃描(指定端口范圍) python K8PortScan.py -f ip.txt -p 80-89 批量C段指定端口列表掃描 python K8PortScan.py -f ip24.txt -p 80,445,3306 同理: B段、A段IP或列表換成對應16/8即可,ip文件格式參考rem.txt
IP文件
無論是ip24.txt ip16.txt ip.txt 或是任意文件名比如 sb.log 格式均統一為ip,當然為C段格式也行 例子: 批量C段掃描 ip24.txt 192.11.22.4 (任意IP自動提取C段192.11.22) 10.1.10.1 (任意IP自動提取C段10.1.10) 批量B段掃描 ip16.txt 192.11.22.8 (任意IP自動提取B段192.11) 10.10.2.5 (任意IP自動提取B段10.10) 批量IP掃描 ip.txt或any.xxx 192.11.22.8 192.11.22.29 10.123.1.2 118.22.55.6
端口:
不指定端口參數,默認將掃描以下43個端口
21, 22, 23, 53, 80, 111, 139, 161, 389, 443, 445, 512, 513, 514, 873, 1025, 1433, 1521, 3128, 3306, 3311, 3312, 3389, 5432, 5900, 5984, 6082, 6379, 7001, 7002, 8000, 8080, 8081, 8090, 9000, 9090, 8888, 9200, 9300, 10000, 11211, 27017, 27018, 50000, 50030, 50070
0x003 編譯EXE
pyinstaller -F K8PortScan.py
編譯好的Bin:
Windows: https://github.com/k8gege/K8tools/blob/master/K8PortScan.exe
Kali_x86: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Kali_x86
Suse_x64: https://github.com/k8gege/K8tools/blob/master/K8PortScan_Suse10_x64
0x004 功能對比
對比加強版S掃描器獲取端口Banner,發現一些特殊端口S無法獲取Banner
0x004 Linux下運行
0x005 實戰
目標內網掃描133個C段,43端口/IP,需要40-50分鍾(外網未測,外網受雙方網速影響)
133 x 255 x 43 = 1458345 個端口,僅SSH高達944個(不只是22端口)
其它服務就不截取了,FTP幾百台吧,WEB也幾百,思科設備300多
本工具僅探測開放端口以及Banner,其它服務請使用K8Cscan進行掃描
發布版本Banner已修改成顯示在端口后,圖是改之前的所以是換行顯示
6.實戰130個B段掃描
133個B段 x 255個C段 = 33915個C段 約3.5萬個C段
33915個C段 x255個IP = 8648325個IP 約865萬IP
33915個C段 x 255個IP x 43個端口=371877975個端口 約4億個端口
對於這樣的項目,不知道網上那些支持只支持IP列表的批量真的能掃大型項目嗎?
有人說我為何要重復造輪子,重復造輪子的原因詳見Tips1
開放SSH服務高達5萬台
部份要除以2因為有些一行出現兩次SSH關鍵字,即使以2也還有2萬多台存活
那些做了限制,當前機器無法掃描到或過不去的還不算,最悲劇的是什么?
能掃出密碼的不到位100台,能上網的才10來台
Cisco設備2500台
FTP結果2.5萬
Oracle數據庫
Tips:
133個B段 x 255個C段 = 33915個C段 約3.5萬個C段
33915個C段 x255個IP = 8648325個IP 約865萬IP
33915個C段 x 255個IP x 43個端口=371877975個端口 約4億個端口
對於這樣的項目,不知道網上那些支持只支持IP列表的批量真的能掃大型項目嗎?
有些人認為網上早有相關掃描工具,為何我還要重復造輪子?
網上公開的很多工具掃描幾百幾千幾萬IP列表估計都沒啥問題
對於大部分人來說應該是完全夠用了,即使個別需要掃也就幾個A段或者10來個B段
很多人覺得掃一個我再執行一次就不完了,所以完全夠用。對他們來說就是神器了
但那些工具能支持加載865萬個IP的文本文件嗎?光導入估計能卡死半天吧
加上要生成這么大的IP得需要多少時間,這文件得多大?上傳存放到目標需多少時間?
那些人使用大型這個詞?有幾個真的搞過大型項目?實戰還遇到目標到達VPS很卡的情況
僅幾M的文件上傳要幾小時的網絡遇到過沒?無法代理出來掃描的情況遇到沒?
所以最佳方案就是寫成可加載批量C段、批量A段、批量B段、IP列表方式
即可掃中小型項目,也可掃真正意義上的大型項目(相關功能也就后續添加的問題了)
這樣不會浪費不必要的時間,也可把小文件傳到目標機上執行,又可適應奇葩網絡情況。
我實戰遇到的很多問題,網上沒幾個工具考慮過這些情況,可能寫工具的人不在一線或接觸不深
或者在一線的人接觸的內容不多思考也不多,給寫程序的思路建議也不夠好等原因
當然還有一個原因,就是滲透提出了最佳可行方案,但是程序員太水寫不出來導致
網上很多工具一看就知道是否符合我的實際要求,看簡介就覺得沒必要下工具測試
有些東西沒必要,但有些東西真的需要重復造輪子,即使有很多人說那工具好
因為很多工具適合大眾用,並不代表是最好的,能兼容各種奇葩實戰環境才是
但一般情況下,只要符合自己的工作要求,就是最佳工具(未接觸奇葩環境不可能知道另外的工具更好)
比方說搞安服的由於大部份都是直接扛電腦到人家單位實施,寫的工具可能並不適合真正實戰
畢竟大部分GUI程序都可直接用,什么環境都有,不像實戰拿到不同環境的機器各種奇葩問題
代理不定能出來或很卡,根本不是說你本機有什么工具都可以用,需要丟到目標去運行的。。。