利用ESP8266芯片制作无线网屏蔽仪

只需花费几十块钱买一块ESP8266芯片就可以DIY一个无线网络屏蔽仪,体积小巧,使用充电宝或手机供电,可以屏蔽有效范围内的任意一个无线网络信号。原理是802.11无线网络协议中有一个解除认证帧,通常是用来断开某个无线网络连接。由于这些帧数据包不加密,因此只要获取了无线路由器和设备的无线网卡MAC地址,就可以在无线网络有效范围内断开某个设备的连接。通过这个方法,黑客还可以进行信标垃圾、随机信标垃圾攻击或干脆屏蔽所有无线网络。

完整教程视频:

http://v.youku.com/v_show/id_XMzE5MTkzMDA1Ng==.html?spm=a2h3j.8428770.3416059.1

可以在手机上下载应用程序控制无线网络屏蔽:

geni.us/PQhB

第一步:材料准备

1、 购买ESP8266芯片组(必备)。

2、 电池(选购)

第二步:下载最新版的Arduino编译软件arduino.cc/en/Main/Soft

1、 安装后打开

2、 选择“文件”,“参数”

3、 在“其他板载管理URLs”中添加以下地址:arduino.esp8266.com/sta

4、 选择“工具”,“板”,“板载管理器”

5、 输入ESP8266

6、 必须选择“版本2.0.0”

7、 选择“文件”,“参数”

8、 打开“更多”,进入编辑模式,最后记得保存文件。

9、 找到ESP8266页面,选择“硬件”,“ESP8266”,“2.0.0”,“工具”,“sdk”,“include”

10、用文本编辑器打开user_interface.h文件

11、在文件中#end标记前插入以下内容:

typedef void (**freedom_outside_cb__t)(uint8 status);
int wifi_register_send_pkt_freedom_cb(freedom_outside_cb_t cb); 
void wifi_unregister_send_pkt_freedom__cb(void); 
int wifi_send_pkt_freedom(uint8 **buf, int len, bool sys_seq);

12、保存文件

第三步:下载项目文件

1、 下载项目文件geni.us/A5cOYc

2、 打开Wifi Jammer> esp8266_deauther,用Arduino打开esp8266_deauther.ino文件

3、 在“工具”中选择对应的ESP8266型号,本文中用的是NodeMCU 0.9,如果不行可以尝试选择NodeMCU 1.0 或Generic ESP8266 Module

4、 在“工具”中,选择“编译器”> ArduinoISP

5、 在“工具”中,选择对应的端口号

6、 上传成功

第四步:如何使用

1、 ESP8266芯片加电

2、 可以使用智能手机或电脑控制芯片组,扫描无线网络名称为AndroidAP,初始密码killwifi。连接成功后,可以使用手机应用程序或在电脑浏览器中输入192.168.4.1来屏蔽周围的无线网络信号了。

3、 选择“攻击”>解除验证所有,所有的无线网络都会被屏蔽。

本文转载自 W-Pwn科技知乎专栏

 

如何使用树莓派自制网络监视器

本文所介绍的工具适合家庭环境下的“黑盒测试”,它可以帮助你记录网络中发生的所有事情。你可以用它来检测网络威胁,或将数据提供给相关专家来进行网络取证分析。

购物清单

1.      树莓派3 (外壳+电源+电路板)

2.      闪迪Class 10 microSD卡 64GB(80Mb/s)

3.      Debian OS-Linux RaspbianLite

4.      网件千兆交换机或其他支持端口镜像的设备,我使用的是D-Link1100-08P

5.      Critical Stack API(Threat Intel/ IOCs)

6.      Mailgun账号或类似支持警报/通知的邮件服务

概览图

关键技术介绍

什么是端口镜像?

将一个端口的流量数据复制到另一个端口(被动式),会增加交换机的运行负荷。

什么是Bro

一款IDS协议分析工具,你可以把它当作Wireshark的协议分析器,但是它没有GUI界面,而且速度更快。

什么是Netsniff?

进行数据包捕获的守护进程,它使用了AF-packet来提升数据包的捕捉速度。

什么是LOKI

基于YARA的文件扫描守护进程。有些类似基于签名检测的反病毒产品,但是你可以自行制定检测规则。

什么是Critical Stack

一个威胁情报平台,你可以在树莓派上通过API来与该平台链接。

什么是Team Cymru MHR

一个恶意软件哈希库,你可以使用该数据库中的信息来对检测到的恶意程序哈希进行匹配。

开始动手

1.      把系统刷到树莓派中

2.      给树莓派分配一个IP

3.      运行bash脚本

4.      搞定

 

一、把Raspbian刷到microSD卡中

我使用的是MacBook,所以不同平台的方法可能会有所不同,其他平台用户可以参考【这篇教程】来获取更多内容。

插入microSD卡:

diskutil <span class="hljs-built_in">list</span>

找到磁盘号:

diskutil unmountDisk /dev/disk<disk#from diskutil>

将Raspbian镜像刷入到microSD卡’disk’中:

sudo dd bs=<span class="hljs-number">1</span>m <span class="hljs-keyword">if</span>=image.imgof=<span class="hljs-regexp">/dev/rdisk</span><disk<span class="hljs-comment"># from diskutil></span>

完成之后,卸载microSD卡:

diskutil unmountDisk <span class="hljs-meta-keyword">/dev/</span>disk<span class="hljs-params"><disk#from diskutil></span>

二、配置网络

使用默认配置登录。用户名:pi,密码:raspberry。

设置wlan0(wifi)的IP,用于受信管理访问:

sudo nano<span class="hljs-meta-keyword">/etc/</span>wpa_supplicant/wpa_supplicant.conf
network={

ssid="The_ESSID_from_earlier"

psk="Your_wifi_password"

}
sudo ifdown wlan0

sudo ifup wlan0

ifconfig wlan0

当你获取到了一个DHCP IP之后,你可以使用SSH访问这个节点了。接下来,将eth0留下当作镜像接口,它不需要设置IP地址。

sudo apt-get update && sudo apt-get-y install vim

sudo vim /etc/network/interfaces

添加下列代码:

iface eth0 inet static

static ip_address=0.0.0.0

重启eth0接口:

<span class="hljs-attribute">sudo</span> ifconfig eth0 down && sudoifconfig eth0 up

三、部署

下载并运行bash脚本,脚本已在Raspbian上成功测试。

-安装程序的核心组件

-配置网络选项(禁用NIC offloading)

-给每一个程序创建服务

-使用Mailgun/SSMTP创建邮件警报

-配置cron任务

pi@foxhound:~# sudo su -

root@foxhound:~# apt-get install -y git

root@foxhound:~# cd ~

root@foxhound:~# git clonehttps://github.com/sneakymonk3y/foxhound-nsm.git

root@foxhound:~# chmod +xfoxhound-nsm/foxhound.sh

root@foxhound:~# ./foxhound-nsm/foxhound.sh

现在,环境部署已经完全完成啦!

接下来呢?当脚本完成运行之后,所有的服务都会被立刻激活,然后你就可以看到所有流入的数据啦!

性能

通过pcap数据来向镜像端口eth0发送一些垃圾信息,我使用的是一些提前准备好的数据:

pi@foxhound:~ $ sudo tcpreplay -t -K -q--loop=10 --intf1=eth0 /opt/foxhound-1476541443.pcap<br><br>Actual: 1048570 packets (1050923190 bytes)sent in 87.62 seconds. Rated:11994102.0 bps, 91.51 Mbps, 11967.25 pps

下面是发送前和发送后的broctl netstats数据:

root@foxhound:/etc/network# broctl netstats
bro: 1476547903.768150 recvd=1951368 dropped=5408 link=1956776
root@foxhound:/etc/network# broctl netstats
bro: 1476548144.248161 recvd=3012168 dropped=14608 link=3026776

对于家庭或实验室环境来说,它的性能相对还算很好了(1000000个数据包只会丢弃10000个)。我的带宽速度为40Mbps,对于IDS系统来说已经足够了。如果你还需要提升性能,建议考虑换掉树莓派。

如果你想进行更多的NIC perf测试,你可以在服务器上运行下列命令:

mark@ubuntu:~$ sudo apt install iperf3

mark@ubuntu:~$ iperf3 -s

-----------------------------------------------------------

Serverlistening on 5201

然后在树莓派上运行:

root@foxhound:~# apt install iperf3

root@foxhound:~# iperf3 -c 10.0.0.7 -i 1 -t20

Connecting to host 10.0.0.7, port 5201

[ 4]local 10.0.0.180 port 38562 connected to 10.0.0.7 port 5201

[ ID] Interval Transfer Bandwidth Retr Cwnd

[ 4] 0.00-1.00 sec 8.86 MBytes 74.3 Mbits/sec 0 89.1 KBytes

...

...

...

[ 4] 19.00-20.00 sec 9.26 MBytes 77.7 Mbits/sec 0 1.23 MBytes

- - - - - - - - - - - - - - - - - - - - - -- - -

[ ID] Interval Transfer Bandwidth Retr

[ 4] 0.00-20.00 sec 185 MBytes 77.5 Mbits/sec 139 sender

[ 4] 0.00-20.00 sec 184 MBytes 77.1 Mbits/sec receiver

iperf Done.

我假设这里的瓶颈是microSD卡,它的速度大约是80MB/s。

Bro基础

-所有Bro日志的默认存储路径为/nsm/bro/logs/

-默认的脚本路径为/usr/local/bro/share/bro/site/bro-scripts/

日志目录结构大致如下所示:

pi@foxhound:/nsm/bro/logs/current $ ls-lash

total 6.9M

4.0K drwxr-xr-x 3 root root 4.0K Oct 15 16:11 .

4.0K drwxr-xr-x 5 root staff 4.0K Oct 1516:50 ..

4.0K -rw-r--r-- 1 root root 349 Oct 15 16:51 app_stats.log

4.0K -rw-r--r-- 1 root root 121 Oct 15 15:51 .cmdline

16K-rw-r--r-- 1 root root 14K Oct 15 16:30communication.log

2.9M -rw-r--r-- 1 root root 2.9M Oct 15 16:52 conn.log

16K-rw-r--r-- 1 root root 14K Oct 15 16:52dhcp.log

384K -rw-r--r-- 1 root root 379K Oct 15 16:52 dns.log

4.0K -rw-r--r-- 1 root root 345 Oct 15 15:51 .env_vars

1.2M -rw-r--r-- 1 root root 1.2M Oct 15 16:52 files.log

1.6M -rw-r--r-- 1 root root 1.6M Oct 15 16:52 http.log

4.0K -rw-r--r-- 1 root root 291 Oct 15 16:44 known_hosts.log

4.0K -rw-r--r-- 1 root root 327 Oct 15 16:34 known_services.log

12K-rw-r--r-- 1 root root 11K Oct 15 16:50notice.log

4.0K -rw-r--r-- 1 root root 5 Oct 15 15:51 .pid

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.communication

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.conn

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:01 .rotated.conn-summary

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.dhcp

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.dns

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.files

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.http

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.known_hosts

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.known_services

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.loaded_scripts

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.notice

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.packet_filter

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.software

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.ssl

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.weird

4.0K -rw-r--r-- 1 root root 18 Oct 15 16:00 .rotated.x509

4.0K -rw-r--r-- 1 root root 3.0K Oct 15 16:51 software.log

320K -rw-r--r-- 1 root root 314K Oct 15 16:52 ssl.log

4.0K -rw-r--r-- 1 root root 58 Oct 15 15:51 .startup

4.0K drwx------ 3 root root 4.0K Oct 15 15:51 .state

4.0K -rwx------ 1 root root 18 Oct 15 15:51 .status

4.0K -rw-r--r-- 1 root root 46Oct 15 15:51 stderr.log

4.0K -rw-r--r-- 1 root root 188 Oct 15 15:51 stdout.log

24K-rw-r--r-- 1 root root 17K Oct 15 16:52weird.log

416K -rw-r--r-- 1 root root 412K Oct 15 16:52 x509.log

你可以使用head命令来查找文本域名称:

pi@foxhound:$ head dns.log<br><br>#separator \x09<br><br>#set_separator ,<br><br>#empty_field (empty)<br><br>#unset_field -<br><br>#path dns<br><br>#open 2016-10-15-16-00-01<br><br>#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto trans_id query qclass qclass_name qtype qtype_name rcode rcode_name AA TC RD RA Z answers TTLs rejected<br><br>#types time string addr port addr port enum count string count string count string count string bool bool bool bool count vector[string] vector[interval] bool

使用bro-cut来解析日志:

pi@foxhound:$ cat dns.log | bro-cut -D tsid.orig_h <span class="hljs-keyword">id</span>.orig_p <span class="hljs-keyword">id</span>.resp_h <span class="hljs-keyword">id</span>.resp_p proto query answers TTLs

基础报告:

pi@foxhound:$ bro-cut query < dns.<span class="hljs-keyword">log</span> |<span class="hljs-keyword">sort</span> | uniq -c | <span class="hljs-keyword">sort</span> -rn | head -n <span class="hljs-number">10</span>

如果你还需要更多的示例,你可以查看Bro提供的官方练习【传送门】。

你可以使用tail命令输出DNS日志并在客户端生成一些DNS流量:

<span class="hljs-attribute">tail</span> -f dns.log | awk  <span class="hljs-string">'{print <span class="hljs-variable">$3</span>, <span class="hljs-variable">$7</span>, <span class="hljs-variable">$9</span>}'</span>

请注意,只有conn.log才可以启用MaxMind GEOIP查询。

pi@foxhound:$ bro-cut resp_cc < conn.log| sort | uniq -c | sort -rn | head -n 10<br><br>755 US<br><br>524 RO<br><br>123 GB<br><br>49 NL<br><br>28 EU<br><br>25 IE<br><br>10 DE<br><br>7 ES<br><br>6 CA

我还没有制作仪表盘(Dashboard),如果你不想自己做的话,你可以直接使用VPS ELK实例在云端存储所有的日志,或者你也可以使用ELK/Splunk/Graylog将日志存储在本地。

基础维护

开启/停止netsniff-ng:

pi@foxhound:~ $ sudo service netsniff-ngstop<br><br>pi@foxhound:~ $ sudo service netsniff-ngstart<br><br>pi@foxhound:~ $ sudo service netsniff-ngstatus

开启/停止bro(网络统计):

pi@foxhound:~ $ sudo -i broctl stop<br><br>pi@foxhound:~ $ sudo -i broctl start<br><br>pi@foxhound:~ $ sudo -i broctl netstats<br><br>pi@foxhound:~ $ sudo -i broctl status

手动运行Loki:

root@foxhound:~ $ python /nsm/Loki/loki.py--noprocscan --dontwait --onlyrelevant -p /nsm/bro/extracted -l /nsm/Loki/log

检测CriticalStack的入侵威胁指标(IoCs),可通过cron脚本实现定期检查:

root@foxhound:~ $ sudo -u critical-stackcritical-stack-intel list

 

参考资料

1.      部署网络安全监控:http://www.appliednsm.com/

2.      网络安全监控实践:https://www.nostarch.com/nsm

3.      Laika BOSS-对象扫描系统:https://github.com/lmco/laikaboss

4.      PassiveDNS:https://github.com/gamelinux/passivedns

5.      D3js(图形化工具):https://d3js.org/

6.      Graylog:https://www.graylog.org/

FB小编Alpha_h4ck编译,转载来自FreeBuf.COM

树莓派打造洋葱Tor代理路由

这篇文章将给大家讲讲,如何使用树莓派打造洋葱路由,它可以帮助你构建安全的网络环境。

平时有感觉到别人在监控你么,不用再担心啦,现在只要使用Onion Pi Tor就可以匿名遨游在网络世界里了。下面我们将使用树莓派,无线网卡和网线等几个小玩意儿,打造一个小型低功耗的便携式隐私工具。

这款设备的使用还是很方便的,你只需要在上面插入网线,借助USB线将它连上电源。最后,启动它后会出现一个新的无线热点(Onion Pi)。这时候,我们只需要从电脑连接到热点,就可以借助匿名的Tor在网上冲浪啦。

什么是Tor

Tor是一种洋葱路由服务—每个网络包在到达你指定的目的地前,需要经过3层中继。这会让你所访问的服务器或者探测你的人,更难发现你的源地址和身份。另外,这对于那些被封IP的人来说,倒是一个很好的bypass手段。

根据Tor官网所述:

记者借助Tor能更便捷地沟通告密者和持不同政见的人,非政府组织使用Tor能让自家员工在国外时也能访问自家主页。

如Indymedia这样的组织是推荐使用Tor来维护员工在网上的安全和隐私的。另外,激进组织EFF也建议大家通过使用Tor上网来维护公民的自由。

企业可以采用Tor作为安全手段,防止竞争对手窃听采购方案。他们还用Tor来代替传统的VPN,后者会泄露通信相关的敏感信息。哪些地方有工作很晚的员工,哪些地方有咨询求职网站的员工,哪些研究部门在和专利律师沟通?

某美国海军分部使用了Tor进行开源情报收集,他们其中一个团队最近在中东地区部署的时候也使用了Tor。而对于执法部门,他们使用Tor去浏览网站的时候和信息刺探操作时,也不会因此泄露政府的IP。

在你使用代理之前,需要明白即使你的IP是随机的,别人也会有很多办法来识别你。删除并阻止浏览器进行缓存,记录cookie和历史,某些浏览器是允许匿名模式的。尽量不要登入任何可能泄露个人信息的账户(除非这是你本身的目的),阅读这里你可能会了解到更多的东西。

下面,我们会用树莓派打造一个小而美的玩意儿,但是我们不能保证它是绝对的匿名和安全,请理性地使用你的Tor。

需要准备的材料

树莓派2代B型

网线

无线网卡(特定型号)

带Raspbian的SD卡(4G以上)–你可以自行拷贝Raspbian镜像上去,或者买个做好的SD卡

电源供给USB线

USB console线(可选)–能让调试工作变得更轻松一些

树莓派的保护盒

SD或者MicroSD读卡器(可选)

你需要集齐这些东西,或者在我们上面提供的链接里去购买。

准备工作

下面的教程之前,假设你已经差不多设置好树莓派了。

将系统装入SD卡中,如果你买的卡里提前录入了Wheezy,你可以跳过这些步奏。

引导树莓派,进行配置,不要忘了更改树莓派默认账号的密码。

记得把系统装到整个硬盘上,不然空间会不够的哟:

14806416096214

设置并测试网络连接状况

检查树莓派是否能往外ping通,是否能在你输入ifconfig –a时,识别出无线网卡(wlan0)。

采用USB console线进行连接(可选)

它可以用来调试成为热点的树莓派

现在你就得到了一个跑着Raspbian的树莓派,你可以用USB console线连接它,然后通过命令行登进去。

我们接着看看把树莓派打造为热点的教程,把它打造为无线路由热点。

做完下面的工作后,你就能连上树莓派路由热点,开始网上冲浪了。

14806424046278

我们可以通过连上以太网口(或者console口),借助SSH进行下面的配置。

如果你使用了console线,我们建议大家通过电源适配器进行开关,保持黑、白、绿线的连接。

14806427776416

安装洋葱路由Tor代理

下面的设置可以参考Tor“匿名代理教程”。

我们下面开始安装tor,也就是洋葱路由软件。

通过以太网口或者console线登入你的树莓派,运行:

sudo apt-get install tor

14806429532934

运行下面的命令编辑配置文件:

sudo nano /etc/tor/torrc

写入内容:

Log notice file /var/log/tor/notices.log
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsSuffixes .onion,.exit
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 192.168.42.1
DNSPort 53
DNSListenAddress 192.168.42.1

14806429802239

我们接下来DIY下热点的基本信息,改名为Onion Pi之类的,当然别忘了设置强密码。

下面我们要更改ip路由表了,走wlan0(wifi)的流量会被转发到tor。

输入下面的命令,刷掉旧的ip NAT表规则:

sudo iptables -F
sudo iptables -t nat -F

输入下面的命令,将所有的DNS(udp 53)请求从wlan0接口转发到internal port 53(我们torrc里的DNSPort)

sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53

输入下面的命令,将所有的TCP流量从wlan0接口转发到9040端口(torrc里面的TransPort)

14806435602216

sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040

下面,你就可以用命令来检查ip表了:

sudo iptables -t nat –L

14806437475930

如果一切运行的OK的话,我们将会把它存入老的NAT存储文件:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

在网络设置好重启后,iptables会进行自动加载:

14806439024732

下面我们会创建日志文件(方便调试):

sudo touch /var/log/tor/notices.log
sudo chown debian-tor /var/log/tor/notices.log
sudo chmod 644 /var/log/tor/notices.log

使用下面的命令进行检查:

ls -l /var/log/tor

手动启动tor服务:

sudo service tor start

检查是否运行(这个命令可以在需要检查时随时运行):

sudo service tor status

最后,让它在引导时启动:

sudo update-rc.d tor enable

14806439024732

测试Tor WIFI

我们在电脑上,可以看到已经出现了Onion Pi的网络信号:

14806440438754

用设定好的密码连接:

14806440864703

你可以ping下192.168.42.1,检查下树莓派是否能通。注意,你此时是ping不通外网的,因为ping的流量没有走代理。

为了检验下代理是否可用,我们可以打开一个测IP的网站,比如http://www.ipchicken.com,看看我们的IP是否已经变成了匿名IP。

14806442663063

* 参考来源:n0,FB小编dawner编译,转载来自FreeBuf(FreeBuf.COM)

 

 

黑客演示如何用5美元树莓派攻破一台有密码锁的计算机

 

近日,知名开发者兼黑客Samy Kamkar演示了一项技术。通过5美元的树莓派Zero和某些定制软件,几乎任何人都可以拿它来攻击一台上了密码锁的计算机。在接入电脑之后,这套被称作PoisonTap的设备,会将自己模拟成一个USB-以太网适配器。计算机会被它欺骗,以为有线网络连接已经建立,然后向其发送DCHP请求,以获取IP地址等信息。

Kamkar解释称,尽管它看起来像是个二级网络接口,但PoisonTap会对DHCP做手脚,让机器以为网络已联通,然后通过它(而不是真实的网络连接)来传递所有互联网流量。

cc6691ee52ae86f

视频需要翻墙: YouTube

具体项目可看:PoisonTap – exploiting locked machines w_Raspberry Pi Zero

虽然这种攻击需要直接接触到一台计算机才能实施,但我们还是可以降低它的威胁,比如尽量使用Https加密连接访问网站,或者更暴力一些 —— 堵上所有用不到的USB接口。

[编译自:TechSpot , 来源:Samy Kamkar]