Web安全

0x02-StartingPoint-Oopsie

2020-04-21  本文已影响0人  darkie

Help Desk

经过第一篇文章,我思考了一下,已经存在太多的 walkthrough,不应该再去写一样的文章,而是应该着重写思路。接下来的文章,会着重写在什么情况下,应该做些什么,应该注意哪些信息,应该如何采取下一步操作。这样,才能让举一反三的过程更加顺利,和大家一起成长的速度才能更快。

Oopsie Walkthrough Video!:D

HTB-Oopsie

这是一个 Web Application and Privilege Escalation 的练习。

Nmap

第一步不变, nmap 一下。

这些天又读了很多文章,除了 nmap,还有很多优秀的扫描工具,如 masscan, unicorn scan, 值得一看

Unicorn Scan Link.

Masscan Link.

Nmap 结果:

Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-17 04:51 EDT
Nmap scan report for 10.10.10.28 (10.10.10.28)
Host is up (0.23s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 61:e4:3f:d4:1e:e2:b2:f1:0d:3c:ed:36:28:36:67:c7 (RSA)
|   256 24:1d:a4:17:d4:e3:2a:9c:90:5c:30:58:8f:60:77:8d (ECDSA)
|_  256 78:03:0e:b4:a1:af:e5:c2:f9:8d:29:05:3e:29:c9:f2 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Welcome
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/
.
Nmap done: 1 IP address (1 host up) scanned in 16.61 seconds

2280 开放.

SSH 服务还是挺可靠的,意思就是很难有可发掘的漏洞,要么就去爆破登录密码,但是基本很难成功。

目标肯定要落在 80 端口的网站上面。

当遇到一个网站,该做些什么?

  1. 查看 /robots.txt是否存在,如果存在,网站的部分目录结构一目了然。
  2. 一定要看网页源码,在 firefox 中可以按 CTRL + U。寻找任何可可能泄露信息的地方,注释,以及 js代码
  3. 着重浏览一下 js代码,他会告诉你这个网页想要做什么,这些很可能是线索。
  4. 如果源码中没有有用的信息,该去点点网页上的按钮了,或者改变一下地址栏,触发一些报错,看网站是否有合规的错误处理,如果没有,那么网站后端的技术栈信息,很可能就泄露了。
  5. 最后当然还要读一下网页上的文字,很可能发现一些线索,可以让我们能进行到下一步。

扩展阅读

我列举了一些在 Web App Pentest 中需要注意的事情,下面这篇文章讲解更加详细,值得一看。

Web application pentest cheet sheet.

在这个练习中,通过做上述的第四步,就可以发现,网页声称需要登陆来获取相关服务。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
很快就找到了 /uploads/cdn-cgi/login,这些文件夹,相信这个登录页面肯定就在 /cdn-cgi/login 这个目录里。 在这里插入图片描述
Results 一栏中可以看到精确的路径以及状态码,这个 index.php,是可以访问的。

直接右键到浏览器打开。

在这里插入图片描述
到了这里,又是一个页面,我又重复了上面5个操作,但是什么信息都没找到。结果这个练习和第一个是相关联的,第一个练习中获取的 admin 的密码,在这里依旧可以用。

登录信息是,adminMEGACORP_4dm1n!!

在这里插入图片描述

源码没什么,点上面的按钮,页面上也没什么内容,点上面的按钮,到 Uploads 的时候,被告知权限不够。

在这里插入图片描述

我是 Admin,还有个 super admin

账户信息是在 Account 一栏里面,点击一下,截取请求。

在这里插入图片描述
请求里面有一个参数 id,并且带上了 cookie,网页给我们返回了当前用户的 Access IDName 在这里插入图片描述
在这里插入图片描述
刷新一下 Uploads 页面,请求的时候没有参数 id,而是带上了标识用户身份的 cookie 信息。

小贴士:
Intruder 工作过程中,点击 Length 将返回结果长度按降序排列,如果有明显大于其他长度的结果,可能就已经命中目标

在这里插入图片描述
成功获取到 super adminAccess ID 在这里插入图片描述 在这里插入图片描述

成功进入 Uploads 页面。

扩展阅读

Meterpreter Shell概览

从哪里找 php reverse shell

在这里插入图片描述
修改 IPPORT,具体操作见视频。

上传的时候,同样要截取请求,用 super admin 身份上传才能成功。

在这里插入图片描述 在这里插入图片描述

当获得了一个 shell,进入了目标机器,该做些什么?

  1. 查看用户信息 - id
  2. 查看当前目录里的文件 - ls -al
  3. 注意敏感文件和目录 - .bashrc .ssh .config .cache
  4. 查看用户当前 shell - echo $SHELL 如果没有输出,需要生成一个可交互 shell
  5. 查看 bash 是否存在 - which bash
  6. 查看 python 是否存在 - which python which python3
  7. 生成交互 shell - SHELL=/bin/bash script -q /dev/null python3 -c 'import pty;pty.spawn("/bin/bash")'
  8. 查看网站根目录,查找配置文件包含的敏感信息 - /var/www/html
  9. 查看临时文件夹 - /tmp
  10. 如果有用户的登录密码,列举出用户可以使用 sudo 执行的命令 - sudo -l

扩展阅读

值得一读的文章,列出了很多 linux 的敏感文件和目录。
Basic Linux Privilige Escaaltion

这篇文章将了 script 命令的作用,看完就能理解为什么用它生成交互 shell
Script Command

在这里插入图片描述

上面提到了进入了目标机器之后要做的事情,这里依旧要做。


在这里插入图片描述

当找到一个敏感文件,该做些什么?

  1. 查看文件详细信息,设置了 setuid/setgui 权限并且拥有者是 root 是最希望看到的结果 - ls -al
  2. 如果是可执行文件,运行,并尝试多种输入,尽可能触发错误,能收集更多信息
在这里插入图片描述

扩展阅读

Setuid/Setgui Special Permission

在这里插入图片描述 在这里插入图片描述

I'm in :D

上一篇下一篇

猜你喜欢

热点阅读