一些不常用语言产生的漏洞(ASP)

因为版本老旧,这些安全问题不在常见,但是也许会在一些特定情况碰到,所以了解一下也是有比u要的

首先一些常见的组合,可以百度找到,举一个常见例子:
windows2003、iis、asp、access(sqlserver)针对这些技术找漏洞【注意】asp是微软用的,一般都是跟windows、iis配套

对上述的技术,如access数据库文件的后缀名一般是:asp、asa、mdb(可以被下载)
在配置powereasy属性中的应用程序这项,如果没有添加应用程序扩展名的映射,那么会被下载,如果有映射,就可以被执行。

一、MDB默认下载

思路:如果我们知道数据库的地址,可以尝试下载获取数据库文件,获取当前管理员账号密码信息
过程:如果使用上述技术搭建服务器网站,那么当管理员配置数据库的时候没有修改默认的设置信息,那么直接访问数据库文件的地址就直接下载了数据库文件,打开就看到了数据库中账户信息
默认地址可能是:c:\Intepub\wwwroot\PowerEasy\DataBase
然后应该找到后台登陆管理员账号,默认后台可能是类似于:/admin/admin_login.asp

二、ASP数据库后门植入

前文提到,如果设置配置信息有.ASP后缀名,可以被执行,那么上传木马,再用菜刀连接,就完成了一次攻击

三、中间件iis短文件探针

用于探测数据库地址或者后台地址。
由于iis存在漏洞,可以探测文件名,缺点是探出前六位

四、iis文件上传解析漏洞

在上传漏洞经常出现,但是前提是中间件是IIS。
利用了IIS的特性,可以实现任意格式上传。比方说在原文件名含“.asp”,或者路径含有“.asp”那么都可被触发解析ASP脚本,就达到了绕过上传文件限制的功能

内网安全攻防(八)—权限维持

后渗透来到了权限维持这步,再配合对痕迹的清理,基本就完成了攻击计划。权限维持是要留后门backdoor。后门是攻击者留在目标计算机上的一个软件,不容易被发现,用来随时连接,操控受害者的计算机。这省去了每次渗透的成本,即使漏洞被修复仍能通过后门来控制计算机。

也就是说,当我们发现有人入侵我们的计算机时,就应该快速找到攻击者留下的后门,然后快速删掉它。

一、操作系统后门

指的是绕过目标系统安全控制体系的正规用户认证过程来维持对目标系统的控制权以及隐蔽控制权的方法

1.粘滞键后门

连按5次shift唤出粘滞键。粘滞键是帮助不能完成按组合键的人设计的。

书本讲述利用粘滞键留后门的思路:
①用可执行文件sethc.exe.bak替换windows\system32目录下的粘滞键可执行文件sethc.exe
cd windows\system32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe

②之后唤出粘滞键就会弹出命令提示符,会直接以system权限执行系统命令、创建管理员用户、登陆服务器等

使用empire也可以实现

【防御】:
·在远程登陆服务器时,连续按5次shift,判断是否被入侵
·拒绝使用sethc.exe
·在控制面板中关闭启用粘滞键

2.注册表注入后门

在普通用户权限下,攻击者会将需要执行的后门程序或者脚本路径填写到注册表键HKCU:Software\Microsoft\CurrentVersion\Run中(键名可以任意设置)

使用empire

【防御】:
·杀软针对这类后门有机制,根据杀软的提示进行删除

3.计划任务后门

回忆一下到win7可以用at调用计划任务,win8之后用schtasks命令调用。而计划任务还分为管理员权限和普通用户权限,管理员可以设置更多任务。

比如,让系统执行每小时执行一次notepad.exe
sthtasks /Create /tn Updater /tr notepad.exe /sc hourly /mo 1

常见任务后门:
①在Metsaploit中的Powershell payloaad web delivery模块,模拟攻击者在目标快速建立会话,该行为不会被写入磁盘因此杀软不会对该行为进行检测
【防御】杀软会告警

②在Powerspolit中的persistence模块,模拟生成一个自动创建计划任务的后门脚本

③在empire中模拟

【防御】
·安装杀软,杀软会告警
·及时打补丁
·使用高强度的密码

4.meterperter后门

使用它自带的后门程序persistence

【防御】杀软会告警

5.Cymotho后门

这是一个可以将shellcode注入现有进程的后门工具

6.WMI型后门

WMI型后门只能由管理员权限的用户执行,通常用powershell命令编写。攻击者可从新的wmi属性中读取、执行后门代码,不会再系统磁盘留下记录。

WMI型后门利用两个特征:
无文件:将代码加密存储在WMI中
无进程:执行后进程消失

empire中的invoke-WMI模块可以模拟

这类后门重启之后目标机器会自动上线

【防御】:
·删除自动运行列表中的恶意WMI条目
·在powershell中用Get-WMIObject命令删除域WMI持久化相关的组件

二、WEB后门

俗称webshell,常见的webshell是由ASP、ASP.NET、PHP、JSP代码写的。恶意代码运行在服务器上

1.Nishang的webshell

nishang是针对powershell的渗透测试工具。存着很多大马

2.weevely后门

python写的针对PHP平台的webshell,功能为:
·执行命令、浏览远程文件
·检测服务器配置问题
·创建TCP shell、Reverse shell
·扫描端口
·安装HTTP代理

3.webacoo后门

webcoo(web backdoor cookie) 针对PHP平台的web后门工具

4.ASPX meterpreter后门

5.PHP meterpreter后门

三、域控制器权限持久化

1.DSRM域后门

DSRM(directory services restore mode,目录服务恢复模式),用来恢复域环境。每个域控制器DC都有一个本地管理员(dsrm)账号,修改DSRM使用工具ntdsutil

注意到:
·如果操作系统为win2008,需要安装KB961320才能使用指定域账号的密码对DSRM的密码进行同步
·如果操作系统为win2003,不能使用该方法来进行持久化操作

DSRM可以作为域控制器的本地管理员账号控制DC

修改DSRM方法
命令行模式下:
·NTDSUTIL:打开ntdsutil
·set dsrm password:设置DSRM密码
·reset password on server null:在当前域控制器上恢复DSRM密码
·<password>:修改后的密码
·q(第一次):退出DSRM密码设置模式
·q(第二次):推出ntdsutil

若OS为win2008并且安装了kb961320,就可以用已存在的域账号密码同步DSRM密码
·NTDSUTIL:打开ntdsutil
·set dsrm password:设置DSRM密码
·sync from domain account domainuername:让DSRM密码与指定域用户同步
·q(第一次):退出DSRM密码设置
·q(第二次):退出ntdsutil

DSRM三个登录方式:
①0:默认值只有当域控制器重启并进入DSRM模式,才使用DSRM管理账号

②1:只有当本地AD、DS停止服务,才可以使用DSRM账号登录DC

③2:在任何情况下都可以使用DSRM账号登录

【防御】:
·定期检查注册表中用于控制DSRM登录方式的键值
HKLM\System\CurrentControlSet\Control\Lsa\DsrmAdminLogonBehavior,确认键值为1,或者删除键值

·定期修改域中所有DC的DSRM账号

·经常检查日志中ID为4794的日志,因为该日志记录了尝试设置DSRM的管理员密码

2.SSP维持域控制权限

SSP(security support provider)是windows安全机制的提供者,是一个DLL文件,用来实现windows操作系统的身份认证功能,例如:NTLM、KERBEROS、Negotiate、Secure Channel、Digest、Credential

SSPI(security supportprovider interface,安全支持提供程序接口):也就是SSP的api接口

当得到目标计算机的system权限,可以该方法持久化。原理:
LSA(local security authority)用于身份验证;lsass.exe是windows的一个进程用来进行本地安全和登陆策略;系统启动时SSP被加载到lsass.exe进程中。

当LSA被写入恶意代码,加载到lsass.exe时就会获取明文密码

【防御】:
·检查HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/Security Packages项目中是否含有可疑的DLL文件

·检查C;\Windows\System32\ 目录下是否有可以的DLL文件

·用第三方工具检查LSA中是否有可疑的DLL文件

3.SID history域后门

每个域用户有自己的SID,SID的作用是判断权限,进行访问控制。而SID history是域迁移过程的一个重要属性,因为打比方从A域迁移到B域,SID会变,那么员原本访问A域的权限就发生了变化。此时SID history记录着以前的属性,那么就可以实现迁移过后仍可以访问原来的资源。

所以可以利用SID history来实现持久化。所谓注入SID history,简单地说,我有一个恶意用户test,我把admin的SID添加到test 的SID history中,就获得了admin的属性

【防御】:
·经常检查域用户中SID为500的用户

·完成域迁移工作后,对相同SID history属性的用户进行检查

·定期检查ID为4765和4666的日志。4765日志记录了将SID history属性添加到用户的事件,4766为将SID history属性添加到用户失败的日志

4.golden ticket黄金票据

经常讲的krbtgt(是KDC服务使用的账号,输入domain admins组,每个账号的票据由krbtgt生成)当我们发现被入侵,忘记重置krbtgt,攻击者会快速重新拿回DC控制权,因为krbtgt可以伪造域内任意用户身份

如果攻击者在域内要使用黄金票据进行票据传递攻击,需要掌握:
·需要伪造的域管理员用户名

·完整的域名

·域SID

·krbtgt的NTLM Hash或AES-256

【防御】:

修改密码

5.silver ticket白银票据

跟黄金票据区别是,白银票据伪造的是TGS,通过已知的授权服务密码生成一张可以访问该服务的tgt。

票据在生成过程中不需要使用KDC,可以绕过域控制器DC,很少留下日志。黄金票据在利用过程中使用的是KDC颁发的tgt,并且在生成伪造的tgt的20分钟内,TGS不会对TGT真假进行校验

之所以叫白银,我认为它的权限没有黄金票据那么高,不需要达到任意服务伪造为目的去使用krbtgt账号,而是针对性的伪造某个服务,因此被发现的几率比黄金票据要小。

【防御】:

·在内网装杀软,及时更新补丁

·使用组策略在域中配置,限制mimikatz在网络中使用

·计算机账号密码默认每30天更改一次,检查是否生效

6.Skeleton Key

使用skeleton key万能密码。可以对域内权限进行持久化操作

7.Hook passwordChangeNotify

攻击者利用它实现获取用户修改密码时的明文密码

四、Nishang下的脚本后门

总结:我在没有完整学习完所有渗透流程之前学习内网安全,我自认为能明白其中近7成概念、理念。内网安全跟常规渗透流程既有相似处又有其特点。往往我们关注特定的服务、日志、功能等,说到底还是回到了人的安全。学习这一书很多时候攻击者能利用漏洞,也是在利用人的漏洞。作为安全专业的人员,我们必须时刻提醒我们要符合安全规范,不要贪图省事省力而放松了规则的制定,并且要处处留心眼,及时发现异常之处。

而在阅读ATT&CK框架一书,我能明显感觉理解上些许吃力,但信号我先阅读了内网安全一书,对于ATT一书的许多概念不至于陌生。触类旁通,我以本书知识去学习其他内容是更为帮助我理解、思考,因此我认为这段时间阅读本书时十分有意义的,我将继续不断学习。

内网安全攻防(七)—跨域攻击

之前内网安全了解到在企业内网一般是通过域林进行共享资源,而上一次提到的横向移动只是在单独的域内进行攻击,因此本次学习的是如何跨域进行攻击。

跨域攻击:常规渗透;利用已知域散列值进行哈希传递攻击或者票据传递攻击;利用域信任关系进行跨域攻击

—利用域信任关系的跨域攻击—

一般来说域环境只会接受来自受信任的域的凭证。

域信任关系:
·单向信任、双向信任
·内部信任、外部信任

1.单向信任

A域信任B域,则B域既可以访问A域也能访问B域

2.双向信任
信任域与受信任域彼此信任。在活动目录AD中所有域信任关系都是双向可传递的。

3.内部信任
默认使用AD添加新域到域树或者林根域中,自动创建双向受信关系,当前域树中的域之间的信任关系是内部信任,可传递

4.外部信任
两个不同林中的域的信任关系,不可传递。但是林信任关系不一定。

在windows 中,只有 Domain Admins组中的用户可以管理域信任关系。

—获取域信息—

在域中,Enterprise Admins组(仅在林的根域中)的成员有对目录林中所有域的完全控制权限。

使用工具[LG.exe]可以枚举远程主机用户和组的信息

—利用域信任密钥获取目标域的权限—

—利用krbtgt散列值获取目标域的权限—

—外部信任和林信任—

—利用无约束委派和MS-RPRN获取信任林权限

安全测试前后端验证(挖坑)

三个功能:

一、文件上传-JS前端验证

对文件上传的后缀名进行验证,符合要求才允许上传,可以由PHP胡总和JS实现,两者的区别在于,PHP代码验证我们无法看到代码,只能进行黑盒测试;JS验证的话验证代码是可以看到的,相当于白盒测试

判断有没有JS验证:
①审查代码
②看反应时间,马上反应说明可能是JS验证,因为不涉及与后端数据进行交互

·浏览器禁用js,相当于没有过滤了就可以直接上传

二、状态回显-Ajax传递数据验证

ajax是js用来传输数据的类型,使用ajax:
请求->返回->ajax验证->结果
意义在于,如上文说到使用JS能在审查元素看到审查规则,如果使用ajax就可以把代码封装起来,之后文件包含使用即可,不会暴露代码

(回头学)

三、参数修改-购买逻辑漏洞
使用Ajax传递数据进行购物验证

1.商品价格以前端价格为准,数据接收价格后运算

抓包,修改价格;修改状态码。就是典型漏洞,实现零元购

2.商品价格以数据库对应价格为准,数据接收价格后运算

3.商品价格以数据库对应价格为准,数据只接受数量后运算

修改数量为负数,绕过

4.商品价格以数据库对应价格为准,数据只接受数量后做过滤运算

数量只能为大于或者等于1的整数

前端验证导致的密码找回漏洞:

比如:在逍遥模拟器打开某金融app,监听。要使用重置密码漏洞。

·首先注册正确的账号,抓包抓住正确的验证码回显信息,保存好

·找回密码,发送验证码(机主会收到信息)

·抓包发现验证码不正确,用刚才保留的正确信息替换,发现绕过验证,实现密码找回

判断小窍门:

看返回报文格式,比如看到有json、code、msgbox可以猜测是使用了前端接收数据处理数据验证,就需要检查一下有没有能攻击的可能

session会话劫持(挖坑)

session储存在服务器,用于身份验证。由于session有时效,会变化,因此很多时候不想cookie那样一拿到就能修改就能用,那就需要劫持会话。

如何判断是否启用session验证,审计元素或者抓包的时候,cookie那一项数据中包含 xxxSESSID就说明启用了session验证,就可以和cookie那类攻击说886了。session攻击只能劫持

cookie伪造

cookie用来保存用户登陆状态,方便浏览多个页面。如果某些网站的登陆验证机制存在逻辑漏洞,很有可能会利用cookie伪造绕过登陆验证,进行非法活动。

有些网站的逻辑是,只有登陆成功才能产生cookie,那么多个页面只需要验证cookie就可以了。换句话说我们甚至不用知道用户名和密码,对cookie动手脚就能绕过了。

黑盒测试发现漏洞:
①尝试修改验证

白盒测试发现漏洞:
①对代码进行审计,检查cookie机制。
在迪总演示的过程,某cms验证cookie逻辑上只要cookie没有赋值就跳转,而不对cookie的赋值进行验证,结果修改数据包只要简单把cookie设为 user==1 就成功登陆了后台绕过了登陆验证

来源页伪造

墨者靶场练习,以前ctf也有类似的只允许某个来源访问,如学校的ip访问。

我想,限制来源本身是为了进行访问控制,只允许规定内的资源访问。那么如果限制做的不够好,就会有人利用来源伪造来实施破坏行为,本次实验意义在于理解如何伪造,在日后安全开发要避免出现这样的疏忽。

原理:

在php中有超级变量 $_SERVER存储着浏览器的诸多信息,本次实验的“来源”信息也能从这个超级变量里找到。所里如果能修改来源可能能做到伪造。
$_SERVER[”HTTP_REFERER]

步骤很简单,bp抓包,修改来源头放包就能伪造来源。

真实使用中,设置来源验证是防止:CSRF攻击(跨站请求伪造)
csrf情景:某个网站管理员喜欢浏览其他网页,当浏览带有恶意脚本的网页,管理员的浏览器就被劫持获取一些凭据,管理网站的信息等然后跳转到网站,如果不检测来源,就会被直接访问资源了。

qq被盗号,登陆着qq浏览到带有恶意代码的网页,我们的身份信息被盗用,也就是使用了合法的来源信息去进行违法的事情。

伪造ip的话也同样道理,php接收ip有多种方式,最好绕过是
$_SERVER[‘HTTP_X_FORWARD_FOR’]
当如果获取ip方式走其他协议,就不能这么利用。比如服务器的协议检测基本没办法绕

ATT&CK(一)—了解这个框架

以前区长说:“三流企业靠产品、二流企业靠理念、一流企业靠标准”

信息安全发展来到今天,面对未知挑战,我们需要靠标准化来促进安全从业人员交流,众志成城。

Mitre ATT&CK框架概述

业内知名项目CVE、CWE都是由Mitre公司发起并且维护至今。

ATT&CK是对抗战术和技术知识库(Adversarial Tactics,Techniques,and Common Knowledge)是一个对抗行为知识库

这个知识库具有以下特点:
·基于真实观察数据创建的
·公开免费、全球可访问
·由社区驱动发展

在该框架中会反复提及“战术”、“技术”:
·战术:实施ATT&CK的原因,就是攻击者要达到的预计目标,比如说攻击者想要横向移动
·技术:实现战术目标利用的具体手段,比如说,我要实现横向移动需要使用hash传递

MITER ATT&CK确定的三个技术领域:
①Enterprise-用于传统企业网络和云技术
②Mobile-用于移动通信设备
③ICS-工业控制系统

网络杀伤力链(七个阶段):
①侦察
②武器化
③载荷投递
④漏洞利用
⑤控制
⑥执行
⑦维持

ATT&CK的Enterprise对应侦察到漏洞利用部分。

使用这个框架的用意之一在于在被攻击的时候能逆向推出攻击者的攻击手段,也预测攻击者攻击之后的意图,提前进行防御。

ATT&CK通过收集新技术相关的信息,完善自身,一般来自:
·威胁情报
·会议报告
·网络研讨会
·社交媒体
·博客
·开源代码仓库
·恶意软件样本

ATT&CK是中级抽象模型,比起低级抽象模型的网络杀伤力链和高级抽象模型的漏洞库和利用模型,ATT&CK能通过联系威胁情报和事件数据推测谁在做什么

痛苦金字塔模型
痛苦金字塔模型由IoC(indicators of compromise,失陷指标)组成,ico用来衡量攻防对抗中的价值,下面由高到低给出痛苦金字塔模型:

①TTPs(Tactics,Techniques and Procedures战术、技术及步骤):很难
②工具:有挑战性
③网络/主机部件:恼人
④域名:简单
⑤IP地址:小菜一碟
⑥哈希值:不值一提

ATT&CK五大对象:
①攻击组织
②软件
③技术/子技术
④战术
⑤缓解措施

框架的意义在于能根据上下文推测出攻击者的意图以及倒退步骤,我想搜集到足够的数据之后,我么能够在网络攻击发生刚开始就能识别出可能的后续,进而让系统自主防御。这跟IPS和防火墙有明显的性质,那就是它们只能识别已知的安全问题,对于未知如0day漏洞等也肯定是无能为力。不过就算是0day也会需要一些前提条件,框架发挥的作用在于让这些前提条件无法达成。

内网安全攻防(六)—域控制器安全

之前文章我提过,域控制器负责让域中进行交互,提供了验证。由于活动目录AD始终访问:
C:\Windows\NTDS\ntds.dit 这一文件,这个文件保存着活动目录所有的数据,是个二进制文件,它禁止被读取。可通过windows本地卷影拷贝服务获得文件副本。关于域控制器安全,很大一部分关注ntds.dit的安全。

一、VVS提取ntds.dit

本地卷影拷贝服务(volume shadow copy service,VSS)就好比玩虚拟机时经常使用的快照功能,所以按道理说启用这个服务可以找到系统文件的拷贝,也就存有一定的敏感数据,类比快照,它的功能主要是备份和恢复。

ntsd.dit保存的位置:域控制器的%SystemRoot%\ntds\ntds.dit

下面介绍使用几个不同工具提取ntds.dit的思路:

1.通过ntdsutil.exe提取

该工具在域控制器就有,是一个用于维护和管理AD的命令行工具

支持的os:win2003、win2008、win2012

使用步骤:
①创建快照
ntdsutil snapshot “active instance ntds” create quit quit
②加载刚才的快照到另一个目录下
ntdsutil snapshot “mount {GUID}” quit quit
③将快照复制到其目录,本例子复制到C盘
copy C:\SNAP_201808131112_VOLUMEC$\windows\ntds\ntds.dit c:\temp\ntds.dit
④做完事情要擦手,卸载并且删除之前加载的快照
ntdsutil snapshot “unmount {GUID}” “delect {GUID}” quit quit

2.利用vssadmin提取

该工具用来创建删除卷影拷贝,列出信息,改变大小等。

支持的os:win2008和win7

使用思路与ntdsutil相似

3.利用vssown.vbs

该工具用于创建和删除卷影拷贝,启动和停止卷影拷贝

4.利用ntdsutil的IFM创建卷影拷贝

5.使用disk shadow导出ntds.dit

diskshadow代码是由微软签名的,在win2008、win2012、win2016都默认含有它,位于:C:\windows\system32

[导出ntds.dit后还要转储system.hive,得到ntds.dit的密钥]

6.监控VSS的使用情况

从上述几点不难看出攻击者利用VSS来进行ntds.dit的盗取,那么我们必须监控VSS的使用情况以及时发现异常。
·监控vss以及涉及到ntds.dit的可疑行为
·监控system event id 7036(这是vss运行的标志)的可疑实例
·监控创建diskshadow.exe以及相关子进程的事件
·监控客户端设备出现的diskshadow.exe实例创建事件。在windows操作系统中,不应该出现diskshadow.exe,发现要立即删除

二、导出ntds.dit中的散列值

1.使用esedbexport恢复ntds.dit

2.使用impacket工具包导出散列值

3.在windows下解析ntds.dit并导出域账号或散列值
使用NTDSDumpex.exe导出

三、利用dcsync获取域散列值

四、使用Metasploit获取域散列值

五、使用vshadow.exe和QuarksPwDump.exe导出域账号和域散列值

六、Kerberos域用户提权漏洞

漏洞原理:攻击者伪造票据声明自己有域管理员权限,而KDC在处理时未验证票据签名就分发了带有管理员权限的票据

内网安全攻防(五)—域内横向移动

当拿到域中某台设备,骇客会以其为跳板横向渗透其他设备,最终获得所有设备权限。

一、常用windows远程连接

通常来说,我们在渗透测试要拿到的一些关键资源包括了目标计算机的用户明文密码或者NTLM Hash,通过PTH(pass the hash凭据传递)把得到的信息发送到目标机器进行验证,我们就获得了目标机器的使用权,建立连接后就能远程执行命令了。

1.IPC internet process connection

这是为了实现进程之间通信而开放的命名管道。通常在远程管理计算机和查看计算机的共享资源时使用。

ipc$
利用条件:
(1)开启了139、445
(2)管理员开启默认共享

建立ipc$连接远程目标计算机
net use \\ipaddress\ipc$ “password” /user:username

查看当前链接
net use

2.使用windows自带的工具获取远程主机信息

(1)dir命令

建立了连接后,用dir查看文件列表:

dir \\ipaddress\c$

(2)tasklist命令

用来查看进程
tasklist /S address /U username /P password

3.计划任务

(1)at命令:

用于创建计划任务的命令,主要应用在windows server 2008之前。所以如果测试的计算机使用的os是符合条件的版本,那么可以使用at命令在远程目标机器创建计划任务:
·使用copyd命令将payload文件复制到远程目标计算机中
·使用at命令定时启动该payload文件
·删除使用at命令创建计划任务的记录 //抹去证据防止被查

上述需要先建立ipc$作为前提

下面是at命令使用过程:
①查看目标系统时间,攻击者很喜欢抹去或者修改文件的时间
net time \\ipaddress

②将文件复制到目标计算机中
先创建一个calc.bat文件,内容为“calc”(在运行界面输入calc会弹出计算器)。也就是说这一步的目的是为了让计算机在某一时刻启动计算器。
copy calc.bat \\ipaddress\C$
上述命令目的是把刚才的bat文件传到目标计算机的C盘

③使用at创建任务
知道目标系统的时间之后,指定程序在计划时间启动
at \\ipaddress 4:11PM C:\calc.bat
Added a new job with job ID 7
创建ID为7的计划任务,在下午4点11分运行C盘的calc.bat文件

④清除at记录
任务记录会一直存在,攻击者不想被网络管理员发现,就会抹去记录
at \\ipaddress 7 /delect
删除ID为7的任务

现将结果写在本地文件,然后用type远程读取该文件,如下:
at \\ipaddress 4.11PM cmd.exe /c “ipconfig >C:/1.txt”
然后用type远程读取:
type \\ipaddress \C$\1.txt

经过实际测试,at命令如果不键入远程ip地址就默认是在本地进行计划。并且注意,在windows vista和2008之后at命令被废弃,应该使用schtasks命令

(2)schtasks命令

①创建test计划任务,该计划在开机时启动C盘下的calc.bat,权限为system
schtasks /create /s ipaddress /tn test /sc onstart /tr c:\calc.bat \ru system /f

②远程执行
schtasks /run /s ipaddress /i /tn “test” /f

③删除ipc$
net use 名称 /del /y

使用schtasks命令,会在系统留下日志文件C:\Windows\Tasks\SchedLgU.txt

二、windows系统散列值获取

LM Hash、NTLM Hash是两种用户明文密码进行加密的方法。在域中,用户信息存储在 ntds.dit中

windows密码一般由两部分:LM hash和NTLM Hash组成,结构为:

username:RID:LM-HASH:NT-HASH

注意!win2008之后LM hash被禁用,此时抓取到的LM Hash的值为
“aad3b435b51404eeaad3b435b51404ee” //这就表示其为空值或被禁用

1.单机抓取

我们要知道只有SYSTEM权限能抓散列值或者明文密码,本地用户名、散列值和其他验证信息都存在SAM文件中。
而lsass.exe进程是用来windows的安全策略,攻击者会用工具从内存的lsass.exe进程或者SAN文件导出敏感信息

其中,SAM文件地址在:C:\Windows、System32\config. 攻击者再关闭windows操作系统后用PE盘进入文件管理环境,直接复制SAM文件 //?阿这我没太理解,也许是攻击者获取了物理设备能这么搞吧

【工具】GetPass、PwDump7、QuarksPwDump

下面是提取的思路

①通过SAM和System文件抓取密码

②使用mimikatz在线读取SAM文件

③使用mimikatz离线读取lsass.dump文件

④使用Powershell对散列值进行Dump操作

⑤使用Powershell远程加载mimikatz抓取散列值和明文密码

【防御】:
win2012 以及以后关闭了Wdigest,攻击者无法从内存获取明文密码
win2012以及之前的下载补丁 KB2871991也可以阻止获取明文密码

2.使用Hashcat获取密码

它可以使用GPU来对密码来进行破解

三、哈希传递攻击

哈希传递攻击pass the hash 。获取域中一个管理员账号密码,就相当于获得其他本地管理员的账号密码

注意,随着安全意识提高,windows sever 2012 R2之后,默认在内存中不会记录明文密码

四、票就传递攻击

mimikatz的哈希传递功能需要本地管理员权限。mimikatz也有不需要权限也能横向渗透的方法,比如票据传递(pass the ticket,PTT)

[防范]:
·使用dir的时候,使用主机名,不用IP地址
·票据文件注入内存的默认有效时间为10小时
·在目标机器上不需要本地管理员权限即可进行票据传递

五、PsExec

这个软件是win用来运维的,一般在杀软白名单里
运行在windows vista\2000\xp\server 2003\ server 2008\server 2012\server 2016

六、WMI

windows management instrumentation.从win98就开始支持,可以在本地或远程管理计算机

因为越来越多安全厂商吧PsExec加入黑名单,所以转而用这个技术进行横向渗透,还有一个重大原因是,使用WMI不会记录在系统日志。

八、smbexec

可以通过文件共享(admin$、c$、ipc$、d$)在远程计算机系统执行命令

九、DCOM在远程系统中使用

十、SPN在域环境中使用

十一、exchang、邮件服务器安全