横向渗透是什么_横向渗透怎么测试

hacker|
118

横向渗透之 [RDP]

**一、RDP 服务确定和启动 **

1. 确定RDP服务是否启动和服务端口

(1)注册表查询

(2)进程查看

2. 启动RDP服务

(1)cmd 本地注册表启动

也可以通过reg配置文件的方式启动:regedit /s startrdp.reg

(2) 利用Wmic 启动远程主机的RDP服务

二、RDP 用户登录前

(1) 明文密码:RDP爆破,SMB爆破(使用MSF中的smb_login 模块可以确定有效用户并判断是否是管理员组的)等工具

(2) Hash:Impacket工具包中的rdp_check.py 脚本可以通过hash确定目标机器是否存在枚举的用户

当用户存在时会提示 Access Granted,否者提示 Access Denied

(3) RDP中间人:Seth

执行后客户端链接服务器会失败,过段时间恢复正常

但是如果普通的用户,那需要进一步判断目标系统来确定合适的登录时机

(1) Windows XP、2003 支持统一用户登陆多地登陆互不影响,使用query user查看在线用户,XP没有该命令也可以使用taskmgr从任务管理器查看,同一权限下可以相互注 销会话。

(2) 非服务器版本的Windows 系统默认只允许一个账户登录。当远程用户登录时使用与原系统相同的账户,原系统将切换到登陆页面,并会看到登陆的机器名

如果使用不同的账户,原系统将弹窗提示其他用户已登陆到此计算机

选择继续后,原系统将会提示是否端口当前链接(30s后默认选择同意,退出到登陆页面)

(1) mstsc.exe

可以通过如下命令开启 Restricted Admin mode

开启后使用:mstsc.exe /restrictedadmin 进行登录不需要密码,将使用当前用户的hash 进行验证

(2) mimikatz.exe

4 . Linux上使用用户hash登录

PS:这里有一个坑,高版本xfreerdp不支持 /pth 参数,可以使用上面的安装命令安装支持/pth的版本,也可以使用kali/parrot中默认安装好

PS2:如果RDP服务启动了,客户端无法链接,可能是防火墙配置的问题,可以执行如下命 令添加防火墙规则允许3389端口TCP通信

PS3:如果出现远程连接出现身份验证错误,要求的函数不支持,解决方法:

**四、关于 RDP 权限维持方法 **

1. 关闭 RDP 安全认证

当服务器开启安全认证时,必须先通过登陆密码才能进入远程桌面;如果服务端用的是 不安全的认证方式,即可以先远程链接后登陆可以触发Shift后门

如何设置不安全的连接,去掉”仅允许使用网络级别的身份验证的远程桌面的计算机连 接”选项,需要注意的是先上系统后验证也会在计算机本地留下一定的进程、日志。

2. Shift后门 + RDP劫持

配合上面的关闭RDP安全认证方式,利用Shift后门可以让攻击者快速获得System权 限,结合RDP劫持可以实现无需创建用户、不更改劫持用户登录时间、解锁劫持用户界面、 等功能。注意RDP劫持需要System权限

另外一种方法可以通过创建服务激活

Mimikatz中也有相关的利用模块

3. 开启多人登录模式

(1)手动设置:将计算机配置(Computer Configuration)-管理模板 (Administrative Templates)-Windows组件(Windows Components)-远程桌面 服务(Remote Desktop Services)-远程桌面会话主机(Remote Desktop Session Host)-链接(Connections),禁用”将远程桌面服务的用户限制到单独的远程桌面会 话”(Restrict Remote Desktop Services users to a single Remote Desktop Services session) (2)Mimikatz 开启多用户登录,支持Win 7 及以前的版本系统

PS:使用与原系统相同的账户,原系统还是会被切换到登录界面;不同账户登陆成功 (3)RDPwrap:支持Win Vista - Win10

(4)SharpDoor:仅使用于Win 10 开启多会话RDP

**五、RDP 服务器反打客户端 **

需要客户端RDP链接时,开启磁盘共享(将本地磁盘挂在到服务器上)才能正常利用

2. 手动利用过程:假设客户端和登录服务器的用户都是Administrator

\Startup\powershell.vbs 作用是无弹窗执行bat脚本

(2)Windows.bat 脚本内容实现马(service.exe)拷贝到客户端的启动目录

也可以根据实际情况,将Rat拷贝到客户端的其他目录,将激活脚本拷贝到客户端启动目 录;如果不出网的情况下,也可以将exe替换成要执行的脚本 。

【远控使用】Cobalt Strike横向渗透域控

categories:

tags:

①直接用web传递发现失效了,原因是2003居然没有powershell,那就传马,由于cs马传上去无法运行,所以就用msf马监听拿到shell

②接着就将会话转给cs

首先把它派生会话smb,可以绕防火墙

1、查看当前用户组

2、查看域

3、枚举域内主机

4、查看DC的ip

接着我发现2003机子太low了,再添加一个2008的机子域内机子继续下面的测试,直接web传递,可以直接上线,server2008

5、查看域内成员

6、查看DC域控主机

7、查看域的信任关系

8、导入了powershell的模块powerview.ps1的使用

9、cs的列举域控命令

10、列出共享cs命令

11、判断是否能访问域控机的C盘,所以是域超级管理员

12、查看域内的管理员

13、域内的超级管理员

14、查看域内组中的超级管理员

15、cs中的查看管理员组的信息

16、查看远程的DC的管理员用户

17、powerview模块的命令查看用户

18、单靠命令搜索用户,或者信息收集

19、通过mimikatz抓取主域的NTLM

1、制作token访问域控

就可以访问域控的盘符

2、制作令牌

3、hash认证

需要:用户、域名、域id krbtgt的hash

1、查看当前黄金票据

2、获取域SID

shell whoami/user

3、清除当前票据

1、生成一个服务木马为test.exe

然后上传到windows/users/administrator里面

2、将其复制到域控机内的temp中的命令,然后命名为a1.exe

3、然后创建一个服务为a1

4、接着执行刚刚创建的服务a1

5、接着域控的机子上线CS的system权限

这次会比较简单一些,就是定时执行文件

还是创建一个木马

1、然后保存为a2.exe,按照上面同样的命令复制到域控机内

2、查看域控当前时间

3、接着利用at来创建一个一分钟执行木马的计划

cs上线了

上面做了个总结,下面是域控机无法联网的情况怎么办

1、这是用中转器来进行获取域控

2、接着生成一个a3.exe木马,返回beacon到刚刚创建的监听器

3、将a3.exe木马上传到users\administrator目录中

4、然后下面命令将木马复制到域控机内

5、查看当前时间和定时执行木马

6、等到了我们定好的时间,不出网域控会smb形式上线

结果图

如何利用DCOM实现横向渗透

一个后门软件Backdoor/Agobot.aky “高波变种”aky是一个经UPX压缩,主要利用网络弱密码共享进行传播的后门程序。该后门程序还可利用微软DCOM RPC漏洞提升权限,允许黑客利用IRC通道远程进入用户计算机。该程序运行后,程序文件自我复制到系统目录下,并修改注册表,以实现程序的开机自启。开启黑客指定的TCP端口。连接黑客指定的IRC通道,侦听黑客指令。黑客通过该后门在用户计算机上可进行的操作有:安装并升级病毒程序;下载并运行指定文件;盗取用户系统信息并发送给作者等。利用程序自带的密码字典破解网络共享弱密码。盗取黑客所指定的多种游戏的序列号,终止某些防火墙及杀毒软件的进程。该程序可执行DoS攻击。我想这可能是你需要的,希望能帮到你~~

横向渗透之Pass The Hash

在上一章总结了windows抓取hash的一些方式。在实际场景中,我们需要更快的扩大战果,获取更多控制权限,以及定位域环境。

横向渗透:就是在得到一台主机的控制权限后,将该主机作为突破口、跳板,利用既有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个内网、拥有最高权限。

Pass The Hash 哈希传递简称PTH,可以在不需要明文密码的情况下,利用LM HASH和NTLM HASH直接远程登录。攻击者不需要花费时间来对hash进行爆破,在内网渗透里非常经典。

常常适用于域/工作组环境。

靶机:windows server 2008

IP:10.211.55.19

domain:workgroup

user:administrator

pass:cseroad@2008

NTLM-Hash:82c58d8cec50de01fd109613369c158e

psexec类工具大同小异,大部分工具都是通过psexec来执行的。原理是: 通过ipc$连接,将psexesvc.exe释放到目标机器,再通过服务管理SCManager远程创建psexecsvc服务,并启动服务。然后通过psexec服务运行命令,运行结束后删除该服务。

如:Metasploit psexec,Impacket psexec,pth-winexe,Empire Invoke-Psexec

缺点:容易被杀软检测到

优点:可以直接获取system权限

因为市面工具比较多,只kali就自带有很多。所以这里以好用、批量为准则选择了几款工具。

mimikatz中pth功能的原理:

windows会在lsass中缓存hash值,并使用它们来ntlm认证,我们在lsass中添加包含目标账号hash的合法数据结构,就可以使用类似dir这些命令进行认证。

正常访问server 2008 的盘符是需要用户名密码的。

在windows7上经过pth之后就不需要密码就可以远程连接。

将获取的hash添加进lsass中。

在windows 7 上执行以下命令:

执行后会弹出cmd。在cmd下执行 net use \\10.211.55.19\c$ 命令就可以远程连接。

扩展:

假如我们继续探测到10.211.55.8使用的是同一个hash值。我们尝试使用远程共享c盘和schtasks 定时计划任务执行获取一个session。

powershell.bat为

当重启10.211.55.8机器后,metasploit可得到session

笔者经常使用时的是这三个模块

以exploit/windows/smb/psexec模块为例

值得一说的是smbpass配置项支持明文密码也支持hash(LM-Hash:NTLM-Hash)

成功返回system权限。

CobalStrike 同样有psexec选项。

在得到一个beacon的基础上,先在该网段portscan,探测存活主机后。

选择View--Target--Login--psexec,可批量选择主机pth。

选择pth的用户名和hash值。

从执行的命令看得出依然利用的mimikatz。执行成功后返回system权限。

该工具可以对C段主机批量pth。

项目在 github

在kali上直接apt就可以安装

对工作组批量pth命令如下

测试的时候发现某些命令执行后没有回显。

更多资料参考:

CrackMapExec:域环境渗透中的瑞士军刀

红队测试工具-CrackMapExec-远程执行Windows命令

wmi内置在windows操作系统,用于管理本地或远程的 Windows 系统。wmiexec是对windows自带的wmic做了一些强化。攻击者使用wmiexec来进行攻击时,不会记录日志,不会写入到磁盘,具有极高的隐蔽性。

安装成功后,切换到examples目录下

运行命令为

先加载Invoke-WMIExec.ps1脚本,再加载Invoke-TheHash.ps1脚本,因为Invoke-TheHash 里要用到 Invoke-WMIExec方法

如果要执行系统命令。可以加-Command 参数

执行后该进程会在后台运行,可以结合定时任务执行尝试反弹shell。

在测试中发现,在打了kb2871997 这个补丁后,常规的Pass The Hash已经无法成功,但默认的Administrator(SID 500)账号例外,利用这个账号仍可以进行Pass The Hash远程ipc连接。

以上所有操作均针对的SID 500。

内网渗透之PTHPTTPTK

横向移动

丢掉PSEXEC来横向渗透

如何学习渗透测试?

首先要根据自己的实际情况、确定学习的路线和方向的。就像建大楼,从顶端最华丽的那个地方开始,不可能成功。学渗透测试也一样,没选对入手的地方,导致学习过程中由于欠缺很多的知识点、很多概念理解不了、学习举步维艰、很容易半途而废。

现在我来分析下:

渗透测试属于信息安全行业,准确的说是网络计算机/IT行业

知道它行业属性,你大概就能清楚需要些什么样的基础知识了;下面是我从非计算机网络相关专业的同学想要学习渗透测试必须掌握的知识。

1)了解基本的网络知识、什么是IP地址(63.62.61.123),这个IP去掉点是扣扣学习群,可以免费获取学习课程。IP地址的基本概念IP地址的基本概念、IP段划分、什么是A段、B段、C段等

广域网、局域网、相关概念和IP地址划分范围。

2)端口的基本概念?端口的分类?

3)域名的基本概念、什么是URL、了解TCP/IP协议、

5)了解开放式通信系统互联参考模型(OSI)

6)了解http(超文本传输协议)协议概念、工作原理

7)了解WEB的静态页面和WEB动态页面,B/S和C/S结构

8)了解常见的服务器、例如、Windows server2003、Linux、UNIX等

9)了解常见的数据库、MySQL、Mssql、、Access、Oracle、db2等

10)了解基本的网络架构、例如:Linux + Apache + MySQL + php

11)了解基本的Html语言,就是打开网页后,在查看源码里面的Html语言

12)了解一种基本的脚本语言、例如PHP或者asp,jsp,cgi等

然后你想学习入门,需要学习以下最基础的知识:

1、开始入门学习路线

1)深入学习一种数据库语言,建议从MySQL数据库或者SQL Server数据库、简单易学且学会了。

其他数据库都差不多会了。

2)开始学习网络安全漏洞知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等

3)工具使用的学习、御剑、明小子、啊D、穿山甲(Pangolin)、Sqlmap、burpsuite抓包工具等等

2、Google hacker 语法学习

3、漏洞利用学习、SQL注入、XSS、上传、解析漏洞等

4、漏洞挖掘学习

5、想成为大牛的话、以上都是皮毛中的皮毛,但前提是以上的皮毛都是最基础的。

6、Linux系统命令学习、kali Linux 里面的工具学习、Metesploit学习

7、没事多逛逛安全论坛、看看技术大牛的文章、漏洞分析文章等

8、深入学习一门语言、Java或者Python等等,建议学习从Python开始学习、简单易学,容易上手。

9、提升自己的专业能力、把自己练成一个技术大牛、能给你带来一份稳定的高薪水工作,同时你还可利用自己的技术,额外的接些单子,做做副业,这个行业里是有很多单子可以接的。

10、当然想了解的可以来找我,我有时间会给你们答疑解惑的

0条大神的评论

发表评论