小白日记19:kali渗透测试之选择和修改EXP
EXP
目的:学会选择和修改网上公开的漏洞利用代码【EXP(python\perl\ruby\c\c++....)】
方法:
1、Exploit-db【kali官方维护的漏洞利用代码库】
2、SecurityFocus【安全焦点:securityfocus.com(个别漏洞会有,可做后备查找)】
3、Searchsploit【kali上可下载安装】
注:需选择可信赖的EXP源【防止中别人的恶意代码,可用虚拟机先验证,再使用】尽量将EXP中的shellcode改成自己的
实例1【当拿到一个自己不熟悉的EXP,如何进行修改】
对象:SLmail邮件服务器程序
搜索现成的EXP
root@kali:~# searchsploit slmail
--------------------------------------------- ----------------------------------
Exploit Title | Path
| (/usr/share/exploitdb/platforms)
--------------------------------------------- ----------------------------------
SLMail 5.5 - POP3 PASS Buffer Overflow | ./windows/remote/638.py
Seattle Lab Mail (SLMail) 5.5 - POP3 Buffer | ./windows/remote/16399.rb
SLMail 5.5 - POP3 PASS Remote Buffer Overflo | ./windows/remote/643.c
SLMail 5.5 - Remote Buffer Overflow | ./windows/remote/646.c
SLMail Pro 6.3.1.0 - Multiple Remote Denial | ./windows/dos/31563.txt
--------------------------------------------- ----------------------------------拷贝EXP到当前目录
root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/638.py .
root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/643.c .
root@kali:~# cp /usr/share/exploitdb/platforms/windows/remote/646.c .
查看638.py
gedit 638.py##【部分代码】
注:需根据自己实际靶场环境,进行修改,否则无法得到正确结果
646.c【在目标系统上绑定一开放端口】
gedit 646.c
注:根据调试获得的内存地址等信息修改EXP,并将里面的shellcode换成自己的,对硬编码的IP地址修改为自己的,切记不能直接使用别人的EXP
先安装windows模块
apt-get install mingw32(用于linux环境下,运行window环境的软件,用于编译32位windows程序)
还需安装
dpkg --add-architecture i386 && apt-get update && apt-get install wine32【用于将windows程序运行在linux上】
i586-mingw32msvc-gcc 646.c -lws2_32 -o sl.exe #将c语言脚本编译成一个程序
wine sl.exe 192.168.20.32 #运行
【此处有问题,kali装不上mingw32】
643.c【反向连接,必须修改shellcode】
gedit 643.c 【可判断使用gcc 643.c -o 643则可运行】
为什么要修改EXP呢?
因为不同的系统补丁,软件版本,都会造成内存偏移量的不同,通过修改公开的EXP满足不同的环境需要。所以要配合扫描技术,发现目标系统的版本,搭建适当的测试环境,才能针对目标系统进行漏洞利用
小白日记,未完待续...
小白日记19:kali渗透测试之选择和修改EXP的更多相关文章
- kali linux之选择和修改exp与windows后渗透
网上公开的exp代码,选择可信赖的exp源,exploit-db,securityfocus,searchsploit,有能力修改exp(python,perl,ruby,c,c++.......) ...
- kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail 相关链接:https://www.bbsmax.com/A/xl569l20Jr/ http://4hou.win/wordp ...
- 小白日记17:kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
缓冲区溢出实例 缓冲区溢出原理:http://www.cnblogs.com/fanzhidongyzby/archive/2013/08/10/3250405.html 空间存储了用户程序的函数栈帧 ...
- 小白日记12:kali渗透测试之服务扫描(二)-SMB扫描
SMB扫描 Server Message Block 协议.与其他标准的TCP/IP协议不同,SMB协议是一种复杂的协议,因为随着Windows计算机的开发,越来越多的功能被加入到协议中去了,很难区分 ...
- 小白日记7:kali渗透测试之主动信息收集-发现(一)--二层发现:arping/shell脚本,Netdiscover,scapy
主动信息收集 被动信息收集可能不准确,可以用主动信息收集验证 特点:直接与目标系统交互通信,无法避免留下访问痕迹 解决方法:1.使用受控的第三方电脑进行探测,使用代理 (做好被封杀的准备) 2 ...
- 小白日记3:kali渗透测试之被动信息收集(二)-dig、whios、dnsenum、fierce
一.DIG linux下查询域名解析有两种选择,nslookup或者dig.Dig(Domain Information Groper)是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,M ...
- 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0
Linux系统下穿越火线-缓冲区溢出 原理:crossfire 1.9.0 版本接受入站 socket 连接时存在缓冲区溢出漏洞. 工具: 调试工具:edb: ###python在漏洞溢出方面的渗透测 ...
- 小白日记8:kali渗透测试之主动信息收集(二)三层发现:ping、traceroute、scapy、nmap、fping、Hping
三层发现 三层协议有:IP以及ICMP协议(internet管理协议).icmp的作用是用来实现intenet管理的,进行路径的发现,网路通信情况,或者目标主机的状态:在三层发现中主要使用icmp协议 ...
- 小白日记6:kali渗透测试之被动信息收集(五)-Recon-ng
Recon-ng Recon-NG是由python编写的一个开源的Web侦查(信息收集)框架.Recon-ng框架是一个全特性的工具,使用它可以自动的收集信息和网络侦查.其命令格式与Metasploi ...
随机推荐
- 【和我一起学python吧】python的数据类型
python的元组.列表.字典数据类型是很python(there python is a adjective )的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的 ...
- 从Search Sort到Join
发表于<程序员>2015年4月B的一篇文章,在博客归档下.根据杂志社要求,在自己博客发表该文章亦须注明:本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.ne ...
- NodeJS:树的反序列化
!!不知问啥,cnblog的MarkDown编辑器不好使了. 本文也在我的博客edwardesire.com上,欢迎品尝. 树的反序列化就是将序列数组安装线索组成树结构,今次项目数据库存储决策节点的方 ...
- centos6.4 安装erlang
erlang官网: http://www.erlang.org 下载程序去年:
- PC问题-VMware Workstation出现“文件锁定失败”
问题现象:电脑关机时挂起VMware Workstation后,第二天运行VMware Workstation出现“文件锁定失败”. 问题原因:在WIN的目录中有*.LCK文件,此文件是用来锁定当前虚 ...
- CodeForces 682C Alyona and the Tree (树+dfs)
Alyona and the Tree 题目链接: http://acm.hust.edu.cn/vjudge/contest/121333#problem/C Description Alyona ...
- MANACHER---求最长回文串
求最长回文串,如果是暴力的方法的话,会枚举每个字符为中心,然后向两边检测求出最长的回文串,时间复杂度在最坏的情况下就是0(n^2),为什么时间复杂度会这么高,因为对于每一个作为中心的字符的检测是独立的 ...
- maven系列(2)-第一个maven的项目
上一篇简单了介绍了maven和maven的安装,这篇介绍如何用maven创建项目. 1. 命令行创建maven项目 maven创建项目很简单,直接调用mvn archetype:generate命令即 ...
- svn备份与恢复
公司把SVN服务器从windows迁移到linux,其主要步骤记录如下. windows上备份 "C:\Program Files\VisualSVN Server\bin\svnadmin ...
- [iOS UI进阶 - 1] 自定义控件
A.关于Quiartz2D的一些细节 1.UIKit的工具已经封装了上下文引用,所以不用手动获取和渲染 - (void)drawRect:(CGRect)rect { [[UIColor redCol ...