返回
顶部

前言

横向移动是开展内网渗透工作的重中之重,横向移动的手动也是多种多样,这里针对在横向移动中使用的技术和遇到的问题进行总结归纳

Impacket工具包

atexec.py执行过程中出现rpc_s_access_denied问题

在内网横向移动中,使用比较多的可能就数impacket了,在远程执行主机命令方面,最常使用的就是wmiexec.pyatexec.py这两个脚本,其中前者被各大杀毒软件查杀的比较厉害,比如卡巴斯基:

image-20200804214515663

可以看到反病毒软件对C:\Windows\System32\wbem\WmiPrvSE.exe的监控还是比较严格的,因此wmiexec.py在绝大多数安装了反病毒软件的主机上还是很难进行使用的,而且容易引起对方的警觉,这时候我们大多会转而选择atexec.py脚本来进行远程命令执行,改脚本的大致原理就是通过往远程主机写入计划任务并执行来达到执行命令的目的,但是改脚本在windows 10操作系统上经常会遇到rpc_s_access_denied的问题

image-20200804214818949

但是在windows 7上却可以正常执行,通过调试atexec.py,我们可以跟踪到问题出在下面这个地方:

image-20200804215010557

对于windows 10,在执行hSchRpcRegisterTask方法时会抛出异常,导致计划任务创建失败,目前还没有了解到更详细的原因,如果后续搞明白了会更新出来

不过我们可以直接通过schtasks远程创建计划任务并执行来达到同样的效果,对于实际环境,我们可以使用Proxifier来进行代理,具体操作如下:

首先我们在攻击机中设置出如下代理,所有针对目标IP的传输层流量都会经过代理

image-20200804221311911

然后我们直接在攻击机上使用schtasks进行计划任务的创建、执行和删除操作:

schtasks /create /tn test_sch_name /tr C:\Users\win_10_1\Desktop\123.bat /sc once /st 00:00 /S 192.168.1.9 /U uoiysdf.iuodsf.vi\administrator /P 43u96tgjirbtgpnk3w4o9-ip /RU System /f

schtasks /run /tn test_sch_name /S 192.168.1.9 /U uoiysdf.iuodsf.vi\administrator /P 43u96tgjirbtgpnk3w4o9-ip

schtasks /delete /tn test_sch_name /S 192.168.1.9 /U uoiysdf.iuodsf.vi\administrator /P 43u96tgjirbtgpnk3w4o9-ip /f

C:\Users\win_10_1\Desktop\123.bat会在桌面写一个test.txt,内容为test,用于检验命令是否成功执行

成功创建计划任务:

image-20200804224542339

执行计划任务: image-20200804224638396

运行成功,卡巴斯基没有反应:

image-20200804224954509

删除计划任务:

image-20200804224807003

虽然这样也能执行命令,但是无法实施hash传递攻击,因为这种方法需要人提供明文密码

还有一点比较奇怪的地方就是,无法通过代理使用net use将目标主机的磁盘挂载到本地,会提示找不到网络名

image-20200805001733414

回头可以研究一下impacket的smbclient.py脚本,看它是如何通过代理挂载目标机器的盘符的