一.横向移动介绍和方式
1.介绍
内网渗透的横向移动是指攻击者在成功进入内网后,通过利用内部系统的漏洞或者获取的合法访问权限,从一个受感染的系统向其他系统扩散或移动。这种横向移动的目的通常是为了获取更多的敏感信息、提升权限、扩大攻击面或者更深入地渗透目标网络。
横向移动通常是内网渗透过程中的一个关键步骤,因为一旦攻击者在内网中获取了初始访问权限,他们通常希望在网络中尽可能多地传播,以获取更多的机会和资源。攻击者可能会利用各种技术和工具来进行横向移动。
2. 横向移动的方式
1、通过WEB漏洞 利用网站的安全漏洞获取对其他系统或服务的访问权限,这个过程主要是涉及到外网的攻击技术,比如:SQL注入,XSS等等。
2、通过远程桌面利用远程桌面协议(如RDP,Remote Desktop Protocol)或者是远控工具来横向移动在内网中。这种攻击方法通常发生在攻击者已经成功获取了内网中一台主机的访问权限后,攻击者试图利用该主机上的远程桌面功能来访问其他主机或服务器。
3、通过账号密码 利用前期内网信息收集到的有效账号和密码或者是Hash值,通过内网中的各种系统或者服务进行横向。
4、通过不安全的配置 例如上篇抓取RDP明文密码就是因为管理员的不慎操作导致我们可以抓取到明文密码进行横向。
5、通过系统漏洞在信息收集时要仔细认真不放过任何一个细节,比如你成功控制一台域内成员机时,向域管询问域内成员机时发现有部分电脑系统版本过旧,正好没有打补丁,不是省时又省力!
二.利用远程桌面进行横向移动
远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者(所在计算机称为用户端或’本
地计算机’)连上提供微软终端机服务的计算机(称为服务端或’远程计算机’)
远程桌面的利用条件:
1、开启了3389端口
2、防火墙等安全设备没有禁止
3、网络必须相通
4、拥有账号和密码(或者Hash)(可以是本身的账号也可以是自己添加的)
1.查询3389的开放情况
查看端口开放情况
netstat -ano
开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
查看RDP是否是3389
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber
16进制d3d转换完就是3389
2.使用账号密码进行连接
(1)可以进行密码抓取技术,抓取到账号和密码(明文)然后直接进行连接;
(2)如果说没有抓到明文的密码只有Hash值,可以在mimikatz中使用Hash值进行连接;
privilege::debug
sekurlsa::pth /user:administrator /domain:IP地址 /ntlm:Hash "/run:mstsc.exe /restrictedadmin"
这里使用CS插件抓取到明文密码
连接时出现这种情况,说明对方防火墙没有关闭
使用命令关闭防火墙
netsh advfirewall set allprofiles state of
用CS插件抓不到win2012的明文密码,只抓到了NTLM-Hash值:2c1cfa157eb8255a8bbbdba997459dc3
(用户名要和hash值对应)
sekurlsa::pth /user:DC$ /domain:192.168.41.10/ntlm:2c1cfa157eb8255a8bbbdba997459dc3 "/run:mstsc.exe /restrictedadmin"
不用输入密码,直接填入IP地址即可连接
三.利用Todesk横向移动
1.介绍
ToDesk是一款类似向日葵的远程控制软件,但比向日葵、TV和AD更为流畅和稳定,它同样具备着
内网穿透、文件传输、云端同步和流量加密等功能有绿色精简版和全功能版两个版本,支持的系统有:Winodws/Linux/MacOS/Android/iOS
2.演示
第一步:成功工具安装包上传到目标机
第二步:
全功能版在双击运行、命令行执行时都会出现UAC弹窗和安装界面,这样非常容易被管理员发现,/S参数可以实现静默安
ToDesk.exe /S
第三步:
运行ToDesk后会在默认安装目录下生成一个config.ini配置文件,存储的有设备代码、临时密码、安全密码以及登录用户和密码等重要敏感信息,但密码都经过ToDesk特有加密算法加密,所以不能通过解密得到明文密码,只需要找到目标主机ToDesk中的tempAuthPassEx临时密码或authPassEx安全密码,将它们覆盖到我们本地ToDesk中的tempAuthPassEx,重启ToDesk即可得到明文密码。
命令:type C:\"Program Files (x86)"\ToDesk\config.ini
但是密码在文件里是加密存储的
第三步:
使用CS替换配置文件
本地安装一个,然后将配置文件替换
第四步:
关闭进程然后重启
tasklist 查找进程
taskkill /pid 2484 /F
shell C:\"Program Files (x86)"\ToDesk\ToDesk.exe
接下来本地直接可以输入设备代码和密码登陆了
四.利用GoToHTTP横向移动
.GotoHTTP工作在B2C模式。使用远程控制时,您不必在每一台电脑上都安装远程软件。不管身处何处,有浏览器就能访问远程电脑。 即使公司网络管控,仍然可以控制或被控制。支持文件传输、无人值守、剪切板同步、远程语音、远程摄像头、多显示器支持。
下载:http://www.gotohttp.com/goto/download.12x
1. 使用cs或者其他工具将文件上传到目标机器,并且运行程序
可以看到已经成功上传
2. 在运行目录下会生成一个配置文件,查看配置文件里面有连接地址和账号密码
在CS中直接运行程序之后,会在桌面生成一个配置文件
读取该文件得到账号密码
3. 通过WEB页面和账号密码进行连接
五.利用RustDesk横向移动
远程桌面软件,开箱即用,无需任何配置,完美替代TeamViewer。您完全掌控数据,不用担心安全问题。您可以使用我们的注册/中继服务器,或者自己设置,亦或者开发您的版本。
https://gitee.com/rustdesk/rustdesk/releases
1. 上传程序到目标机器,运行程序,找到配置文件
成功上传后
运行程序
找到配置文件
配置文件地址:C:\Users\用户名\AppData\Roaming\RustDesk\config
读取文件后里面只有id没有密码
2. 可以看到没有密码,这个时候需要手动上传 ,然后重启工具
先将文件下载到本地自己添加一个长度和他相同的密码(可以本地测试验证长度)
重命名后上传到目录下,之前的直接删除
tasklist
taskkill /pid 2712 /F
重新读取配置文件
3. 连接目标
得到id和密码在CS上还得运行一下程序(之前进程被终止了),然后再登录
六.利用向日葵横向移动
向日葵远程控制软件是一款免费的集远程控制电脑/手机/平板、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件,且还能进行远程文件传输、远程摄像头监控等。
支持系统:Winodws/Linux/MacOS/Android/iOS
向日葵去年更新了绿色版本不能再使用
可以替代向日葵的软件有很多比如:
- PsExec
PsExec 是一款由 Sysinternals(现在是微软的一部分)开发的实用程序,用于在本地或远程系统上执行命令。它是一种轻量级的命令行工具,可以帮助系统管理员和网络管理员远程管理多台计算机。PsExec 最常用的功能之一是允许用户在远程系统上执行命令行工具,就像它们是本地安装的一样。这使得管理员可以轻松地远程管理多台计算机,而无需手动登录每台计算机来执行命令。
推荐文章:https://blog.csdn.net/hackermmm/article/details/129112766
介绍了各种远控工具