插入U盘自动攻击:BadUSB原理与实现       漏洞背景 “BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的BlackHat安全大会上公布.BadUSB号称是世界上最邪恶的USB外设. 笔者使用他们的代码做了个类似的U盘,用户插入U盘,就会自动执行预置在固件中的恶意代码,下载服务器上恶意文件,执行恶意操作.注意,这里的U盘自动运行可不是以前的autorun.inf自动运行程序哦,具体的技术细节可以参考后文内容. B…
注意,U盘用Fat32格式,NTFS格式的话,需要在Linux另外安装相应驱动. 可通过udev实现如题的功能. 在/etc/udev/rules.d/目录下新建规则文件98-logcopy.rules 内容如下: KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" # Import FS infos IMPORT{program}="/sbin/blkid -o udev -p %N&…
现在已经能够通过libudev获取U盘插入时它的节点名(通过函数udev_device_get_devnode()),是/dev/sdb1 我现在的做法是读取/proc/mounts文件,找到有/dev/sdb1的那一行,解析出挂载点/media/11111 /proc/mounts文件内容如下: sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime…
1.当我们每次插入u盘后,都会自动创键U盘的设备节点/dev/sda%d 这是因为里面调用了device_create()实现的, busybox的mdev机制就会根据主次设备号等信息,在/dev下创建设备节点,如下图所示: 而想使用上面的sda1设备节点,读写数据时,还需要使用mount /dev/sda1  /mnt,来挂载u盘才行,会显得非常麻烦,如下图所示: 2.其实,可以在/etc/mdev.conf文件里加入一行语句就能实现自动装载u盘,也可以在里面干其它与设备节点相关的事 2.1而…
描述:启动该程序后,自动检测U盘是否存在,若存在,将U盘中所有的文件拷贝到电脑的指定目录下. 注:本篇博文仅支持技术讨论,不用于数据的盗取之类的黑科技. 本程序基于Win32开发,主要是利用Win32的消息函数.也可是MFC等含有消息循环的体系. 思路: 1.WM_DEVICECHANGE,检查当前的设备状态.DBT_DEVICEARRIVAL ,插入设备响应. 2.lParam参数,附带U盘插入的盘符.如:G盘.获取该盘符 3.GetDriveType() == DRIVE_REMOVABLE…
1.接入U盘,看输出打印信息并分析 (1)输出信息 自动创建设备节点 (2)用ls命令查看 这里/dev/sda表示整个U盘,/dev/sda1表示这个U盘的第一个分区. (3)手动挂载,查看文件,手动卸载(把设备/dev/sda1挂载到目录/mnt目录下 ) 2.想自动卸载和挂载 (1)查看mdev(看它除了创建设备节点外,还做什么事情) 查看mdev_main函数 如果有mdev.conf配置文件,根据配置文件做其他事情,没有的话只创建设备节点mknod()函数.通过配置文件让mdev应用程…
某些场景下,服务器可能没有必要的键盘等输入设备.屏幕等输出设备.此时需要在没有人为干预的情况下实现当插入U盘或者硬盘后自动挂载,并执行某些脚本动作.以下是我的实践过程. 必要组件 udev,udisks busybox (需要用到blkid)可以直接获取到设备的卷标,这样就可以指定挂载路径名称了. 实现 规则编写 编写udev规则实现U盘插入时候的动作.规则文件写在/etc/udev/rules.d 下. 如上, 通过规则定义U盘插入与拔出的动作即可,动作的具体实现可以在规则中编写,也可以通过指…
1. 科普Metasploit   以前只是个Back Track操作系统(简称:BT) 下的攻击框架,自成继承了后攻击渗透模块,隐隐有成为攻击平台的趋势. 我们都戏称它为美少妇,很简单,msf. 它的强大吧,怎么说了,从前期的信息搜集,到攻击载荷,再到后渗透攻击,都有完善的功能. 唯一的缺点就是,某些exploit,更新比较慢. 让我带你们来初探下这位美少妇吧.     2. 更新Metasploit   4.5版本的: =[ metasploit v4.5.0-dev [core:4.5 a…
上位机:ubuntu14.04 64bit 下位机:qq2440 交叉编译器:arm-linux-gcc 3.4.1 下位机使用的linux内核版本:kernel2.6.13 1.插入u盘时错误信息如下: [root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6usb 1-1: device descriptor read/64, error -110usb 1-1:…
Author:魔术@Freebuf.com 0×1自动攻击 终端启动Metasploit,因为我现在Source Code,所以这样启动! 连接数据库 安装方法,执行以下命令即可(请用ROOT执行). deb http://ubuntu.mirror.cambrium.nl/ubuntu/ precise main universe 添加软件源 sudo apt-get install postgresql sudo apt-get install rubygems libpq-dev apt-…
有时候,我们在使用U盘的时候,如果未能正常退出U盘,下次插入U盘可能会不显示U盘. 解决办法如下,打开Finder-->偏好设置,设置 成功解决问题.…
U盘的自动装载方法,目前我已经使用过以下几种方法: udev 规则 基于 udev 规则的 Shell script udisks 以及 udisks2 结果,总是存在这样那样的小问题.例如,文件名乱码,普通用户写权限问题,卸载数据同步等等. 其实,作为一个 linuxer,我并不是喜欢折腾的人,虽然几乎天天都在折腾.原则上总是存在问题才修改,现实中却不得不折腾. 在 Archlinux 的U盘自动装载方法中,udevil 可能是最简单.依赖性最小的了--我也希望这是最后一次折腾这个问题.下面进…
如果插上U盘,发现里面的文件都上了锁,显示可读.并且在其它电脑上存在同样的情况. 可是尝试按shift键插入U盘.…
在上章学习33.Linux-实现U盘自动挂载(详解)后,只是讲解了普通U盘挂载,并没有涉及到多分区U盘,接下来本章来继续学习 1.多分区U盘和普通U盘区别 1)U盘插上只会创建一个/dev/sda文件,这种一般表示该U盘没有分区,这个sda文件便代表该U盘总大小,我们只需要挂载/dev/sda即可 2)另一种U盘则会创建/dev/sda以及/dev/sda1文件,这种一般表示该u盘只有一个分区sda1,我们只需要挂载/dev/sda1即可 3)最后一种U盘则是多分区情况,会创建/dev/sda,…
说明:dhcp模式插入网线不自动获取IP是因为网卡没有激活,造成这种原因的,应该是安装系统时没有插入网线造成的. 解决方法: 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 将“ONBOOT=no”改为“ONBOOT=yes”,指明在系统启动时激活网卡,保存退出. 重启网络服务 service network restart #或者 /etc/init.d/network restart Setup配置网络: 1.在输入命令setup…
一.uevent机制 在分析之前,我们首先要知道uevent作用是什么.在此我们先来看一个uevent机制的框架图: 该图片来自:Linux设备模型(3)_Uevent 通过图片我们可以确定uevent的作用:设备产生上报事件时会触发uevent接口,uevent则通过netlink和kmod这两种方式把事件上报到用户空间.kmod会直接调用用户空间的程序,netlink只是将事件上报到用户空间. 之前我们分析的大部分设备驱动都会在/dev/目录下创建节点给用户使用.那么在我们调用device_…
Metasploit自动攻击模块 Usage: db_autopwn [options] -h Display this help text -t Show all matching exploit modules -x Select modules based on vulnerability references -p Select modules based on open ports -e Launch exploits against all matched targets -r Us…
DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低.内存小或者网络带宽小等等各项性能指标不高它的效果是明显的.随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"…
8.4 Web跨站脚本攻击 8.4.1  跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style Sheets)的缩写也为CSS,为不与其混淆,特将跨站脚本缩写为XSS. 跨站脚本,顾名思义,就是恶意攻击者利用网站漏洞往Web页面里插入恶意代码,一般需要以下几个条件: 客户端访问的网站是一个有漏洞的网站,但是他没有意识到: 在这个网站中通过一些手段放入一段可以执行的代码,吸引客户执行(通过鼠标点…
关于ARP攻击的原理以及在Kali Linux环境下的实现 全文摘要 本文讲述内容分为两部分,前半部分讲述ARP协议及ARP攻击原理,后半部分讲述在Kali Linux环境下如何实现ARP攻击以及ARP欺骗,如果对于ARP攻击的背景和原理不感兴趣的话可以直接翻到下面查看操作方法 ARP协议 基本功能 局限性 攻击原理 Kali Linux下的实现 ARP攻击 ARP欺骗 ARP协议 ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络…
DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式.单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低.内存小或者网络带宽小等等各项性能指标不高它的效果是明显的.随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"…
前言 从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用.当函数调用发生时,新的堆栈帧被压入堆栈:当函数返回时,相应的堆栈帧从堆栈中弹出.尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函数返回地址这样的重要数据保存在程序员可见的堆栈中,因此也给系统安全带来了极大的隐患. 历史上最著名的缓冲区溢出攻击可能要算是1988年11月2日的Morris Worm所携带的攻击代码了.这个因特网蠕虫利用了fingerd程序的缓冲区溢出漏洞,给…
一.手机连上wifi后会自动弹窗的原理 生活中,有很多需要认证的路由器,手机连接wifi热点后会自动弹出一个网页,让用户输入账号和密码,比如星巴克,肯地基,麦当劳,甚至是火车站和机场的候车室.其实这是一种叫强制门户认证的技术--Captive Network.就是说,单用户连上一个wifi后,可以不需要输入wifi的密码,但是需要进行认证才能够访问到互联网.这种路由器有很多开源的软件,比如wifidog.openwrt等.但是他们的原理都是一样的,通过iptable跳转,DNS拦截,和HTTP重…
SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html 目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-in…
随着僵尸网络的兴起,同时由于攻击方法简单.影响较大.难以追查等特点,分布式拒绝服务攻击(DDoS,Distributed Denial of Service)得到快速壮大和日益泛滥. 成千上万主机组成的僵尸网络为 DDoS 攻击提供了所需的带宽和主机,形成了规模巨大的攻击和网络流量,对被攻击网络造成了极大的危害.更加可怕的是 DDoS 并没有彻底的解决办法,只能依靠各种手段和各个层次的防护进行缓解. 1 背景 2015 年 12 月,国内一家云厂商声称部署在其云平台上的一家知名游戏公司遭遇了峰值…
上一篇链接 http://www.cnblogs.com/yangfengwu/p/8743936.html 这一篇说一下自己板子的51单片机自动冷启动下载原理,我挥舞着键盘和鼠标,发誓要把世界写个明明白白,突然想起来第一行代码的那句话了. 当接上usb线连接到电脑上的时候 看一下RTS引脚的变化,这个信号是连络信号 所以很多用继电器实现的自动下载在接上电的时候会先啪啪啪的动作一下继电器 说一下当点击下载的时候CH340G的RTS和DTR引脚的变化 先说一下平时RTS和DTR都是高电平,正常的串…
公司主要项目为CS端,经常遇到客户需求变更及bug处理,在没有引用自动更新之前每次更新程序,必须手动对每个客户端进行更新,这样导致技术支持工作量特别大,也给客户不好的印象,因此我需要一个自动更新程序! 我们实现自动更新大概有这2种实现方式: 一.通过TCP网络通讯的方式,客户端程序监听,当服务端有更新文件的时候,自动比对本地版本,如果服务器版本大于本地版本就可以更新,这种实时性好,不需要等到客户第二次重启的时候才发现有版本更新 二.在服务端部署文件更新服务器,通过Web访问.同样是当服务端有更新…
简介 一般在框架中都会用到composer工具,用它来管理依赖.其中composer有类的自动加载机制,可以加载composer下载的库中的所有的类文件.那么composer的自动加载机制是怎么实现的呢? composer 自动加载原理 以在Laravel框架中为例: 首先在入口文件(/public/index.php)中引入了autoload.php require __DIR__.'/../vendor/autoload.php'; 我们看看autoload.php的内容 require_o…
Spring Boot的自动配置的原理 Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器. 1.Maven下载源码 通过 dependency:sources 该命令可以下载该项目中所有的依赖的包的源码. 2.源码分析 在Maven Dependencies-->spring-boot-1.5.2.RELEASE.jar-->META-INF-->spring…
深入解析 composer 的自动加载原理 转自:https://segmentfault.com/a/1190000014948542 前言 PHP 自5.3的版本之后,已经重焕新生,命名空间.性状(trait).闭包.接口.PSR 规范.以及 composer 的出现已经让 PHP 变成了一门现代化的脚本语言.PHP 的生态系统也一直在演进,而 composer 的出现更是彻底的改变了以往构建 PHP 应用的方式,我们可以根据 PHP 的应用需求混合搭配最合适的 PHP 组件.当然这也得益于…