当前位置:网站首页>网安学习-内网渗透4
网安学习-内网渗透4
2022-08-02 05:05:00 【YAy17】
目录
#PTH(Pass the Hash)利用lm或ntlm的值进行的渗透测试
#PTK(Pass the Key)利用ekeys AES256进行的渗透测试
#PTT (Pass the Ticket) 利用票据凭证TGT进行的渗透测试
#PTH(Pass the Hash)利用lm或ntlm的值进行的渗透测试
PTH在内网渗透中是一种很经典的攻击方式,原理是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或者服务,而不用提供明文密码。
域横向移动PTH传递-mimikatz
PTH NTLM传递
分为两种情况:一种是为打补丁的工作组及域连接;一种的打了补丁的工作组及域连接
还是先通过webserver上的mimikatz去收集webserrver上的密码,域用户信息等。由于我们测试的是通过PTH传递,所以使用的是LM或者是NTLM,LM之前讲过了03之前的系统使用,2003之后的系统使用的是NTLM,所以我们的重点在NTLM。
上面的第一条是连接域中的用户名为administrator。然而下面的是连接工作组中的用户administrator。
这里通过PTH使用NTLM值ccef...来连接域中的administrator。连接成功的话,就会反弹给我们一个cmd窗口,连接他的c盘。
当然也是可以连接工作组中的用户administrator。
上面介绍的这些用法,连接的用户可以是任意的,但是在打了补丁之后,就只能连接administrator。如果禁用了NTLM认证,PsExec无法利用获得的ntlm hash进行远程连接,但是使用mimikatz还是可以攻击成功的。对于安装kb2871997的win7/2008r2/2012等,可以使用AES keys代替NT hash来实现ptk攻击。
小结:kb2871997补丁之后的影响
PTH:没打补丁用户都可以连接,打了补丁只能administrator连接
PTK:打了补丁才能用户都可以连接,采用AES 256来连接
#PTK(Pass the Key)利用ekeys AES256进行的渗透测试
案例2-域横向移动PTK传递-mimikatz
PTK AES 256传递
打补丁后的工作组以及域连接
sekurlsa::ptk /user:mary /domain:god.org /aes256:AES526的值
那么如何获取AES256的值呢?
之前我们获取NTLM的值,使用的命令为sekurlsa::LogonPasswords。而获取AES256的值使用的命令为sekurlsa::ekeys
#PTT (Pass the Ticket) 利用票据凭证TGT进行的渗透测试
PTT攻击的部分就不是简单的NTLM认证了,他是利用Keyberos协议进行攻击的,这里介绍三种常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。
MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据),其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术,MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是KB3011780。
由于PTT是利用Keyberos协议,就先来学习一下,在域中,该协议的具体工作方法:
- 客户机将明文密码进行NTLM哈希,然后和时间戳一起加密(使用krbtgt密码hash作为密钥),发送给kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting Ticket)
- 将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取kerberos中TGT数据
- 然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对TGT进行检测
- 检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。
#第一种利用漏洞
能实现普通用户直接获取域控system权限
#MS14-068 powershell执行
整个利用过程:
- 查看当前sid whoami/user
- 将当前机器中的所有凭据,通过mimikatz清楚,如果有域成员凭证会影响凭证伪造;kerberos::purge
- kerberos::list //查看当前机器中的凭证
- kerberos::ptc 票据文件 //将票据注入到内存中
- 利用ms14-068生成TGT数据 ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
- 票据注入内存 //mimikatz.exe "kerberos::ptc 生成的TGT数据"
- exit 退出
- 查看凭证列表 klist
- 利用 dir \\192.168.3.21\c$
先查看当前的sid。通过执行命令whoami/user。得到了S-1-5...这个sid。
将当前机器中的所有的凭证全部删除掉,防止其他的域成员会影响凭据伪造。
通过ms14-068生成TGT数据凭证。之后便是通过Kerberos将TGT数据凭证导入当前的机器中。
通过klist来查看当前机器中有哪些凭据,当然也是为了检测我们是否将生成的TGT凭证成功导入。
这里成功显示导入成功,这里要注意的是:这个凭证是有有效期的。我们的连接必须要在这个有效期内才可以。
之后便是通过dir来连接,这里却显示找不到路径。这里需要注意的是:在连接的时候,不可以使用ip地址。
这样才是成功的!
#第二种利用工具kekeo
- 生成票据 //kekeo "tgt::ask /user:mary /domain:god.org /ntlm:ntlm值"
- 导入票据 kerberos::ptt [email protected][email protected]
- 查看凭证klist
- 利用net use 载入 dir \\192.168.3.21\c$
首先通过mimikatz收集来的ntlm值,去使用kekeo工具生成票据。
之后便是将生成的票据,导入当前的机器。
之后便是连接。
#第三种利用本地票据(需要管理员权限)
个人感觉这个有点点鸡肋了。
sekurlsa::tickets /export //将当前机器中的票据全部导出来
kerberos::ptt xxxxxxxxxxxxx.xxxxx.kirbi
上面就是导出来之后的样子。接下来就是将某一个导入
之后便是连接操作。
总结:ptt传递不需要本地管理员权限,连接时要用主机名去连接,无法使用IP地址连接,主要三种方式,分别是基于漏洞、工具和本地票据。
#案例4-国产Ladon内网杀器测试验收
整个过程:信息收集-协议扫描-漏洞探针-传递攻击等
图形化界面是下面的这样,扫描存活主机:
选择OnlinePC,点击scan。一般我们不会使用图形化界面工具,而是使用命令行。
扫描存活主机的语法:ladon IP地址网段 onlinepc
可见域中存活的主机有31 21 25 29 32 30等
通过net use \\IP地址 密码 /user:用户名 来连接。还可以使用我们之前学习到的psexec,还有wmi等。
执行成功,查看权限,为system权限。
ipconfig执行回显为192.168.3.21。
边栏推荐
- MySQL 游标
- el-input can only input integers (including positive numbers, negative numbers, 0) or only integers (including positive numbers, negative numbers, 0) and decimals
- The original question on the two sides of the automatic test of the byte beating (arranged according to the recording) is real and effective 26
- Android studio connects to MySQL and completes simple login and registration functions
- 【C语言】LeetCode26.删除有序数组中的重复项&&LeetCode88.合并两个有序数组
- 2022年7月学习计划完成情况
- kubernetes 亲和、反亲和、污点、容忍
- 2021年软件测试面试题大全
- Grid布局介绍
- 07-传统的生产者消费者问题、防止虚假唤醒
猜你喜欢
MySQL 字符串拼接 - 多种字符串拼接实战案例
Detailed explanation of mysql stored procedure
MySQL如何对SQL做prepare预处理(解决IN查询SQL预处理仅能查询出一条记录的问题)
Navicat cannot connect to mysql super detailed processing method
力扣 2127. 参加会议的最多员工数 拓扑剪枝与2360补充
[PSQL] window function, GROUPING operator
ApiPost is really fragrant and powerful, it's time to throw away Postman and Swagger
JDBC revisited
CAN光端机解决泰和安TX3016C消防主机长距离联网问题 实现CAN与光纤之间的双向数据智能转换
mysql 存储过程详解
随机推荐
matlab simulink 模糊pid结合smith控制温度
编译失败:HBuilderX 安装目录不能包括 ( 等特殊字符 (HBuilderX,uni-app报错)
Mysql common commands
MySQL 8.0.29 decompressed version installation tutorial (valid for personal testing)
pg数据库报错问题,有懂的吗
2021年软件测试面试题大全
Google Chrome(谷歌浏览器)安装使用
How much does a test environment cost? Start with cost and efficiency
Navicat cannot connect to mysql super detailed processing method
Matlab paper illustration drawing template No. 41 - bubble chart (bubblechart)
JDBC revisited
MySQL implements sorting according to custom (specified order)
Go语言之interface详解
Three methods of importing sql files in MySQL
面试测试工程师一般会问什么?测试主管告诉你
Brush LeetCode topic series - 10. Regular expression match
golang的time包:时间间隔格式化和秒、毫秒、纳秒等时间戳格式输出的方法
MySQL安装常见报错处理大全
MySQL导入sql文件的三种方法
MySQL multi-table association one-to-many query to get the latest data