0x000 K8PortScan
python
Python版Cscan端口掃描器 Code: https://github.com/k8gege/K8PortScan K8portScan 1.0 Date: 20190530 Author: K8gege Build: pyinstaller -F K8PortScan.py
0x001 功能git
一、支持批量A段(ip8.txt) 二、支持批量B段(ip16.txt) 三、支持批量C段(ip24.txt) 四、支持批量IP(ip.txt可任意名) 五、單個A段(ip/8) 六、單個B段(ip/16) 七、單個C段(ip/24) 八、可多個端口或端口範圍掃描(80-89或80,445,3306) 九、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文件github
不管是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個端口bash
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下運行ui
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程序均可直接用,什麼環境都有,不像實戰拿到不一樣環境的機器各類奇葩問題
代理不定能出來或很卡,根本不是說你本機有什麼工具均可以用,須要丟到目標去運行的。。。