Windows脚本自动化工具——Update

Hobby脚本自动化工具

功能简介:可以按照指定编排的配置文件,按顺序执行并监听

使用场景:可以用在前期信息收集的步骤上,将一些常见的脚本进行归纳,并编写成配置文档进行自动化处理

优点:可以扩展性强,只需要输入命令脚本,命令是多种多样的,但有些工具中执行的命令是固化的

缺点:内置转化工具少,如果输出的文档不能是指定的名称,则工具在自动化链条上无法进行有效连接


详细介绍:

此工具分为 hobby.exe + go.html 组成,go.html为配置文件
文件格式为xml格式
以下是示例

<!-- 配置文件说明
<process> 每个都是一个步骤
	<tag></tag> 必需值 由大到小依次执行,如果相同则并发
	<thread></thread> 多开进程(注意是进程)数量(脚本无法使用)搭配<thread-content> | <thread-out>使用
	<thread-out><thread-out> 目标输出文件地址
	<thread-content></thread-content> 目标输入文件地址
	<cmd></cmd> 命令脚本,如果无法执行就填写绝对值路径,也可以用相对路径
	<plugin></plugin> 自带脚本命令,可以使用-hp查看
</process>   -->
<root>
	<process>
	    <tag>
	        1
	    </tag>
		<thread>
			5
		</thread>
		<thread-content>
			./ip.txt
		</thread-content>
		<thread-out>
			./444.txt
		</thread-out>
		<cmd>
		    python g2.py -s ./ip.txt -o ./444.txt
		</cmd>
	</process>
	<process>
	    <tag>
	        1
	    </tag>
		<thread>
			1
		</thread>
		<thread-content>

		</thread-content>
		<thread-out>

		</thread-out>
		<cmd>
		    python g1.py -t 2
		</cmd>
	</process>
	<process>
		<tag>
			2
		</tag>
		<plugin>
			{csvbyname2txt ip_fofa_output.csv domain fofa.txt}
		</plugin>
	</process>
	<process>
	    <tag>
	        2
	    </tag>
		<plugin>
		    {csvbycol2txt ip_fofa_output.csv 1 fofa2.txt}
		</plugin>
	</process>
	
</root>

以上这个配置文件,描述了一个自动化脚本执行的过程
可以简单叙述成
在同一时间执行 python g2.py -s ./ip.txt -o ./444.txtpython g1.py -t 2 ,并且在第一个命令中对其使用多进程,并发数为5,即同时存在5个进程,并且将自动拆分输入文件,以及自动合并输出文件
在以上步骤运行结束后,同时运行{csvbyname2txt ip_fofa_output.csv domain fofa.txt}自带脚本命令,可以在-ph中查看,例如

PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go  -ph
使用例子:{csvbyname2txt fofa.csv domain fofa.txt}
解释:将fofa.csv中名为domain列的内容导出为fofa.txt(已去重)

脚本说明:
原型:csvbycol2txt(fileName string, columnIndex int, outputFileName string)
原型:csvbyname2txt(fileName string, columnName string, outputFileName string)

整个程序运行过程

PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go     
(线程1)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_2.txt -o ./cache/bb96c7d7-7cd6-4f/444_2.txt} >> {225296 4 11}
(线程3)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_4.txt -o ./cache/bb96c7d7-7cd6-4f/444_4.txt} >> {231892 4 11}
(线程0)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_1.txt -o ./cache/bb96c7d7-7cd6-4f/444_1.txt} >> {221688 4 11}
[执行结束]{python g1.py -t 2}
(线程2)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_3.txt -o ./cache/bb96c7d7-7cd6-4f/444_3.txt} >> {234736 4 11}
(线程4)[执行中...]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_5.txt -o ./cache/bb96c7d7-7cd6-4f/444_5.txt} >> {227760 4 11}
(线程1)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_2.txt -o ./cache/bb96c7d7-7cd6-4f/444_2.txt}
(线程0)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_1.txt -o ./cache/bb96c7d7-7cd6-4f/444_1.txt}
(线程4)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_5.txt -o ./cache/bb96c7d7-7cd6-4f/444_5.txt}
(线程3)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_4.txt -o ./cache/bb96c7d7-7cd6-4f/444_4.txt}
(线程2)[执行结束]{python g2.py -s ./cache/bb96c7d7-7cd6-4f/ip_3.txt -o ./cache/bb96c7d7-7cd6-4f/444_3.txt}
[结果聚合完成]{python g2.py -s ./ip.txt -o ./444.txt}
[脚本执行结束]{csvbycol2txt ip_fofa_output.csv 1 fofa2.txt}
[脚本执行结束]{csvbyname2txt ip_fofa_output.csv domain fofa.txt}

以下是hobby的其他功能

PS C:\Users\Administrator\Desktop\Hobby> go run .\main.go -h
Usage of C:\Users\ADMINI~1\AppData\Local\Temp\go-build2016420776\b001\exe\main.exe:
  -c string
        配置文件地址 (default "go.html")
  -ph
        显示插件信息
  -t int
        进程显示刷新时间 (default 2)

以上为v1内容


下面的v2主要更新了

配置文件:
添加了新标记 Return-mark(内置脚本返回标记),可以用于接受内置脚本返回的值
Windows脚本自动化工具——Update_第1张图片

添加了
内置脚本:
添加了
ddcsv:检测指定文件内是否出现指定大小的csv文件
logprint:主要用于调试
request:封装好了http请求,可以进行全面的http请求,支持多线程
socket:封装号的socket请求,可以自定义写入内容,也有内置的

Windows脚本自动化工具——Update_第2张图片

帮助界面:
Windows脚本自动化工具——Update_第3张图片

并且加入实时键盘控制,现在有exit,show,save,shell,cls,back命令(因为数据是以链表形式存入的,方便dug)
Windows脚本自动化工具——Update_第4张图片

忘记说了,之前使用的是pid进行监测程序状态,但是发现有些程序会出现半天不动的情况,现在将输出的管道指向文件,并且每隔一段时间监测文件更新状态

2023-10-13 更新主动退出程序运行,在运行过程中 输入 pass/xxx/(xxx为进程内部UUID)

Windows脚本自动化工具——Update_第5张图片

你可能感兴趣的:(奇怪脚本,渗透工具编写,自动化,python,golang)