作者:野驴

首发:i春秋社区

0x01 前言

又到周末了,野驴的心又骚动了,又想***测试了,可是苦于没有目标,殊不知在这个日新月异,技术一日千里的今天,***测试在很多方面都已做到工程化,只是大多内部使用,但是互联网的精神就是开放、共享,所以有了zoomeye、censys、shadan等业界搜索神器,为我们确定***目标提供了极大的方便,特别是zoomeye,国产自主,方便使用,最近还开放了API,简直就是业界良心(老师,我真的不是在打广告),今天我与大家分享的就是从zoomeyeAPI脚本的编写一直到提权这样一个过程。
0x02 zoomeyeAPI
什么?你还不知道什么是zoomeye?你知道吗,你这样容易被老虎拖走,我跟你讲,看这里
https://www.zoomeye.org/about
而前期还开放了API,为了节约篇幅,直接给出DOC(点我),zoomeyeAPI流程如下

下面我们就利用python批量获取目标。(当然,你要先注册账号哦)

直接上代码,详细说明请看注释。

# coding: utf-8
import os
import requests
import jsonaccess_token = ''
ip_list = []def login():"""输入用户米密码 进行登录操作:return: 访问口令 access_token"""user = raw_input('[-] input : username :')passwd = raw_input('[-] input : password :')data = {'username' : user,'password' : passwd}data_encoded = json.dumps(data)  # dumps 将 python 对象转换成 json 字符串try:r = requests.post(url = 'https://api.zoomeye.org/user/login',data = data_encoded)r_decoded = json.loads(r.text) # loads() 将 json 字符串转换成 python 对象global access_tokenaccess_token = r_decoded['access_token']except Exception,e:print '[-] info : username or password is wrong, please try again 'exit()def saveStrToFile(file,str):"""将字符串写如文件中:return:"""with open(file,'w') as output:output.write(str)def saveListToFile(file,list):"""将列表逐行写如文件中:return:"""s = '\n'.join(list)with open(file,'w') as output:output.write(s)def apiTest():"""进行 api 使用测试:return:"""page = 1global access_tokenwith open('access_token.txt','r') as input:access_token = input.read()# 将 token 格式化并添加到 HTTP Header 中headers = {'Authorization' : 'JWT ' + access_token,}# print headerswhile(True):try:r = requests.get(url = 'https://api.zoomeye.org/host/search?query="phpmyadmin"&facet=app,os&page=' + str(page),headers = headers)r_decoded = json.loads(r.text)# print r_decoded# print r_decoded['total']for x in r_decoded['matches']:print x['ip']ip_list.append(x['ip'])print '[-] info : count ' + str(page * 10)except Exception,e:# 若搜索请求超过 API 允许的最大条目限制 或者 全部搜索结束,则终止请求if str(e.message) == 'matches':print '[-] info : account was break, excceeding the max limitations'breakelse:print  '[-] info : ' + str(e.message)else:if page == 10:breakpage += 1def main():# 访问口令文件不存在则进行登录操作if not os.path.isfile('access_token.txt'):print '[-] info : access_token file is not exist, please login'login()saveStrToFile('access_token.txt',access_token)apiTest()saveListToFile('ip_list.txt',ip_list)if __name__ == '__main__':main()

这里我重点说一下第65行,因为我们进行的是主机搜索,所以请求的接口为

https://api.zoomeye.org/host/search?query="your sring"&facet=app,os&page=

如果进行web搜索,请求接口为

https://api.zoomeye.org/web/search?query="port:21"&page=

?Query为要搜索的关键字。
好了,zoomeeyeAPI工具打造好了,我们来搜索什么目标呢?就搜索个phpmyadmin吧,说不定有弱口令呢,多说无益,行动。在65行query处,把“your string”替换为phpmyadmin。

Python zoomAPI2.py

运行后,就会不断返回符合要求的主机地址了,搜索完毕后,会在当前目录下生成你的access_token文件access_token.txt,方便下次调用,以及搜索结果文件ip_list.txt。妈妈再也不用担心我没有目标了。哪里不会搜哪里,so easy!

0x03 ***目标

0x031 信息搜集
有了目标主机后,大家就可以尽情发挥了。这里我找到一个目标,大概是这个样子的

大家可以看到,有很多信息。我们点backups进去看看,真是意想不到的收获,数据库备份

表结构、用户名、密码等信息应有尽有,密码还是明文存储。可它用在哪呢?我们再点helpdesk_central,啊哈!登录界面出来了,可这helpdesk_central是个什么东东?问度娘

原来是控制台,用刚才获得的用户名密码尝试登录,成功了,幸福来得就是这么突然,还是管理员……

看到后边有个邮箱,看看这个管理系统属于什么组织,搞清楚对手是谁?

再看看DNS记录,尝试输入域名

原来是一家南非的一家互联网厂商

0x032 getshell
这系统转一圈,没发现可以getshell的地方,停下来,出去喝妹子约会,休息是为了更好的开始。回去以后继续,看看phpinfo吧,中规中矩,win系统,有web绝对路径,为getshell打下了基础。

再看看phpmyadmin吧,Duang!!!竟然是空口令

查看权限,我的天哪(岳云鹏表情)!是root权限,幸福来的太突然。那还等什么?绝对路径都有了,写文件吧

成功getshell,发现了很多敏感资料,还发现了前辈的足迹。

0x033 提权
看看PHP是什么权限吧,DuangDuang!!竟然是system,到目前为止,形势一片大好。

来建个用户吧,成功了

远程一下,可惜要证书,失败了,也是,总不能太顺利。本来想上MSF的,可没有公网服务器,不太方便,对方还是内网,就此打住吧。有机会再单独写个内网***的。

0x04 后记
    重点在zoomAPI的学习,有了它,大家可以尽情的发挥想象,比如jboss、SSH弱口令等等,后面的***大家可能会说,这运气也太好了,各种高权限。我想说,“谁过年不吃顿饺子呢”,呸呸呸,是“运气也是实力的一部分”,重要的还是要思路清晰啦。


注明:转载请务必注明i春秋社区(bbs.ichunqiu.com)

原文链接:http://bbs.ichunqiu.com/thread-8965-1-1.html

转载于:https://blog.51cto.com/8089739/1832272

一次从ZoomeyeAPI脚本编写到提权的***实践相关推荐

  1. 【 Grey Hack 】万金油脚本:原地提权工具

    目录 脚本源码 用法 效果及示例 版本:Grey Hack v0.7.3618 - Alpha 脚本源码 metaxploit = include_lib("/lib/metaxploit. ...

  2. Penetration_Testing_POC-About 渗透测试有关的POC、EXP、脚本、提权、小工具等

    Penetration_Testing_POC 搜集有关渗透测试中用到的POC.脚本.工具.文章等姿势分享,作为笔记吧,欢迎补充. Penetration_Testing_POC 请善用搜索[Ctrl ...

  3. linux 提权一文通

    目录 0x001 linux提权描述 0x002 基本Linux权限提升前的信息收集 操作系统 什么是发行类型?什么版本的? 什么是内核版本?是64位吗? 从环境变量中可以收集到什么信息?环境变量中可 ...

  4. SQL注入-基于MySQL的注入提权(十七)

    实验目的(我的2003是32位的懒得搞了,大家参照一下吧) 普及结合dll文件对Windows系统进行启动项提权.MOF和UDF提权的基本思路,以及提权的主要方法.PS:面试时不要说打靶场什么东西,就 ...

  5. 103.网络安全渗透测试—[权限提升篇1]—[Linux内核漏洞提权]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.LINUX 内核漏洞提权 1.漏洞背景: 2.漏洞利用: (1)实验环境 (2)靶机链接 (3)突破MIME ...

  6. 操作系统权限提升(三)之Windows系统内核溢出漏洞提权

    系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!! Windows系统内核溢出漏洞提权介绍 ...

  7. Mysql-mof提权

    0x00 mof提权原理 类似于之前的udf提权,参考https://blog.csdn.net/qq_53577336/article/details/119700116 另外一种mysql提权方式 ...

  8. udf提权原理研究-udf开发-linshao

    目录 0x01.提权条件 0x02.版本差异 0x03.DLL文件编写 0x04.提权步骤 UDF (user defined function),用户自定义函数. 是通过dll添加新函数,对MySQ ...

  9. Windows系统提权姿势

    windows系统提权 权限提升简介 权限提升概述 什么是提权 提权分类 提权条件 Windows提权思路 Windows系统提权 Windows提权信息收集 WMIC信息收集 自动信息收集 提权工具 ...

  10. Android自动化测试之MonkeyRunner MonkeyDevice MonkeyImage API使用详解 脚本编写 脚本录制回放

    MonkeyRunner 系列文章 MonkeyRunner简介 MonkeyRunner 三大模块 MonkeyRunner API MonkeyDevice API MonkeyImage API ...

最新文章

  1. 记一次与用户的亲密接触
  2. UI设计师必须了解:2015年十大移动端APP设计主流趋势
  3. 程序员跳槽的10个建议
  4. iview select 怎么清空_在使用iview时发现要先重置一下表单然后填写完后再重置可以清空Select多选框,否则清不掉,什么原因?...
  5. Linux系统开机启动过程分析
  6. asterisk的NAT配置
  7. java项目启动后运行方法_spring boot在启动项目之后执行的实现方法
  8. Java设计模式11:Facade
  9. 从零开始的机器人比赛(一)——项目准备篇
  10. [Wondgirl]从零开始学React Native之Text(五)
  11. IDEA上tomcat日志输出乱码 淇℃伅 鏈嶅姟鍣ㄧ増鏈彿(锛 解决办法
  12. Java—mysql缓存导致查询结果与数据库不一致
  13. python保存不了_python文件无法保存怎么解决
  14. 简易PC基准测试丨PerformanceTest功能简介
  15. 【Python】手把手教你用Python爬取某网小说数据,并进行可视化分析
  16. 算法导论第二章部分习题自我解答
  17. 如果你没空学英语,推荐你关注这几个英语大神都在看的视频号!
  18. react 点击弹窗之外关闭弹窗 demo
  19. IDA7.0 MacOS报错Oops,IDA has almost crashed!解决方案
  20. 联想小新java_联想小新700 i7 完美efi 黑果 mac 10.14

热门文章

  1. html教程转换mp3,kgm转换mp3图文版教程,值得收藏
  2. java中int型的取值范围_Java中int的取值范围
  3. 前端性能优化——字体文件压缩
  4. mac/macbook触摸板/鼠标/键盘失灵
  5. PHP输出JSON格式数据
  6. HttpClient发送请求时动态替换目标ip
  7. 关于Negative values in data passed to MultinomialNB (input X)报错问题
  8. python字符串相减
  9. python毕业设计论文-基于Python的网络爬虫的设计与实现.doc
  10. Linux align函数,linux内核中ALIGN解析(示例代码)