IOT废物学习之路》(3)--动态分析IOT固件
《IOT废物学习之路》(3)–动态分析IOT固件
动态分析固件之前,需要先把固件运行起来。没有路由器、摄像头之类的物联网硬件的话,就需要用到虚拟执行。虚拟执行就相当于一个虚拟机可以运行各种物联网OS。
虚拟执行固件工具介绍firmadyne
是一个IOT固件模拟程序
用于全自动模拟固件
本文使用的是iot的docker
1、首先使用如下指令快速启用firmadyne控制台1sudo docker run --network host --privileged -it --rm -e USER=root asdqwe876/iot_analyze
命令解释
命令的含义是在一个交互式的Docker容器中运行名为 asdqwe876/iot_analyze 的镜像,并将容器内的 USER 环境变量设置为 root。容器在退出后将被立即删除。这个命令通常用于启动临时容器,用于特定的任务或交互式会话,而不需要长期保留容器。
2、接下来准备一个固件,使用一个DWP固件作为demo1234cd /root/firmadynewget -N --continue \https://g ...
IOT废物学习之路》(2)--提取IOT固件与静态分析IOT固件
《IOT废物学习之路》(2)–提取IOT固件与静态分析IOT固件1、提取固件工具介绍binwalk
提取固件系统的参数是-e,可以加上-t -vv参数查看详细的提取过程。
1binwalk -t -vv -e RT-N300_3.0.0.4_378_9317-g2f672ff.trx
通过输出信息,可以得知该固件系统没有加密压缩,且系统为Squashfs。
提取出来的文件夹系统为_RT-N300_3.0.0.4_378_9317-g2f672ff.trx.extracted。
其中的squashfs-root就是需要的固件文件系统。
binwalk原理binwalk通过自带的强大的magic特征集,扫描固件中文件系统初始地址的特征码,若匹配成功,则将该段数据dump下来,这个magic特征集已公开。
1https://github.com/ReFirmLabs/binwalk/blob/62e9caa164305a18d7d1f037ab27d14ac933d3cf/src/binwalk/magic/filesystems
本次固件的例子,系统是squashfs文件系统, ...
《IOT废物学习之路》(1)--MIPS交叉编译环境搭建以及32位指令集
《IOT废物学习之路》(1)–MIPS交叉编译环境搭建以及32位指令集
先介绍一下指令集
一、指令集指令集大体上可以分为两大类:
CISC(complex instruction set computer)(复杂指令计算机)
RISC(reduced instruction set computer)(精简指令计算机)
(1)CISC复杂指令架构特点是拥有丰富而复杂的指令集。CISC架构的设计思想是通过一条指令执行多个低级操作,以实现高级编程语言中的复杂操作。所以,CISC处理器的复杂性和内部控制逻辑可能会导致较低的时钟速度和较高的功耗。像我们经常接触到的x86、x86-64等指令集都是CISC架构的具体表现。
(2)RISC复杂指令架构特点是简单且精简的指令集。RISC架构的设计思想是将处理器的指令集保持简单和精简,以提高指令执行速度和效率。所以,RISC处理器的指令集包含较少、更加基本的指令、这些指令执行的操作通常是单一的,且需要相同的数量的时钟周期来执行。像ARM、MIPS等用于嵌入式等指令集都是RISC架构的具体表现。
二、CISC和RISC的区别1、指令集复杂性:
CI ...
网络协议基础02
网络协议基础021、HTTP基础知识(1)HTTP是什么HTTP是超文本传输协议,英文全称 HyperText Transfer Protocol。
是一种分布式、协作式和超媒体信息系统的应用层协议。是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的互联网文件都必须遵守。
HTTP(超文本传输协议)分为三个部分
超文本
传输
协议
1、协议
确定计算机之间的交流通信方式(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范),理解为一种约定。
2、传输
HTTP协议是一个双向协议。专门用来在两点之间传输数据的约定和规范。
3、超文本
HTTP传输的内容是[超文本]
超文本就是超越普通文本的文本,是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。
总结:
HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
(2)统一资源定位符(URL)常说的网址就是URL。
由协议、主机名、域名、端口、路径、以及文件名这个六个 ...
网络协议基础01
网络协议基础011、网络协议分层对于同一台设备上的进程间通信,有很多种方式,比如有管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出一套通用的网络协议。
这个网络协议是分层的,每一层都有各自的作用和职责,通常是由上到下,分成五层。
应用层
传输层
网络层
数据链路层
物理层
(1)应用层最上层的,也是我们能直接接触到的就是应用层(Application Layer),我们电脑或手机使用的应用软件都是在应用层实现。那么,当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是传输层。
所以,应用层只需要专注于为用户提供应用功能,不用去关心数据是如何传输的,就类似于,我们寄快递的时候,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是如何被运输的。
而且应用层是工作在操作系统中的用户态,传输层以下则工作在内核态。
(2)传输层应用层的数据包会传给传输层,传输层(Transport Layer)是为应用层提供网络支持的。
在传输层会有两个传输协议,分别是TCP和UDP。
TC ...
虚拟靶场环境搭建
虚拟靶场环境搭建1、VMware虚拟网络编辑NAT模式模式介绍
网络适配器:NAT
虚拟网络设置:
vmnet0:桥接模式 – 自动连接
vmnet1:仅主机
vmnet8:NAT模式 – NAT模式
123NAT(Network Address Translation网络地址转换)模式:一般是vmnet8,如果你的网络IP资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。NAT模式的虚拟机就是通过宿主机上网和交换数据的。在NAT模式下,虚拟机的网卡连接到宿主机的VMnet8上(安装完Vmware虚拟机会多出两个虚拟网卡Vmware1和Vmware8)。此时系统的VMware NAT Service服务就充当了路由器,负责将虚拟机发送到Vmnet8的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过VMnet8发送给虚拟机。VMware DHCP Service负责为虚拟机分配IP地址。
其网络结构如下图所示:
桥接模式
网络适配器:桥接
虚拟网络设置:
...
云服务器与Docker
云服务器与Docker1、云服务器三家厂商
123https://cloud.tencent.com/product/cvm 腾讯云https://www.aliyun.com/product/ecs/ 阿里云https://www.huaweicloud.com/theme/512014-1-G 华为云
一台通过公网访问的虚拟服务器,可以是Windows、Linux系统。
云服务器VPS(Virtual Private Server)是一种虚拟化技术,它将物理服务器划分为多个独立的虚拟服务器。每个虚拟服务器都具有自己的操作系统、磁盘空间、CPU资源和内存,并且可以像独立的服务器一样运行和管理。
使用云服务器VPS,用户可以获得一个独立的虚拟环境,享受与实际服务器相似的灵活性和可靠性。用户可以根据自己的需求选择服务器的配置,包括CPU核数、内存大小、存储空间等。此外,用户还可以根据需要安装和配置所需的软件和应用程序。
云服务器VPS具有以下优点:
灵活性:用户可以根据需要轻松扩展活所系虚拟服务器的资源。
独立性:每个虚拟服务器都是相互隔离的,用户之间不会相互干扰。
可靠性:云 ...
Linux基础
Linux基础Linux目录结构
1234567891011121314151617181920212223242526272829303132333435363738394041424344/:根目录,每一个文件和目录都从这里开始。只有root用户具有该目录下的写权限。/bin:用户二进制文件,包含二进制可执行文件。系统的所有用户使用的命令都设在这里,例如:ps,ls,ping,grep,cp等。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :设备文件,dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。/opt:可选的附加应用程序,这是给主机额外安装软 ...
Windows域环境搭建
Windows域环境搭建什么是域?举个例子:
个人:平时使用个人电脑时,默认是处在一个工作组中的。在工作组中,你一切的设置都在本机上进行,包括各种策略,用户登陆也是登陆在本机的,密码都是放在本地的数据库来验证的。工作组中的电脑每台都是独立的,如果要安装电脑补丁或者其它软件时,需要一台一台登陆所有电脑才行。
企业:企业中的电脑一般有几百甚至上万台电脑,一台一台登陆肯定不现实。
所以需要有一种机制,把网络中的所有电脑的资源进行统一管理,当需要更改配置,安装软件时,可以在通过一台计算机直接下发到所有的计算机进行配置。要实现这种机制,就需要用到域。
Windows域是计算机网络的一种形式,其中所有的用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。身份验证在域控制器上进行。在域中使用计算机的每个人都会收到一个唯一的用户账户,然后可以为该账户分配对该域内资源的访问权限。
在“域”模式下,至少有一台服务器负责每一台连入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器”(Domain Controller,简写为DC)。
W ...
什么是渗透测试
什么是渗透测试模拟黑客的真实攻击方法对系统和网络进行非破坏性质的攻击性测试,从而找出信息系统中存在的缺陷和漏洞。
然后以渗透测试结论为依据,对整个信息系统中的中高危漏洞进行安全加固。
渗透测试的目的校验目标信息安全防护情况,寻找存在的问题(漏洞),对发现的问题进行研究汇总并加固,从而帮助目标加强安全防护。
渗透测试基本流程
前期交互
信息收集
漏洞探测
渗透攻击
后渗透攻击
信息整理
渗透测试报告