0x02-StartingPoint-Oopsie

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.

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

在这里插入图片描述
  • 线索:网页说需要登录,但是找不到任何登录入口
  • 思路:登录入口隐藏在网站某个目录,没有公开
  • 操作:使用诸如 dirbustergobusterdirbBurp Suite这些 WebApp分析爆破工具,找到隐藏的网站目录。这里推荐 dirbuster,运行较快,也较精准,可以递归搜索,能生成报告,并且 GUI 支持直接在浏览器打开目标链接

在这里插入图片描述

在这里插入图片描述

很快就找到了 /uploads/cdn-cgi/login,这些文件夹,相信这个登录页面肯定就在 /cdn-cgi/login 这个目录里。

在这里插入图片描述

Results 一栏中可以看到精确的路径以及状态码,这个 index.php,是可以访问的。

直接右键到浏览器打开。

在这里插入图片描述

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

登录信息是,adminMEGACORP_4dm1n!!

在这里插入图片描述

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

在这里插入图片描述

我是 Admin,还有个 super admin

  • 线索:网站有 super admin 身份,现有的账号登录上去是 admin
  • 思路:表单登录,需要检查一下登录请求,找到能判断身份的参数
  • 操作:Burp Suie,截取请求,先找到判断身份的参数

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

在这里插入图片描述

请求里面有一个参数 id,并且带上了 cookie,网页给我们返回了当前用户的 Access IDName

在这里插入图片描述

在这里插入图片描述

刷新一下 Uploads 页面,请求的时候没有参数 id,而是带上了标识用户身份的 cookie 信息。

  • 线索:服务端判断身份的参数是 id,服务端根据 id 返回对应的 userrole,存入 cookie;当要访问 Uploads 页面的时候,带上这个 cookie,就能判断是否是 super admin
  • 思路:如果能不断尝不同的 id 值,是不是可以试出 super adminid
  • 操作:Burp Suite Intruder 不断使用顺序 id 值 (1-500)去请求,看返回结果是否会有 super admin

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

在这里插入图片描述

成功获取到 super adminAccess ID

  • 线索:获得 super adminAccess ID
  • 思路:使用该 Access ID 访问 Uploads 页面
  • 操作:截取对于 Uploads 目录的访问请求,将请求中的 user 改为 86575
在这里插入图片描述
在这里插入图片描述

成功进入 Uploads 页面。

  • 线索:因为是 super admin,可以上传任意文件(应该不会有 super super admin了)
  • 思路:获取目标机器控制的方式,第一步是设法得到一个 shell;网站后端是 php,可以上传一个包含 php reverse shell 的文件,直接在浏览器访问,代码就可以成功被执行;当然要注意,要考虑目标机器有 AV 的可能,代码中不要出现类似 pwn 这样的敏感词,会被系统拦截
  • 操作:上传 Kali 自带的 php reverse shell,修改文件名,然后在浏览器访问执行

扩展阅读

Meterpreter Shell概览

从哪里找 php reverse shell

在这里插入图片描述

修改 IPPORT,具体操作见视频。

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

在这里插入图片描述
  • 线索:reverse shell 文件已经上传,需要找到路径执行
  • 思路:记得用 dirbuster 搜索登录入口的时候,有一个 /uploads 目录,上传的文件应该都存放在这里
  • 操作:本地侦听代码中设定的端口号,然后浏览器访问 10.10.10.28/uploads/image-processing.php
在这里插入图片描述

当获得了一个 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

在这里插入图片描述
  • 线索:在网站目录下找到了另一个登录信息
  • 思路:因为是 mysql_conn,可以登录数数据库,但是登录了数据库没什么可以干的,破坏数据不能达到控制目标的目的;还可以试一下用 ssh 登录
  • 操作:用登录信息尝试 ssh 到服务器
    在这里插入图片描述

    成功登录。

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


在这里插入图片描述
  • 线索:id 命令之后发现用户在一个特别的组里 bugtracker
  • 思路:添加用户到某个特定的组,是为了让用户能有执行某些命令的权限,通常这些程序或这命令的名字,会跟组名相同(例如virtualbox 会将用户添加到 virtualbox 组中)
  • 查找一下系统中跟组名相同的文件


    在这里插入图片描述

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

  1. 查看文件详细信息,设置了 setuid/setgui 权限并且拥有者是 root 是最希望看到的结果 - ls -al
  2. 如果是可执行文件,运行,并尝试多种输入,尽可能触发错误,能收集更多信息
在这里插入图片描述
  • 线索:程序设置了 setuid/setguid 的特殊权限
  • 思路:如果程序可能被串改,运行自定义的脚本,就可以提权得到 root shell
  • 操作:先运行一下程序,观察程序行为

扩展阅读

Setuid/Setgui Special Permission

在这里插入图片描述

  • 线索:触发错误之后看到程序其实是调用系统 cat 命令,到根目录下读取相应文件
  • 思路:构造一个自定义的 cat 可执行文件,内容就是生成一个 bash shell,然后想办法让 bugtracker 调用自定义的 cat 即可
  • 操作:自定义一个 cat 可执行文件,将其所在目录添加到 $PATH 环境变量,然后再次执行 bugtracker
在这里插入图片描述

I'm in :D

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,783评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,360评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,942评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,507评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,324评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,299评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,685评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,358评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,652评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,704评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,465评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,318评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,711评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,991评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,265评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,661评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,864评论 2 335

推荐阅读更多精彩内容