1.Linux SID 开发指南
2.fuse是源码什么
3.HTBFuse(AD信息枚举,用户特权滥用:seloaddriverprivilege)
4.Windows Dokanç®ä»
5.Linux利用eFuse加强安全性linuxefuse
6.Fterm软件简介
Linux SID 开发指南
介绍Linux内核中基于Sunxi硬件平台的下载SID模块驱动的详细设计,旨在为软件编码和维护提供基础。源码SID提供四大部分功能:ChipID、下载SoC Version、源码Efuse功能、下载源码铃铛状态位。源码
ChipID功能用于识别全志SoC的下载唯一性,如同A型号的源码唯一标识。ChipID由位组成,下载存放于Efuse的源码起始位置。具体bit含义由生产制造部定义。下载
SoC Version功能包含Bonding ID,源码表示封装类型。下载相关信息存储在寄存器中,源码统一管理于SID模块。BSP返回组合值供应用判断处理。
Efuse功能提供可编程永久存储空间,支持一次从0到1的写操作。SRAM方式用于容量大于位的情况。
一些状态位如Secure Enable,指示当前系统是否开启了Security属性。状态位保存在SID模块的0xa0寄存器。
SID是一个独立模块,存放在drivers/soc/sunxi目录中,北京源码资本地址没有依赖其他子系统。提供API接口供其他模块调用。
模块在Device tree中的配置通过sunxi-sid节点实现,需要添加secure_status、chipid、rotpk子节点。
SID驱动源代码在目录下,对外提供接口头文件:./include/linux/sunxi-sid.h。无需重新配置,配置路径在longan环境中执行./build.sh menconfig。
模块内部功能划分为两部分:SID Register RW和SID Api。SID Register RW封装了寄存器读取接口和模块基地址获取。SID Api以API方式提供功能接口。
关键数据定义包括常量、宏定义、数据结构和全局变量。常量和宏定义用于索引Key名称,数据结构如soc_ver_map管理SoC信息,soc_ver_reg记录位置信息。全局变量保存解析后的ChipID、SoC_Ver等信息。
模块流程设计包括SoC信息读取流程和Efuse Key读取流程。SoC信息读取遵循统一流程,Efuse Key读取流程涉及判断存在性和访问权限。群聊h5源码
接口设计包括接口函数和内部函数。接口函数如sunxi_get_platform、sunxi_get_soc_chipid等实现特定功能。内部函数如sid_get_base、sid_put_base、sid_rd_bits提供底层接口。
启用安全系统后,非安全空间无法访问Efuse信息,需要使用SMC指令读取。sunxi_smc_readl()实现在sunxi-smc.c文件中,位于drivers/char/sunxisysinfo目录。
fuse是什么
FUSE是文件系统在Linux中的模块和框架。FUSE,全称为Filesystem in Userspace,是一个在Linux内核和用户空间应用程序之间构建文件系统的接口框架。它允许开发者创建自己的文件系统,并将其挂载到用户空间中,以实现不同的存储、备份或版本控制策略等需求。这一技术的核心思想是将文件系统处理的任务从操作系统层面移至用户空间的应用程序层面。这样的设计提供了一种更为灵活的方式去构建定制的文件系统。其具体特点如下:
首先,FUSE提供了一个编程接口,开发者可以使用这个接口来创建新的源码数据查询文件系统。这些文件系统在用户空间运行,这就意味着开发人员可以在不使用内核源代码的情况下开发新的文件系统特性或功能。这种灵活性使得FUSE在数据管理和存储领域具有广泛的应用前景。
其次,FUSE的核心作用在于它是一个桥梁或者中介,在用户空间和内核之间建立一个通道,用户空间的应用程序通过这个通道来访问存储在存储设备上的数据。传统的文件系统通常是直接与内核交互的,而FUSE打破了这一传统模式,允许开发者在不修改内核的情况下实现自己的文件系统逻辑。这使得用户空间的应用程序能够与各种类型的存储设备进行交互,无论这些设备是传统的硬盘还是新兴的技术如闪存或云存储等。
最后,对于需要进行文件级别操作的任何应用场景,FUSE都有着广阔的应用前景。它可以应用于实现定制的数据管理方案、增强型的文件版本控制工具以及其他对文件系统有特殊要求的应用场景。正是由于FUSE的灵活性,许多开发者选择在FUSE上构建自己的解决方案,以满足特定的业务需求。因此,FUSE在数据管理和存储领域扮演着越来越重要的角色。
HTBFuse(AD信息枚举,用户特权滥用:seloaddriverprivilege)
HTBFuse(AD信息枚举与用户特权滥用:seloaddriverprivilege)
首先,源码跟软件的区别要明确,所有操作在本文中的渗透测试都在合法授权下进行,仅限学习交流。文章探讨了对一台DC(域控制器)的探测,其域名是fabricorp.local。 通过端口扫描,发现端口开放,访问后发现是打印机历史记录网站,收集到一些用户名。在kerberos部分,验证了这些用户名是否为域用户,结果显示没有不需要预认证的用户。 SMB探测中,尝试了多种工具如enum4linux、rpcclient和smbclient,但发现权限有限。对于ldap,由于权限问题,无法获取更多信息。接着,通过网络信息收集和爆破尝试,找到了两个有效账户凭证:tlavel和bhult。 提权阶段,注意到SeLoadDriverPrivilege这一特权,利用恶意驱动程序加载实现权限提升。使用ExploitCapcom.exe和Capcom.sys,成功执行提权并获取反弹shell。然而,原密码的使用似乎受到限制,不能用于所有提权工具。 AD枚举部分主要集中在用户信息的搜集上,IT Account组的权限虽然理论上可提权,但未进行实际验证。sthompson这个账号作为Domain Admins组成员,理论上也可提权,但缺乏进一步的信息。 总的来说,这次渗透测试中,提权环节利用了seloaddriverprivilege漏洞,且存在一些CTF(Capture The Flag,夺旗赛)元素。部分步骤依赖于网络资源和已有工具的使用,对于源代码编译的限制,作者选择了直接使用已有的解决方案。Windows Dokanç®ä»
Dokanå建ä¹åçç®çåFUSEï¼Filesystem in Userspaceï¼ä¸æ ·ï¼å³ä¸ºäºå®ç°ç¨æ·èªå·±çæ件系ç»ãå¼åè éè¿dokanå¼åæ件系ç»ï¼å®ç°çæ¯ä¸ä¸ªåºç¨ç¨åºèä¸æ¯å¤æçå æ ¸é©±å¨ãï¼Windowså æ ¸é©±å¨å¼åä¹ä¸è§å¾æ¯Linuxç®åãï¼Dokanå°±æ¯Windowsä¸çFUSEãèç®åDokanå·²ç»æ¯æFuseï¼æå³çLinux Fuseç¨åºä¹å¯ä»¥å®ç°åWindowså¹³å°çè¿ç§»ã
ç®åDokanå·²ç»è¢«æ¿æ¢æDokanyï¼èª0.6.0çæ¬ï¼ï¼å¹¿æ³æ¯æä½æä½XåARMæ¶æãæ¯æçWindowsçæ¬æ
- Windows Server // R2// R2 SP1
- Windows /8.1/8/7 SP1
ç®èè¨ä¹ï¼åFUSEå¦åºä¸è¾ã
Dokanåºå å«ç¨æ·æçå¨æé¾æ¥åºï¼dokan.dllï¼åå æ ¸æç驱å¨ç¨åºï¼dokan1.sysï¼ãï¼ å¯ä»¥ç±»æ¯FUSEæä¾ç¨æ·æçå¨æé¾æ¥åºlibfuse.soåå æ ¸æ驱å¨fuse.koãï¼ ä½¿ç¨dokanåºå建çæ件系ç»è§ä¸º æ件系ç»ç¨åº ã
æ件æä½æ¯å¦å建æ件CreateFileã读æ件ReadFileååæ件WriteFileç请æ±å°ä¼åéç»å æ ¸æåç³»ç»ï¼ç¶å转éç»é©±å¨ç¨åºã æ件系ç»ç¨åº éè¿ç¨æ·ææä¾çå½æ°æ¥å£ï¼å¨é©±å¨ç¨åºä¸æ³¨ååè°æ¥å£ã驱å¨ç¨åºå°ä¿¡æ¯åä¼è°ç¨è¿äºåè°å½æ°ï¼æåè¿äºè¯·æ±å¨ç¨æ·æçæ件系ç»ç¨åºä¸è¢«å¤çãDokanæ®æ¼çæ¯åºç¨ç¨åºå æ件系ç»ç¨åº ç´æ¥ç代çè§è²ã
第ä¸æ¥å®ç°DOKAN_OPERATIONSç»æä½éçå½æ°ãè¿äºå½æ°ä¼è¢«æ³¨åæåè°å½æ°ãDOKAN_OPERATIONSä¼å¨ä¸»å½æ°DokanMainä¸ä½ä¸ºåæ°ä¼ é使ç¨ã
ä¸è¬æä½æ件ç顺åºæ¯
- DOKAN_OPERATIONS::ZwCreateFile
- å ¶ä»æä½ï¼æ¯å¦åã读ç
- DOKAN_OPERATIONS::CleanUp
- DOKAN_OPERATIONS::CloseFile
å³å建ãå®é æä½ãæ¸ çåå ³éãæ¸ ç主è¦æ¯æ¸ ç请æ±åå ³éæ件å¥æï¼èå ³éæ¯æ¸ çå°åçä¸ä¸æç»æã
æ¯ä¸ªæä½æåè¿åSTATUS_SUCCESSï¼å¦æ失败åè¿åä¸åçé误ç¶æNTSTATUSãå¦å¤ï¼æ¯ä¸ä¸ªDokanæä½é½è¦å¸¦ä¸ä¸ªç»æä½DOKAN_FILE_INFOãæ¯ä¸ªæ件å¥æä¼å ³è该ç»æã该ç»æç主è¦ç®çæ¯ä¿åå½åæä½çæ件信æ¯ï¼æ¯å¦ä¸ä¸ææä½ä¿¡æ¯ãæ¯å¦ä¸ºç®å½ç±»åãæ¯å¦è¯»ç¼åãåæ¥æä½çå®ä¹æä½è¡ä¸ºçä¿¡æ¯ãå ·ä½è¯¦è§éå½ä¸å°åã
å®ç°äº 线ç¨å®å ¨ çæ件系ç»æä½ï¼è°ç¨DokanMainå½æ°å³å¯æè½½æ件系ç»å°Windowsä¸ï¼è¯¥å½æ°ä¼å¨å¸è½½ä¹åä¿æé»å¡ç¶æã
æºç å éé¢æä¾äºMirrorï¼å¯ä»¥ä½ä¸ºæ¡ä¾å ¥é¨Dokançå¼åã
Dokan Fuseå¨ä½¿ç¨æ¶éè¦é¾æ¥ dokanfuse.dll çå¨æåºã å¦å¤ç±äºLinuxåWindowså¨å¤çå é¤åéå½åä¸çä¸åä¼å¯¼è´ä¸äºç§»æ¤åºç°é®é¢ ï¼Linuxå 许æå¼çæ件被å é¤ï¼èWindowsåä¸å 许ï¼ã
项ç®å°åï¼/dokan-dev/dokany
ç»æä½DOKAN_FILE_INFOæè¿°ï¼https://dokan-dev.github.io/dokany-doc/html/struct_d_o_k_a_n___f_i_l_e___i_n_f_o.html
Linux利用eFuse加强安全性linuxefuse
Linux是一个以内核和系统程序构成的自由和开放源代码的操作系统,能运行在多种硬件架构(如PC、ARM和更多)上,它拥有广泛的受欢迎度,被广泛应用于各种嵌入式系统中,如移动设备和中小型服务器上。然而,随着技术的发展和硬件的进步,Linux系统的安全性有可能不断改变。因此,Linux内核的开发者正在努力加强Linux的安全性,使其更具有安全性和可靠性。
eFuse是Linux内核开发者使用的一种技术,可用于在开发人员定义的范围内保护Linux内核的安全性。eFuse可用于在指定的条件下禁止内核动态编写,以实现安全设备更新和设备特性解锁等功能。eFuse还可以用于验证硬件是否正确安装,以及内核层面的权限管理。
为了实现eFuse功能,Linux内核开发团队在内核中增加了新的子系统——eFuse。该子系统允许用户以代码或接口的形式实现安全更新功能,即验证和认证内核的状态,以确保它的安全性。比如,在强制使用安全固件时,eFuse可以帮助确保系统处于安全状态,从而加强设备安全性。
以下代码演示如何安装并使用eFuse:
#下载efuse
wget https://www.kernel.org/pub/linux/kernel/people/tip/efuse/efuse.tar.gz
#解压efuse
tar -xvzf efuse.tar.gz
#将efuse置入内核
cd efuse
make install
#在内核中应用efuse
modprobe efuse
最后,eFuse的使用可以帮助提高Linux内核的安全性,这是一个很大的进步。它可以帮助开发人员在开发设备时加强其安全性,并保护Linux内核的安全性。通过eFuse,Linux内核的安全性可以得到更好的保护。
Fterm软件简介
FTerm是一个功能全面的仿真终端软件,它的起源颇具故事性。最初,由浙江大学笑书亭BBS的站长fuse开发,初衷是为了方便用户登录笑书亭BBS。然而,随着软件的不断迭代,FTerm的功能远超出了最初的设想,它不再局限于BBS客户端,而是能够远程连接并提供终端服务,适用于各种UNIX类系统的主机。
目前,FTerm的主要开发者包括fuse和水木清华BBS的kxn,他们在软件发展中起到了关键作用。FTerm的开发环境选择为Delphi,其核心代码基于Francois Piette编写的ICS控件,经过了深刻的定制和优化。值得一提的是,这部分关键代码已经开放源代码,使得开发者和用户都能参与到FTerm的持续改进中。
总的来说,FTerm不仅仅是一个单一的BBS客户端,它已经发展成为一个强大而灵活的终端模拟工具,适应了用户对远程管理和交互的多元化需求。其开放源代码的特性也使其在技术社区中备受欢迎,并不断吸引着开发者进行创新和贡献。
Appfuse作用
AppFuse是一个功能强大的集成框架,它在多个关键领域提供了便利。在持久层处理中,AppFuse支持Hibernate O/R映射工具和iBatis,这两种都是广泛使用的数据库访问解决方案。这让开发者能够高效地管理数据操作和对象关系映射。
在容器管理方面,AppFuse与Spring Framework紧密结合,这意味着它能够利用Spring的管理能力和模块化设计,简化了应用的部署和管理。这为开发者提供了稳定且灵活的基础架构。
在web框架选择上,AppFuse非常灵活,允许用户根据项目需求自由选择Struts、Spring/MVC、Webwork、Tapestry或JSF等流行的web开发框架,这提供了极大的定制性和扩展性。
在开发模式上,AppFuse倡导Test-Driven Development (TDD),鼓励开发者通过JUnit进行单元测试,甚至对jsp输出进行深入测试,以确保代码质量。这种严谨的测试实践能够提高代码的稳定性和可靠性。
在简化开发流程上,AppFuse预设了标准的目录结构和基类,省去了开发者手动设置的繁琐。它还提供了创建数据库、配置Tomcat、部署应用的Ant任务,大大节省了开发时间和资源。此外,它还能自动生成源代码和自动维护部分配置文件,减少了人工干预的复杂性,使得开发过程更加高效和易于维护。